рд╡рд┐рд╢реЗрд╖рддрд╛ рдХрд╛ рд╡рд░реНрдгрди рдХрд░реЗрдВ
рдореВрд▓ рд╡рд┐рдЪрд╛рд░ рдХреЛ https://github.com/lassik/emacs-format-all-the-code/issues/47 рдореЗрдВ format-all-the-code
рдореЗрдВ рдкреЗрд╢ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ ред рдзрд╛рд░рдгрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдХрд┐рд╕реА рднрд╛рд╖рд╛ рд╕рд░реНрд╡рд░ рдХреЗ рдкрд╛рд╕ format-all-the-code
рдореЗрдВ рдХрд┐рд╕реА рднреА рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕реЗрдЯ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХреЛрдб рдХреЛ рдкреНрд░рд╛рд░реВрдкрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдмреЗрд╣рддрд░ рд╡рд┐рдЪрд╛рд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рд╡рд╣рд╛рдБ рд╕реЗ рдЙрджреНрдзреГрдд рдкреНрд░рд╕реНрддрд╛рд╡ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:
lsp-mode
рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реИ, рддреЛ рд╡рд░реНрддрдорд╛рди рд╡реНрдпрд╡рд╣рд╛рд░ рдкрд░ рд╡рд╛рдкрд╕ рдЖрдПрдВредtextDocument/formatting
рдХреНрд╖рдорддрд╛ рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВ (рдпрд╛ рд╢рд╛рдпрдж рд╕рд░реНрд╡рд░, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдПрдХ рд╕рдорд░реНрдерд┐рдд рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рд╣реИ)ред рдпрджрд┐ рдпрд╣ рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИ, рддреЛ рд╡рд░реНрддрдорд╛рди рд╡реНрдпрд╡рд╣рд╛рд░ рдкрд░ рд╡рд╛рдкрд╕ рдЖрдПрдВредtextDocument/formatting
(рд╢рд╛рдпрдж lsp-format-buffer
рдорд╛рдзреНрдпрдо рд╕реЗ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВредрдпрд╣ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ рдХрд┐ format-all-the-things
рдПрд▓рдПрд╕рдкреА-рдЬрд╛рдЧрд░реВрдХ рдмрдирд╛рдирд╛ рдмреЗрд╣рддрд░ рд╣реИ рдпрд╛ doom-emacs
' рдСрдЯреЛ-рдлрд╝реЙрд░реНрдореЗрдЯрд┐рдВрдЧ рд░реИрдкрд░ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИред рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдореБрдЭреЗ рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рдорд┐рд▓рдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛрдЧреАред
рд╡реНрдпрд╡рд╕реНрдерд╛ рдЬрд╛рдирдХрд╛рд░реА
рджреЗрд░реА рд╕реЗ рдЬрд╡рд╛рдм рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдорд╛рдлреА; рдмрд╕ рдЖрдкрдХреЛ рдпрд╣ рдмрддрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЪрд┐рд▓реНрд▓рд╛ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рд╕реЗ рдЕрд╡рдЧрдд рд╣реВрдВред :editor format
рдореЙрдбреНрдпреВрд▓ рджрд░реНрджрдирд╛рдХ рд░реВрдк рд╕реЗ рдПрдХ рдкреБрдирд░реНрд▓реЗрдЦрди рдХреЗ рд▓рд┐рдП рдЕрддрд┐рджреЗрдп рд╣реИ, рджреЛрдиреЛрдВ рдЗрд╕реЗ рдПрд▓рдПрд╕рдкреА-рдЬрд╛рдЧрд░реВрдХ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдФрд░ рд╕рдВрднрд╡рддрдГ рдкреНрд░рд╛рд░реВрдк-рдСрд▓-рдж-рдХреЛрдб рдХреЛ рд░рд┐рдлреЙрд░реНрдореИрдЯрд░ рдХреЗ рд╕рд╛рде рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдПред рдЕрдзрд┐рдХ рдЕрдиреБрдХреВрд▓рди рдпреЛрдЧреНрдп рд╕реНрд╡рд░реВрдкрдг рдмреИрдХрдПрдВрдб рдХреА рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдПред
рд╣рд╛рд▓рд╛рдВрдХрд┐, рдореЗрд░реЗ рдкрд╛рд╕ рдЕрднреА рдЗрд╕ рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рднреВрд▓реА рд╣реВрдВред
рд╕рд╛рде рд╣реА, @Kaali рдиреЗ #2516 рдореЗрдВ рдЗрд╕ рдПрд▓рдПрд╕рдкреА-рдЕрд╡реЗрдпрд░рдиреЗрд╕ рдХреЛ рдЧреЛ-рдореЛрдб рдореЗрдВ рд▓рд╛рдпрд╛ред рдХреБрдЫ рд╕рдордп рдХреЗ рд▓рд┐рдП, рдЗрд╕рдХреЗ рд▓рд┐рдП рд╕рдорд╛рдзрд╛рди рдпрд╣ рд╣реИ рдХрд┐ go-mode
рдХреЛ +format-on-save-enabled-modes
рдЬреЛрдбрд╝рдХрд░ рд╣рдорд╛рд░реЗ рдлреЙрд░реНрдореЗрдЯрд░ рдХреЛ рдирд┐рд╖реНрдХреНрд░рд┐рдп рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рдП (рдЬреЛ рдХрд┐ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдПрдХ рдЕрд╕реНрд╡реАрдХреГрдд рд╕реВрдЪреА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдХрд╛ рдкрд╣рд▓рд╛ рддрддреНрд╡ not
), рдлрд┐рд░ рдЙрд╕ рдореЛрдб рдХреЗ рд╕реНрдерд╛рдиреАрдп рдкрд╣рд▓реЗ-рд╕реЗрд╡-рд╣реБрдХ рдореЗрдВ lsp-format-buffer
рдЬреЛрдбрд╝реЗрдВред рдЬреИрд╕реЗ
(add-to-list '+format-on-save-enabled-modes 'go-mode t)
(add-hook! 'go-mode-hook
(add-hook 'before-save-hook #'lsp-format-buffer nil 'local)
(add-hook 'before-save-hook #'lsp-organize-imports nil 'local))
@hlissner рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж! рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рдЖрдк format-all-the-code
рдмрджрд▓реЗрдВ, рдЖрдкрдХреЛ рд╣рд╛рд▓ рдХреЗ рдШрдЯрдирд╛рдХреНрд░рдореЛрдВ рдореЗрдВ рд░реБрдЪрд┐ рд╣реЛ рд╕рдХрддреА рд╣реИ, рдЬреЛ рд╡реИрд╢реНрд╡рд┐рдХ рдФрд░ рдмрдлрд░-рд╕реНрдерд╛рдиреАрдп рд╡рд┐рдиреНрдпрд╛рд╕ рдпреЛрдЧреНрдп рд╕реНрд╡рд░реВрдкрдХреЛрдВ рдХрд╛ рдкрд░рд┐рдЪрдп рджреЗрддрд╛ рд╣реИред рдЕрдиреНрдпрдерд╛: рдореБрдЭреЗ рдХреЛрдИ рдЖрдкрддреНрддрд┐ рдирд╣реАрдВ рд╣реИ, рдЬрдм рдпрд╣ рд╣реЛ рдЬрд╛рдПрдЧрд╛ рддреЛ рдореБрдЭреЗ рдЦреБрд╢реА рд╣реЛрдЧреА, рд▓реЗрдХрд┐рди рдореИрдВ рдЗрд╕рдХреЗ рдмрд┐рдирд╛ рднреА рдЕрднреА рдХрдпрд╛рдордд рд╕реЗ рдХрд╛рдлреА рдЦреБрд╢ рд╣реВрдВ :)
7472cff рдХреЗ рд░реВрдк рдореЗрдВ, рд╣рдорд╛рд░реЗ рдкреНрд░рд╛рд░реВрдк рдХрдорд╛рдВрдб рдПрд▓рдПрд╕рдкреА рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВ (рдпрджрд┐ рдЪрд▓ рд░рд╣рд╛ рд╕рд░реНрд╡рд░ рд╕реНрд╡рд░реВрдкрдг рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ)ред
рдЗрд╕реЗ рд╡рд┐рд╢реНрд╡ рд╕реНрддрд░ рдкрд░ рдЕрдХреНрд╖рдо рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ
(setq +format-with-lsp nil)
рдпрд╛ рдкреНрд░рддрд┐-рдореЛрдб рдХреЗ рдЖрдзрд╛рд░ рдкрд░
(setq-hook! 'python-mode-hook +format-with-lsp nil)
рдХрд┐рд╕реА рднреА рдорд╛рдорд▓реЗ рдореЗрдВ рдореИрдВ рдЗрд╕реЗ рд╣рд▓ рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реВрдВрдЧрд╛ред рдЗрд╕реЗ рдореЗрд░реЗ рд╕рдВрдЬреНрдЮрд╛рди рдореЗрдВ рд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рджреЗрд░реА рд╕реЗ рдЬрд╡рд╛рдм рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдорд╛рдлреА; рдмрд╕ рдЖрдкрдХреЛ рдпрд╣ рдмрддрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЪрд┐рд▓реНрд▓рд╛ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рд╕реЗ рдЕрд╡рдЧрдд рд╣реВрдВред
:editor format
рдореЙрдбреНрдпреВрд▓ рджрд░реНрджрдирд╛рдХ рд░реВрдк рд╕реЗ рдПрдХ рдкреБрдирд░реНрд▓реЗрдЦрди рдХреЗ рд▓рд┐рдП рдЕрддрд┐рджреЗрдп рд╣реИ, рджреЛрдиреЛрдВ рдЗрд╕реЗ рдПрд▓рдПрд╕рдкреА-рдЬрд╛рдЧрд░реВрдХ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдФрд░ рд╕рдВрднрд╡рддрдГ рдкреНрд░рд╛рд░реВрдк-рдСрд▓-рдж-рдХреЛрдб рдХреЛ рд░рд┐рдлреЙрд░реНрдореИрдЯрд░ рдХреЗ рд╕рд╛рде рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдПред рдЕрдзрд┐рдХ рдЕрдиреБрдХреВрд▓рди рдпреЛрдЧреНрдп рд╕реНрд╡рд░реВрдкрдг рдмреИрдХрдПрдВрдб рдХреА рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдПредрд╣рд╛рд▓рд╛рдВрдХрд┐, рдореЗрд░реЗ рдкрд╛рд╕ рдЕрднреА рдЗрд╕ рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рднреВрд▓реА рд╣реВрдВред
рд╕рд╛рде рд╣реА, @Kaali рдиреЗ #2516 рдореЗрдВ рдЗрд╕ рдПрд▓рдПрд╕рдкреА-рдЕрд╡реЗрдпрд░рдиреЗрд╕ рдХреЛ рдЧреЛ-рдореЛрдб рдореЗрдВ рд▓рд╛рдпрд╛ред рдХреБрдЫ рд╕рдордп рдХреЗ рд▓рд┐рдП, рдЗрд╕рдХреЗ рд▓рд┐рдП рд╕рдорд╛рдзрд╛рди рдпрд╣ рд╣реИ рдХрд┐
go-mode
рдХреЛ+format-on-save-enabled-modes
рдЬреЛрдбрд╝рдХрд░ рд╣рдорд╛рд░реЗ рдлреЙрд░реНрдореЗрдЯрд░ рдХреЛ рдирд┐рд╖реНрдХреНрд░рд┐рдп рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рдП (рдЬреЛ рдХрд┐ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдПрдХ рдЕрд╕реНрд╡реАрдХреГрдд рд╕реВрдЪреА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдХрд╛ рдкрд╣рд▓рд╛ рддрддреНрд╡not
), рдлрд┐рд░ рдЙрд╕ рдореЛрдб рдХреЗ рд╕реНрдерд╛рдиреАрдп рдкрд╣рд▓реЗ-рд╕реЗрд╡-рд╣реБрдХ рдореЗрдВlsp-format-buffer
рдЬреЛрдбрд╝реЗрдВред рдЬреИрд╕реЗ