diff --git a/core/siren-core-modules.el b/core/siren-core-modules.el index 91f1fdc..1c7aeb9 100644 --- a/core/siren-core-modules.el +++ b/core/siren-core-modules.el @@ -22,6 +22,7 @@ ;; Editor (require 'siren-browse-kill-ring) +(require 'siren-display-indentation) (require 'siren-helm-command) (require 'siren-ido) (require 'siren-linum) diff --git a/modules/editor/siren-display-indentation.el b/modules/editor/siren-display-indentation.el new file mode 100644 index 0000000..b7346da --- /dev/null +++ b/modules/editor/siren-display-indentation.el @@ -0,0 +1,17 @@ +;;; siren-display-indentation.el --- jimeh's Emacs Siren: indent guides setup + +;;; Commentary: + +;; Setup for rendering indent guides. + +;;; Code: + +(require 'siren-highlight-indent-guides) + +(defun siren-display-indentation (&optional arg) + "Activate or deactivate indentation guides. +Optional ARG is passed directly to mode toggle function." + (highlight-indent-guides-mode (or arg t))) + +(provide 'siren-display-indentation) +;;; siren-display-indentation.el ends here diff --git a/modules/editor/siren-highlight-indent-guides.el b/modules/editor/siren-highlight-indent-guides.el index 65e1dfc..3725a43 100644 --- a/modules/editor/siren-highlight-indent-guides.el +++ b/modules/editor/siren-highlight-indent-guides.el @@ -9,7 +9,19 @@ (use-package highlight-indent-guides :defer t :commands highlight-indent-guides-mode - :diminish highlight-indent-guides-mode) + :diminish highlight-indent-guides-mode + + :hook + (prog-mode . highlight-indent-guides-mode) + + :custom + (highlight-indent-guides-auto-even-face-perc 3) + (highlight-indent-guides-auto-odd-face-perc 2.5) + (highlight-indent-guides-auto-top-even-face-perc 12) + (highlight-indent-guides-auto-top-odd-face-perc 10) + (highlight-indent-guides-character ?\u2502) + (highlight-indent-guides-method 'column) + (highlight-indent-guides-responsive 'top)) (provide 'siren-highlight-indent-guides) ;;; siren-highlight-indent-guides.el ends here diff --git a/modules/editor/siren-highlight-indentation.el b/modules/editor/siren-highlight-indentation.el index 9f72d06..7cd38a6 100644 --- a/modules/editor/siren-highlight-indentation.el +++ b/modules/editor/siren-highlight-indentation.el @@ -9,7 +9,10 @@ (use-package highlight-indentation :defer t :diminish (highlight-indentation-mode - highlight-indentation-current-column-mode)) + highlight-indentation-current-column-mode) + + :hook + (prog-mode . highlight-indent-guides-mode)) (provide 'siren-highlight-indentation) ;;; siren-highlight-indentation.el ends here diff --git a/modules/languages/siren-coffee.el b/modules/languages/siren-coffee.el index 21efc9f..4379c08 100644 --- a/modules/languages/siren-coffee.el +++ b/modules/languages/siren-coffee.el @@ -28,7 +28,6 @@ (coffee-cos-mode t)) (setq tab-width 2) - (highlight-indentation-current-column-mode) (subword-mode +1))) (provide 'siren-coffee) diff --git a/modules/languages/siren-conf.el b/modules/languages/siren-conf.el index dcf60a7..97f9639 100644 --- a/modules/languages/siren-conf.el +++ b/modules/languages/siren-conf.el @@ -6,12 +6,12 @@ ;;; Code: +(require 'siren-display-indentation) (require 'siren-fci) (require 'siren-flyspell) (require 'siren-linum) (require 'siren-prog-mode) (require 'siren-flycheck) -(require 'siren-highlight-indentation) (require 'siren-highlight-symbol) (require 'siren-smartparens) @@ -24,11 +24,10 @@ (siren-prog-mode-setup) (setq tab-width 2) + (siren-display-indentation) (fci-mode) (flycheck-mode) (flyspell-prog-mode) - (highlight-indentation-current-column-mode) - (highlight-indentation-set-offset 2) (highlight-symbol-mode) (linum-mode) (smartparens-mode))) diff --git a/modules/languages/siren-css.el b/modules/languages/siren-css.el index 2ff064e..90d196a 100644 --- a/modules/languages/siren-css.el +++ b/modules/languages/siren-css.el @@ -23,7 +23,6 @@ (company-mode +1) (lsp) - (highlight-indentation-current-column-mode +1) (rainbow-mode +1))) (provide 'siren-css) diff --git a/modules/languages/siren-cucumber.el b/modules/languages/siren-cucumber.el index 839a6e0..70b5df2 100644 --- a/modules/languages/siren-cucumber.el +++ b/modules/languages/siren-cucumber.el @@ -6,12 +6,12 @@ ;;; Code: +(require 'siren-display-indentation) (require 'siren-fci) (require 'siren-flyspell) (require 'siren-linum) (require 'siren-prog-mode) (require 'siren-flycheck) -(require 'siren-highlight-indentation) (require 'siren-highlight-symbol) (require 'siren-smartparens) @@ -25,11 +25,10 @@ (siren-prog-mode-setup) (setq tab-width 2) + (siren-display-indentation) (fci-mode) (flycheck-mode) (flyspell-prog-mode) - (highlight-indentation-current-column-mode) - (highlight-indentation-set-offset 2) (highlight-symbol-mode) (linum-mode) (smartparens-mode))) diff --git a/modules/languages/siren-emacs-lisp.el b/modules/languages/siren-emacs-lisp.el index 47dfc28..267be95 100644 --- a/modules/languages/siren-emacs-lisp.el +++ b/modules/languages/siren-emacs-lisp.el @@ -26,7 +26,6 @@ (defun siren-emacs-lisp-mode-setup () "Sensible defaults for `emacs-lisp-mode'." - (highlight-indent-guides-mode) ;; (run-hooks 'siren-lisp-coding-hook) ;; (eldoc-mode +1) ;; (siren-recompile-elc-on-save) diff --git a/modules/languages/siren-golang.el b/modules/languages/siren-golang.el index 851d973..15e5b5c 100644 --- a/modules/languages/siren-golang.el +++ b/modules/languages/siren-golang.el @@ -35,11 +35,10 @@ (setq gofmt-command goimports))) (setq tab-width 4) - (whitespace-toggle-options '(tabs)) + (highlight-symbol-mode -1) (company-mode +1) (lsp) - (highlight-symbol-mode -1) (hs-minor-mode 1) (hideshowvis-enable) (subword-mode +1)) diff --git a/modules/languages/siren-groovy.el b/modules/languages/siren-groovy.el index dadaffb..520ca98 100644 --- a/modules/languages/siren-groovy.el +++ b/modules/languages/siren-groovy.el @@ -16,7 +16,6 @@ groovy-indent-offset 4 tab-width 4) - (highlight-indentation-current-column-mode) (subword-mode +1))) (provide 'siren-groovy) diff --git a/modules/languages/siren-haml.el b/modules/languages/siren-haml.el index e818ec3..dc057ac 100644 --- a/modules/languages/siren-haml.el +++ b/modules/languages/siren-haml.el @@ -12,9 +12,7 @@ :init (defun siren-haml-mode-setup () - (setq tab-width 2) - (highlight-indentation-set-offset 2) - (highlight-indentation-current-column-mode +1))) + (setq tab-width 2))) (provide 'siren-haml) ;;; siren-haml.el ends here diff --git a/modules/languages/siren-js.el b/modules/languages/siren-js.el index 079dabc..f262d3f 100644 --- a/modules/languages/siren-js.el +++ b/modules/languages/siren-js.el @@ -31,7 +31,6 @@ (lsp) (subword-mode +1) (hs-minor-mode 1) - (highlight-indentation-current-column-mode) (hideshowvis-enable) (let ((map js-mode-map)) diff --git a/modules/languages/siren-json.el b/modules/languages/siren-json.el index 1bc3fc8..3ef3c69 100644 --- a/modules/languages/siren-json.el +++ b/modules/languages/siren-json.el @@ -25,10 +25,9 @@ "Default tweaks for `json-mode'." (let ((width 2)) - (setq js-indent-level width) - (setq json-reformat:indent-width width) - (setq tab-width width) - (highlight-indentation-set-offset width)) + (setq js-indent-level width + json-reformat:indent-width width + tab-width width)) (setq flycheck-checker 'json-jsonlint))) diff --git a/modules/languages/siren-jsx.el b/modules/languages/siren-jsx.el index e4840b5..6730620 100644 --- a/modules/languages/siren-jsx.el +++ b/modules/languages/siren-jsx.el @@ -19,7 +19,6 @@ (company-mode +1) (subword-mode +1) (hs-minor-mode +1) - (highlight-indentation-current-column-mode +1) (hideshowvis-enable))) (provide 'siren-jsx) diff --git a/modules/languages/siren-lisp.el b/modules/languages/siren-lisp.el index efe9fe2..65fd960 100644 --- a/modules/languages/siren-lisp.el +++ b/modules/languages/siren-lisp.el @@ -6,8 +6,6 @@ ;;; Code: -(require 'siren-highlight-indent-guides) - ;; Lisp configuration (define-key read-expression-map (kbd "TAB") 'completion-at-point) @@ -22,7 +20,6 @@ ;; interactive modes don't need whitespace checks (defun siren-interactive-lisp-coding-hook () - (highlight-indent-guides-mode) (whitespace-mode -1)) (provide 'siren-lisp) diff --git a/modules/languages/siren-lua.el b/modules/languages/siren-lua.el index 2b0b258..3b25c59 100644 --- a/modules/languages/siren-lua.el +++ b/modules/languages/siren-lua.el @@ -15,7 +15,6 @@ (setq lua-indent-level 2 whitespace-action '(auto-cleanup)) - (highlight-indentation-current-column-mode) (subword-mode +1))) (provide 'siren-lua) diff --git a/modules/languages/siren-makefile.el b/modules/languages/siren-makefile.el index 0824cb7..491d2da 100644 --- a/modules/languages/siren-makefile.el +++ b/modules/languages/siren-makefile.el @@ -16,9 +16,7 @@ (defun siren-makefile-mode-setup () (subword-mode +1) - (setq tab-width 4) - (highlight-indentation-set-offset 4) - (highlight-indentation-current-column-mode))) + (setq tab-width 4))) (provide 'siren-makefile) ;;; siren-makefile.el ends here diff --git a/modules/languages/siren-php.el b/modules/languages/siren-php.el index 28dfd59..8fdd81f 100644 --- a/modules/languages/siren-php.el +++ b/modules/languages/siren-php.el @@ -7,7 +7,6 @@ ;;; Code: (require 'siren-folding) -(require 'siren-highlight-indentation) (require 'siren-rainbow) (use-package php-mode @@ -21,7 +20,6 @@ (rainbow-mode +1) (company-mode +1) (subword-mode +1) - (highlight-indentation-current-column-mode) (hs-minor-mode 1) (hideshowvis-enable))) diff --git a/modules/languages/siren-plantuml.el b/modules/languages/siren-plantuml.el index f7c601a..95dc073 100644 --- a/modules/languages/siren-plantuml.el +++ b/modules/languages/siren-plantuml.el @@ -6,8 +6,6 @@ ;;; Code: -(require 'siren-highlight-indentation) - (use-package plantuml-mode :mode "\\.uml\\'" :hook @@ -16,10 +14,7 @@ :init (defun siren-plantuml-mode-setup () (setq tab-width 2 - plantuml-jar-path "/usr/local/opt/plantuml/libexec/plantuml.jar") - - (highlight-indentation-set-offset 2) - (highlight-indentation-current-column-mode))) + plantuml-jar-path "/usr/local/opt/plantuml/libexec/plantuml.jar"))) (provide 'siren-plantuml) ;;; siren-plantuml.el ends here diff --git a/modules/languages/siren-ruby.el b/modules/languages/siren-ruby.el index 88ddbc3..10290c2 100644 --- a/modules/languages/siren-ruby.el +++ b/modules/languages/siren-ruby.el @@ -8,7 +8,6 @@ (require 'siren-company) (require 'siren-folding) -(require 'siren-highlight-indentation) (require 'siren-projectile) (require 'siren-realgud) (require 'siren-smartparens) @@ -63,7 +62,6 @@ (company-mode +1) (hs-minor-mode 1) (hideshowvis-enable) - (highlight-indentation-current-column-mode) (subword-mode +1)) :config diff --git a/modules/languages/siren-rust.el b/modules/languages/siren-rust.el index aafc079..4ae901d 100644 --- a/modules/languages/siren-rust.el +++ b/modules/languages/siren-rust.el @@ -7,7 +7,6 @@ ;;; Code: (require 'siren-folding) -(require 'siren-highlight-indentation) (require 'siren-lsp) (use-package rust-mode @@ -28,7 +27,6 @@ (lsp-mode) (hs-minor-mode 1) (hideshowvis-enable) - (highlight-indentation-current-column-mode) (subword-mode +1))) (use-package cargo diff --git a/modules/languages/siren-sh.el b/modules/languages/siren-sh.el index 967ffa6..327f6ac 100644 --- a/modules/languages/siren-sh.el +++ b/modules/languages/siren-sh.el @@ -6,8 +6,6 @@ ;;; Code: -(require 'siren-highlight-indentation) - (use-package sh-script :ensure nil ;; loaded from emacs built-ins :mode @@ -25,8 +23,6 @@ whitespace-action '(auto-cleanup)) (subword-mode +1) - (highlight-indentation-set-offset 2) - (highlight-indentation-current-column-mode) (define-key sh-mode-map (kbd "RET") 'newline-and-indent))) (provide 'siren-sh) diff --git a/modules/languages/siren-slim.el b/modules/languages/siren-slim.el index 553332c..a53590a 100644 --- a/modules/languages/siren-slim.el +++ b/modules/languages/siren-slim.el @@ -6,15 +6,12 @@ ;;; Code: -(require 'siren-highlight-indentation) - (use-package slim-mode :mode "\\.slim\\'" :hook (slim-mode . siren-slim-mode-hook) :init - (defun siren-slim-mode-setup () - (highlight-indentation-current-column-mode))) + (defun siren-slim-mode-setup ())) (provide 'siren-slim) ;;; siren-slim.el ends here diff --git a/modules/languages/siren-sql.el b/modules/languages/siren-sql.el index cf24d7b..d7c4bef 100644 --- a/modules/languages/siren-sql.el +++ b/modules/languages/siren-sql.el @@ -17,8 +17,7 @@ (defun siren-sql-mode-setup () (setq tab-width 2) - (company-mode +1) - (highlight-indentation-current-column-mode +1))) + (company-mode +1))) (use-package sqlformat :hook diff --git a/modules/languages/siren-thrift.el b/modules/languages/siren-thrift.el index b3ad8a7..0edc95a 100644 --- a/modules/languages/siren-thrift.el +++ b/modules/languages/siren-thrift.el @@ -11,7 +11,6 @@ (require 'siren-linum) (require 'siren-prog-mode) (require 'siren-flycheck) -(require 'siren-highlight-indentation) (require 'siren-highlight-symbol) (require 'siren-smartparens) @@ -27,8 +26,6 @@ (fci-mode) (flycheck-mode) (flyspell-prog-mode) - (highlight-indentation-current-column-mode) - (highlight-indentation-set-offset 2) (highlight-symbol-mode) (linum-mode) (smartparens-mode) diff --git a/modules/languages/siren-typescript.el b/modules/languages/siren-typescript.el index ad934f8..abe9b7b 100644 --- a/modules/languages/siren-typescript.el +++ b/modules/languages/siren-typescript.el @@ -9,7 +9,6 @@ (require 'siren-company) (require 'siren-folding) (require 'siren-flycheck) -(require 'siren-highlight-indentation) (require 'siren-prettier-js) (require 'siren-web-mode) @@ -29,7 +28,6 @@ (lsp) (subword-mode +1) (hs-minor-mode 1) - (highlight-indentation-current-column-mode) (hideshowvis-enable) (let ((map typescript-mode-map)) diff --git a/modules/languages/siren-web-mode.el b/modules/languages/siren-web-mode.el index 6269585..a51332d 100644 --- a/modules/languages/siren-web-mode.el +++ b/modules/languages/siren-web-mode.el @@ -9,7 +9,6 @@ (require 'siren-company) (require 'siren-fci) (require 'siren-folding) -(require 'siren-highlight-indentation) (use-package web-mode :mode @@ -40,8 +39,6 @@ (fci-mode -1) (hideshowvis-enable) (hs-minor-mode +1) - (highlight-indentation-current-column-mode) - (highlight-indentation-set-offset 2) (subword-mode +1))) (use-package web-beautify diff --git a/modules/languages/siren-yaml.el b/modules/languages/siren-yaml.el index 4ffc9a7..198525b 100644 --- a/modules/languages/siren-yaml.el +++ b/modules/languages/siren-yaml.el @@ -6,9 +6,9 @@ ;;; Code: +(require 'siren-display-indentation) (require 'siren-fci) (require 'siren-flyspell) -(require 'siren-highlight-indentation) (require 'siren-linum) (require 'siren-prog-mode) (require 'siren-smartparens) @@ -27,10 +27,9 @@ (setq tab-width 2 whitespace-action '(auto-cleanup)) + (siren-display-indentation) (fci-mode) (flyspell-mode) - (highlight-indentation-current-column-mode) - (highlight-indentation-set-offset 2) (linum-mode t) (smartparens-mode +1) (subword-mode +1))) diff --git a/modules/org-mode/siren-org-mode.el b/modules/org-mode/siren-org-mode.el index 3150dbf..d1c0e99 100644 --- a/modules/org-mode/siren-org-mode.el +++ b/modules/org-mode/siren-org-mode.el @@ -6,6 +6,7 @@ ;;; Code: +(require 'siren-display-indentation) (require 'siren-fci) (require 'siren-flyspell) (require 'siren-linum) @@ -35,12 +36,13 @@ whitespace-action '(auto-cleanup)) (setcar (nthcdr 4 org-emphasis-regexp-components) 20) - (org-set-emph-re 'org-emphasis-regexp-components org-emphasis-regexp-components) + (org-set-emph-re 'org-emphasis-regexp-components + org-emphasis-regexp-components) (linum-mode t) (flyspell-mode) (fci-mode) - (highlight-indentation-current-column-mode) + (siren-display-indentation) (smartparens-mode +1) (visual-line-mode +1) (whitespace-mode +1)))