diff options
Diffstat (limited to 'config/emacs.org')
| -rw-r--r-- | config/emacs.org | 45 |
1 files changed, 31 insertions, 14 deletions
diff --git a/config/emacs.org b/config/emacs.org index ce61b4a..2970ca3 100644 --- a/config/emacs.org +++ b/config/emacs.org @@ -894,6 +894,10 @@ First, some small configurations and some evil-mode initilaization because I lik :config (evil-multiedit-default-keybinds)) + (use-package evil-indent-plus + :ensure t + :config (evil-indent-plus-default-bindings)) + (use-package evil-textobj-tree-sitter :ensure t ;; Ensure Evil is loaded first so the text-object maps exist @@ -903,12 +907,16 @@ First, some small configurations and some evil-mode initilaization because I lik :bind ((:map evil-outer-text-objects-map ("f" . my-treesit-outer-function) ("c" . my-treesit-outer-class) - ("a" . my-treesit-outer-arg)) - + ("a" . my-treesit-outer-arg) + ("s" . my-treesit-outer-statement) ;; Added Statement + ("b" . my-treesit-outer-block)) ;; Added Block (Great for SCSS/CSS) + (:map evil-inner-text-objects-map ("f" . my-treesit-inner-function) ("c" . my-treesit-inner-class) - ("a" . my-treesit-inner-arg)) + ("a" . my-treesit-inner-arg) + ("s" . my-treesit-inner-statement) ;; Added Statement + ("b" . my-treesit-inner-block)) ;; Added Block (:map evil-normal-state-map ("] f" . my-treesit-goto-next-function) @@ -919,15 +927,23 @@ First, some small configurations and some evil-mode initilaization because I lik ;; 2. The Command Definitions :config ;; Link the custom names we bound above to the actual Tree-sitter closures - (defalias 'my-treesit-outer-function (evil-textobj-tree-sitter-get-textobj "function.outer")) - (defalias 'my-treesit-inner-function (evil-textobj-tree-sitter-get-textobj "function.inner")) + (defalias 'my-treesit-outer-function (evil-textobj-tree-sitter-get-textobj "function.outer")) + (defalias 'my-treesit-inner-function (evil-textobj-tree-sitter-get-textobj "function.inner")) - (defalias 'my-treesit-outer-class (evil-textobj-tree-sitter-get-textobj "class.outer")) - (defalias 'my-treesit-inner-class (evil-textobj-tree-sitter-get-textobj "class.inner")) + (defalias 'my-treesit-outer-class (evil-textobj-tree-sitter-get-textobj "class.outer")) + (defalias 'my-treesit-inner-class (evil-textobj-tree-sitter-get-textobj "class.inner")) ;; "a" is standard Vim terminology for "argument" (parameter) - (defalias 'my-treesit-outer-arg (evil-textobj-tree-sitter-get-textobj "parameter.outer")) - (defalias 'my-treesit-inner-arg (evil-textobj-tree-sitter-get-textobj "parameter.inner")) + (defalias 'my-treesit-outer-arg (evil-textobj-tree-sitter-get-textobj "parameter.outer")) + (defalias 'my-treesit-inner-arg (evil-textobj-tree-sitter-get-textobj "parameter.inner")) + + ;; Added Statement definitions + (defalias 'my-treesit-outer-statement (evil-textobj-tree-sitter-get-textobj "statement.outer")) + (defalias 'my-treesit-inner-statement (evil-textobj-tree-sitter-get-textobj "statement.inner")) + + ;; Added Block definitions (Targets {} blocks in SCSS, C, TS, etc.) + (defalias 'my-treesit-outer-block (evil-textobj-tree-sitter-get-textobj "block.outer")) + (defalias 'my-treesit-inner-block (evil-textobj-tree-sitter-get-textobj "block.inner")) ;; Navigation commands are standard interactive functions, so we wrap them cleanly (defun my-treesit-goto-next-function () @@ -946,7 +962,6 @@ First, some small configurations and some evil-mode initilaization because I lik (interactive) (evil-textobj-tree-sitter-goto-textobj "class.outer" t))) - (use-package general :after (evil evil-collection) :config @@ -1143,6 +1158,10 @@ We use org-alert in order to give us notifications based on our org-agenda. ** LSP We set up eglot, the LSP manager for emacs, now built in: #+begin_src emacs-lisp :tangle ../nix/init.el +(use-package envrc + :demand t + :hook (after-init . envrc-global-mode)) + (use-package python :after lsp-mode :hook (python-ts-mode . lsp-deferred)) @@ -1873,10 +1892,8 @@ I use tabs because sometimes I like using the mouse (it's actually more efficien ** Lean4 For some reason, lean4-mode is not in MELPA currently so I have to do this ugly thing: #+begin_src emacs-lisp :tangle ../nix/init.el -(unless noninteractive (use-package lean4-mode - :commands lean4-mode - :vc (:url "https://github.com/leanprover-community/lean4-mode.git" - :rev "76895d8939111654a472cfc617cfd43fbf5f1eb6"))) +(use-package lean4-mode + :commands lean4-mode) #+end_src and actually pull something from the internet instead of pinning. Thankfully this reproduction issue is probably localized to lean files. Also, we're pulling a specific commit so it is still pinned. If it fails to fetch, lean4 is broken I guess. |
