all repos — dotfiles @ 5f9bcaa2801fcb93bf5cbed574d6e6027c7f0c67

my *nix dotfiles

config/nvim/ftplugin/go.vim (view raw)

 1setlocal noexpandtab
 2setlocal autoindent
 3setlocal shiftwidth=4
 4setlocal smarttab
 5setlocal formatoptions=croql
 6setlocal tabstop=4
 7
 8
 9lua <<EOF
10    function org_imports(wait_ms)
11      local params = vim.lsp.util.make_range_params()
12      params.context = {only = {"source.organizeImports"}}
13      local result = vim.lsp.buf_request_sync(0, "textDocument/codeAction", params, wait_ms)
14      for _, res in pairs(result or {}) do
15        for _, r in pairs(res.result or {}) do
16          if r.edit then
17            vim.lsp.util.apply_workspace_edit(r.edit, "utf-16")
18          else
19            vim.lsp.buf.execute_command(r.command)
20          end
21        end
22      end
23  end
24EOF
25
26augroup go_lsp 
27    autocmd!
28    autocmd BufWritePre *.go :silent! lua vim.lsp.buf.formatting()
29    autocmd BufWritePre *.go :silent! lua org_imports(3000)
30augroup END