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>
88 lines
2.2 KiB
EmacsLisp
88 lines
2.2 KiB
EmacsLisp
;;; dev-settings.el --- Laptop development environment
|
|
|
|
;;; DAP Mode
|
|
|
|
(use-package dap-mode
|
|
:defer t
|
|
:commands (dap-mode dap-debug)
|
|
:config
|
|
(require 'dap-gdb-lldb)
|
|
(require 'dap-cpptools))
|
|
|
|
;;; C / C++
|
|
|
|
(use-package c-ts-mode
|
|
:ensure nil
|
|
:mode (("\\.c\\'" . c-ts-mode)
|
|
("\\.h\\'" . c-ts-mode)
|
|
("\\.cpp\\'" . c++-ts-mode)
|
|
("\\.hpp\\'" . c++-ts-mode)
|
|
("\\.cc\\'" . c++-ts-mode)
|
|
("\\.cxx\\'" . c++-ts-mode))
|
|
:hook ((c-ts-mode . eglot-ensure)
|
|
(c++-ts-mode . eglot-ensure))
|
|
:config
|
|
(setq c-ts-mode-indent-offset 4))
|
|
|
|
;;; Go
|
|
|
|
(use-package go-ts-mode
|
|
:ensure nil
|
|
:mode "\\.go\\'"
|
|
:hook (go-ts-mode . eglot-ensure)
|
|
:config
|
|
(setq go-ts-mode-indent-offset 4))
|
|
|
|
(with-eval-after-load 'dap-mode
|
|
(require 'dap-dlv-go))
|
|
|
|
;;; Rust
|
|
|
|
(use-package rust-ts-mode
|
|
:ensure nil
|
|
:mode "\\.rs\\'"
|
|
:hook (rust-ts-mode . eglot-ensure)
|
|
:config
|
|
(setq rust-ts-mode-indent-offset 4))
|
|
|
|
;; rust-analyzer is installed via: rustup component add rust-analyzer
|
|
(with-eval-after-load 'eglot
|
|
(add-to-list 'eglot-server-programs
|
|
'(rust-ts-mode . ("rust-analyzer"))))
|
|
|
|
;;; Common Lisp
|
|
|
|
(use-package slime
|
|
:defer t
|
|
:commands slime
|
|
:config
|
|
(setq inferior-lisp-program "sbcl")
|
|
(setq slime-contribs '(slime-fancy slime-company))
|
|
(setq slime-lisp-implementations
|
|
'((sbcl ("sbcl") :coding-system utf-8-unix)
|
|
(ccl ("ccl") :coding-system utf-8-unix))))
|
|
|
|
(use-package slime-company
|
|
:defer t
|
|
:after (slime company)
|
|
:config
|
|
(setq slime-company-completion 'fuzzy))
|
|
|
|
;;; DAP Keybindings
|
|
|
|
(with-eval-after-load 'dap-mode
|
|
(keymap-set dap-mode-map "C-c d d" #'dap-debug)
|
|
(keymap-set dap-mode-map "C-c d b" #'dap-breakpoint-toggle)
|
|
(keymap-set dap-mode-map "C-c d c" #'dap-continue)
|
|
(keymap-set dap-mode-map "C-c d n" #'dap-next)
|
|
(keymap-set dap-mode-map "C-c d i" #'dap-step-in)
|
|
(keymap-set dap-mode-map "C-c d o" #'dap-step-out)
|
|
(keymap-set dap-mode-map "C-c d r" #'dap-restart-frame)
|
|
(keymap-set dap-mode-map "C-c d q" #'dap-disconnect)
|
|
(keymap-set dap-mode-map "C-c d e" #'dap-eval)
|
|
(keymap-set dap-mode-map "C-c d l" #'dap-ui-locals)
|
|
(keymap-set dap-mode-map "C-c d s" #'dap-ui-sessions))
|
|
|
|
(provide 'dev-settings)
|
|
;;; dev-settings.el ends here
|