mirror of
https://github.com/LunarVim/LunarVim.git
synced 2025-08-02 17:14:56 +02:00
(feat) use neoformat as the defalt format option (#715)
This commit is contained in:
parent
9d399314d4
commit
71c5cb4f0b
18 changed files with 26 additions and 312 deletions
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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,
|
||||
},
|
||||
},
|
||||
}
|
||||
|
|
|
@ -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")
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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")' },
|
||||
},
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
|
13
init.lua
13
init.lua
|
@ -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
|
||||
|
|
|
@ -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,
|
||||
},
|
||||
},
|
||||
|
@ -264,5 +241,3 @@ O = {
|
|||
footer = { "chrisatmachine.com" },
|
||||
},
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -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" }
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue