From 5f3d93c6e8ac20ac5b0d3a7e8e5a5a978eeb3ac0 Mon Sep 17 00:00:00 2001 From: Rob Harbaugh Date: Tue, 25 Nov 2025 11:26:42 -0500 Subject: [PATCH] optimizing work file --- dev-settings-work.el | 45 ++++++++++++++++++++++---------------------- 1 file changed, 23 insertions(+), 22 deletions(-) diff --git a/dev-settings-work.el b/dev-settings-work.el index 8a603d9..d6d223b 100644 --- a/dev-settings-work.el +++ b/dev-settings-work.el @@ -3,22 +3,17 @@ ;;; C# Configuration (use-package csharp-mode + :defer t :hook (csharp-mode . lsp-deferred) :config - (setq lsp-csharp-server-path nil) ; Use omnisharp from PATH - ;; Configure for .NET development + ;; 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 'auto-mode-alist '("\\.cs\\'" . csharp-mode))) -;; OmniSharp for C# LSP -;; Install via: dotnet tool install --global csharp-ls -;; Or use omnisharp-roslyn: choco install omnisharp -(use-package lsp-mode - :config - (setq lsp-csharp-server-path "csharp-ls")) ; or "omnisharp" - -;; DAP for .NET debugging (uses vsdbg from VS Code) -(use-package dap-mode - :config +;; 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 @@ -28,31 +23,34 @@ ;;; Python Configuration (use-package python-mode + :defer t :hook (python-mode . lsp-deferred) :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 -(use-package dap-mode - :config +;; 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)) ;;; JavaScript/TypeScript Configuration (use-package js2-mode + :defer t :mode "\\.js\\'" :hook (js2-mode . lsp-deferred) :config @@ -60,19 +58,15 @@ js2-bounce-indent-p nil)) (use-package typescript-mode - :mode "\\.ts\\'" + :defer t + :mode ("\\.ts\\'" "\\.tsx\\'") :hook (typescript-mode . lsp-deferred) :config (setq typescript-indent-level 2)) -;; TSX support -(use-package typescript-mode - :mode "\\.tsx\\'" - :config - (add-to-list 'auto-mode-alist '("\\.tsx\\'" . typescript-mode))) - ;; 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) @@ -83,10 +77,12 @@ ;; 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 @@ -94,12 +90,14 @@ ;; JSON support (common in Node.js projects) (use-package json-mode + :defer t :mode "\\.json\\'") ;;; Additional Web Development Tools ;; Web mode for HTML/JSX/template files (use-package web-mode + :defer t :mode ("\\.html\\'" "\\.jsx\\'" "\\.vue\\'") @@ -111,17 +109,20 @@ ;; CSS/SCSS (use-package css-mode :ensure nil + :defer t :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