summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ftplugin/c.lua11
-rw-r--r--ftplugin/go.lua18
-rw-r--r--ftplugin/javascript.lua35
-rw-r--r--ftplugin/javascriptreact.lua35
-rw-r--r--ftplugin/json.lua12
-rw-r--r--ftplugin/lua.lua31
-rw-r--r--ftplugin/python.lua17
-rw-r--r--ftplugin/ruby.lua8
-rw-r--r--ftplugin/rust.lua8
-rw-r--r--ftplugin/sh.lua4
-rw-r--r--ftplugin/typescript.lua35
-rw-r--r--ftplugin/typescriptreact.lua35
-rw-r--r--ftplugin/zig.lua1
-rw-r--r--ftplugin/zsh.lua6
-rw-r--r--init.lua13
-rw-r--r--lua/default-config.lua31
-rw-r--r--lua/plugins.lua5
-rw-r--r--utils/installer/lv-config.example.lua33
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
diff --git a/init.lua b/init.lua
index 8e44e868..2b5a9515 100644
--- a/init.lua
+++ b/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
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" }