FG42/lib/extensions/typescript/init.el

42 lines
1.2 KiB
EmacsLisp

;;; TypescriptExtension --- Enables Typescript development on FG42
;;; Commentary:
;;; Code:
(defun setup-tide-mode ()
(interactive)
(require 'typescript-mode)
(require 'web-mode)
(setq tmp-directory (concat (getenv "HOME") "/.tmp"))
;; aligns annotation to the right hand side
(setq company-tooltip-align-annotations t)
(flycheck-mode 1)
(setq flycheck-check-syntax-automatically '(save mode-enabled))
(eldoc-mode 1)
(company-mode 1))
(defun lsp-typescript-config ()
(interactive)
(require 'lsp)
(require 'lsp-clients))
;;;###autoload
(defun extensions/typescript-initialize ()
"Initialize the typescript extension."
(ability typescript-editor ('flycheck)
(add-to-list 'auto-mode-alist '("\\.tsx\\'" . web-mode))
(add-hook 'web-mode-hook
(lambda ()
(when (string-equal "tsx" (file-name-extension buffer-file-name))
(setup-tide-mode))))
(add-hook 'typescript-mode-hook #'lsp-typescript-config)
;; enable typescript-tslint checker
(flycheck-add-mode 'typescript-tslint 'web-mode)))
(provide 'extensions/typescript/init)
;;; init.el ends here