Version 0.8.3 of package Indent-Bars has just been released in GNU ELPA. You can now find it in M-x list-packages RET.
Indent-Bars describes itself as: =============================== Highlight indentation with bars =============================== More at https://elpa.gnu.org/packages/indent-bars.html ## Summary: 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: ## Recent NEWS: ━━━━━━━━━━━━━━━━━━━━━━━━━ INDENT-BARS - CHANGELOG ━━━━━━━━━━━━━━━━━━━━━━━━━ 1 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). 2 v0.8.2 (2024-11-07) ═════════════════════ • Support `makefile-mode'. • `BUGFIX' Prevent infloop and correctly display all appropriate bars when `indent-tabs-mode=t' and `tab-width' is small (see #86). • `BUGFIX' When blank line display is enabled, prevent the `display' property on blank newlines from temporarily leaking into newly inserted text (e.g. certain re-indentation modes, #82). 3 v0.8.1 (2024-10-19) ═════════════════════ • Guard against unspecified `default' (backup) face foreground/background colors, as on TTY with `tty-color-mode=no'. • Improve compatibility with other packages that directly call `font-lock-flush'. • Ensure `indent-bars--ts-mode' is disabled when toggling off `indent-bars-treesit-support' in a buffer. 4 v0.8 (2024-10-09) ═══════════════════ • New configuration setting `indent-bars-display-on-blank-lines=least' which specifies using the /minimum/ bar depth of adjacent non-blank lines for blank line bar display (by default, when enabled, the /maximum/ is used). • `BUGFIX' Guard 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=nil' by default (to avoid confusion in brace and paren languages). • Allow `indent-bars-no-descend-string=all' to inhibit /all/ bars inside multi-line strings. • `BUGFIX' Use correct offset guess when derived from `python-base-mode'. • Be more careful when replacing/restoring `font-lock-fontify-region-function'. • Ensure `indent-bars--ts-mode' is fully disabled when `indent-bars' is disabled. 5 v0.7.6 (2024-09-28) ═════════════════════ • Improve speed of disabling indent-bars. • `BUGFIX' Eliminated introduced bug leading to args-out-of-range error. • `BUGFIX' Correctly enable font-lock inhibit. 6 v0.7.5 (2024-09-26) ═════════════════════ • Allow configuring `indent-bars-no-descend-lists' with 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 `:pattern' strings. • Cancel current depth timer on tear-down. • `BUGFIX' Ensure `indent-bars--ts-mode' is fully removed when indent-bars is disabled. • `BUGFIX' Fix issue where bar faces would be unspecified on new frames after resetting or customizing. 7 v0.7.4 (2024-09-18) ═════════════════════ • Include NEWS and badge for ELPA 8 *v0.7.3* (2024-09-17) ═══════════════════════ • Released on ELPA 9 *v0.7.1* (2024-09-14) ═══════════════════════ • Added ADA, GPR, and `typescript-ts' support. • 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. 10 *v0.7* (2024-07-24) ══════════════════════ • New optimized jit-lock approach for treesit scope. • Slightly streamlined default styling. 11 *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-scope' to swap the roles of in-scope and out-of-scope style. 12 v0.5.2 (2024-04-21) ══════════════════════ • Ensure all old tree-sitter scopes regions are correctly invalidated when the scope is updated. 13 v0.5.1 (2024-04-16) ══════════════════════ • Correctly handle tree-sitter scope highlight when multiple windows show the same buffer. 14 *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. • Position-aware tree-sitter /scope focus/ with fully configurable in-scope/out-of-scope styling. • Theme-awareness: bar styling gets updated on theme change (e.g. for depth-based colors). • Two new highlight selection "methods" including a new default ("context"). • Inhibit string and list bar descent without tree-sitter, using Emacs' syntax capabilities. 15 *v0.2.2* (2024-01-02) ════════════════════════ • Rate-limit updates of the current highlight depth; see `indent-bars-depth-update-delay'. … …