buncha keymaps

This commit is contained in:
2025-11-25 12:08:33 -05:00
parent 5f3d93c6e8
commit b506b0c404
3 changed files with 99 additions and 162 deletions

View File

@@ -4,93 +4,68 @@
(use-package csharp-mode
:defer t
:hook (csharp-mode . lsp-deferred)
:hook (csharp-mode . eglot-ensure)
:config
;; C# LSP server configuration
;; Install via: dotnet tool install --global csharp-ls
;; Or use omnisharp-roslyn: choco install omnisharp
(setq lsp-csharp-server-path "csharp-ls") ; or "omnisharp" or nil to use from PATH
(add-to-list 'eglot-server-programs
'(csharp-mode . ("csharp-ls")))
(add-to-list 'auto-mode-alist '("\\.cs\\'" . csharp-mode)))
;; DAP for .NET debugging
(with-eval-after-load 'dap-mode
(require 'dap-netcore)
(setq dap-netcore-install-dir (expand-file-name "~/.emacs.d/.extension/vscode/ms-dotnettools.csharp"))
;; This uses the netcoredbg that comes with VS Code C# extension
;; You may need to adjust the path based on your VS Code installation
)
(setq dap-netcore-install-dir (expand-file-name "~/.emacs.d/.extension/vscode/ms-dotnettools.csharp")))
;;; Python Configuration
(use-package python-mode
:defer t
:hook (python-mode . lsp-deferred)
(use-package python-ts-mode
:ensure nil ; Built-in with tree-sitter
:mode "\\.py\\'"
:hook (python-ts-mode . eglot-ensure)
:config
(setq python-shell-interpreter "python3"))
;; Python LSP server (install: pip install python-lsp-server)
(use-package lsp-pyright
:defer t
:hook (python-mode . (lambda ()
(require 'lsp-pyright)
(lsp-deferred))))
;; Python debugging configuration
(with-eval-after-load 'dap-mode
(require 'dap-python)
;; Assumes debugpy is installed: pip install debugpy
(setq dap-python-debugger 'debugpy))
;; Python virtual environment support
(use-package pyvenv
:defer t
:config
(pyvenv-mode 1))
:commands (pyvenv-activate pyvenv-workon))
;;; JavaScript/TypeScript Configuration
(use-package js2-mode
:defer t
;; Use built-in js-mode with eglot (no js2-mode needed)
(use-package js-mode
:ensure nil ; Built-in
:mode "\\.js\\'"
:hook (js2-mode . lsp-deferred)
:hook (js-mode . eglot-ensure)
:config
(setq js2-basic-offset 2
js2-bounce-indent-p nil))
(setq js-indent-level 2))
(use-package typescript-mode
:defer t
:mode ("\\.ts\\'" "\\.tsx\\'")
:hook (typescript-mode . lsp-deferred)
;; TypeScript with tree-sitter
(use-package typescript-ts-mode
:ensure nil ; Built-in with tree-sitter
:mode (("\\.ts\\'" . typescript-ts-mode)
("\\.tsx\\'" . tsx-ts-mode))
:hook ((typescript-ts-mode . eglot-ensure)
(tsx-ts-mode . eglot-ensure))
:config
(setq typescript-indent-level 2))
;; Enhanced JavaScript/TypeScript editing
(use-package tide
:defer t
:after (typescript-mode company flycheck)
:hook ((typescript-mode . tide-setup)
(typescript-mode . tide-hl-identifier-mode)
(js2-mode . tide-setup)
(js2-mode . tide-hl-identifier-mode)))
(setq typescript-ts-mode-indent-offset 2))
;;; Node.js Configuration
;; NPM package management
(use-package npm-mode
:defer t
:hook (js2-mode typescript-mode))
;; Node.js REPL
(use-package nodejs-repl
:defer t
:bind (:map js2-mode-map
("C-c C-z" . nodejs-repl)
:map typescript-mode-map
("C-c C-z" . nodejs-repl)))
:commands nodejs-repl)
;; JSON support (common in Node.js projects)
(use-package json-mode
:defer t
;; JSON support
(use-package json-ts-mode
:ensure nil ; Built-in with tree-sitter
:mode "\\.json\\'")
;;; Additional Web Development Tools
@@ -99,36 +74,23 @@
(use-package web-mode
:defer t
:mode ("\\.html\\'"
"\\.jsx\\'"
"\\.vue\\'")
:config
(setq web-mode-markup-indent-offset 2
web-mode-css-indent-offset 2
web-mode-code-indent-offset 2))
;; CSS/SCSS
(use-package css-mode
:ensure nil
:defer t
;; CSS with tree-sitter
(use-package css-ts-mode
:ensure nil ; Built-in with tree-sitter
:mode "\\.css\\'"
:config
(setq css-indent-offset 2))
(use-package scss-mode
:defer t
:mode "\\.scss\\'"
:config
(setq scss-compile-at-save nil))
;; REST client for API testing
(use-package restclient
:defer t
:mode ("\\.http\\'" . restclient-mode))
;;; LSP Configuration for Windows paths
(when (eq system-type 'windows-nt)
(setq lsp-javascript-typescript-server "typescript-language-server"
lsp-clients-typescript-server-args '("--stdio")))
(provide 'dev-settings-work)
;;; dev-settings-work.el ends here