David Hollinger III 4 лет назад
Родитель
Сommit
7f8911d872
3 измененных файлов с 14 добавлено и 0 удалено
  1. 10 0
      lua/lv-autocommands/init.lua
  2. 1 0
      lua/lv-globals.lua
  3. 3 0
      lv-settings.lua

+ 10 - 0
lua/lv-autocommands/init.lua

@@ -25,6 +25,9 @@ if O.json.autoformat then table.insert(auto_formatters, json_format) end
 local ruby_format = {'BufWritePre', '*.rb', 'lua vim.lsp.buf.formatting_sync(nil,1000)'}
 if O.ruby.autoformat then table.insert(auto_formatters, ruby_format) end
 
+local go_format = {'BufWritePre', '*.go', 'lua vim.lsp.buf.formatting_sync(nil,1000)'}
+if O.go.autoformat then table.insert(auto_formatters, go_format) end
+
 utils.define_augroups({
     _general_settings = {
         {'TextYankPost', '*', 'lua require(\'vim.highlight\').on_yank({higroup = \'Search\', timeout = 200})'},
@@ -40,6 +43,13 @@ utils.define_augroups({
         {'FileType', 'java', 'luafile ~/.config/nvim/lua/lsp/java-ls.lua'},
         {'FileType', 'java', 'nnoremap ca <Cmd>lua require(\'jdtls\').code_action()<CR>'}
     },
+    _go = {
+        -- Go generally requires Tabs instead of spaces.
+        {'FileType', 'go', 'setlocal tabstop=4'},
+        {'FileType', 'go', 'setlocal shiftwidth=4'},
+        {'FileType', 'go', 'setlocal softtabstop=4'},
+        {'FileType', 'go', 'setlocal noexpandtab'},
+    },
     _dashboard = {
         -- seems to be nobuflisted that makes my stuff disapear will do more testing
         {

+ 1 - 0
lua/lv-globals.lua

@@ -64,6 +64,7 @@ O = {
 		diagnostics = {virtualtext = {spacing = 0, prefix = ""}, signs = true, underline = true},
 		filetypes = {'rb', 'erb', 'rakefile'}
 	},
+    go = {},
     -- css = {formatter = '', autoformat = false, virtual_text = true},
     -- json = {formatter = '', autoformat = false, virtual_text = true}
 

+ 3 - 0
lv-settings.lua

@@ -59,6 +59,9 @@ O.json.autoformat = true
 
 -- ruby
 O.ruby.autoformat = true
+
+-- go
+O.go.autoformat = true
 -- create custom autocommand field (This would be easy with lua)
 
 -- Turn off relative_numbers