summaryrefslogtreecommitdiff
path: root/lisp/ts-custom.el
diff options
context:
space:
mode:
authormattkae <mattkae@protonmail.com>2022-06-07 08:21:30 -0400
committermattkae <mattkae@protonmail.com>2022-06-07 08:21:30 -0400
commitb07628dddf418d4f47b858e6c35fd3520fbaeed2 (patch)
tree376cd7b4b5daed06ac397ac23ae041e4b365ad08 /lisp/ts-custom.el
parentbecff06c71d277647eda4378203d03ab36e141eb (diff)
Flycheck mode and typescript
Diffstat (limited to 'lisp/ts-custom.el')
-rw-r--r--lisp/ts-custom.el34
1 files changed, 34 insertions, 0 deletions
diff --git a/lisp/ts-custom.el b/lisp/ts-custom.el
new file mode 100644
index 0000000..3054102
--- /dev/null
+++ b/lisp/ts-custom.el
@@ -0,0 +1,34 @@
+(defun setup-ts()
+
+ (use-package tide :ensure t)
+ (use-package company :ensure t)
+ (use-package flycheck :ensure t)
+ (defun setup-tide-mode()
+ (interactive)
+ (tide-setup)
+ (flycheck-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 flycheck-check-syntax-automatically '(save-mode-enabled))
+ (eldoc-mode +1)
+ (tide-hl-identifier-mode +1)
+ (company-mode +1)
+ (setq flycheck-check-syntax-automatically '(mode-enabled save)))
+
+ (add-hook 'typescript-mode-hook #'setup-tide-mode)
+ (add-hook 'before-save-hook 'tide-format-before-save)
+ (require 'web-mode)
+
+ (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))))
+
+ ;; enable typescript - tslint checker
+ (flycheck-add-mode 'typescript-tslint 'web-mode))
+
+(provide 'ts-custom)