1 ;;; -*- lexical-binding: t -*-
3 (setq-default indent-tabs-mode nil)
4 (setq-default require-final-newline t)
7 (setq c-auto-align-backslashes nil)
8 (setq c-default-style '((java-mode . "java")
10 (other . "stroustrup")))
12 (require 'closure-template-html-mode)
13 (setq sgml-basic-offset 4)
15 (require 'coffee-mode)
16 (setq coffee-tab-width 4)
18 (require 'dockerfile-mode)
22 (require 'groovy-mode)
23 (add-to-list 'auto-mode-alist '("\\.groovy\\'" . groovy-mode))
25 (require 'haskell-mode)
30 (require 'typescript-mode)
32 (add-to-list 'auto-mode-alist '("\\.js\\'" . js2-mode))
33 (add-to-list 'interpreter-mode-alist '("node" . js2-mode))
34 (setq js2-concat-multiline-strings 'eol)
35 (setq js2-highlight-external-variables nil)
36 (setq js2-mode-show-parse-errors nil)
37 (setq js2-mode-show-strict-warnings nil)
38 (setq js--declaration-keyword-re "x^") ; declarations should have normal indentation
39 (setq js-indent-align-list-continuation nil)
41 ;; (add-hook 'js2-mode-hook #'tide-setup)
42 (add-hook 'js2-mode-hook #'js2-refactor-mode)
43 ;; (add-hook 'typescript-mode-hook #'tide-setup)
44 (add-hook 'typescript-mode-hook #'js2-refactor-mode)
46 (defun tide-project-root ()
49 (let ((root (or (locate-dominating-file default-directory "tsconfig.json")
50 (locate-dominating-file default-directory "jsconfig.json")
51 (locate-dominating-file default-directory ".git")
52 (locate-dominating-file default-directory "package.json"))))
54 (message (tide-join (list "Couldn't locate JavaScript project root folder. Using '" default-directory "' as project root.")))
55 (setq root default-directory))
56 (let ((full-path (expand-file-name root)))
57 (setq tide-project-root full-path)
60 (require 'js2-refactor)
61 (js2r-add-keybindings-with-prefix "C-c C-m")
62 (setq js2r-always-insert-parens-around-arrow-function-params t)
63 (setq js2r-prefered-quote-type 2)
66 (add-to-list 'auto-mode-alist '("\\.tsx\\'" . js2-jsx-mode))
69 (require 'ledger-mode nil 'noerror)
70 (add-to-list 'auto-mode-alist '("\\.ledger\\'" . ledger-mode))
71 (setq ledger-post-amount-alignment-column 72)
72 (setq ledger-reconcile-default-commodity "AUD")
73 (setq ledger-clear-whole-transactions t)
75 (require 'markdown-mode)
76 (setq markdown-command "markdown_py -x markdown.extensions.smart_strong -x markdown.extensions.fenced_code -x markdown.extensions.nl2br")
77 (add-to-list 'auto-mode-alist '("\\.mdown\\'" . markdown-mode) t)
79 (require 'pkgbuild-mode)
82 (add-hook 'python-mode-hook
84 (setq forward-sexp-function nil)
85 (set (make-local-variable 'python-indent-offset) 4)))
91 (setq inferior-lisp-program "sbcl")
94 (setq sh-use-smie nil)
96 (require 'ssh-file-modes)
98 (when (require 'stumpwm-mode nil 'noerror)
99 (add-to-list 'auto-mode-alist '("/\\.stumpwmrc\\'" . stumpwm-mode)))
102 (setq wgrep-auto-save-buffer t)