100 lines
2.8 KiB
EmacsLisp
100 lines
2.8 KiB
EmacsLisp
;;; visuals-packages.el --- Visual and structural configuration -*- lexical-binding: t; -*-
|
|
|
|
(use-package treesit-auto
|
|
:functions global-treesit-auto-mode
|
|
:config
|
|
(treesit-auto-add-to-auto-mode-alist 'all)
|
|
:hook (after-init . global-treesit-auto-mode)
|
|
:custom
|
|
(treesit-auto-install 'prompt)
|
|
)
|
|
|
|
(use-package treesit-fold
|
|
:commands (treesit-fold-close
|
|
treesit-fold-close-all
|
|
treesit-fold-open
|
|
treesit-fold-toggle
|
|
treesit-fold-open-all
|
|
treesit-fold-mode
|
|
global-treesit-fold-mode
|
|
treesit-fold-open-recursively
|
|
treesit-fold-line-comment-mode)
|
|
:custom
|
|
(treesit-fold-line-count-show t)
|
|
(treesit-fold-line-count-format "--▼--")
|
|
:config
|
|
(set-face-attribute 'treesit-fold-replacement-face nil
|
|
:foreground "#808080"
|
|
:box nil
|
|
:weight 'bold))
|
|
|
|
;; Tree-sitter hooks
|
|
(dolist (hook '(c-ts-mode-hook c++-ts-mode-hook java-ts-mode-hook rust-ts-mode-hook
|
|
go-ts-mode-hook ruby-ts-mode-hook js-ts-mode-hook typescript-ts-mode-hook
|
|
tsx-ts-mode-hook css-ts-mode-hook html-ts-mode-hook bash-ts-mode-hook
|
|
cmake-ts-mode-hook dockerfile-ts-mode-hook json-ts-mode-hook toml-ts-mode-hook))
|
|
(add-hook hook #'treesit-fold-mode))
|
|
|
|
(use-package highlight-quoted
|
|
:hook (emacs-lisp-mode . highlight-quoted-mode))
|
|
|
|
(use-package highlight-defined
|
|
:hook (emacs-lisp-mode . highlight-defined-mode))
|
|
|
|
(use-package color-identifiers-mode
|
|
:hook (emacs-lisp-mode . color-identifiers-mode))
|
|
|
|
(use-package rainbow-delimiters
|
|
:hook
|
|
(prog-mode . rainbow-delimiters-mode)
|
|
(inferior-ess-mode . rainbow-delimiters-mode))
|
|
|
|
(use-package indent-bars
|
|
:config
|
|
(setq indent-bars-prefer-character ?.
|
|
indent-bars-pattern "true"
|
|
indent-bars-width-frac 1
|
|
indent-bars-pad-frac 0.2
|
|
indent-bars-color-by-depth '(:regexp "outline-\\([0-9]+\\)" :blend 0.9)
|
|
indent-bars-highlight-current-depth '(:face default :blend 0.4))
|
|
(add-hook 'prog-mode-hook #'indent-bars-mode)
|
|
:hook (prog-mode . indent-bars-mode))
|
|
|
|
|
|
(use-package colorful-mode
|
|
:config (setq colorful-allow-mouse-clicks nil))
|
|
|
|
(use-package doom-modeline
|
|
:defer t
|
|
:hook
|
|
(window-setup . doom-modeline-mode)
|
|
:config
|
|
(setq
|
|
doom-modeline-minor-modes t
|
|
doom-modeline-indent-info t)
|
|
)
|
|
|
|
;;---
|
|
;; icons
|
|
;;---
|
|
|
|
(use-package nerd-icons-completion
|
|
:after marginalia
|
|
:config
|
|
(nerd-icons-completion-mode)
|
|
(add-hook 'marginalia-mode-hook #'nerd-icons-completion-marginalia-setup))
|
|
|
|
(use-package nerd-icons-corfu
|
|
:after corfu
|
|
:config
|
|
(add-to-list 'corfu-margin-formatters #'nerd-icons-corfu-formatter))
|
|
|
|
(use-package nerd-icons-dired
|
|
:config
|
|
(nerd-icons-dired-mode)
|
|
(add-hook 'dired-mode-hook #'nerd-icons-dired-mode))
|
|
|
|
|
|
(provide 'visuals-packages)
|
|
|