Language - JavaScript - TypeScript
Define TypeScript JavaScript language package.
(use-package emacs
:after uno-lang-js
:config
(provide 'uno-lang-js-ts))
(use-package web-mode
:after uno-lang-js-ts)
(use-package typescript-mode
:after (uno-lang-js-ts web-mode)
:init
(define-derived-mode typescript-tsx-mode web-mode "typescript-tsx")
(push '("\\.tsx$" . typescript-tsx-mode) auto-mode-alist))
(use-package emacs
:after (uno-lang-js-ts ligature typescript-mode)
:config
(ligature-set-ligatures 'typescript-mode uno-lang-js-ligatures)
(ligature-set-ligatures 'typescript-tsx-mode uno-lang-js-ligatures))
(use-package emacs
:after (uno-lang-js-ts uno-lang-js-lsp typescript-mode)
:hook
(uno-lang-js-lsp . uno/lang/js/ts/lsp)
((typescript-mode typescript-tsx-mode) . uno/lang/js/lsp/check)
:init
(defun uno/lang/js/ts/lsp ()
"Attempt to load local SDKs."
(when (and (member major-mode '(typescript-mode typescript-tsx-mode))
(uno/lang/js/lsp/add-to-local
'typescript-language-server
"typescript-language-server/lib/cli.js")
(uno/lang/js/lsp/add-to-local
'typescript
"typescript/bin/tsserver"))
(push 'ts-ls lsp-enabled-clients)
(lsp)))
(uno/add-useless-buffer "\\*ts-ls\\*")
(uno/add-useless-buffer "\\*ts-ls::.*\\*"))