indent-bars
- Description
- Highlight indentation with bars
- Latest
- indent-bars-0.8.tar (.sig), 2024-Oct-10, 140 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.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.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 whenindent-bars
is disabled.
2. 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.
3. 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.
4. v0.7.4 (2024-09-18)
- Include NEWS and badge for ELPA
5. v0.7.3 (2024-09-17)
- Released on ELPA
6. 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.
7. v0.7 (2024-07-24)
- New optimized jit-lock approach for treesit scope.
- Slightly streamlined default styling.
8. 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.
9. v0.5.2 (2024-04-21)
- Ensure all old tree-sitter scopes regions are correctly invalidated when the scope is updated.
10. v0.5.1 (2024-04-16)
- Correctly handle tree-sitter scope highlight when multiple windows show the same buffer.
11. 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.
12. v0.2.2 (2024-01-02)
- Rate-limit updates of the current highlight depth; see
indent-bars-depth-update-delay
.
13. 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)
- tree-sitter context-aware bar depth
- additional mode support: `go-mode`, `go-ts-mode`, `cobol-mode`
- other minor improvements
14. v0.1
- Initial stipple-based indentation.