diff options
| author | Rafael <[email protected]> | 2021-07-05 20:01:19 +0000 | 
|---|---|---|
| committer | GitHub <[email protected]> | 2021-07-05 16:01:19 -0400 | 
| commit | 71c5cb4f0be89d3a175e99b0c2ebc5e55178e8a9 (patch) | |
| tree | 941ed16b7e2f84ec45ce9b2c4a3d6d638cf584a7 | |
| parent | 9d399314d4ef9b05df738dda016ea52ec2e85823 (diff) | |
(feat) use neoformat as the defalt format option (#715)
| -rw-r--r-- | ftplugin/c.lua | 11 | ||||
| -rw-r--r-- | ftplugin/go.lua | 18 | ||||
| -rw-r--r-- | ftplugin/javascript.lua | 35 | ||||
| -rw-r--r-- | ftplugin/javascriptreact.lua | 35 | ||||
| -rw-r--r-- | ftplugin/json.lua | 12 | ||||
| -rw-r--r-- | ftplugin/lua.lua | 31 | ||||
| -rw-r--r-- | ftplugin/python.lua | 17 | ||||
| -rw-r--r-- | ftplugin/ruby.lua | 8 | ||||
| -rw-r--r-- | ftplugin/rust.lua | 8 | ||||
| -rw-r--r-- | ftplugin/sh.lua | 4 | ||||
| -rw-r--r-- | ftplugin/typescript.lua | 35 | ||||
| -rw-r--r-- | ftplugin/typescriptreact.lua | 35 | ||||
| -rw-r--r-- | ftplugin/zig.lua | 1 | ||||
| -rw-r--r-- | ftplugin/zsh.lua | 6 | ||||
| -rw-r--r-- | init.lua | 13 | ||||
| -rw-r--r-- | lua/default-config.lua | 31 | ||||
| -rw-r--r-- | lua/plugins.lua | 5 | ||||
| -rw-r--r-- | utils/installer/lv-config.example.lua | 33 | 
18 files changed, 26 insertions, 312 deletions
| diff --git a/ftplugin/c.lua b/ftplugin/c.lua index ef371c03..7443cabe 100644 --- a/ftplugin/c.lua +++ b/ftplugin/c.lua @@ -18,14 +18,3 @@ require("lspconfig").clangd.setup {      }),    },  } - -if O.lang.clang.autoformat then -  require("lv-utils").define_augroups { -    _clang_autoformat = { -      { "BufWritePre *.c lua vim.lsp.buf.formatting_sync(nil,1000)" }, -      { "BufWritePre *.h lua vim.lsp.buf.formatting_sync(nil,1000)" }, -      { "BufWritePre *.cpp lua vim.lsp.buf.formatting_sync(nil,1000)" }, -      { "BufWritePre *.hpp lua vim.lsp.buf.formatting_sync(nil,1000)" }, -    }, -  } -end diff --git a/ftplugin/go.lua b/ftplugin/go.lua index 0bee465f..56b9cacc 100644 --- a/ftplugin/go.lua +++ b/ftplugin/go.lua @@ -6,17 +6,7 @@ require("lspconfig").gopls.setup {    on_attach = require("lsp").common_on_attach,  } -if O.lang.go.autoformat then -  require("lv-utils").define_augroups { -    _go_format = { -      { "BufWritePre", "*.go", "lua vim.lsp.buf.formatting_sync(nil,1000)" }, -    }, -    _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" }, -    }, -  } -end +vim.opt_local.tabstop = 4 +vim.opt_local.shiftwidth = 4 +vim.opt_local.softtabstop = 4 +vim.opt_local.expandtab = false diff --git a/ftplugin/javascript.lua b/ftplugin/javascript.lua index 1c4004c2..ab370364 100644 --- a/ftplugin/javascript.lua +++ b/ftplugin/javascript.lua @@ -34,40 +34,5 @@ require("lspconfig").tsserver.setup {      }),    },  } -  require("lsp.ts-fmt-lint").setup() - -if O.lang.tsserver.autoformat then -  require("lv-utils").define_augroups { -    _javascript_autoformat = { -      { - -        "BufWritePre", -        "*.js", -        "lua vim.lsp.buf.formatting_sync(nil, 1000)", -      }, -    }, -    _javascriptreact_autoformat = { -      { -        "BufWritePre", -        "*.jsx", -        "lua vim.lsp.buf.formatting_sync(nil, 1000)", -      }, -    }, -    _typescript_autoformat = { -      { -        "BufWritePre", -        "*.ts", -        "lua vim.lsp.buf.formatting_sync(nil, 1000)", -      }, -    }, -    _typescriptreact_autoformat = { -      { -        "BufWritePre", -        "*.tsx", -        "lua vim.lsp.buf.formatting_sync(nil, 1000)", -      }, -    }, -  } -end  vim.cmd "setl ts=2 sw=2" diff --git a/ftplugin/javascriptreact.lua b/ftplugin/javascriptreact.lua index 1c4004c2..ab370364 100644 --- a/ftplugin/javascriptreact.lua +++ b/ftplugin/javascriptreact.lua @@ -34,40 +34,5 @@ require("lspconfig").tsserver.setup {      }),    },  } -  require("lsp.ts-fmt-lint").setup() - -if O.lang.tsserver.autoformat then -  require("lv-utils").define_augroups { -    _javascript_autoformat = { -      { - -        "BufWritePre", -        "*.js", -        "lua vim.lsp.buf.formatting_sync(nil, 1000)", -      }, -    }, -    _javascriptreact_autoformat = { -      { -        "BufWritePre", -        "*.jsx", -        "lua vim.lsp.buf.formatting_sync(nil, 1000)", -      }, -    }, -    _typescript_autoformat = { -      { -        "BufWritePre", -        "*.ts", -        "lua vim.lsp.buf.formatting_sync(nil, 1000)", -      }, -    }, -    _typescriptreact_autoformat = { -      { -        "BufWritePre", -        "*.tsx", -        "lua vim.lsp.buf.formatting_sync(nil, 1000)", -      }, -    }, -  } -end  vim.cmd "setl ts=2 sw=2" diff --git a/ftplugin/json.lua b/ftplugin/json.lua index da0c9ff2..29a3096f 100644 --- a/ftplugin/json.lua +++ b/ftplugin/json.lua @@ -15,15 +15,3 @@ require("lspconfig").jsonls.setup {      },    },  } - -if O.lang.json.autoformat then -  require("lv-utils").define_augroups { -    _json_format = { -      { -        "BufWritePre", -        "*.json", -        "lua vim.lsp.buf.formatting_sync(nil, 1000)", -      }, -    }, -  } -end diff --git a/ftplugin/lua.lua b/ftplugin/lua.lua index f3c3ac50..32c24e80 100644 --- a/ftplugin/lua.lua +++ b/ftplugin/lua.lua @@ -40,34 +40,3 @@ if O.lang.lua.autoformat then      },    }  end - -local lua_arguments = {} - -local luaFormat = { -  formatCommand = "lua-format -i --no-keep-simple-function-one-line --column-limit=80", -  formatStdin = true, -} - -local lua_fmt = { -  formatCommand = "luafmt --indent-count 2 --line-width 120 --stdin", -  formatStdin = true, -} - -if O.lang.lua.formatter == "lua-format" then -  table.insert(lua_arguments, luaFormat) -elseif O.lang.lua.formatter == "lua-fmt" then -  table.insert(lua_arguments, lua_fmt) -end - -require("lspconfig").efm.setup { -  -- init_options = {initializationOptions}, -  cmd = { DATA_PATH .. "/lspinstall/efm/efm-langserver" }, -  init_options = { documentFormatting = true, codeAction = false }, -  filetypes = { "lua" }, -  settings = { -    rootMarkers = { ".git/" }, -    languages = { -      lua = lua_arguments, -    }, -  }, -} diff --git a/ftplugin/python.lua b/ftplugin/python.lua index 62464397..a9b41648 100644 --- a/ftplugin/python.lua +++ b/ftplugin/python.lua @@ -20,12 +20,6 @@ if O.lang.python.isort then    table.insert(python_arguments, isort)  end -if O.lang.python.formatter == "yapf" then -  table.insert(python_arguments, yapf) -elseif O.lang.python.formatter == "black" then -  table.insert(python_arguments, black) -end -  require("lspconfig").efm.setup {    -- init_options = {initializationOptions},    cmd = { DATA_PATH .. "/lspinstall/efm/efm-langserver" }, @@ -64,17 +58,6 @@ require("lspconfig").pyright.setup {      },    },  } -if O.lang.python.autoformat then -  require("lv-utils").define_augroups { -    _python_autoformat = { -      { -        "BufWritePre", -        "*.py", -        "lua vim.lsp.buf.formatting_sync(nil, 1000)", -      }, -    }, -  } -end  if O.plugin.debug.active and O.plugin.dap_install.active then    local dap_install = require("dap-install") diff --git a/ftplugin/ruby.lua b/ftplugin/ruby.lua index 0cff96ff..bc844cd3 100644 --- a/ftplugin/ruby.lua +++ b/ftplugin/ruby.lua @@ -12,11 +12,3 @@ require("lspconfig").solargraph.setup {    },    filetypes = O.lang.ruby.filetypes,  } - -if O.lang.ruby.autoformat then -  require("lv-utils").define_augroups { -    _ruby_format = { -      { "BufWritePre", "*.rb", "lua vim.lsp.buf.formatting_sync(nil,1000)" }, -    }, -  } -end diff --git a/ftplugin/rust.lua b/ftplugin/rust.lua index 34b211d6..2a106e7e 100644 --- a/ftplugin/rust.lua +++ b/ftplugin/rust.lua @@ -91,11 +91,3 @@ vim.api.nvim_exec(      ]],    true  ) - -if O.lang.rust.autoformat then -  require("lv-utils").define_augroups { -    _rust_format = { -      { "BufWritePre", "*.rs", "lua vim.lsp.buf.formatting_sync(nil,1000)" }, -    }, -  } -end diff --git a/ftplugin/sh.lua b/ftplugin/sh.lua index fa8f0785..c146e45f 100644 --- a/ftplugin/sh.lua +++ b/ftplugin/sh.lua @@ -15,10 +15,6 @@ local shellcheck = {    lintFormats = { "%f:%l:%c: %trror: %m", "%f:%l:%c: %tarning: %m", "%f:%l:%c: %tote: %m" },  } -if O.lang.sh.formatter == "shfmt" then -  table.insert(sh_arguments, shfmt) -end -  if O.lang.sh.linter == "shellcheck" then    table.insert(sh_arguments, shellcheck)  end diff --git a/ftplugin/typescript.lua b/ftplugin/typescript.lua index 1c4004c2..ab370364 100644 --- a/ftplugin/typescript.lua +++ b/ftplugin/typescript.lua @@ -34,40 +34,5 @@ require("lspconfig").tsserver.setup {      }),    },  } -  require("lsp.ts-fmt-lint").setup() - -if O.lang.tsserver.autoformat then -  require("lv-utils").define_augroups { -    _javascript_autoformat = { -      { - -        "BufWritePre", -        "*.js", -        "lua vim.lsp.buf.formatting_sync(nil, 1000)", -      }, -    }, -    _javascriptreact_autoformat = { -      { -        "BufWritePre", -        "*.jsx", -        "lua vim.lsp.buf.formatting_sync(nil, 1000)", -      }, -    }, -    _typescript_autoformat = { -      { -        "BufWritePre", -        "*.ts", -        "lua vim.lsp.buf.formatting_sync(nil, 1000)", -      }, -    }, -    _typescriptreact_autoformat = { -      { -        "BufWritePre", -        "*.tsx", -        "lua vim.lsp.buf.formatting_sync(nil, 1000)", -      }, -    }, -  } -end  vim.cmd "setl ts=2 sw=2" diff --git a/ftplugin/typescriptreact.lua b/ftplugin/typescriptreact.lua index 1c4004c2..ab370364 100644 --- a/ftplugin/typescriptreact.lua +++ b/ftplugin/typescriptreact.lua @@ -34,40 +34,5 @@ require("lspconfig").tsserver.setup {      }),    },  } -  require("lsp.ts-fmt-lint").setup() - -if O.lang.tsserver.autoformat then -  require("lv-utils").define_augroups { -    _javascript_autoformat = { -      { - -        "BufWritePre", -        "*.js", -        "lua vim.lsp.buf.formatting_sync(nil, 1000)", -      }, -    }, -    _javascriptreact_autoformat = { -      { -        "BufWritePre", -        "*.jsx", -        "lua vim.lsp.buf.formatting_sync(nil, 1000)", -      }, -    }, -    _typescript_autoformat = { -      { -        "BufWritePre", -        "*.ts", -        "lua vim.lsp.buf.formatting_sync(nil, 1000)", -      }, -    }, -    _typescriptreact_autoformat = { -      { -        "BufWritePre", -        "*.tsx", -        "lua vim.lsp.buf.formatting_sync(nil, 1000)", -      }, -    }, -  } -end  vim.cmd "setl ts=2 sw=2" diff --git a/ftplugin/zig.lua b/ftplugin/zig.lua index 7fc8d3fc..92b4120d 100644 --- a/ftplugin/zig.lua +++ b/ftplugin/zig.lua @@ -8,7 +8,6 @@ require("lspconfig").zls.setup {  }  require("lv-utils").define_augroups {    _zig_autoformat = { -    { "BufWritePre", "*.zig", "lua vim.lsp.buf.formatting_sync(nil, 1000)" },      { "BufEnter", "*.zig", ':lua vim.api.nvim_buf_set_option(0, "commentstring", "// %s")' },    },  } diff --git a/ftplugin/zsh.lua b/ftplugin/zsh.lua index a2847f19..b6fa9d5d 100644 --- a/ftplugin/zsh.lua +++ b/ftplugin/zsh.lua @@ -15,17 +15,11 @@ require("lspconfig").bashls.setup {  -- sh  local sh_arguments = {} -local shfmt = { formatCommand = "shfmt -ci -s -bn", formatStdin = true } -  local shellcheck = {    LintCommand = "shellcheck -f gcc -x",    lintFormats = { "%f:%l:%c: %trror: %m", "%f:%l:%c: %tarning: %m", "%f:%l:%c: %tote: %m" },  } -if O.lang.sh.formatter == "shfmt" then -  table.insert(sh_arguments, shfmt) -end -  if O.lang.sh.linter == "shellcheck" then    table.insert(sh_arguments, shellcheck)  end @@ -11,3 +11,16 @@ require "lsp"  if O.lang.emmet.active then    require "lsp.emmet-ls"  end + +-- autoformat +if O.format_on_save then +  require("lv-utils").define_augroups { +    autoformat = { +      { +        "BufWritePre", +        "*", +        [[try | undojoin | Neoformat | catch /^Vim\%((\a\+)\)\=:E790/ | finally | silent Neoformat | endtry]], +      }, +    }, +  } +end diff --git a/lua/default-config.lua b/lua/default-config.lua index ce7b1062..e05fc9e3 100644 --- a/lua/default-config.lua +++ b/lua/default-config.lua @@ -4,7 +4,7 @@ CACHE_PATH = vim.fn.stdpath "cache"  TERMINAL = vim.fn.expand "$TERMINAL"  O = { - +  format_on_save = true,    auto_close_tree = 0,    auto_complete = true,    colorscheme = "lunar", @@ -33,7 +33,7 @@ O = {    },    lsp = { -    popup_border = "single" +    popup_border = "single",    },    database = { save_location = "~/.config/nvcode_db", auto_execute = 1 }, @@ -97,9 +97,6 @@ O = {    lang = {      python = {        linter = "", -      -- @usage can be 'yapf', 'black' -      formatter = "", -      autoformat = false,        isort = false,        diagnostics = {          virtual_text = { spacing = 0, prefix = "ï„‘" }, @@ -116,9 +113,6 @@ O = {        sdk_path = "/usr/lib/dart/bin/snapshots/analysis_server.dart.snapshot",      },      lua = { -      -- @usage can be 'lua-format' -      formatter = "", -      autoformat = false,        diagnostics = {          virtual_text = { spacing = 0, prefix = "ï„‘" },          signs = true, @@ -129,8 +123,6 @@ O = {        -- @usage can be 'shellcheck'        linter = "",        -- @usage can be 'shfmt' -      formatter = "", -      autoformat = false,        diagnostics = {          virtual_text = { spacing = 0, prefix = "ï„‘" },          signs = true, @@ -140,9 +132,6 @@ O = {      tsserver = {        -- @usage can be 'eslint'        linter = "", -      -- @usage can be 'prettier' -      formatter = "", -      autoformat = false,        diagnostics = {          virtual_text = { spacing = 0, prefix = "ï„‘" },          signs = true, @@ -150,9 +139,6 @@ O = {        },      },      json = { -      -- @usage can be 'prettier' -      formatter = "", -      autoformat = false,        diagnostics = {          virtual_text = { spacing = 0, prefix = "ï„‘" },          signs = true, @@ -178,7 +164,6 @@ O = {        },        cross_file_rename = true,        header_insertion = "never", -      autoformat = false, -- update this to true for enabling autoformat      },      ruby = {        diagnostics = { @@ -198,8 +183,6 @@ O = {          active = false,        },        linter = "", -      formatter = "", -      autoformat = false,        diagnostics = {          virtual_text = { spacing = 0, prefix = "ï„‘" },          signs = true, @@ -208,13 +191,9 @@ O = {      },      svelte = {},      php = { -      format = { -        braces = "psr12", -      },        environment = {          php_version = "7.4",        }, -      autoformat = false,        diagnostics = {          virtual_text = { spacing = 0, prefix = "ï„‘" },          signs = true, @@ -233,8 +212,6 @@ O = {      cmake = {},      java = {},      css = { -      formatter = "", -      autoformat = false,        virtual_text = true,      },    }, @@ -263,6 +240,4 @@ O = {      },      footer = { "chrisatmachine.com" },    }, -} - - +}
\ No newline at end of file diff --git a/lua/plugins.lua b/lua/plugins.lua index b14cac46..8752a1ba 100644 --- a/lua/plugins.lua +++ b/lua/plugins.lua @@ -66,6 +66,9 @@ return require("packer").startup(function(use)    -- Treesitter    use { "nvim-treesitter/nvim-treesitter", run = ":TSUpdate" } +  -- Neoformat +  use { "sbdchd/neoformat", event = "BufEnter" } +    use {      "kyazdani42/nvim-tree.lua",      -- cmd = "NvimTreeToggle", @@ -435,7 +438,7 @@ return require("packer").startup(function(use)        "typescript",        "typescriptreact",        "typescript.tsx", -    } +    },    }    -- use {    --   "jose-elias-alvarez/null-ls.nvim", diff --git a/utils/installer/lv-config.example.lua b/utils/installer/lv-config.example.lua index 56fe7176..d5c3e40d 100644 --- a/utils/installer/lv-config.example.lua +++ b/utils/installer/lv-config.example.lua @@ -1,13 +1,14 @@  --[[  O is the global options object -Formatters and linters should be +Linters should be  filled in as strings with either  a global executable or a path to  an executable  ]]  -- THESE ARE EXAMPLE CONFIGS FEEL FREE TO CHANGE TO WHATEVER YOU WANT  -- general +O.format_on_save = true  O.auto_complete = true  O.colorscheme = "spacegray"  O.auto_close_tree = 0 @@ -47,13 +48,9 @@ O.lang.clang.diagnostics.signs = true  O.lang.clang.diagnostics.underline = true  -- python --- add things like O.python.formatter.yapf.exec_path  -- add things like O.python.linter.flake8.exec_path --- add things like O.python.formatter.isort.exec_path -O.lang.python.formatter = "yapf"  -- O.python.linter = 'flake8'  O.lang.python.isort = true -O.lang.python.autoformat = true  O.lang.python.diagnostics.virtual_text = true  O.lang.python.diagnostics.signs = true  O.lang.python.diagnostics.underline = true @@ -61,37 +58,11 @@ O.lang.python.analysis.type_checking = "off"  O.lang.python.analysis.auto_search_paths = true  O.lang.python.analysis.use_library_code_types = true --- lua --- TODO look into stylua -O.lang.lua.formatter = "lua-format" --- O.lua.formatter = 'lua-format' -O.lang.lua.autoformat = false -  -- javascript -O.lang.tsserver.formatter = "prettier"  O.lang.tsserver.linter = nil -O.lang.tsserver.autoformat = true - --- json -O.lang.json.autoformat = true - --- ruby -O.lang.ruby.autoformat = true - --- go -O.lang.go.autoformat = true - --- rust -O.lang.rust.autoformat = true - --- clang -O.lang.clang.autoformat = false -- Set to true to enable auto-format in C/C++ files.  -- php -O.lang.php.format.braces = "k&r" -- options: psr12, allman, k&r  O.lang.php.environment.php_version = "7.4" --- TODO: autoformat seems not to work at the moment -O.lang.php.autoformat = false  O.lang.php.diagnostics.signs = true  O.lang.php.diagnostics.underline = true  O.lang.php.filetypes = { "php", "phtml" } | 
