indent-bars
- Description
- Highlight indentation with bars
- Latest
- indent-bars-0.8.2.0.20241109.70253.tar (.sig), 2024-Nov-09, 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.8.2.0.20241108.212854.tar.lz | 2024-Nov-09 | 37.6 KiB |
indent-bars-0.8.2.0.20241107.71825.tar.lz | 2024-Nov-07 | 37.1 KiB |
indent-bars-0.8.1.0.20241106.145109.tar.lz | 2024-Nov-06 | 37.1 KiB |
indent-bars-0.8.1.0.20241019.170236.tar.lz | 2024-Oct-20 | 37.5 KiB |
indent-bars-0.8.0.20241018.130505.tar.lz | 2024-Oct-18 | 37.5 KiB |
indent-bars-0.7.6.0.20241008.83403.tar.lz | 2024-Oct-08 | 37.0 KiB |
indent-bars-0.7.5.0.20240927.164640.tar.lz | 2024-Sep-28 | 35.3 KiB |
indent-bars-0.7.4.0.20240925.134246.tar.lz | 2024-Sep-25 | 35.1 KiB |
indent-bars-0.7.3.0.20240917.220118.tar.lz | 2024-Sep-18 | 33.6 KiB |
indent-bars-0.7.2.0.20240916.184944.tar.lz | 2024-Sep-17 | 33.3 KiB |
News
1. v0.8.2 (2024-11-07)
- Support
makefile-mode
. BUGFIX
Prevent infloop and correctly display all appropriate bars whenindent-tabs-mode=t
andtab-width
is small (see #86).BUGFIX
When blank line display is enabled, prevent thedisplay
property on blank newlines from temporarily leaking into newly inserted text (e.g. certain re-indentation modes, #82).
2. 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-mode
is disabled when toggling offindent-bars-treesit-support
in a buffer.
3. 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 frompython-base-mode
.- Be more careful when replacing/restoring
font-lock-fontify-region-function
. - Ensure
indent-bars--ts-mode
is fully disabled whenindent-bars
is disabled.
4. 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.
5. 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
Ensureindent-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.
6. v0.7.4 (2024-09-18)
- Include NEWS and badge for ELPA
7. v0.7.3 (2024-09-17)
- Released on ELPA
8. 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.
9. v0.7 (2024-07-24)
- New optimized jit-lock approach for treesit scope.
- Slightly streamlined default styling.
10. 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.
11. v0.5.2 (2024-04-21)
- Ensure all old tree-sitter scopes regions are correctly invalidated when the scope is updated.
12. v0.5.1 (2024-04-16)
- Correctly handle tree-sitter scope highlight when multiple windows show the same buffer.
13. 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.
14. v0.2.2 (2024-01-02)
- Rate-limit updates of the current highlight depth; see
indent-bars-depth-update-delay
.
15. v0.2 (2023-09-08)
- ability to configure the starting column (including col 0)
- Support for tab-based indent modes
- optional character-based indent bars (automatic in terminal)
… …