From c432c961a4ff9045f1f353f1482a9754f96231da Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Thu, 19 May 2016 03:18:33 -0400 Subject: [PATCH] js: add typescript-mode and tide --- Cask | 2 ++ modules/module-js.el | 22 ++++++++++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/Cask b/Cask index 7f2078145..8beecadbf 100644 --- a/Cask +++ b/Cask @@ -174,6 +174,8 @@ (depends-on "tern") (depends-on "unityjs-mode" :git "https://github.com/naruse/EmacsUnityScript") (depends-on "coffee-mode") +(depends-on "typescript-mode") +(depends-on "tide") (depends-on "company-tern") (depends-on "nodejs-repl") diff --git a/modules/module-js.el b/modules/module-js.el index 9dbedfc9b..fcfde1d81 100644 --- a/modules/module-js.el +++ b/modules/module-js.el @@ -86,6 +86,28 @@ :mode "\\.coffee$" :config (setq-default coffee-indent-like-python-mode t)) +(use-package typescript-mode + :mode "\\.ts$") + +(use-package tide + :after typescript-mode + :config + (setq tide-format-options + '(:insertSpaceAfterFunctionKeywordForAnonymousFunctions t + :placeOpenBraceOnNewLineForFunctions nil)) + (defun narf|tide-setup () + (tide-setup) + (flycheck-mode +1) + (eldoc-mode +1)) + (add-hook 'typescript-mode-hook 'narf|tide-setup) + (add-hook! web-mode + (when (f-ext? buffer-file-name "tsx") + (narf|tide-setup))) + + (map! :map typescript-mode-map + :m "gd" 'tide-jump-to-definition + (:leader :n "h" 'tide-documentation-at-point))) + ;; (def-project-type! nodejs "node" :modes (web-mode js-mode js2-mode json-mode coffee-mode scss-mode sass-mode less-css-mode)