]> code.delx.au - dotemacs/blobdiff - lisp/my-file-modes.el
rjsx-mode
[dotemacs] / lisp / my-file-modes.el
index 7236084f4a75c53262fb5613168f7e3b2ae42384..11456e23beed1240cd3e7789a3a996d5869cfbaa 100644 (file)
 
 (require 'json-mode)
 (require 'js)
-(add-hook 'json-mode-hook
-          (lambda ()
-            (set (make-local-variable 'js-indent-level) 2)))
-
 (require 'js2-mode)
+(require 'typescript-mode)
+(require 'tide)
 (add-to-list 'auto-mode-alist '("\\.js\\'" . js2-mode))
 (add-to-list 'interpreter-mode-alist '("node" . js2-mode))
 (setq js2-concat-multiline-strings 'eol)
 (setq js2-mode-show-parse-errors nil)
 (setq js2-mode-show-strict-warnings nil)
 (setq js--declaration-keyword-re "x^") ; declarations should have normal indentation
-(require 'js2-refactor)
+
+(add-hook 'js2-mode-hook #'tide-setup)
 (add-hook 'js2-mode-hook #'js2-refactor-mode)
+(add-hook 'typescript-mode-hook #'tide-setup)
+(add-hook 'typescript-mode-hook #'js2-refactor-mode)
+
+(require 'js2-refactor)
 (js2r-add-keybindings-with-prefix "C-c C-m")
 (setq js2r-always-insert-parens-around-arrow-function-params t)
 (setq js2r-prefered-quote-type 2)
-(when (require 'tern nil 'noerror)
-  (add-hook 'js2-mode-hook (lambda () (tern-mode t))))
-(defun tern-project-dir ()
-  (or (and (equal tern-last-file-name (buffer-file-name)) tern-project-dir)
-      (and (not (buffer-file-name)) (setf tern-project-dir ""))
-      (setf tern-project-dir (expand-file-name (locate-dominating-file default-directory ".git"))))
-  ;; Track the file name to detect if it changed, which means the project
-  ;; directory needs to be found again.
-  (setf tern-last-file-name (buffer-file-name))
-  tern-project-dir)
+
+(require 'rjsx-mode)
 
 
 (require 'ledger-mode nil 'noerror)