Skip to content

Commit

Permalink
feat(prog): use treesitter-context-fold for code folding
Browse files Browse the repository at this point in the history
  • Loading branch information
abougouffa committed Feb 29, 2024
1 parent aa8dbb2 commit caabcf8
Showing 1 changed file with 26 additions and 0 deletions.
26 changes: 26 additions & 0 deletions modules/me-prog.el
Original file line number Diff line number Diff line change
Expand Up @@ -417,6 +417,32 @@ Fall back to the default `citre--project-root'."
(setq treesitter-context-background-color "#EEEEEE"
treesitter-context-border-color "#000000"))

(use-package treesitter-context-fold
:hook (prog-mode . treesitter-context-fold-mode)
:when (+emacs-features-p 'tree-sitter)
:config
(require 'treesitter-context)
(with-eval-after-load 'evil
(add-to-list 'evil-fold-list `((treesitter-context-fold-mode)
:delete nil
:open-all nil
:close-all nil
:toggle treesitter-context-fold-toggle
:open treesitter-context-fold-show
:open-rec nil
:close treesitter-context-fold-hide)))

;; Redefine the major minor mode
(define-minor-mode treesitter-context-fold-mode
"Fold code according to treesit syntax tree."
:global nil
:init-value nil
:keymap treesitter-context-fold-mode-map
(if treesitter-context-fold-mode
(unless (and (treesit-available-p) (member major-mode treesitter-context--supported-mode))
(message "Treesitter context fold mode cannot be enabled.")
(setq treesitter-context-fold-mode nil)))))

(use-package breadcrumb
:straight t)

Expand Down

0 comments on commit caabcf8

Please sign in to comment.