branch: externals/indent-bars
commit 6d59b8ff3b68aab0285d8416396ee7c458512d2e
Merge: bfcc3fac50 6e864e049e
Author: JD Smith <[email protected]>
Commit: JD Smith <[email protected]>
Merge branch 'main' into treesit-scope
---
indent-bars.el | 31 +++++++++++++++++++++++++++----
1 file changed, 27 insertions(+), 4 deletions(-)
diff --git a/indent-bars.el b/indent-bars.el
index 7829d30581..bd7b8528b5 100644
--- a/indent-bars.el
+++ b/indent-bars.el
@@ -1398,6 +1398,14 @@ Adapted from `highlight-indentation-mode'."
cobol-tab-width)
((or (derived-mode-p 'go-ts-mode) (derived-mode-p 'go-mode))
tab-width)
+ ((derived-mode-p 'nix-mode)
+ tab-width)
+ ((and (derived-mode-p 'nix-ts-mode) (boundp 'nix-ts-mode-indent-offset))
+ nix-ts-mode-indent-offset)
+ ((and (derived-mode-p 'json-ts-mode) (boundp 'json-ts-mode-indent-offset))
+ json-ts-mode-indent-offset)
+ ((and (derived-mode-p 'json-mode) (boundp 'js-indent-level))
+ js-indent-level)
((and (boundp 'standard-indent) standard-indent))
(t 4))) ; backup
@@ -1459,6 +1467,16 @@ Adapted from `highlight-indentation-mode'."
(setq indent-bars-spacing (indent-bars--guess-spacing)
indent-bars--offset (or indent-bars-starting-column
indent-bars-spacing))
+ ;; Colors
+ (setq indent-bars--main-color (indent-bars--main-color)
+ indent-bars--depth-palette (indent-bars--depth-palette)
+ indent-bars--current-depth-palette (indent-bars--current-depth-palette))
+
+ ;; Faces
+ (indent-bars--create-stipple-face (frame-char-width) (frame-char-height)
+ (indent-bars--stipple-rot
(frame-char-width)))
+ (indent-bars--create-faces 9) ; N.B.: extends as needed
+
;; No Stipple (e.g. terminal)
(setq indent-bars--no-stipple
(or (not (display-graphic-p)) indent-bars-prefer-character))
@@ -1533,8 +1551,9 @@ Adapted from `highlight-indentation-mode'."
(defun indent-bars-setup-and-remove (frame)
"Setup indent bars for FRAME and remove from `after-make-frame-functions'."
(when (display-graphic-p frame)
- (remove-hook 'after-make-frame-functions #'indent-bars-setup-and-remove)
- (indent-bars-setup)))
+ (with-selected-frame frame
+ (remove-hook 'after-make-frame-functions #'indent-bars-setup-and-remove
t)
+ (indent-bars-setup))))
(defvar indent-bars-mode)
;;;###autoload
@@ -1544,11 +1563,15 @@ Adapted from `highlight-indentation-mode'."
:group 'indent-bars
(if indent-bars-mode
(if (and (daemonp) (not (frame-parameter nil 'client)))
- (add-hook 'after-make-frame-functions
- #'indent-bars-setup-and-remove nil t)
+ (add-hook 'after-make-frame-functions #'indent-bars-setup-and-remove
+ nil t)
(indent-bars-setup))
(indent-bars-teardown)))
+;; Theme support
+;; (if (boundp 'enable-theme-functions)
+;; (add-hook 'enable-theme-functions #'indent-bars-reset))
+
(provide 'indent-bars)
;;; indent-bars.el ends here