;;; work-dev-settings.el --- Work/WSL development environment ;;; C# ;; LSP server: dotnet tool install -g csharp-ls (use-package csharp-ts-mode :ensure nil :mode "\\.cs\\'" :hook (csharp-ts-mode . eglot-ensure)) ;;; TypeScript / TSX (use-package typescript-ts-mode :ensure nil :mode (("\\.ts\\'" . typescript-ts-mode) ("\\.tsx\\'" . tsx-ts-mode)) :hook ((typescript-ts-mode . eglot-ensure) (tsx-ts-mode . eglot-ensure))) ;;; JavaScript / JSX ;; typescript-language-server handles JS too; install via: npm i -g typescript-language-server typescript (use-package js-ts-mode :ensure nil :mode (("\\.js\\'" . js-ts-mode) ("\\.mjs\\'" . js-ts-mode) ("\\.cjs\\'" . js-ts-mode) ("\\.jsx\\'" . js-ts-mode)) :hook (js-ts-mode . eglot-ensure) :config (setq js-indent-level 2)) ;;; CSS ;; LSP server: npm i -g vscode-langservers-extracted (use-package css-ts-mode :ensure nil :mode "\\.css\\'" :hook (css-ts-mode . eglot-ensure) :config (setq css-indent-offset 2)) ;;; HTML ;; LSP server: npm i -g vscode-langservers-extracted (use-package html-ts-mode :ensure nil :mode (("\\.html\\'" . html-ts-mode) ("\\.htm\\'" . html-ts-mode)) :hook (html-ts-mode . eglot-ensure)) ;;; Prettier (formatting for JS/TS/CSS/HTML) (use-package prettier :hook ((typescript-ts-mode . prettier-mode) (tsx-ts-mode . prettier-mode) (js-ts-mode . prettier-mode) (css-ts-mode . prettier-mode) (html-ts-mode . prettier-mode))) (provide 'work-dev-settings) ;;; work-dev-settings.el ends here