Last active
November 9, 2020 00:12
-
-
Save ncouture/c1f74216fb345bab448c4721cd08a38b to your computer and use it in GitHub Desktop.
elisp all over my time
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(require 'package) | |
(require 'init-packages) | |
(require-package 'tide) | |
(require-package 'ansi-color) | |
(require-package 'web-mode) | |
(require-package 'rjsx-mode) | |
(require-package 'js2-mode) | |
(require 'tide) | |
(require 'ansi-color) | |
(require 'web-mode) | |
(require 'js2-mode) | |
(require 'rjsx-mode) | |
(defun setup-tide-mode () | |
(interactive) | |
(tide-setup) | |
(flycheck-mode +1) | |
(setq flycheck-check-syntax-automatically '(save mode-enabled)) | |
(eldoc-mode +1) | |
(tide-hl-identifier-mode +1) | |
(company-mode +1) | |
(run-import-js +1) | |
(tide-hl-identifier-mode +1) | |
(setq web-mode-enable-auto-quoting nil) | |
(setq web-mode-markup-indent-offset 2) | |
(setq web-mode-code-indent-offset 2) | |
(setq web-mode-attr-indent-offset 2) | |
(setq web-mode-attr-value-indent-offset 2) | |
;;;(setq lsp-eslint-server-command '("node" (concat (getenv "HOME") "/var/src/vscode-eslint/server/out/eslintServer.js") "--stdio")) | |
(set (make-local-variable 'company-backends) | |
'((company-tide company-files :with company-yasnippet) | |
(company-dabbrev-code company-dabbrev)))) | |
;; hooks | |
(add-hook 'before-save-hook 'tide-format-before-save) | |
;; use rjsx-mode for .js* files except json and use tide with rjsx | |
(add-to-list 'auto-mode-alist '("\\.js.*$" . rjsx-mode)) | |
(add-to-list 'auto-mode-alist '("\\.json$" . json-mode)) | |
(add-hook 'rjsx-mode-hook 'tide-setup-hook) | |
;; web-mode extra config | |
(add-hook 'web-mode-hook 'tide-setup-hook | |
(lambda () (pcase (file-name-extension buffer-file-name) | |
("tsx" ('tide-setup-hook)) | |
(_ (my-web-mode-hook))))) | |
;; enable typescript-tslint checker | |
(flycheck-add-mode 'typescript-tslint 'web-mode) | |
(add-hook 'web-mode-hook 'company-mode) | |
(add-hook 'web-mode-hook 'prettier-js-mode) | |
(add-hook 'web-mode-hook #'turn-on-smartparens-mode t) | |
(require 'init-utils) | |
(after-load 'rjsx-mode | |
(define-key rjsx-mode-map "<" nil) | |
(define-key rjsx-mode-map (kbd "C-d") nil) | |
(define-key rjsx-mode-map ">" nil)) | |
;; aligns annotation to the right hand side | |
(setq company-tooltip-align-annotations t) | |
(defun colorize-compilation-buffer () | |
(ansi-color-apply-on-region compilation-filter-start (point-max))) | |
(setq tide-format-options '(:insertSpaceAfterFunctionKeywordForAnonymousFunctions t :placeOpenBraceOnNewLineForFunctions nil)) | |
;; formats the buffer before saving | |
(add-hook 'before-save-hook 'tide-format-before-save) | |
(add-hook 'typescript-mode-hook #'setup-tide-mode) | |
(add-hook 'compilation-filter-hook 'colorize-compilation-buffer) | |
(add-hook 'typescript-mode 'eslint) | |
(add-to-list 'auto-mode-alist '("\\.tsx\\'" . web-mode)) | |
(add-hook 'web-mode-hook | |
(lambda () | |
(when (string-equal "tsx" (file-name-extension buffer-file-name)) | |
(setup-tide-mode)))) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment