Doom-emacs: рдореИрдВ tsx-рдЬреНрд╡рд╛рд░ рдХреЗ рдмрдЬрд╛рдп .ts / .tsx рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рдЬрд╛рдБрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрд╕реНрд▓рд┐рдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░реВрдБ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 21 рдЬрдире░ 2020  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: hlissner/doom-emacs

рдЖрдк рдХреНрдпрд╛ рд╣рд╛рд╕рд┐рд▓ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣реЗ рд╣реИрдВ?
рдЪреВрдВрдХрд┐ TSLint рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ Eslint рдЕрдм рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ / TSX рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд▓рд┐рдВрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреБрд╢рдВрд╕рд┐рдд рддрд░реАрдХрд╛ рд╣реИ, рдореИрдВ Eslint рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдкрдиреА рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдПрдХ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдЖрдХрд╛рд░ рджреЗрдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред

рдореИрдВ рдХреИрд╕реЗ .js рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рддрд░рд╣ рд▓рд╛рдЗрдирд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдЯрд╛рдЗрдб рдХреЗ рдЙрдкрдпреЛрдЧ рдФрд░ рдПрд╕реНрд▓рд┐рдВрдЯ рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХреЛ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП рдиреБрдХрд╕рд╛рди рдкрд░ рдереЛрдбрд╝рд╛ рд╕рд╛ рд╣реВрдБред

рдЖрдкрдиреЗ рдХреНрдпрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рд╣реИ?
рдореИрдВрдиреЗ typescript-eslint рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдХреЗ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ .eslintrc рдлрд╝рд╛рдЗрд▓ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рд╣реИред

рд╡реНрдпрд╡рд╕реНрдерд╛ рдЬрд╛рдирдХрд╛рд░реА


((emacs)
(рд╕рдВрд╕реНрдХрд░рдгред "26.3")
(рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ
(рдмрд┐рд▓реНрдбред "рджрд┐рд╕рдВрдмрд░ 28, 2019")
(buildopts) --enable-locallisppath = / usr / local / share / emacs / site-lisp --infodir = / usr / local / Cellar / emacs-mac / emacs-26.3-z-mac-7.8 / share / info / emacs --prefix = / usr / local / Cellar / emacs-mac / emacs-26.3-z-mac-7.8 -with-mac -enable-mac-app = / usr / рд▓реЛрдХрд▓ / рд╕реЗрд▓рд░ / рдПрдордПрд╕реАрдПрд╕-рдореИрдХ / рдИрдореИрдХреНрд╕ -26.3-z-mac-7.8 - рдЗрд╕рдХреЗ рд╕рд╛рде-рд╕рд╛рде ")
(рд╡рд┐рдВрдбреЛрдЬрд╝ред рдмреИрдЪ)
(рдбреЗрдордирдкред рд╕рд░реНрд╡рд░-рд░рдирд┐рдВрдЧ))
(рдХрдпрд╛рдордд
(рд╕рдВрд╕реНрдХрд░рдгред "2.0.9")
(рдмрд┐рд▓реНрдбред "рд╣реЗрдб -> 453e20534 2020-01-15 11:19:32 -0500 рд╡рд┐рдХрд╕рд┐рдд рдХрд░реЗрдВ"
(dirред "~ / work / dotfiles / emacs / .doom.d /"))
(рд╕рд┐рд╕реНрдЯрдо
(рдкреНрд░рдХрд╛рд░ред рдбрд╛рд░реНрд╡рд┐рди)
(рд╡рд┐рдиреНрдпрд╛рд╕ред "x86_64-apple-darwin18.7.0")
(рд╢реЗрд▓ред "/ usr / рд╕реНрдерд╛рдиреАрдп / рдмрд┐рди / рдордЫрд▓реА")
"
рдкрде ред usr / рд▓реЛрдХрд▓ / рдЧреЛ / рдмрд┐рди "" / usr / рд▓реЛрдХрд▓ / MacGPG2 / bin "" / рд▓реЙрд░реНрдбреНрд╕ /Frameworks/Mono.framework/Versions/Current/Commands "" / Library / TeX / рдЯреЗрдХреНрд╕рдмрд┐рди "" ~ / go / bin "" " ~ / .рдмреАрдиред рд╕рдВрд╕реНрдХрд░рдг / 2.6.3 / рдмрд┐рди "" /usr/local/Cellar/rbenv/1.1.2/libexec "" /usr/local/Cellar/emacs-mac/emacs-26.3-z-mac-7.8/libexec/emacs/ 26.3 / x86_64-apple-darwin18.7.0 "))
(рд╡рд┐рдиреНрдпрд╛рд╕
(envfileред envvar-file)
(elc-filesред 0)
(рдореЙрдбреНрдпреВрд▓: рдкреВрд░рд╛ рдХрд░рдиреЗ рд╡рд╛рд▓реА рдХрдВрдкрдиреА рдЖрдЗрд╡реА: рдпреВрдЖрдИ рдХрдпрд╛рдордд рдХрдпрд╛рдордд-рдбреИрд╢рдмреЛрд░реНрдб рдХрдпрд╛рдордд-рдЫреЛрдбрд╝реЛ hl-todo рдореЙрдбрд▓рд╛рдЗрди рдирд╡-рдлреНрд▓реИрд╢ рдСрдкрд┐рдирдЯреНрд╕ (рдкреЙрдкрдЕрдк + рдСрд▓ + рдбрд┐рдлреЙрд▓реНрдЯреНрд╕) treemacs рдпреВрдирд┐рдХреЛрдб vc-gild vi-tilde-fringe window-select рдХрд╛рд░реНрдпрд╕реНрдерд╛рди: рд╕рдВрдкрд╛рджрдХ (рдмреБрд░рд╛рдИ + рд╣рд░ рдЬрдЧрд╣) ) рдлрд╝рд╛рдЗрд▓-рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдПрдХрд╛рдзрд┐рдХ-рдХрд░реНрд╕рд░ рдХреЛ рдШреБрдорд╛рдП-рдШреБрдорд╛рдП-рдкрд╛рда рд╕реНрдирд┐рдкреЗрдЯ: emacs (dired + icons) рдЗрд▓реЗрдХреНрдЯреНрд░рд┐рдХ vc: рдЯрд░реНрдо vterm: рдЯреВрд▓реНрд╕ editorconfig eval: рдЪреЗрдХрд░реНрд╕ рд╕рд┐рдВрдЯреИрдХреНрд╕: рдЯреВрд▓реНрд╕ (рд▓реБрдХрдЕрдк + рдбреЙрдХреНрд╕рд╕реЗрдЯ) macc magit pdf: lang рдЖрдо-рд▓рд┐рд╕реНрдк рдбреЗрдЯрд╛ emacs-lisp рдЬрд╛рд╡реЗрджрд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓реЗрдЯреЗрдХреНрд╕ рд▓реЗрдЧрд░ рдорд╛рд░реНрдХрдбрд╛рдЙрди (org + dragndrop + ipython + pandoc + present)
(рдкреИрдХреЗрдЬ "рдПрди / рдП")
(рдПрд▓реНрдкрд╛ "рдСрдХреНрд╕-рд╣реНрдпреВрдЧреЛ"))

:checkers syntax :lang javascript question resolved

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

@gueorgui рдореБрдЭреЗ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП vue рд╕рдорд╛рди рдХреБрдЫ рдХрд░рдирд╛ рдерд╛, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рд╣реБрдЖ

(define-derived-mode vue-mode web-mode "Vue mode")
(add-to-list 'auto-mode-alist '("\\.vue\\'" . vue-mode))
(after! flycheck
  (flycheck-add-mode 'javascript-eslint 'vue-mode)
  (flycheck-add-mode 'css-stylelint 'vue-mode)
  (add-hook 'vue-mode-hook (lambda () (flycheck-add-next-checker 'lsp-ui 'javascript-eslint)))
  (add-hook 'vue-mode-hook (lambda () (flycheck-add-next-checker 'javascript-eslint 'css-stylelint))))

рдЖрдк рдХреЗ рдЙрджрд╛рд╣рд░рдг рдХреА рдЬрдЧрд╣ рд╕рдХрддрд╛ рд╣реИ vue рдХреЗ рд╕рд╛рде tsx , рдФрд░ рд╣рдЯрд╛рдиреЗ stylelint рд╕рд╛рде рд╣реА рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рднреА lsp рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ рдЗрд╕рдХреЗ рд▓рд┐рдП рднреА рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИред

рд╕рднреА 3 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдкреНрд░рд╢реНрди рдХреЗ рдмрд╛рдж, рдореБрдЭреЗ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ javascript-eslint рдХреЛ typescript-mode рдХреИрд╕реЗ рдЪрд▓рд╛рдпрд╛ рдЬрд╛рдП:

(defun typescript-mode-setup ()
  "Custom setup for Typescript mode"
  (setq flycheck-checker 'javascript-eslint)
  )
(add-hook 'typescript-mode-hook 'typescript-mode-setup)

рдпрд╣ рдореБрджреНрджрд╛ рддрдм рдмрдирддрд╛ рд╣реИ рдХрд┐ .tsx рдлрд╛рдЗрд▓реЗрдВ typescript-mode рдореЗрдВ рдирд╣реАрдВ рдЦреБрд▓рддреА рд╣реИрдВ (рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдореЛрдб JSX / TSX рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ) рдмрд▓реНрдХрд┐ web-mode , рдФрд░ рдРрд╕рд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ рдХрд┐ javascript-eslint web-mode рд▓рд┐рдП рдПрдХ рдорд╛рдиреНрдп рдлреНрд▓рд╛рдИрдЪреЗрдХ рдЪреЗрдХрд░ рдирд╣реАрдВ рд╣реИред

рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдореИрдВ рдпрд╛ рддреЛ TSX рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП typescript-mode рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд╕рд╛рде рдЕрдЯрдХ рдЧрдпрд╛ рд╣реВрдВ, рдЬреЗрдПрд╕рдПрдХреНрд╕ рднрд╛рдЧ рдХреЗ рд▓рд┐рдП рд╕рд┐рдВрдЯреИрдХреНрд╕ рд╣рд╛рдЗрд▓рд╛рдЗрдЯрд┐рдВрдЧ рдФрд░ рдЗрдВрдбреЗрдВрдЯреЗрд╢рди рдХреА рдмрд╛рд░реАрдХрд┐рдпреЛрдВ рдХреЛ рдЦреЛ рд░рд╣рд╛ рд╣реВрдВ, рдпрд╛ рдореБрдЭреЗ рдПрд╕реНрд▓рд┐рдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЫреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛ред

рдХрд┐рд╕реА рднреА рдЕрдВрддрд░реНрджреГрд╖реНрдЯрд┐ рдмрд╣реБрдд рд╕рд░рд╛рд╣рдирд╛ рдХреА рдЬрд╛рдПрдЧреА appreciated

@gueorgui рдореБрдЭреЗ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП vue рд╕рдорд╛рди рдХреБрдЫ рдХрд░рдирд╛ рдерд╛, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рд╣реБрдЖ

(define-derived-mode vue-mode web-mode "Vue mode")
(add-to-list 'auto-mode-alist '("\\.vue\\'" . vue-mode))
(after! flycheck
  (flycheck-add-mode 'javascript-eslint 'vue-mode)
  (flycheck-add-mode 'css-stylelint 'vue-mode)
  (add-hook 'vue-mode-hook (lambda () (flycheck-add-next-checker 'lsp-ui 'javascript-eslint)))
  (add-hook 'vue-mode-hook (lambda () (flycheck-add-next-checker 'javascript-eslint 'css-stylelint))))

рдЖрдк рдХреЗ рдЙрджрд╛рд╣рд░рдг рдХреА рдЬрдЧрд╣ рд╕рдХрддрд╛ рд╣реИ vue рдХреЗ рд╕рд╛рде tsx , рдФрд░ рд╣рдЯрд╛рдиреЗ stylelint рд╕рд╛рде рд╣реА рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рднреА lsp рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ рдЗрд╕рдХреЗ рд▓рд┐рдП рднреА рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИред

@afontaine рдЗрд╕рдХреЗ рд▓рд┐рдП рдЖрдкрдХрд╛ рдмрд╣реБрдд-рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж!

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

bkchr picture bkchr  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

laishulu picture laishulu  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

gilbertw1 picture gilbertw1  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

rassie picture rassie  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

randomizedthinking picture randomizedthinking  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ