diff --git a/Cask b/Cask index 7de2c556d..f8d01688c 100644 --- a/Cask +++ b/Cask @@ -133,6 +133,9 @@ (depends-on "js2-refactor") (depends-on "tern") (depends-on "unityjs-mode" :git "https://github.com/naruse/EmacsUnityScript") +(depends-on "typescript-mode") +(depends-on "tide") +(depends-on "coffee-mode") ;; Lua -- modules/module-lua.el (depends-on "lua-mode") diff --git a/modules/module-js.el b/modules/module-js.el index f56b9ea56..246e4e791 100644 --- a/modules/module-js.el +++ b/modules/module-js.el @@ -86,5 +86,25 @@ (narf|enable-tab-width-2) (setq js-indent-level 2))) +(use-package typescript-mode + :mode "\\.ts$" + :config + (require 'tide) + (defun narf|typescript-setup () + (tide-setup) + (flycheck-mode 1) + (eldoc-mode 1)) + + (add-hook! typescript-mode 'narf|typescript-setup) + (add-hook! web-mode (when (string-equal "tsx" (file-name-extension buffer-file-name)) (narf|typescript-setup)))) + +(use-package coffee-mode + :mode "\\.coffee$" + :init (add-hook! coffee-mode 'narf|enable-tab-width-2) + :config + (setq-default + coffee-tab-width 2 + coffee-indent-like-python-mode t)) + (provide 'module-js) ;;; module-js.el ends here