This commit is contained in:
2025-04-10 21:57:59 -07:00
parent b4789ac055
commit 3038404b0a
5 changed files with 96 additions and 89 deletions

View File

@@ -15,7 +15,7 @@ o.syntax = "on"
o.laststatus = 3
o.number = true
o.relativenumber = true
o.colorcolumn = "80"
o.colorcolumn = "88"
o.textwidth = 80
o.shiftwidth = 4
o.expandtab = true

View File

@@ -1,65 +1,70 @@
return {
"nvimtools/none-ls.nvim",
config = function()
local null_ls = require("null-ls")
local helpers = require("null-ls.helpers")
-- syncronous formatting
local augroup = vim.api.nvim_create_augroup("LspFormatting", {})
'nvimtools/none-ls.nvim',
config = function()
local null_ls = require('null-ls')
local helpers = require('null-ls.helpers')
-- syncronous formatting
local augroup = vim.api.nvim_create_augroup('LspFormatting', {})
-- null_ls.setup({
-- on_attach = function(client)
-- if client.supports_method "textDocument/formatting" then
-- vim.cmd([[
-- augroup LspFormatting
-- autocmd! * <buffer>
-- autocmd BufWritePre <buffer> lua vim.lsp.buf.format()
-- augroup END
-- ]])
-- end
-- end,
-- })
-- you can reuse a shared lspconfig on_attach callback here
-- null_ls.setup({
-- on_attach = function(client)
-- if client.supports_method "textDocument/formatting" then
-- vim.cmd([[
-- augroup LspFormatting
-- autocmd! * <buffer>
-- autocmd BufWritePre <buffer> lua vim.lsp.buf.format()
-- augroup END
-- ]])
-- end
-- end,
-- })
-- you can reuse a shared lspconfig on_attach callback here
require('null-ls').setup({
on_attach = function(client, bufnr)
if client.supports_method("textDocument/formatting") then
vim.api.nvim_clear_autocmds({ group = augroup, buffer = bufnr })
vim.api.nvim_create_autocmd("BufWritePre", {
group = augroup,
buffer = bufnr,
callback = function()
-- on 0.8, you should use vim.lsp.buf.format({ bufnr = bufnr }) instead
-- on later neovim version, you should use vim.lsp.buf.format({ async = false }) instead
-- vim.lsp.buf.formatting_sync()
vim.lsp.buf.format({
async = false,
bufnr = bufnr,
filter = function(client)
return client.name == "null-ls"
end,
})
end,
})
end
end,
sources = {
null_ls.builtins.completion.luasnip,
null_ls.builtins.formatting.black,
null_ls.builtins.formatting.isort,
null_ls.builtins.diagnostics.mypy,
null_ls.builtins.diagnostics.markdownlint,
null_ls.builtins.diagnostics.pylint,
-- null_ls.builtins.diagnostics.pydoclint,
null_ls.builtins.formatting.stylua,
null_ls.builtins.formatting.markdownlint,
null_ls.builtins.formatting.prettier, -- handled by lsp server
null_ls.builtins.formatting.shfmt.with({
filetypes = { "sh", "bash" },
extra_args = { "-i", "0", "-ci", "-sr" },
}),
-- null_ls.builtins.diagnostics.actionlint,
},
})
end
require('null-ls').setup({
on_attach = function(client, bufnr)
if client.supports_method('textDocument/formatting') then
vim.api.nvim_clear_autocmds({ group = augroup, buffer = bufnr })
vim.api.nvim_create_autocmd('BufWritePre', {
group = augroup,
buffer = bufnr,
callback = function()
-- on 0.8, you should use vim.lsp.buf.format({ bufnr = bufnr }) instead
-- on later neovim version, you should use vim.lsp.buf.format({ async = false }) instead
-- vim.lsp.buf.formatting_sync()
vim.lsp.buf.format({
async = false,
bufnr = bufnr,
filter = function(client)
return client.name == 'null-ls'
end,
})
end,
})
end
end,
sources = {
null_ls.builtins.completion.luasnip,
null_ls.builtins.formatting.black,
null_ls.builtins.formatting.isort,
null_ls.builtins.diagnostics.mypy,
null_ls.builtins.diagnostics.markdownlint,
null_ls.builtins.diagnostics.pylint,
-- null_ls.builtins.diagnostics.pydocstyle.with({
-- extra_arags = { "--config=$ROOT/setup.cfg" },
-- }),
-- null_ls.builtins.diagnostics.pydoclint,
null_ls.builtins.formatting.stylua,
-- null_ls.builtins.formatting.stylua.with({
-- extra_args = { '--config-path', vim.fn.expand('~/.config/stylua.toml') },
-- }),
null_ls.builtins.formatting.markdownlint,
null_ls.builtins.formatting.prettier, -- handled by lsp server
null_ls.builtins.formatting.shfmt.with({
filetypes = { 'sh', 'bash' },
extra_args = { '-i', '0', '-ci', '-sr' },
}),
-- null_ls.builtins.diagnostics.actionlint,
},
})
end,
}

View File

@@ -4,7 +4,7 @@ return {
require("lint").linters_by_ft = {
markdown = { "markdownlint" },
lua = { "luacheck" },
py = { "pylint", "pydocstyle", "pycodestyle", "mypy" },
py = { "flake8", "pylint", "pydocstyle", "pycodestyle", "mypy" },
sh = { "shellcheck" },
json = { "jsonlint" },
yaml = { "yamllint" },

View File

@@ -0,0 +1 @@
return { "nvim-treesitter/nvim-treesitter-context" }