Compare commits
3 Commits
44fb8a49fa
...
39a18835a1
Author | SHA1 | Date | |
---|---|---|---|
39a18835a1 | |||
fa519bd74d | |||
f98a52e613 |
37
nvim/.config/nvim/lua/plugins/formatting.lua
Normal file
37
nvim/.config/nvim/lua/plugins/formatting.lua
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
return {
|
||||||
|
"stevearc/conform.nvim",
|
||||||
|
event = { "BufReadPre", "BufNewFile" },
|
||||||
|
config = function()
|
||||||
|
local conform = require("conform")
|
||||||
|
|
||||||
|
conform.setup({
|
||||||
|
formatters_by_ft = {
|
||||||
|
javascript = { "prettier" },
|
||||||
|
typescript = { "prettier" },
|
||||||
|
javascriptreact = { "prettier" },
|
||||||
|
typescriptreact = { "prettier" },
|
||||||
|
svelte = { "prettier" },
|
||||||
|
css = { "prettier" },
|
||||||
|
html = { "prettier" },
|
||||||
|
json = { "prettier" },
|
||||||
|
yaml = { "prettier" },
|
||||||
|
markdown = { "prettier" },
|
||||||
|
graphql = { "prettier" },
|
||||||
|
lua = { "stylua" },
|
||||||
|
python = { "isort", "black" },
|
||||||
|
},
|
||||||
|
format_on_save = {
|
||||||
|
lsp_fallback = true,
|
||||||
|
async = false,
|
||||||
|
timeout_ms = 500,
|
||||||
|
},
|
||||||
|
})
|
||||||
|
vim.keymap.set({ "n", "v" }, "<leader>mp", function()
|
||||||
|
conform.format({
|
||||||
|
lsp_fallback = true,
|
||||||
|
async = false,
|
||||||
|
timeout_ms = 500,
|
||||||
|
})
|
||||||
|
end, { desc = "Format file or range (in visual mode)" })
|
||||||
|
end,
|
||||||
|
}
|
31
nvim/.config/nvim/lua/plugins/lint.lua
Normal file
31
nvim/.config/nvim/lua/plugins/lint.lua
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
return {
|
||||||
|
"mfussenegger/nvim-lint",
|
||||||
|
event = {
|
||||||
|
"BufReadPre",
|
||||||
|
"BufNewFile",
|
||||||
|
},
|
||||||
|
config = function()
|
||||||
|
local lint = require("lint")
|
||||||
|
|
||||||
|
lint.linters_by_ft = {
|
||||||
|
javascript = { "eslint_d" },
|
||||||
|
typescript = { "eslint_d" },
|
||||||
|
javascriptreact = { "eslint_d" },
|
||||||
|
typescriptreact = { "eslint_d" },
|
||||||
|
python = { "flake8" },
|
||||||
|
}
|
||||||
|
|
||||||
|
local lint_augroup = vim.api.nvim_create_augroup("lint", { clear = true })
|
||||||
|
|
||||||
|
vim.api.nvim_create_autocmd({ "BufEnter", "BufWritePost", "InsertLeave" }, {
|
||||||
|
group = lint_augroup,
|
||||||
|
callback = function()
|
||||||
|
lint.try_lint()
|
||||||
|
end,
|
||||||
|
})
|
||||||
|
|
||||||
|
vim.keymap.set("n", "<leader>ml", function()
|
||||||
|
lint.try_lint()
|
||||||
|
end, { desc = "Trigger linting for current file" })
|
||||||
|
end,
|
||||||
|
}
|
@ -1,25 +1,38 @@
|
|||||||
return {
|
return {
|
||||||
'VonHeikemen/lsp-zero.nvim',
|
"VonHeikemen/lsp-zero.nvim",
|
||||||
branch = 'v3.x',
|
branch = "v3.x",
|
||||||
dependencies = {
|
dependencies = {
|
||||||
{'neovim/nvim-lspconfig'},
|
{ "neovim/nvim-lspconfig" },
|
||||||
{'williamboman/mason.nvim'},
|
{ "williamboman/mason.nvim" },
|
||||||
{'williamboman/mason-lspconfig.nvim'},
|
{ "williamboman/mason-lspconfig.nvim" },
|
||||||
},
|
{ "WhoIsSethDaniel/mason-tool-installer.nvim" },
|
||||||
config = function ()
|
},
|
||||||
local lsp_zero = require('lsp-zero')
|
config = function()
|
||||||
lsp_zero.on_attach(function(client, bufnr)
|
local lsp_zero = require("lsp-zero")
|
||||||
-- see :help lsp-zero-keybindings
|
lsp_zero.on_attach(function(client, bufnr)
|
||||||
-- to learn the available actions
|
-- see :help lsp-zero-keybindings
|
||||||
lsp_zero.default_keymaps({buffer = bufnr})
|
-- to learn the available actions
|
||||||
end)
|
lsp_zero.default_keymaps({ buffer = bufnr })
|
||||||
|
end)
|
||||||
|
|
||||||
require('mason').setup({})
|
require("mason").setup({})
|
||||||
require('mason-lspconfig').setup({
|
require("mason-lspconfig").setup({
|
||||||
ensure_installed = {},
|
ensure_installed = {},
|
||||||
handlers = {
|
handlers = {
|
||||||
lsp_zero.default_setup,
|
lsp_zero.default_setup,
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
end
|
local mason_tool_installer = require("mason-tool-installer")
|
||||||
|
|
||||||
|
mason_tool_installer.setup({
|
||||||
|
ensure_installed = {
|
||||||
|
"prettier", -- prettier formatter
|
||||||
|
"stylua", -- lua formatter
|
||||||
|
"isort", -- python formatter
|
||||||
|
"black", -- python formatter
|
||||||
|
"flake8", -- python linter
|
||||||
|
"eslint_d", -- js linter
|
||||||
|
},
|
||||||
|
})
|
||||||
|
end,
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user