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 typescript-mode
:after (uno-lang-js-ts uno-lang-js-yarn)
:hook
(uno-lang-js-yarn . uno/lang/js/ts/yarn)
((typescript-mode typescript-tsx-mode) . uno/lang/js/yarn/check)
:init
(defun uno/lang/js/ts/yarn ()
"Attempt to load SDKs with Yarn support."
(when (and (member major-mode '(typescript-mode typescript-tsx-mode))
(uno/lang/js/yarn/add-to-local-lsp
'typescript-language-server
"typescript-language-server/lib/cli.js")
(uno/lang/js/yarn/add-to-local-lsp
'typescript
"typescript/bin/tsserver"))
(push 'ts-ls lsp-enabled-clients)
(lsp)))
(uno/add-useless-buffer "\\*ts-ls\\*")
(uno/add-useless-buffer "\\*ts-ls::.*\\*"))