indent-bars 
- Description
- Highlight indentation with bars
- Latest
- indent-bars-0.9.2.tar (.sig), 2025-Jul-20, 150 KiB
- Maintainer
- J.D. Smith <jdtsmith+elpa@gmail.com>
- Website
- https://github.com/jdtsmith/indent-bars
- Browse ELPA's repository
- CGit or Gitweb
- Badge
To install this package from Emacs, use package-install or list-packages.
Full description
indent-bars highlights indentation with configurable vertical
graphical bars, using stipples. The color and appearance (weight,
pattern, position within the character, zigzag, etc.) are all
configurable. Options include depth-varying colors and
highlighting the indentation depth of the current line. Bars span
blank lines, by default. indent-bars works in any mode using fixed
tab or space-based indentation. In the terminal (or on request) it
uses vertical bar characters instead of stipple patterns. Optional
treesitter support is also available; see indent-bars-ts.el.
For Developers:
To efficiently accommodate simultaneous alternative bar styling, we
do two things:
1. Collect all the style related information (color, stipple
pattern, etc.) into a single struct, operating on one such
"current" style struct at a time.
2. Provide convenience functions for duplicate "alternative"
custom style variables the user can configure; see
`indent-bars--style'. These variables can "inherit" nil or
omitted plist variables from their parent var.
Note the shorthand substitution for style related slots;
see file-local-variables at the end:
ibs/ => indent-bars-style-
Old versions
| indent-bars-0.9.1.tar.lz | 2025-Jul-01 | 38.3 KiB |
| indent-bars-0.9.tar.lz | 2025-Jun-30 | 38.2 KiB |
| indent-bars-0.8.5.tar.lz | 2025-Jun-24 | 38.1 KiB |
| indent-bars-0.8.4.tar.lz | 2025-May-09 | 37.9 KiB |
| indent-bars-0.8.3.tar.lz | 2025-Apr-10 | 37.9 KiB |
| indent-bars-0.8.2.tar.lz | 2024-Nov-07 | 37.1 KiB |
| indent-bars-0.8.1.tar.lz | 2024-Oct-20 | 37.5 KiB |
| indent-bars-0.8.tar.lz | 2024-Oct-10 | 37.1 KiB |
| indent-bars-0.7.6.tar.lz | 2024-Sep-28 | 35.3 KiB |
| indent-bars-0.7.5.tar.lz | 2024-Sep-27 | 35.2 KiB |
| indent-bars-0.7.4.tar.lz | 2024-Sep-18 | 33.6 KiB |
| indent-bars-0.7.3.tar.lz | 2024-Sep-18 | 33.4 KiB |
News
1. v0.9.2 (2025-07-19)
- Support
haml-mode. - Fix bug with variable width detection in terminal.
2. v0.9.1 (2025-06-30)
- Guard against invalid font
space-width.
3. v0.9 (2025-06-29)
- Add compatibility for variable pitch fonts, per window.
4. v0.8.5 (2025-06-24)
- Allow
indent-barsto work in modes wherefont-lockkeywords are not set (e.g. fundamental/text). - Additional support for java, scala and rust TS modes, as well as TCL mode.
5. v0.8.4 (2025-05-08)
BUGFIXavoidargs-out-of-rangeerrors in TS modes.
6. v0.8.3 (2025-04-09)
- Improve bar highlight logic when using
indent-bars-starting-column=0(see #100). - Perform depth calculation current depth for highlight just in time (see #101).
7. v0.8.2 (2024-11-07)
- Support
makefile-mode. BUGFIXPrevent infloop and correctly display all appropriate bars whenindent-tabs-mode=tandtab-widthis small (see #86).BUGFIXWhen blank line display is enabled, prevent thedisplayproperty on blank newlines from temporarily leaking into newly inserted text (e.g. certain re-indentation modes, #82).
8. v0.8.1 (2024-10-19)
- Guard against unspecified
default(backup) face foreground/background colors, as on TTY withtty-color-mode=no. - Improve compatibility with other packages that directly call
font-lock-flush. - Ensure
indent-bars--ts-modeis disabled when toggling offindent-bars-treesit-supportin a buffer.
9. v0.8 (2024-10-09)
- New configuration setting
indent-bars-display-on-blank-lines=leastwhich specifies using the minimum bar depth of adjacent non-blank lines for blank line bar display (by default, when enabled, the maximum is used). BUGFIXGuard against custom-set errors when tree-sitter is enabled, but no scope stanza is present for the buffer's language.- Make
indent-bars-no-descend-lists=nilby default (to avoid confusion in brace and paren languages). - Allow
indent-bars-no-descend-string=allto inhibit all bars inside multi-line strings. BUGFIXUse correct offset guess when derived frompython-base-mode.- Be more careful when replacing/restoring
font-lock-fontify-region-function. - Ensure
indent-bars--ts-modeis fully disabled whenindent-barsis disabled.
10. v0.7.6 (2024-09-28)
- Improve speed of disabling indent-bars.
BUGFIXEliminated introduced bug leading to args-out-of-range error.BUGFIXCorrectly enable font-lock inhibit.
11. v0.7.5 (2024-09-26)
- Allow configuring
indent-bars-no-descend-listswith a list of list-open chars to consider (e.g. in c-modes, where {}) - Protect against frame unavailability in daemon server mode.
- Handle empty stipple
:patternstrings. - Cancel current depth timer on tear-down.
BUGFIXEnsureindent-bars--ts-modeis fully removed when indent-bars is disabled.BUGFIXFix issue where bar faces would be unspecified on new frames after resetting or customizing.
12. v0.7.4 (2024-09-18)
- Include NEWS and badge for ELPA
13. v0.7.3 (2024-09-17)
- Released on ELPA
14. v0.7.1 (2024-09-14)
- Added ADA, GPR, and
typescript-tssupport. - Avoid issues when mixing TS and non-TS modes.
- Ensure colors work with themes that do not specify background or foreground of specified bar faces.
15. v0.7 (2024-07-24)
- New optimized jit-lock approach for treesit scope.
- Slightly streamlined default styling.
16. v0.6.1 (2024-05-30)
- Live feedback when updating settings in the Customize interface.
- Simplify tree-sitter scope drawing.
- New option
indent-bars-ts-styling-scopeto swap the roles of in-scope and out-of-scope style.
17. v0.5.2 (2024-04-21)
- Ensure all old tree-sitter scopes regions are correctly invalidated when the scope is updated.
18. v0.5.1 (2024-04-16)
- Correctly handle tree-sitter scope highlight when multiple windows show the same buffer.
19. v0.5 (2024-04-08)
A major new release with many added features and improvements.
- Stipple-based bars are now free from artifacts when the same buffer appears in multiple windows.
… …