-- golines A golang formatter that fixes long lines
-- golines + goimport
localapi=vim.api
localutils=require('go.utils')
locallog=utils.log
localmax_len=_GO_NVIM_CFG.max_line_lenor120
localmax_len=_GO_NVIM_CFG.max_line_lenor128
localgofmt=_GO_NVIM_CFG.gofmtor'gofumpt'
localvfn=vim.fn
localwrite_delay=10
@ -13,10 +11,11 @@ end
localinstall=require('go.install').install
localgofmt_args=_GO_NVIM_CFG.gofmt_args
or{
orgofmt=='golines'and{
'--max-len='..tostring(max_len),
'--base-formatter='..gofmt,
'--base-formatter=gofumpt',
}
or{}
localgoimport_args=_GO_NVIM_CFG.goimport_args
or{
@ -24,12 +23,6 @@ local goimport_args = _GO_NVIM_CFG.goimport_args
'--base-formatter=goimports',
}
ifvim.lsp.buf.format==nilthen
-- vim.notify('the vim.lsp.buf.format is not available, some feature is missing if you are running old version of neovim (<0.8.0)', vim.log.levels.DEBUG)
-- neovim < 0.7 only
require('go.lsp')-- this set default value of format
end
localM={}
M.lsp_format=function()
vim.lsp.buf.format({
@ -49,6 +42,7 @@ end
localrun=function(fmtargs,bufnr,cmd)
bufnr=bufnrorvim.api.nvim_get_current_buf()
log(fmtargs,bufnr,cmd)
cmd=cmdor_GO_NVIM_CFG.gofmtor'gofumpt'
ifvim.o.mod==truethen
vim.cmd('noautocmd write')
end
@ -65,11 +59,7 @@ local run = function(fmtargs, bufnr, cmd)