;;; dev-settings-work.el --- Work-specific development configuration (Windows) ;;; C# Configuration (use-package csharp-mode :defer t :hook (csharp-mode . eglot-ensure) :config ;; C# LSP server configuration ;; Install via: dotnet tool install --global csharp-ls (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"))) ;;; Python Configuration (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 debugging configuration (with-eval-after-load 'dap-mode (require 'dap-python) (setq dap-python-debugger 'debugpy)) ;; Python virtual environment support (use-package pyvenv :defer t :commands (pyvenv-activate pyvenv-workon)) ;;; JavaScript/TypeScript Configuration ;; Use built-in js-mode with eglot (no js2-mode needed) (use-package js-mode :ensure nil ; Built-in :mode "\\.js\\'" :hook (js-mode . eglot-ensure) :config (setq js-indent-level 2)) ;; 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-ts-mode-indent-offset 2)) ;;; Node.js Configuration ;; Node.js REPL (use-package nodejs-repl :defer t :commands nodejs-repl) ;; JSON support (use-package json-ts-mode :ensure nil ; Built-in with tree-sitter :mode "\\.json\\'") ;;; Additional Web Development Tools ;; Web mode for HTML/JSX/template files (use-package web-mode :defer t :mode ("\\.html\\'" "\\.vue\\'") :config (setq web-mode-markup-indent-offset 2 web-mode-css-indent-offset 2 web-mode-code-indent-offset 2)) ;; CSS with tree-sitter (use-package css-ts-mode :ensure nil ; Built-in with tree-sitter :mode "\\.css\\'" :config (setq css-indent-offset 2)) ;; REST client for API testing (use-package restclient :defer t :mode ("\\.http\\'" . restclient-mode)) (provide 'dev-settings-work) ;;; dev-settings-work.el ends here