Laptop config: zsh, emacs (with WSL detection for work), ghostty, tmux, ranger, newsboat, neomutt + mbsync + msmtp (Outlook OAuth2), neomutt signature. Work config: emacs with C#/TS/JS/CSS/HTML dev settings for WSL. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
78 lines
2.0 KiB
EmacsLisp
78 lines
2.0 KiB
EmacsLisp
;;; common-dev-settings.el --- Dev tooling shared across all hosts
|
|
|
|
;;; Completion
|
|
|
|
(use-package company
|
|
:defer 1
|
|
:config
|
|
(global-company-mode)
|
|
(setq company-idle-delay 0.2
|
|
company-minimum-prefix-length 2
|
|
company-show-numbers t
|
|
company-tooltip-align-annotations t))
|
|
|
|
;;; LSP
|
|
|
|
(use-package eglot
|
|
:ensure nil
|
|
:defer t
|
|
:commands (eglot eglot-ensure)
|
|
:config
|
|
(setq eglot-autoshutdown t
|
|
eglot-send-changes-idle-time 0.5)
|
|
(setq eldoc-echo-area-use-multiline-p nil)
|
|
(add-to-list 'eglot-stay-out-of 'eldoc))
|
|
|
|
;;; Tree-sitter mode management
|
|
;; Grammar sources and installation are host-specific; see dev-settings.el.
|
|
|
|
(use-package treesit-auto
|
|
:custom
|
|
(treesit-auto-install 'prompt)
|
|
:config
|
|
(treesit-auto-add-to-auto-mode-alist 'all)
|
|
(global-treesit-auto-mode))
|
|
|
|
;;; Utilities
|
|
|
|
(use-package helpful
|
|
:defer t
|
|
:commands (helpful-callable helpful-variable helpful-key))
|
|
|
|
(use-package smartparens
|
|
:defer 1
|
|
:hook (prog-mode . smartparens-mode)
|
|
:config
|
|
(require 'smartparens-config))
|
|
|
|
(use-package yasnippet
|
|
:defer 2
|
|
:config
|
|
(yas-global-mode 1))
|
|
|
|
(use-package yasnippet-snippets
|
|
:defer t
|
|
:after yasnippet)
|
|
|
|
;;; Emacs Lisp
|
|
|
|
(add-hook 'emacs-lisp-mode-hook #'eldoc-mode)
|
|
(add-hook 'emacs-lisp-mode-hook #'company-mode)
|
|
|
|
;;; LSP Keybindings
|
|
|
|
(with-eval-after-load 'eglot
|
|
(keymap-set eglot-mode-map "C-c l d" #'xref-find-definitions)
|
|
(keymap-set eglot-mode-map "C-c l r" #'xref-find-references)
|
|
(keymap-set eglot-mode-map "C-c l i" #'eglot-find-implementation)
|
|
(keymap-set eglot-mode-map "C-c l t" #'eglot-find-typeDefinition)
|
|
(keymap-set eglot-mode-map "C-c l h" #'eldoc-doc-buffer)
|
|
(keymap-set eglot-mode-map "C-c l s" #'eldoc)
|
|
(keymap-set eglot-mode-map "C-c l a" #'eglot-code-actions)
|
|
(keymap-set eglot-mode-map "C-c l n" #'eglot-rename)
|
|
(keymap-set eglot-mode-map "C-c l e" #'flymake-show-buffer-diagnostics)
|
|
(keymap-set eglot-mode-map "C-c l f" #'eglot-format-buffer))
|
|
|
|
(provide 'common-dev-settings)
|
|
;;; common-dev-settings.el ends here
|