init
This commit is contained in:
48
nvim/lua/plugins/extras/lang/ansible-extended.lua
Normal file
48
nvim/lua/plugins/extras/lang/ansible-extended.lua
Normal file
@@ -0,0 +1,48 @@
|
||||
vim.filetype.add({
|
||||
pattern = {
|
||||
[".*/playbooks/.*%.yaml"] = "yaml.ansible",
|
||||
[".*/playbooks/.*%.yml"] = "yaml.ansible",
|
||||
[".*/roles/.*/tasks/.*%.yaml"] = "yaml.ansible",
|
||||
[".*/roles/.*/tasks/.*%.yml"] = "yaml.ansible",
|
||||
[".*/tasks/.*%.yaml"] = "yaml.ansible",
|
||||
[".*/tasks/.*%.yml"] = "yaml.ansible",
|
||||
[".*/vars/.*%.yaml"] = "yaml.ansible",
|
||||
[".*/vars/.*%.yml"] = "yaml.ansible",
|
||||
[".*/defaults/.*%.yaml"] = "yaml.ansible",
|
||||
[".*/defaults/.*%.yml"] = "yaml.ansible",
|
||||
[".*/handlers/.*%.yaml"] = "yaml.ansible",
|
||||
[".*/handlers/.*%.yml"] = "yaml.ansible",
|
||||
[".*/roles/.*/handlers/.*%.yaml"] = "yaml.ansible",
|
||||
[".*/roles/.*/handlers/.*%.yml"] = "yaml.ansible",
|
||||
},
|
||||
})
|
||||
|
||||
return {
|
||||
{ import = "plugins.extras.lang.yaml-extended" },
|
||||
{ import = "lazyvim.plugins.extras.lang.ansible" },
|
||||
{
|
||||
"williamboman/mason.nvim",
|
||||
opts = {
|
||||
ensure_installed = {
|
||||
"ansible-language-server",
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
"mfussenegger/nvim-lint",
|
||||
opts = {
|
||||
linters_by_ft = {
|
||||
ansible = { "ansible_lint" },
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
"luckasRanarison/nvim-devdocs",
|
||||
optional = true,
|
||||
opts = {
|
||||
ensure_installed = {
|
||||
"ansible",
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
56
nvim/lua/plugins/extras/lang/bash.lua
Normal file
56
nvim/lua/plugins/extras/lang/bash.lua
Normal file
@@ -0,0 +1,56 @@
|
||||
return {
|
||||
{
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
opts = {
|
||||
ensure_installed = {
|
||||
"bash",
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
"neovim/nvim-lspconfig",
|
||||
opts = {
|
||||
servers = {
|
||||
bashls = {},
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
"williamboman/mason.nvim",
|
||||
opts = {
|
||||
ensure_installed = {
|
||||
"bash-language-server",
|
||||
"shellcheck",
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
"mfussenegger/nvim-lint",
|
||||
opts = function(_, opts)
|
||||
opts.linters_by_ft.bash = opts.linters_by_ft.bash or {}
|
||||
table.insert(opts.linters_by_ft.bash, "shellcheck")
|
||||
return opts
|
||||
end,
|
||||
},
|
||||
{
|
||||
"nvim-neotest/neotest",
|
||||
optional = true,
|
||||
dependencies = {
|
||||
"rcasia/neotest-bash",
|
||||
},
|
||||
opts = {
|
||||
adapters = {
|
||||
["neotest-bash"] = {},
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
"luckasRanarison/nvim-devdocs",
|
||||
optional = true,
|
||||
opts = {
|
||||
ensure_installed = {
|
||||
"bash",
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
12
nvim/lua/plugins/extras/lang/docker-extended.lua
Normal file
12
nvim/lua/plugins/extras/lang/docker-extended.lua
Normal file
@@ -0,0 +1,12 @@
|
||||
return {
|
||||
{ import = "lazyvim.plugins.extras.lang.docker" },
|
||||
{
|
||||
"luckasRanarison/nvim-devdocs",
|
||||
optional = true,
|
||||
opts = {
|
||||
ensure_installed = {
|
||||
"docker",
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
12
nvim/lua/plugins/extras/lang/git-extended.lua
Normal file
12
nvim/lua/plugins/extras/lang/git-extended.lua
Normal file
@@ -0,0 +1,12 @@
|
||||
return {
|
||||
{ import = "lazyvim.plugins.extras.lang.git" },
|
||||
{
|
||||
"luckasRanarison/nvim-devdocs",
|
||||
optional = true,
|
||||
opts = {
|
||||
ensure_installed = {
|
||||
"git",
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
55
nvim/lua/plugins/extras/lang/go-extended.lua
Normal file
55
nvim/lua/plugins/extras/lang/go-extended.lua
Normal file
@@ -0,0 +1,55 @@
|
||||
return {
|
||||
{ import = "lazyvim.plugins.extras.lang.go" },
|
||||
{
|
||||
"williamboman/mason.nvim",
|
||||
opts = {
|
||||
ensure_installed = {
|
||||
"golangci-lint",
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
"ray-x/go.nvim",
|
||||
dependencies = {
|
||||
"ray-x/guihua.lua",
|
||||
"neovim/nvim-lspconfig",
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
},
|
||||
opts = {},
|
||||
ft = { "go", "gomod" },
|
||||
build = function()
|
||||
require("go.install").update_all_sync()
|
||||
end,
|
||||
},
|
||||
{
|
||||
"mfussenegger/nvim-lint",
|
||||
opts = function(_, opts)
|
||||
local function add_linters(tbl)
|
||||
for ft, linters in pairs(tbl) do
|
||||
if opts.linters_by_ft[ft] == nil then
|
||||
opts.linters_by_ft[ft] = linters
|
||||
else
|
||||
vim.list_extend(opts.linters_by_ft[ft], linters)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
add_linters({
|
||||
["go"] = { "golangcilint" },
|
||||
["gomod"] = { "golangcilint" },
|
||||
["gowork"] = { "golangcilint" },
|
||||
})
|
||||
|
||||
return opts
|
||||
end,
|
||||
},
|
||||
{
|
||||
"luckasRanarison/nvim-devdocs",
|
||||
optional = true,
|
||||
opts = {
|
||||
ensure_installed = {
|
||||
"go",
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
12
nvim/lua/plugins/extras/lang/haskell.lua
Normal file
12
nvim/lua/plugins/extras/lang/haskell.lua
Normal file
@@ -0,0 +1,12 @@
|
||||
return {
|
||||
{ import = "lazyvim.plugins.extras.lang.haskell" },
|
||||
{
|
||||
"luckasRanarison/nvim-devdocs",
|
||||
optional = true,
|
||||
opts = {
|
||||
ensure_installed = {
|
||||
"haskell-9",
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
11
nvim/lua/plugins/extras/lang/json-extended.lua
Normal file
11
nvim/lua/plugins/extras/lang/json-extended.lua
Normal file
@@ -0,0 +1,11 @@
|
||||
return {
|
||||
{ import = "lazyvim.plugins.extras.lang.json" },
|
||||
{
|
||||
"gennaro-tedesco/nvim-jqx",
|
||||
ft = { "json", "yaml" },
|
||||
cmd = { "JqxList", "JqxQuery" },
|
||||
keys = {
|
||||
{ "<leader>cj", ft = { "json", "yaml" }, "<cmd>JqxList<cr>", desc = "Jqx List" },
|
||||
},
|
||||
},
|
||||
}
|
||||
44
nvim/lua/plugins/extras/lang/julia.lua
Normal file
44
nvim/lua/plugins/extras/lang/julia.lua
Normal file
@@ -0,0 +1,44 @@
|
||||
return {
|
||||
{
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
opts = {
|
||||
ensure_installed = {
|
||||
"julia",
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
"neovim/nvim-lspconfig",
|
||||
opts = {
|
||||
servers = {
|
||||
julials = {},
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
"williamboman/mason.nvim",
|
||||
opts = {
|
||||
ensure_installed = {
|
||||
"julia-lsp",
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
"hrsh7th/nvim-cmp",
|
||||
dependencies = {
|
||||
"amarakon/nvim-cmp-lua-latex-symbols",
|
||||
},
|
||||
opts = function(_, opts)
|
||||
table.insert(opts.sources, { name = "lua-latex-symbols", option = { cache = true } })
|
||||
end,
|
||||
},
|
||||
{
|
||||
"luckasRanarison/nvim-devdocs",
|
||||
optional = true,
|
||||
opts = {
|
||||
ensure_installed = {
|
||||
"julia",
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
59
nvim/lua/plugins/extras/lang/markdown-extended.lua
Normal file
59
nvim/lua/plugins/extras/lang/markdown-extended.lua
Normal file
@@ -0,0 +1,59 @@
|
||||
local filetype = { "markdown", "text", "tex", "plaintex", "norg" }
|
||||
|
||||
return {
|
||||
{ import = "lazyvim.plugins.extras.lang.markdown" },
|
||||
{
|
||||
"gaoDean/autolist.nvim",
|
||||
enabled = false,
|
||||
ft = filetype,
|
||||
opts = {},
|
||||
keys = {
|
||||
{ "<CR>", "<CR><cmd>AutolistNewBullet<cr>", mode = { "i" }, ft = filetype },
|
||||
{ "o", "o<cmd>AutolistNewBullet<cr>", mode = { "n" }, ft = filetype },
|
||||
{ "O", "O<cmd>AutolistNewBulletBefore<cr>", mode = { "n" }, ft = filetype },
|
||||
{ "<CR>", "<cmd>AutolistToggleCheckbox<cr><CR>", mode = { "n" }, ft = filetype },
|
||||
{ "<C-r>", "<cmd>AutolistRecalculate<cr>", mode = { "n" }, ft = filetype },
|
||||
|
||||
{ "].", "<cmd>AutolistCycleNext<cr>", mode = { "n" }, desc = "Next List Type", ft = filetype },
|
||||
{ "[.", "<cmd>AutolistCyclePrev<cr>", mode = { "n" }, desc = "Prev List Type", ft = filetype },
|
||||
|
||||
{ ">>", ">><cmd>AutolistRecalculate<cr>", mode = { "n" }, ft = filetype },
|
||||
{ "<<", "<<<cmd>AutolistRecalculate<cr>", mode = { "n" }, ft = filetype },
|
||||
{ "dd", "dd<cmd>AutolistRecalculate<cr>", mode = { "n" }, ft = filetype },
|
||||
{ "d", "d<cmd>AutolistRecalculate<cr>", mode = { "v" }, ft = filetype },
|
||||
},
|
||||
},
|
||||
{
|
||||
"antonk52/markdowny.nvim",
|
||||
enabled = false,
|
||||
ft = filetype,
|
||||
opts = {
|
||||
filetypes = filetype,
|
||||
},
|
||||
},
|
||||
{
|
||||
"mfussenegger/nvim-lint",
|
||||
opts = {
|
||||
linters = {
|
||||
["markdownlint-cli2"] = {
|
||||
prepend_args = { "--config", os.getenv("HOME") .. "/.config/nvim/rules/.markdownlint-cli2.yaml", "--" },
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
"MeanderingProgrammer/render-markdown.nvim",
|
||||
opts = {
|
||||
preset = "lazy",
|
||||
},
|
||||
},
|
||||
{
|
||||
"luckasRanarison/nvim-devdocs",
|
||||
optional = true,
|
||||
opts = {
|
||||
ensure_installed = {
|
||||
"markdown",
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
20
nvim/lua/plugins/extras/lang/nix-extended.lua
Normal file
20
nvim/lua/plugins/extras/lang/nix-extended.lua
Normal file
@@ -0,0 +1,20 @@
|
||||
return {
|
||||
{ import = "lazyvim.plugins.extras.lang.nix" },
|
||||
{
|
||||
"mfussenegger/nvim-lint",
|
||||
opts = function(_, opts)
|
||||
opts.linters_by_ft.nix = opts.linters_by_ft.nix or {}
|
||||
table.insert(opts.linters_by_ft.nix, "statix")
|
||||
return opts
|
||||
end,
|
||||
},
|
||||
{
|
||||
"luckasRanarison/nvim-devdocs",
|
||||
optional = true,
|
||||
opts = {
|
||||
ensure_installed = {
|
||||
"nix",
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
15
nvim/lua/plugins/extras/lang/omnisharp-extended.lua
Normal file
15
nvim/lua/plugins/extras/lang/omnisharp-extended.lua
Normal file
@@ -0,0 +1,15 @@
|
||||
return {
|
||||
{ import = "lazyvim.plugins.extras.lang.omnisharp" },
|
||||
{
|
||||
"nvim-neotest/neotest",
|
||||
optional = true,
|
||||
dependencies = {
|
||||
"Issafalcon/neotest-dotnet",
|
||||
},
|
||||
opts = {
|
||||
adapters = {
|
||||
["neotest-dotnet"] = {},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
10
nvim/lua/plugins/extras/lang/pkl.lua
Normal file
10
nvim/lua/plugins/extras/lang/pkl.lua
Normal file
@@ -0,0 +1,10 @@
|
||||
return {
|
||||
"apple/pkl-neovim",
|
||||
dependencies = {
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
},
|
||||
build = function()
|
||||
vim.cmd("TSInstall! pkl")
|
||||
end,
|
||||
event = "BufRead *.pkl",
|
||||
}
|
||||
113
nvim/lua/plugins/extras/lang/python-extended.lua
Normal file
113
nvim/lua/plugins/extras/lang/python-extended.lua
Normal file
@@ -0,0 +1,113 @@
|
||||
local package_prefix = "<leader>pp"
|
||||
|
||||
-- LSP Server to use for Python.
|
||||
-- Set to "basedpyright" to use basedpyright instead of pyright.
|
||||
vim.g.lazyvim_python_lsp = "basedpyright"
|
||||
vim.g.lazyvim_python_ruff = "ruff"
|
||||
|
||||
return {
|
||||
{ import = "lazyvim.plugins.extras.lang.python" },
|
||||
{
|
||||
"neovim/nvim-lspconfig",
|
||||
opts = {
|
||||
servers = {
|
||||
---@type lspconfig.options.basedpyright
|
||||
basedpyright = {
|
||||
settings = {
|
||||
basedpyright = {
|
||||
analysis = {
|
||||
diagnosticSeverityOverrides = {
|
||||
reportUnusedCallResult = "information",
|
||||
reportUnusedExpression = "information",
|
||||
reportUnknownMemberType = "none",
|
||||
reportUnknownLambdaType = "none",
|
||||
reportUnknownParameterType = "none",
|
||||
reportMissingParameterType = "none",
|
||||
reportUnknownVariableType = "none",
|
||||
reportUnknownArgumentType = "none",
|
||||
reportAny = "none",
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
---@type lspconfig.options.pyright
|
||||
pyright = {
|
||||
settings = {
|
||||
verboseOutput = true,
|
||||
autoImportCompletion = true,
|
||||
python = {
|
||||
analysis = {
|
||||
diagnosticSeverityOverrides = {
|
||||
reportWildcardImportFromLibrary = "none",
|
||||
reportUnusedImport = "information",
|
||||
reportUnusedClass = "information",
|
||||
reportUnusedFunction = "information",
|
||||
},
|
||||
typeCheckingMode = "strict",
|
||||
autoSearchPaths = true,
|
||||
useLibraryCodeForTypes = true,
|
||||
diagnosticMode = "openFilesOnly",
|
||||
indexing = true,
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
[vim.g.lazyvim_python_ruff] = {
|
||||
handlers = {
|
||||
["textDocument/publishDiagnostics"] = function() end,
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
opts = {
|
||||
ensure_installed = {
|
||||
"requirements",
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
"MeanderingProgrammer/py-requirements.nvim",
|
||||
event = {
|
||||
"BufRead requirements.txt",
|
||||
},
|
||||
dependencies = {
|
||||
{ "nvim-lua/plenary.nvim" },
|
||||
{
|
||||
"hrsh7th/nvim-cmp",
|
||||
dependencies = {},
|
||||
opts = function(_, opts)
|
||||
table.insert(opts.sources, { name = "py-requirements" })
|
||||
end,
|
||||
},
|
||||
},
|
||||
opts = {},
|
||||
-- stylua: ignore
|
||||
keys = {
|
||||
{ package_prefix .. "u", function() require("py-requirements").upgrade() end, desc = "Update Package" },
|
||||
{ package_prefix .. "i", function() require("py-requirements").show_description() end, desc = "Package Info" },
|
||||
{ package_prefix .. "a", function() require("py-requirements").upgrade_all() end, desc = "Update All Packages" },
|
||||
},
|
||||
},
|
||||
{
|
||||
"folke/which-key.nvim",
|
||||
opts = {
|
||||
spec = {
|
||||
{ "<leader>p", group = "packages/dependencies", icon = " " },
|
||||
{ package_prefix, group = "python", icon = " " },
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
"luckasRanarison/nvim-devdocs",
|
||||
optional = true,
|
||||
opts = {
|
||||
ensure_installed = {
|
||||
"python-3.11",
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
57
nvim/lua/plugins/extras/lang/rust-extended.lua
Normal file
57
nvim/lua/plugins/extras/lang/rust-extended.lua
Normal file
@@ -0,0 +1,57 @@
|
||||
local package_prefix = "<leader>pr"
|
||||
|
||||
return {
|
||||
{ import = "lazyvim.plugins.extras.lang.rust" },
|
||||
{
|
||||
"stevearc/conform.nvim",
|
||||
opts = function(_, opts)
|
||||
opts.formatters_by_ft.toml = opts.formatters_by_ft.toml or {}
|
||||
table.insert(opts.formatters_by_ft.toml, "taplo")
|
||||
|
||||
opts.formatters_by_ft.rust = opts.formatters_by_ft.rust or {}
|
||||
table.insert(opts.formatters_by_ft.rust, "rustfmt")
|
||||
return opts
|
||||
end,
|
||||
},
|
||||
{
|
||||
"Saecki/crates.nvim",
|
||||
-- stylua: ignore
|
||||
keys = {
|
||||
{ package_prefix .. "R", function() require("crates").reload() end, desc = "Reload" },
|
||||
|
||||
{ package_prefix .. "u", function() require("crates").update_crate() end, desc = "Update Crate" },
|
||||
{ package_prefix .. "u", mode = "v", function() require("crates").update_crates() end, desc = "Update Crates" },
|
||||
{ package_prefix .. "a", function() require("crates").update_all_crates() end, desc = "Update All Crates" },
|
||||
|
||||
{ package_prefix .. "U", function() require("crates").upgrade_crate() end, desc = "Upgrade Crate" },
|
||||
{ package_prefix .. "U", mode = "v", function() require("crates").upgrade_crates() end, desc = "Upgrade Crates" },
|
||||
{ package_prefix .. "A", function() require("crates").upgrade_all_crates() end, desc = "Upgrade All Crates" },
|
||||
|
||||
{ package_prefix .. "t", function() require("crates").expand_plain_crate_to_inline_table() end, desc = "Extract into Inline Table" },
|
||||
{ package_prefix .. "T", function() require("crates").extract_crate_into_table() end, desc = "Extract into Table" },
|
||||
|
||||
{ package_prefix .. "h", function() require("crates").open_homepage() end, desc = "Homepage" },
|
||||
{ package_prefix .. "r", function() require("crates").open_repository() end, desc = "Repo" },
|
||||
{ package_prefix .. "d", function() require("crates").open_documentation() end, desc = "Documentation" },
|
||||
{ package_prefix .. "c", function() require("crates").open_crates_io() end, desc = "Crates.io" },
|
||||
},
|
||||
},
|
||||
{
|
||||
"folke/which-key.nvim",
|
||||
opts = {
|
||||
spec = {
|
||||
{ "<leader>p", group = "packages/dependencies", icon = " " },
|
||||
{ package_prefix, group = "rust", icon = " " },
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
"luckasRanarison/nvim-devdocs",
|
||||
optional = true,
|
||||
opts = {
|
||||
ensure_installed = {
|
||||
"rust",
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
23
nvim/lua/plugins/extras/lang/sql-extended.lua
Normal file
23
nvim/lua/plugins/extras/lang/sql-extended.lua
Normal file
@@ -0,0 +1,23 @@
|
||||
local prefix = "<leader>D"
|
||||
|
||||
return {
|
||||
{ import = "lazyvim.plugins.extras.lang.sql" },
|
||||
{
|
||||
"neovim/nvim-lspconfig",
|
||||
opts = {
|
||||
servers = {
|
||||
sqlls = {},
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
"luckasRanarison/nvim-devdocs",
|
||||
optional = true,
|
||||
opts = {
|
||||
ensure_installed = {
|
||||
"sqlite",
|
||||
"postgresql-16",
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
14
nvim/lua/plugins/extras/lang/web/angular-extended.lua
Normal file
14
nvim/lua/plugins/extras/lang/web/angular-extended.lua
Normal file
@@ -0,0 +1,14 @@
|
||||
return {
|
||||
{ import = "plugins.extras.lang.web.typescript-extended" },
|
||||
{ import = "plugins.extras.lang.web.html-css" },
|
||||
{ import = "lazyvim.plugins.extras.lang.angular" },
|
||||
{
|
||||
"luckasRanarison/nvim-devdocs",
|
||||
optional = true,
|
||||
opts = {
|
||||
ensure_installed = {
|
||||
"angular",
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
51
nvim/lua/plugins/extras/lang/web/astro-extended.lua
Normal file
51
nvim/lua/plugins/extras/lang/web/astro-extended.lua
Normal file
@@ -0,0 +1,51 @@
|
||||
local inlay_hints_settings = {
|
||||
parameterNames = { enabled = "all" },
|
||||
parameterTypes = { enabled = true },
|
||||
variableTypes = { enabled = true },
|
||||
propertyDeclarationTypes = { enabled = true },
|
||||
functionLikeReturnTypes = { enabled = true },
|
||||
enumMemberValues = { enabled = true },
|
||||
}
|
||||
|
||||
return {
|
||||
{ import = "lazyvim.plugins.extras.lang.astro" },
|
||||
{ import = "plugins.extras.lang.web.typescript-extended" },
|
||||
{
|
||||
"neovim/nvim-lspconfig",
|
||||
opts = {
|
||||
servers = {
|
||||
astro = {
|
||||
settings = {
|
||||
typescript = {
|
||||
updateImportsOnFileMove = { enabled = "always" },
|
||||
inlayHints = inlay_hints_settings,
|
||||
},
|
||||
javascript = {
|
||||
updateImportsOnFileMove = { enabled = "always" },
|
||||
inlayHints = inlay_hints_settings,
|
||||
},
|
||||
},
|
||||
handlers = {
|
||||
["textDocument/publishDiagnostics"] = function(err, result, ctx, config)
|
||||
require("ts-error-translator").translate_diagnostics(err, result, ctx, config)
|
||||
vim.lsp.diagnostic.on_publish_diagnostics(err, result, ctx, config)
|
||||
end,
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
"dmmulroy/ts-error-translator.nvim",
|
||||
opts = {},
|
||||
},
|
||||
{
|
||||
"luckasRanarison/nvim-devdocs",
|
||||
optional = true,
|
||||
opts = {
|
||||
ensure_installed = {
|
||||
"astro",
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
22
nvim/lua/plugins/extras/lang/web/graphql.lua
Normal file
22
nvim/lua/plugins/extras/lang/web/graphql.lua
Normal file
@@ -0,0 +1,22 @@
|
||||
return {
|
||||
{ import = "plugins.extras.lang.web.typescript-extended" },
|
||||
{
|
||||
"williamboman/mason.nvim",
|
||||
opts = {
|
||||
ensure_installed = {
|
||||
"graphql-language-service-cli",
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
"neovim/nvim-lspconfig",
|
||||
dependencies = {},
|
||||
opts = {
|
||||
servers = {
|
||||
graphql = {
|
||||
filetypes = { "graphql", "javascript", "javascriptreact", "typescript", "typescriptreact" },
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
99
nvim/lua/plugins/extras/lang/web/html-css.lua
Normal file
99
nvim/lua/plugins/extras/lang/web/html-css.lua
Normal file
@@ -0,0 +1,99 @@
|
||||
return {
|
||||
{
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
opts = {
|
||||
ensure_installed = {
|
||||
"html",
|
||||
"css",
|
||||
"scss",
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
"neovim/nvim-lspconfig",
|
||||
opts = {
|
||||
servers = {
|
||||
emmet_language_server = {},
|
||||
html = {},
|
||||
cssmodules_ls = {},
|
||||
css_variables = {},
|
||||
cssls = {
|
||||
lint = {
|
||||
compatibleVendorPrefixes = "ignore",
|
||||
vendorPrefix = "ignore",
|
||||
unknownVendorSpecificProperties = "ignore",
|
||||
|
||||
-- unknownProperties = "ignore", -- duplicate with stylelint
|
||||
|
||||
duplicateProperties = "warning",
|
||||
emptyRules = "warning",
|
||||
importStatement = "warning",
|
||||
zeroUnits = "warning",
|
||||
fontFaceProperties = "warning",
|
||||
hexColorLength = "warning",
|
||||
argumentsInColorFunction = "warning",
|
||||
unknownAtRules = "warning",
|
||||
ieHack = "warning",
|
||||
propertyIgnoredDueToDisplay = "warning",
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
"williamboman/mason.nvim",
|
||||
opts = {
|
||||
ensure_installed = {
|
||||
"emmet-language-server",
|
||||
"html-lsp",
|
||||
"cssmodules-language-server",
|
||||
"css-variables-language-server",
|
||||
"css-lsp",
|
||||
"htmlhint",
|
||||
"stylelint",
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
"mfussenegger/nvim-lint",
|
||||
opts = function(_, opts)
|
||||
local stylelint = "stylelint"
|
||||
|
||||
local function add_linters(tbl)
|
||||
for ft, linters in pairs(tbl) do
|
||||
if opts.linters_by_ft[ft] == nil then
|
||||
opts.linters_by_ft[ft] = linters
|
||||
else
|
||||
vim.list_extend(opts.linters_by_ft[ft], linters)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
add_linters({
|
||||
["html"] = { "htmlhint" },
|
||||
["css"] = { stylelint },
|
||||
["scss"] = { stylelint },
|
||||
["less"] = { stylelint },
|
||||
["sugarss"] = { stylelint },
|
||||
["vue"] = { stylelint },
|
||||
["wxss"] = { stylelint },
|
||||
["javascript"] = { stylelint },
|
||||
["javascriptreact"] = { stylelint },
|
||||
["typescript"] = { stylelint },
|
||||
["typescriptreact"] = { stylelint },
|
||||
})
|
||||
return opts
|
||||
end,
|
||||
},
|
||||
{
|
||||
"luckasRanarison/nvim-devdocs",
|
||||
optional = true,
|
||||
opts = {
|
||||
ensure_installed = {
|
||||
"html",
|
||||
"css",
|
||||
"sass",
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
18
nvim/lua/plugins/extras/lang/web/htmx.lua
Normal file
18
nvim/lua/plugins/extras/lang/web/htmx.lua
Normal file
@@ -0,0 +1,18 @@
|
||||
return {
|
||||
{
|
||||
"neovim/nvim-lspconfig",
|
||||
opts = {
|
||||
servers = {
|
||||
htmx = {},
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
"williamboman/mason.nvim",
|
||||
opts = {
|
||||
ensure_installed = {
|
||||
"htmx-lsp",
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
32
nvim/lua/plugins/extras/lang/web/php-extended.lua
Normal file
32
nvim/lua/plugins/extras/lang/web/php-extended.lua
Normal file
@@ -0,0 +1,32 @@
|
||||
return {
|
||||
{ import = "lazyvim.plugins.extras.lang.php" },
|
||||
{
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
opts = {
|
||||
ensure_installed = {
|
||||
"phpdoc",
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
"nvim-neotest/neotest",
|
||||
optional = true,
|
||||
dependencies = {
|
||||
"olimorris/neotest-phpunit",
|
||||
},
|
||||
opts = {
|
||||
adapters = {
|
||||
["neotest-phpunit"] = {},
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
"luckasRanarison/nvim-devdocs",
|
||||
optional = true,
|
||||
opts = {
|
||||
ensure_installed = {
|
||||
"php",
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
51
nvim/lua/plugins/extras/lang/web/svelte-extended.lua
Normal file
51
nvim/lua/plugins/extras/lang/web/svelte-extended.lua
Normal file
@@ -0,0 +1,51 @@
|
||||
local inlay_hints_settings = {
|
||||
parameterNames = { enabled = "all" },
|
||||
parameterTypes = { enabled = true },
|
||||
variableTypes = { enabled = true },
|
||||
propertyDeclarationTypes = { enabled = true },
|
||||
functionLikeReturnTypes = { enabled = true },
|
||||
enumMemberValues = { enabled = true },
|
||||
}
|
||||
|
||||
return {
|
||||
{ import = "lazyvim.plugins.extras.lang.svelte" },
|
||||
{ import = "plugins.extras.lang.web.typescript-extended" },
|
||||
{
|
||||
"neovim/nvim-lspconfig",
|
||||
opts = {
|
||||
servers = {
|
||||
svelte = {
|
||||
settings = {
|
||||
typescript = {
|
||||
updateImportsOnFileMove = { enabled = "always" },
|
||||
inlayHints = inlay_hints_settings,
|
||||
},
|
||||
javascript = {
|
||||
updateImportsOnFileMove = { enabled = "always" },
|
||||
inlayHints = inlay_hints_settings,
|
||||
},
|
||||
},
|
||||
handlers = {
|
||||
["textDocument/publishDiagnostics"] = function(err, result, ctx, config)
|
||||
require("ts-error-translator").translate_diagnostics(err, result, ctx, config)
|
||||
vim.lsp.diagnostic.on_publish_diagnostics(err, result, ctx, config)
|
||||
end,
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
"dmmulroy/ts-error-translator.nvim",
|
||||
opts = {},
|
||||
},
|
||||
{
|
||||
"luckasRanarison/nvim-devdocs",
|
||||
optional = true,
|
||||
opts = {
|
||||
ensure_installed = {
|
||||
"svelte",
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
20
nvim/lua/plugins/extras/lang/web/tailwind-extended.lua
Normal file
20
nvim/lua/plugins/extras/lang/web/tailwind-extended.lua
Normal file
@@ -0,0 +1,20 @@
|
||||
return {
|
||||
{ import = "lazyvim.plugins.extras.lang.tailwind" },
|
||||
{ import = "plugins.extras.ui.inline-fold" },
|
||||
{
|
||||
"MaximilianLloyd/tw-values.nvim",
|
||||
keys = {
|
||||
{ "<leader>cT", "<cmd>TWValues<cr>", desc = "Tailwind CSS values" },
|
||||
},
|
||||
opts = {},
|
||||
},
|
||||
{
|
||||
"luckasRanarison/nvim-devdocs",
|
||||
optional = true,
|
||||
opts = {
|
||||
ensure_installed = {
|
||||
"tailwindcss",
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
104
nvim/lua/plugins/extras/lang/web/typescript-extended.lua
Normal file
104
nvim/lua/plugins/extras/lang/web/typescript-extended.lua
Normal file
@@ -0,0 +1,104 @@
|
||||
return {
|
||||
{ import = "lazyvim.plugins.extras.lang.typescript" },
|
||||
{ import = "plugins.extras.lang.json-extended" },
|
||||
{
|
||||
"neovim/nvim-lspconfig",
|
||||
opts = {
|
||||
servers = {
|
||||
vtsls = {
|
||||
handlers = {
|
||||
["textDocument/publishDiagnostics"] = function(err, result, ctx, config)
|
||||
require("ts-error-translator").translate_diagnostics(err, result, ctx, config)
|
||||
vim.lsp.diagnostic.on_publish_diagnostics(err, result, ctx, config)
|
||||
end,
|
||||
},
|
||||
init_options = {
|
||||
preferences = {
|
||||
disableSuggestions = true,
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
opts = {
|
||||
ensure_installed = {
|
||||
"javascript",
|
||||
"jsdoc",
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
"dmmulroy/tsc.nvim",
|
||||
opts = {
|
||||
auto_start_watch_mode = false,
|
||||
use_trouble_qflist = true,
|
||||
flags = {
|
||||
watch = false,
|
||||
},
|
||||
},
|
||||
keys = {
|
||||
{ "<leader>ct", ft = { "typescript", "typescriptreact" }, "<cmd>TSC<cr>", desc = "Type Check" },
|
||||
{ "<leader>xy", ft = { "typescript", "typescriptreact" }, "<cmd>TSCOpen<cr>", desc = "Type Check Quickfix" },
|
||||
},
|
||||
ft = {
|
||||
"typescript",
|
||||
"typescriptreact",
|
||||
},
|
||||
cmd = {
|
||||
"TSC",
|
||||
"TSCOpen",
|
||||
"TSCClose",
|
||||
"TSStop",
|
||||
},
|
||||
},
|
||||
{
|
||||
"dmmulroy/ts-error-translator.nvim",
|
||||
opts = {},
|
||||
},
|
||||
{
|
||||
"nvim-neotest/neotest",
|
||||
optional = true,
|
||||
dependencies = {
|
||||
"nvim-neotest/neotest-jest",
|
||||
"adrigzr/neotest-mocha",
|
||||
"marilari88/neotest-vitest",
|
||||
},
|
||||
opts = {
|
||||
adapters = {
|
||||
["neotest-jest"] = {
|
||||
jestCommand = "npm test --",
|
||||
jestConfigFile = "custom.jest.config.ts",
|
||||
env = { CI = true },
|
||||
cwd = function()
|
||||
return vim.fn.getcwd()
|
||||
end,
|
||||
},
|
||||
["neotest-mocha"] = {
|
||||
command = "npm test --",
|
||||
env = { CI = true },
|
||||
cwd = function()
|
||||
return vim.fn.getcwd()
|
||||
end,
|
||||
},
|
||||
["neotest-vitest"] = {},
|
||||
},
|
||||
},
|
||||
-- stylua: ignore
|
||||
keys = {
|
||||
{ "<leader>tw", function() require('neotest').run.run({ jestCommand = 'jest --watch ' }) end, desc = "Run Watch" },
|
||||
},
|
||||
},
|
||||
{
|
||||
"luckasRanarison/nvim-devdocs",
|
||||
optional = true,
|
||||
opts = {
|
||||
ensure_installed = {
|
||||
"react",
|
||||
"typescript",
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
38
nvim/lua/plugins/extras/lang/web/vue-2.lua
Normal file
38
nvim/lua/plugins/extras/lang/web/vue-2.lua
Normal file
@@ -0,0 +1,38 @@
|
||||
return {
|
||||
{
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
opts = {
|
||||
ensure_installed = {
|
||||
"vue",
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
"neovim/nvim-lspconfig",
|
||||
opts = {
|
||||
servers = {
|
||||
vuels = {},
|
||||
volar = {
|
||||
enabled = false,
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
"williamboman/mason.nvim",
|
||||
opts = {
|
||||
ensure_installed = {
|
||||
"vetur-vls",
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
"luckasRanarison/nvim-devdocs",
|
||||
optional = true,
|
||||
opts = {
|
||||
ensure_installed = {
|
||||
"vue-2",
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
51
nvim/lua/plugins/extras/lang/web/vue-3-extended.lua
Normal file
51
nvim/lua/plugins/extras/lang/web/vue-3-extended.lua
Normal file
@@ -0,0 +1,51 @@
|
||||
local inlay_hints_settings = {
|
||||
parameterNames = { enabled = "all" },
|
||||
parameterTypes = { enabled = true },
|
||||
variableTypes = { enabled = true },
|
||||
propertyDeclarationTypes = { enabled = true },
|
||||
functionLikeReturnTypes = { enabled = true },
|
||||
enumMemberValues = { enabled = true },
|
||||
}
|
||||
|
||||
return {
|
||||
{ import = "lazyvim.plugins.extras.lang.vue" },
|
||||
{ import = "plugins.extras.lang.web.typescript-extended" },
|
||||
{
|
||||
"neovim/nvim-lspconfig",
|
||||
opts = {
|
||||
servers = {
|
||||
volar = {
|
||||
settings = {
|
||||
typescript = {
|
||||
updateImportsOnFileMove = { enabled = "always" },
|
||||
inlayHints = inlay_hints_settings,
|
||||
},
|
||||
javascript = {
|
||||
updateImportsOnFileMove = { enabled = "always" },
|
||||
inlayHints = inlay_hints_settings,
|
||||
},
|
||||
},
|
||||
handlers = {
|
||||
["textDocument/publishDiagnostics"] = function(err, result, ctx, config)
|
||||
require("ts-error-translator").translate_diagnostics(err, result, ctx, config)
|
||||
vim.lsp.diagnostic.on_publish_diagnostics(err, result, ctx, config)
|
||||
end,
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
"dmmulroy/ts-error-translator.nvim",
|
||||
opts = {},
|
||||
},
|
||||
{
|
||||
"luckasRanarison/nvim-devdocs",
|
||||
optional = true,
|
||||
opts = {
|
||||
ensure_installed = {
|
||||
"vue-3",
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
26
nvim/lua/plugins/extras/lang/xml.lua
Normal file
26
nvim/lua/plugins/extras/lang/xml.lua
Normal file
@@ -0,0 +1,26 @@
|
||||
return {
|
||||
{
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
opts = {
|
||||
ensure_installed = {
|
||||
"xml",
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
"neovim/nvim-lspconfig",
|
||||
opts = {
|
||||
servers = {
|
||||
lemminx = {},
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
"williamboman/mason.nvim",
|
||||
opts = {
|
||||
ensure_installed = {
|
||||
"lemminx",
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
53
nvim/lua/plugins/extras/lang/zig.lua
Normal file
53
nvim/lua/plugins/extras/lang/zig.lua
Normal file
@@ -0,0 +1,53 @@
|
||||
return {
|
||||
{ import = "lazyvim.plugins.extras.lang.zig" },
|
||||
{
|
||||
"williamboman/mason.nvim",
|
||||
opts = {
|
||||
ensure_installed = {
|
||||
"codelldb",
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
"mfussenegger/nvim-dap",
|
||||
optional = true,
|
||||
opts = function()
|
||||
local dap = require("dap")
|
||||
dap.configurations.zig = {
|
||||
{
|
||||
name = "Zig Run",
|
||||
type = "codelldb",
|
||||
request = "launch",
|
||||
program = function()
|
||||
os.execute("zig build")
|
||||
local command = "find ! -type d -path './zig-out/bin/*' | grep -v 'Test' | sed 's#.*/##'"
|
||||
local bin_location = io.popen(command, "r")
|
||||
if bin_location ~= nil then
|
||||
return "zig-out/bin/" .. bin_location:read("*a"):gsub("[\n\r]", "")
|
||||
else
|
||||
return ""
|
||||
end
|
||||
end,
|
||||
cwd = "${workspaceFolder}",
|
||||
stopOnEntry = false,
|
||||
args = function()
|
||||
local argv = {}
|
||||
arg = vim.fn.input(string.format("Arguments: "))
|
||||
for a in string.gmatch(arg, "%S+") do
|
||||
table.insert(argv, a)
|
||||
end
|
||||
return argv
|
||||
end,
|
||||
},
|
||||
}
|
||||
end,
|
||||
},
|
||||
{
|
||||
"stevearc/conform.nvim",
|
||||
opts = function(_, opts)
|
||||
opts.formatters_by_ft.python = opts.formatters_by_ft.python or {}
|
||||
table.insert(opts.formatters_by_ft.python, "zigfmt")
|
||||
return opts
|
||||
end,
|
||||
},
|
||||
}
|
||||
Reference in New Issue
Block a user