;;; 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)