minified test
This commit is contained in:
parent
197da90492
commit
d5b6a69f9a
8 changed files with 105 additions and 61 deletions
|
|
@ -50,6 +50,30 @@ end
|
|||
|
||||
return {
|
||||
"stevearc/conform.nvim",
|
||||
init = function()
|
||||
-- Check for common formatters and warn if missing
|
||||
local formatters_to_check = {
|
||||
{ cmd = "stylua", desc = "Lua formatting" },
|
||||
{ cmd = "nixfmt", desc = "Nix formatting" },
|
||||
{ cmd = "prettier", desc = "JS/TS/Svelte formatting (alternative: prettierd)" },
|
||||
{ cmd = "rustywind", desc = "Tailwind class sorting" },
|
||||
{ cmd = "markdownlint-cli2", desc = "Markdown formatting" },
|
||||
{ cmd = "sql-formatter", desc = "SQL formatting" },
|
||||
{ cmd = "rustfmt", desc = "Rust formatting" },
|
||||
}
|
||||
|
||||
for _, formatter in ipairs(formatters_to_check) do
|
||||
if not U.cmd_executable(formatter.cmd) then
|
||||
-- Only warn once on startup, not on every format attempt
|
||||
vim.schedule(function()
|
||||
vim.notify(
|
||||
string.format("Formatter '%s' not found. Used for: %s", formatter.cmd, formatter.desc),
|
||||
vim.log.levels.WARN
|
||||
)
|
||||
end)
|
||||
end
|
||||
end
|
||||
end,
|
||||
opts = {
|
||||
-- https://github.com/stevearc/conform.nvim?tab=readme-ov-file#setup
|
||||
notify_on_error = true,
|
||||
|
|
|
|||
|
|
@ -2,6 +2,24 @@
|
|||
return {
|
||||
"mfussenegger/nvim-lint",
|
||||
event = { "VeryLazy", "BufWritePost", "BufReadPost", "InsertLeave" },
|
||||
init = function()
|
||||
-- Check for common linters and warn if missing
|
||||
local linters_to_check = {
|
||||
{ cmd = "markdownlint", desc = "Markdown linting" },
|
||||
{ cmd = "biome", desc = "JS/TS linting" },
|
||||
}
|
||||
|
||||
for _, linter in ipairs(linters_to_check) do
|
||||
if not U.cmd_executable(linter.cmd) then
|
||||
vim.schedule(function()
|
||||
vim.notify(
|
||||
string.format("Linter '%s' not found. Used for: %s", linter.cmd, linter.desc),
|
||||
vim.log.levels.WARN
|
||||
)
|
||||
end)
|
||||
end
|
||||
end
|
||||
end,
|
||||
opts = {
|
||||
-- Event to trigger linters
|
||||
events = { "BufWritePost", "BufReadPost", "InsertLeave", "CursorHold", "CursorHoldI" },
|
||||
|
|
|
|||
|
|
@ -219,7 +219,16 @@ return {
|
|||
for _, server_name in ipairs(lsp_servers) do
|
||||
local server_opts = servers[server_name] or {}
|
||||
vim.lsp.config(server_name, server_opts)
|
||||
vim.lsp.enable(server_name)
|
||||
-- Try to enable LSP and show helpful error if server not found
|
||||
local ok, err = pcall(function()
|
||||
vim.lsp.enable(server_name)
|
||||
end)
|
||||
if not ok then
|
||||
vim.notify(
|
||||
string.format("LSP '%s' failed to start. Install it in your project devShell.\nError: %s", server_name, err),
|
||||
vim.log.levels.ERROR
|
||||
)
|
||||
end
|
||||
end
|
||||
else
|
||||
-- TODO test this out on a non nix setup...
|
||||
|
|
|
|||
|
|
@ -1,5 +1,14 @@
|
|||
return {
|
||||
"lnc3l0t/glow.nvim",
|
||||
init = function()
|
||||
-- Check if glow is available
|
||||
if not U.cmd_executable("glow") then
|
||||
vim.notify(
|
||||
"'glow' not found on PATH. Required for markdown preview with :Glow",
|
||||
vim.log.levels.INFO
|
||||
)
|
||||
end
|
||||
end,
|
||||
opts = {
|
||||
default_type = "keep",
|
||||
},
|
||||
|
|
|
|||
|
|
@ -1,5 +1,14 @@
|
|||
return {
|
||||
"nosduco/remote-sshfs.nvim",
|
||||
init = function()
|
||||
-- Check if sshfs is available
|
||||
if not U.cmd_executable("sshfs") then
|
||||
vim.notify(
|
||||
"'sshfs' not found on PATH. Required for RemoteSSHFS commands",
|
||||
vim.log.levels.INFO
|
||||
)
|
||||
end
|
||||
end,
|
||||
cmd = {
|
||||
"RemoteSshfs",
|
||||
"RemoteSSHFSConnect",
|
||||
|
|
|
|||
|
|
@ -7,11 +7,17 @@ return {
|
|||
{ "aznhe21/actions-preview.nvim", event = "VeryLazy" },
|
||||
},
|
||||
init = function()
|
||||
-- Check for essential telescope tools
|
||||
U.cmd_executable("rg", {
|
||||
[false] = function()
|
||||
vim.notify("rg not installed, live grep will not function.", 2)
|
||||
vim.notify("'rg' (ripgrep) not found. Required for telescope live grep. Install it in your environment.", vim.log.levels.ERROR)
|
||||
end,
|
||||
})
|
||||
|
||||
-- fd is optional but improves file finding performance
|
||||
if not U.cmd_executable("fd") then
|
||||
vim.notify("'fd' not found. Telescope will use 'find' instead (slower). Consider installing fd.", vim.log.levels.INFO)
|
||||
end
|
||||
end,
|
||||
cmd = "Telescope",
|
||||
opts = function()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue