forked from FG42/FG42
42 lines
1.2 KiB
EmacsLisp
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
|