63 lines
1.6 KiB
EmacsLisp
63 lines
1.6 KiB
EmacsLisp
;;; dev-settings.el --- Work development environment (C#, TypeScript, JavaScript, CSS, HTML)
|
|
|
|
;;; 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 'dev-settings)
|
|
;;; dev-settings.el ends here
|