X-Git-Url: https://code.delx.au/dotemacs/blobdiff_plain/a105d2db5b05554f22ea4ad96965be50358be1e6..bed83966f185a6b1284851e93b27e79bb2c96f47:/lisp/my-file-modes.el diff --git a/lisp/my-file-modes.el b/lisp/my-file-modes.el index 6387c36..a010ac7 100644 --- a/lisp/my-file-modes.el +++ b/lisp/my-file-modes.el @@ -42,11 +42,27 @@ (add-hook 'typescript-mode-hook #'tide-setup) (add-hook 'typescript-mode-hook #'js2-refactor-mode) +(defun tide-project-root () + (or + tide-project-root + (let ((root (or (locate-dominating-file default-directory "tsconfig.json") + (locate-dominating-file default-directory "jsconfig.json") + (locate-dominating-file default-directory ".git") + (locate-dominating-file default-directory "package.json")))) + (unless root + (message (tide-join (list "Couldn't locate JavaScript project root folder. Using '" default-directory "' as project root."))) + (setq root default-directory)) + (let ((full-path (expand-file-name root))) + (setq tide-project-root full-path) + full-path)))) + (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) +(require 'rjsx-mode) + (require 'ledger-mode nil 'noerror) (add-to-list 'auto-mode-alist '("\\.ledger\\'" . ledger-mode))