diff --git a/flake.lock b/flake.lock index 1658efc..93af7df 100644 --- a/flake.lock +++ b/flake.lock @@ -495,22 +495,6 @@ "type": "github" } }, - "nvim_plugin-nosduco/remote-sshfs.nvim": { - "flake": false, - "locked": { - "lastModified": 1759193354, - "narHash": "sha256-FfUxpRfqrf0r56/gi76N2ZooWnXWO0aRtaQBS7m+SvY=", - "owner": "nosduco", - "repo": "remote-sshfs.nvim", - "rev": "45502b3892774811153aeab5f7f9b0033c82005c", - "type": "github" - }, - "original": { - "owner": "nosduco", - "repo": "remote-sshfs.nvim", - "type": "github" - } - }, "nvim_plugin-numToStr/Comment.nvim": { "flake": false, "locked": { @@ -928,7 +912,6 @@ "nvim_plugin-mfussenegger/nvim-lint": "nvim_plugin-mfussenegger/nvim-lint", "nvim_plugin-mrcjkb/rustaceanvim": "nvim_plugin-mrcjkb/rustaceanvim", "nvim_plugin-neovim/nvim-lspconfig": "nvim_plugin-neovim/nvim-lspconfig", - "nvim_plugin-nosduco/remote-sshfs.nvim": "nvim_plugin-nosduco/remote-sshfs.nvim", "nvim_plugin-numToStr/Comment.nvim": "nvim_plugin-numToStr/Comment.nvim", "nvim_plugin-nvim-lua/plenary.nvim": "nvim_plugin-nvim-lua/plenary.nvim", "nvim_plugin-nvim-lualine/lualine.nvim": "nvim_plugin-nvim-lualine/lualine.nvim", diff --git a/flake.nix b/flake.nix index d581155..6c23573 100644 --- a/flake.nix +++ b/flake.nix @@ -126,8 +126,8 @@ "nvim_plugin-rafamadriz/friendly-snippets".flake = false; "nvim_plugin-ron-rs/ron.vim".url = "github:ron-rs/ron.vim"; "nvim_plugin-ron-rs/ron.vim".flake = false; - "nvim_plugin-nosduco/remote-sshfs.nvim".url = "github:nosduco/remote-sshfs.nvim"; - "nvim_plugin-nosduco/remote-sshfs.nvim".flake = false; + # "nvim_plugin-nosduco/remote-sshfs.nvim".url = "github:nosduco/remote-sshfs.nvim"; + # "nvim_plugin-nosduco/remote-sshfs.nvim".flake = false; }; outputs = { @@ -190,12 +190,10 @@ # All runtime dependencies are now optional and checked lazily by plugins # This keeps the neovim flake lean and allows project devShells to provide tools - # Core dependencies that telescope needs are kept here runtimeDependencies = with pkgs; [ ripgrep # search - core to telescope, checked in telescope.lua init fd # file finding - improves telescope performance, checked in telescope.lua init - # All other tools (LSPs, formatters, linters, glow, sshfs, etc.) are now optional - # and will show helpful errors when missing at the point of use + tree-sitter # highlighting ]; in diff --git a/lua/plugins/conform_formatter.lua b/lua/plugins/conform_formatter.lua index bdd2cb7..7524c14 100644 --- a/lua/plugins/conform_formatter.lua +++ b/lua/plugins/conform_formatter.lua @@ -50,33 +50,11 @@ 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 + -- conform.nvim will notify if formatters are missing when format is attempted notify_on_error = true, + notify_no_formatters = true, formatters = { -- v_fmt = { -- command = "v", diff --git a/lua/plugins/lint.lua b/lua/plugins/lint.lua index 722607c..aa96bc3 100644 --- a/lua/plugins/lint.lua +++ b/lua/plugins/lint.lua @@ -2,24 +2,6 @@ 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" }, @@ -139,7 +121,7 @@ return { names = vim.tbl_filter(function(name) local linter = lint.linters[name] if not linter then - LazyVim.warn("Linter not found: " .. name, { title = "nvim-lint" }) + vim.notify("Linter not found: " .. name, vim.log.levels.WARN) end return linter and not (type(linter) == "table" and linter.condition and not linter.condition(ctx)) end, names) diff --git a/lua/plugins/markdown_glow.lua b/lua/plugins/markdown_glow.lua index 5572115..cbe0a79 100644 --- a/lua/plugins/markdown_glow.lua +++ b/lua/plugins/markdown_glow.lua @@ -1,14 +1,5 @@ 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", }, @@ -20,6 +11,7 @@ return { "'glow' not found on PATH. Install it to use markdown preview.", vim.log.levels.ERROR ) + return end require("glow").setup(opts) end, diff --git a/lua/plugins/remote-sshfs.lua b/lua/plugins_disabled/remote-sshfs.lua similarity index 100% rename from lua/plugins/remote-sshfs.lua rename to lua/plugins_disabled/remote-sshfs.lua