97 lines
2.4 KiB
EmacsLisp
97 lines
2.4 KiB
EmacsLisp
;;; 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
|