feat(nvim): use formatter.nvim for goimports

This commit is contained in:
Rob Watson 2023-09-22 05:03:24 +02:00
parent 711d82fc2b
commit 1893905c4f
2 changed files with 10 additions and 5 deletions

View File

@ -29,8 +29,7 @@ nnoremap <silent> ds :GoDebugStep<cr>
" Vim-Go configuration " Vim-Go configuration
let g:go_gopls_enabled = 0 let g:go_gopls_enabled = 0
let g:go_fmt_autosave = 1 let g:go_fmt_autosave = 0
let g:go_fmt_command = "goimports"
let g:go_imports_autosave = 0 let g:go_imports_autosave = 0
let g:go_textobj_enabled = 0 let g:go_textobj_enabled = 0
let g:go_auto_sameids = 0 let g:go_auto_sameids = 0
@ -43,8 +42,6 @@ let g:go_highlight_diagnostic_errors = 0
let g:go_highlight_diagnostic_warnings = 0 let g:go_highlight_diagnostic_warnings = 0
let g:go_highlight_trailing_whitespace_error=0 let g:go_highlight_trailing_whitespace_error=0
let g:go_fmt_command = 'goimports'
" g:go_statusline_duration doesn't seem to work accurately, but does help " g:go_statusline_duration doesn't seem to work accurately, but does help
" reduce the time the build/test success messages are shown in the status " reduce the time the build/test success messages are shown in the status
" line. " line.

View File

@ -6,12 +6,20 @@ local prettier = function()
} }
end end
local goimports = function()
return {
exe = "goimports",
stdin = true,
}
end
require("formatter").setup({ require("formatter").setup({
log_level = vim.log.levels.INFO, log_level = vim.log.levels.INFO,
filetype = { filetype = {
javascript = { prettier }, javascript = { prettier },
typescript = { prettier }, typescript = { prettier },
typescriptreact = { prettier }, typescriptreact = { prettier },
go = { goimports },
-- https://github.com/JohnnyMorganz/StyLua -- https://github.com/JohnnyMorganz/StyLua
-- cargo install stylua --features lua54 -- cargo install stylua --features lua54
@ -26,7 +34,7 @@ vim.api.nvim_exec2(
[[ [[
augroup FormatAutogroup augroup FormatAutogroup
autocmd! autocmd!
autocmd BufWritePost *.js,*.ts,*.tsx,*.lua silent FormatWrite autocmd BufWritePost *.js,*.ts,*.tsx,*.go,*.lua silent FormatWrite
augroup END augroup END
]], ]],
{ output = true } { output = true }