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

Reply via email to