Compare commits
5 Commits
a1c05e1aa3
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 9709dcc91c | |||
| a87e5ea4f5 | |||
| 3fe6ca3d6b | |||
| 9cc41c7d6e | |||
| 20830bbd62 |
+28
-19
@@ -1,33 +1,37 @@
|
||||
{
|
||||
"LazyVim": { "branch": "main", "commit": "83d90f339defdb109a6ede333865a66ffc7ef6aa" },
|
||||
"SchemaStore.nvim": { "branch": "main", "commit": "05a0a69ca52c31aa687e8251ae11dd913df10061" },
|
||||
"SchemaStore.nvim": { "branch": "main", "commit": "6ff1f21b2e2b77ec59f7433ce2d9fbc052d908ac" },
|
||||
"async.nvim": { "branch": "main", "commit": "15f28ec323a75f34f317336831c00c2d1b0a7192" },
|
||||
"blink.cmp": { "branch": "main", "commit": "78336bc89ee5365633bcf754d93df01678b5c08f" },
|
||||
"bufferline.nvim": { "branch": "main", "commit": "655133c3b4c3e5e05ec549b9f8cc2894ac6f51b3" },
|
||||
"catppuccin": { "branch": "main", "commit": "426dbebe06b5c69fd846ceb17b42e12f890aedf1" },
|
||||
"conform.nvim": { "branch": "master", "commit": "18aeab3d63d350dcf44d64c462cc489a3412af40" },
|
||||
"catppuccin": { "branch": "main", "commit": "e068ab5f8261f23f6f71ffd8791ae40315b77b9c" },
|
||||
"claudecode.nvim": { "branch": "main", "commit": "288c9bf8834e5d7e401d1485fb5f684b1c2d7c72" },
|
||||
"conform.nvim": { "branch": "master", "commit": "619363c30309d29ffa631e67c8183f2a72caa373" },
|
||||
"dressing.nvim": { "branch": "master", "commit": "2d7c2db2507fa3c4956142ee607431ddb2828639" },
|
||||
"flash.nvim": { "branch": "main", "commit": "fcea7ff883235d9024dc41e638f164a450c14ca2" },
|
||||
"friendly-snippets": { "branch": "main", "commit": "6cd7280adead7f586db6fccbd15d2cac7e2188b9" },
|
||||
"gitsigns.nvim": { "branch": "main", "commit": "dd3f588bacbeb041be6facf1742e42097f62165d" },
|
||||
"grug-far.nvim": { "branch": "main", "commit": "a5875fde04e2940a5060f8df9c453bcfcfe0a5c0" },
|
||||
"gitsigns.nvim": { "branch": "main", "commit": "eb60cc7b94c46005237fd34170d76f3a089a90aa" },
|
||||
"grug-far.nvim": { "branch": "main", "commit": "c69859c1d5427ab5fc7ed12380ab521b4e336691" },
|
||||
"lazy.nvim": { "branch": "main", "commit": "85c7ff3711b730b4030d03144f6db6375044ae82" },
|
||||
"lazydev.nvim": { "branch": "main", "commit": "ff2cbcba459b637ec3fd165a2be59b7bbaeedf0d" },
|
||||
"lualine.nvim": { "branch": "master", "commit": "131a558e13f9f28b15cd235557150ccb23f89286" },
|
||||
"lualine.nvim": { "branch": "master", "commit": "221ce6b2d999187044529f49da6554a92f740a96" },
|
||||
"markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" },
|
||||
"mason-lspconfig.nvim": { "branch": "main", "commit": "7b01e2974a47d489bb92f47a41e4c0088ea8f86e" },
|
||||
"mason.nvim": { "branch": "main", "commit": "cbf8d285e1462dd24acf3507817be2bbcb035919" },
|
||||
"mini.ai": { "branch": "main", "commit": "a783ce6e1a5b3bc90519f20b51f4a5f6702734af" },
|
||||
"mini.icons": { "branch": "main", "commit": "9c7b1b90b15bdd69c52f6e31889dbc9987c30ec4" },
|
||||
"mini.pairs": { "branch": "main", "commit": "30cf2f01c4aaa2033db67376b9924fa2442c05d6" },
|
||||
"neotest": { "branch": "master", "commit": "ad991822b7076b1d940b33a9d6d0d30416d5df81" },
|
||||
"neotest-golang": { "branch": "main", "commit": "f0ba097d4af098c036aac24cd647480d0d301ad2" },
|
||||
"mason-lspconfig.nvim": { "branch": "main", "commit": "47059d71b42d74b0a1e9f61c1d99d301039c3b5b" },
|
||||
"mason.nvim": { "branch": "main", "commit": "2a6940af80375532e5e9e7c1f2fc6319a1b7a69d" },
|
||||
"mermaid.nvim": { "branch": "main", "commit": "4da12693b3b4d63b67d07bafe8340b4abc265c70" },
|
||||
"mini.ai": { "branch": "main", "commit": "cb20f298ebf5ae91924cd0c6c310712de2ef4086" },
|
||||
"mini.icons": { "branch": "main", "commit": "e56797f90192d81f1fda02e662fc3e8e3d775027" },
|
||||
"mini.pairs": { "branch": "main", "commit": "db0fac0a25884183650352ccf92b362a41ed2e9c" },
|
||||
"neotest": { "branch": "master", "commit": "639fb9eea9f1b045b5977d9154706ce6bc8e1a55" },
|
||||
"neotest-golang": { "branch": "main", "commit": "542cbaf37f1233a2723ccd64ce8ed7e3acbd192b" },
|
||||
"neotest-pest": { "branch": "main", "commit": "3388a5f00001303020ce885e18007ccd1835212c" },
|
||||
"neotest-phpunit": { "branch": "main", "commit": "40e53c4294726a16f34f1a383a94c570553c6d46" },
|
||||
"neotest-python": { "branch": "master", "commit": "e6df4f1892f6137f58135917db24d1655937d831" },
|
||||
"neotest-rspec": { "branch": "main", "commit": "e7dc67c1167a9e593c804a6be6808ba9a5920d43" },
|
||||
"neotest-rspec": { "branch": "main", "commit": "7629f8c2837becb72090fbafce58506bb56a00f0" },
|
||||
"noice.nvim": { "branch": "main", "commit": "7bfd942445fb63089b59f97ca487d605e715f155" },
|
||||
"nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" },
|
||||
"nvim-jdtls": { "branch": "master", "commit": "77ccaeb422f8c81b647605da5ddb4a7f725cda90" },
|
||||
"nvim-lint": { "branch": "master", "commit": "8b06eeec3c674744b993caecd73343df108c052d" },
|
||||
"nvim-jdtls": { "branch": "master", "commit": "6e9d953f0b82bccdb834cfde0e893f3119c22592" },
|
||||
"nvim-lint": { "branch": "master", "commit": "a219b2c9e5b4765e5c845aba119dad55806fcaf1" },
|
||||
"nvim-lspconfig": { "branch": "master", "commit": "246572944c2a1e2a646c2e7609ff619b0fe74c18" },
|
||||
"nvim-nio": { "branch": "master", "commit": "21f5324bfac14e22ba26553caf69ec76ae8a7662" },
|
||||
"nvim-treesitter": { "branch": "main", "commit": "4916d6592ede8c07973490d9322f187e07dfefac" },
|
||||
@@ -35,13 +39,18 @@
|
||||
"nvim-ts-autotag": { "branch": "main", "commit": "88c1453db4ba7dd24131086fe51fdf74e587d275" },
|
||||
"persistence.nvim": { "branch": "main", "commit": "b20b2a7887bd39c1a356980b45e03250f3dce49c" },
|
||||
"plenary.nvim": { "branch": "master", "commit": "74b06c6c75e4eeb3108ec01852001636d85a932b" },
|
||||
"render-markdown.nvim": { "branch": "main", "commit": "629eb9533ec989d9d5c6cab8f3ad5372422c24e0" },
|
||||
"project.nvim": { "branch": "main", "commit": "8c6bad7d22eef1b71144b401c9f74ed01526a4fb" },
|
||||
"project_nvim": { "branch": "main", "commit": "c12d3935c4492dab2f8c2e26c4e1ee61f3d34ad4" },
|
||||
"refactoring.nvim": { "branch": "master", "commit": "64e10d782ae5b9653558482910213b8946651456" },
|
||||
"render-markdown.nvim": { "branch": "main", "commit": "f422cb5c6855f150e2ddcfaf44e7157b98b34f6a" },
|
||||
"snacks.nvim": { "branch": "main", "commit": "ad9ede6a9cddf16cedbd31b8932d6dcdee9b716e" },
|
||||
"telescope-fzf-native.nvim": { "branch": "main", "commit": "b25b749b9db64d375d782094e2b9dce53ad53a40" },
|
||||
"telescope.nvim": { "branch": "master", "commit": "40aedd8a68c78a656a10a8d62d80c54af59420fb" },
|
||||
"todo-comments.nvim": { "branch": "main", "commit": "31e3c38ce9b29781e4422fc0322eb0a21f4e8668" },
|
||||
"tokyonight.nvim": { "branch": "main", "commit": "cdc07ac78467a233fd62c493de29a17e0cf2b2b6" },
|
||||
"trouble.nvim": { "branch": "main", "commit": "bd67efe408d4816e25e8491cc5ad4088e708a69a" },
|
||||
"ts-comments.nvim": { "branch": "main", "commit": "123a9fb12e7229342f807ec9e6de478b1102b041" },
|
||||
"venv-selector.nvim": { "branch": "main", "commit": "a46c77978abc1aa1b3e17918d964bd30287abb42" },
|
||||
"ts-comments.nvim": { "branch": "main", "commit": "a59d6092213447450191122c9346f309161504cb" },
|
||||
"venv-selector.nvim": { "branch": "main", "commit": "cc4bb3975de8835291f9bb45889e96c6b2795fc4" },
|
||||
"vscode.nvim": { "branch": "main", "commit": "aa1102a7e15195c9cca22730b09224a7f7745ba8" },
|
||||
"which-key.nvim": { "branch": "main", "commit": "3aab2147e74890957785941f0c1ad87d0a44c15a" }
|
||||
}
|
||||
|
||||
+5
-1
@@ -1,5 +1,8 @@
|
||||
{
|
||||
"extras": [
|
||||
"lazyvim.plugins.extras.ai.claudecode",
|
||||
"lazyvim.plugins.extras.editor.refactoring",
|
||||
"lazyvim.plugins.extras.editor.telescope",
|
||||
"lazyvim.plugins.extras.lang.docker",
|
||||
"lazyvim.plugins.extras.lang.git",
|
||||
"lazyvim.plugins.extras.lang.go",
|
||||
@@ -18,7 +21,8 @@
|
||||
"lazyvim.plugins.extras.lang.typescript.tsgo",
|
||||
"lazyvim.plugins.extras.lang.typescript.vtsls",
|
||||
"lazyvim.plugins.extras.lang.yaml",
|
||||
"lazyvim.plugins.extras.test.core"
|
||||
"lazyvim.plugins.extras.test.core",
|
||||
"lazyvim.plugins.extras.util.project"
|
||||
],
|
||||
"install_version": 8,
|
||||
"news": {
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
require("lspconfig").gopls.setup({
|
||||
settings = {
|
||||
gopls = {
|
||||
buildFlags = { "-tags=unit,integration" },
|
||||
},
|
||||
},
|
||||
})
|
||||
@@ -0,0 +1,44 @@
|
||||
return {
|
||||
"coder/claudecode.nvim",
|
||||
dependencies = { "folke/snacks.nvim" },
|
||||
config = true,
|
||||
-- `cmd` lets lazy.nvim create command stubs that load the plugin on first use,
|
||||
-- so `:ClaudeCode` and friends work on a fresh start. Without it, a keys-only
|
||||
-- spec defers loading until a <leader>a* mapping is pressed and the commands
|
||||
-- would not exist yet.
|
||||
cmd = {
|
||||
"ClaudeCode",
|
||||
"ClaudeCodeFocus",
|
||||
"ClaudeCodeSelectModel",
|
||||
"ClaudeCodeAdd",
|
||||
"ClaudeCodeSend",
|
||||
"ClaudeCodeTreeAdd",
|
||||
"ClaudeCodeStatus",
|
||||
"ClaudeCodeStart",
|
||||
"ClaudeCodeStop",
|
||||
"ClaudeCodeOpen",
|
||||
"ClaudeCodeClose",
|
||||
"ClaudeCodeDiffAccept",
|
||||
"ClaudeCodeDiffDeny",
|
||||
"ClaudeCodeCloseAllDiffs",
|
||||
},
|
||||
keys = {
|
||||
{ "<leader>a", nil, desc = "AI/Claude Code" },
|
||||
{ "<leader>ac", "<cmd>ClaudeCode<cr>", desc = "Toggle Claude" },
|
||||
{ "<leader>af", "<cmd>ClaudeCodeFocus<cr>", desc = "Focus Claude" },
|
||||
{ "<leader>ar", "<cmd>ClaudeCode --resume<cr>", desc = "Resume Claude" },
|
||||
{ "<leader>aC", "<cmd>ClaudeCode --continue<cr>", desc = "Continue Claude" },
|
||||
{ "<leader>am", "<cmd>ClaudeCodeSelectModel<cr>", desc = "Select Claude model" },
|
||||
{ "<leader>ab", "<cmd>ClaudeCodeAdd %<cr>", desc = "Add current buffer" },
|
||||
{ "<leader>as", "<cmd>ClaudeCodeSend<cr>", mode = "v", desc = "Send to Claude" },
|
||||
{
|
||||
"<leader>as",
|
||||
"<cmd>ClaudeCodeTreeAdd<cr>",
|
||||
desc = "Add file",
|
||||
ft = { "NvimTree", "neo-tree", "oil", "minifiles", "netrw", "snacks_picker_list" },
|
||||
},
|
||||
-- Diff management
|
||||
{ "<leader>aa", "<cmd>ClaudeCodeDiffAccept<cr>", desc = "Accept diff" },
|
||||
{ "<leader>ad", "<cmd>ClaudeCodeDiffDeny<cr>", desc = "Deny diff" },
|
||||
},
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
return {
|
||||
{
|
||||
"neovim/nvim-lspconfig",
|
||||
opts = {
|
||||
servers = {
|
||||
gopls = {
|
||||
settings = {
|
||||
gopls = {
|
||||
buildFlags = { "-tags=unit,integration" },
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
setup = {
|
||||
-- Override LazyVim's gopls semanticTokens workaround, which crashes on
|
||||
-- Neovim 0.12 because the gopls client's config.capabilities has no
|
||||
-- `textDocument` field (go.lua:60). Guard against the nil.
|
||||
gopls = function(_, _)
|
||||
Snacks.util.lsp.on({ name = "gopls" }, function(_, client)
|
||||
if client.server_capabilities.semanticTokensProvider then
|
||||
return
|
||||
end
|
||||
local caps = client.config.capabilities or {}
|
||||
local semantic = caps.textDocument and caps.textDocument.semanticTokens
|
||||
if not semantic then
|
||||
return
|
||||
end
|
||||
client.server_capabilities.semanticTokensProvider = {
|
||||
full = true,
|
||||
legend = {
|
||||
tokenTypes = semantic.tokenTypes,
|
||||
tokenModifiers = semantic.tokenModifiers,
|
||||
},
|
||||
range = true,
|
||||
}
|
||||
end)
|
||||
end,
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
return {
|
||||
{
|
||||
"LazyVim/LazyVim",
|
||||
opts = function(_, opts)
|
||||
-- Check if lazydocker is installed on the system
|
||||
if vim.fn.executable("lazydocker") == 1 then
|
||||
-- Add custom keymap to LazyVim
|
||||
vim.keymap.set("n", "<leader>kd", function()
|
||||
LazyVim.terminal({ "lazydocker" }, { esc_esc = false, ctrl_hjkl = false })
|
||||
end, { desc = "LazyDocker" })
|
||||
end
|
||||
end,
|
||||
},
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
return {
|
||||
"kevalin/mermaid.nvim",
|
||||
dependencies = { "nvim-treesitter/nvim-treesitter" },
|
||||
config = function()
|
||||
require("mermaid").setup()
|
||||
end,
|
||||
}
|
||||
@@ -0,0 +1,77 @@
|
||||
-- Custom project picker: selecting a project changes the working directory
|
||||
-- and restores that project's last session (open buffers/windows) via
|
||||
-- persistence.nvim. It does NOT open a file search afterwards (the default
|
||||
-- LazyVim `util.project` behaviour opens `find_files` on select).
|
||||
local function pick_project_cd()
|
||||
local pickers = require("telescope.pickers")
|
||||
local finders = require("telescope.finders")
|
||||
local conf = require("telescope.config").values
|
||||
local actions = require("telescope.actions")
|
||||
local state = require("telescope.actions.state")
|
||||
local history = require("project_nvim.utils.history")
|
||||
local project = require("project_nvim.project")
|
||||
|
||||
local results = history.get_recent_projects()
|
||||
-- Show most recent projects first.
|
||||
for i = 1, math.floor(#results / 2) do
|
||||
results[i], results[#results - i + 1] = results[#results - i + 1], results[i]
|
||||
end
|
||||
|
||||
pickers
|
||||
.new({}, {
|
||||
prompt_title = "Recent Projects (cd only)",
|
||||
finder = finders.new_table({
|
||||
results = results,
|
||||
entry_maker = function(entry)
|
||||
local name = vim.fn.fnamemodify(entry, ":t")
|
||||
return {
|
||||
value = entry,
|
||||
display = string.format("%-30s %s", name, entry),
|
||||
ordinal = name .. " " .. entry,
|
||||
}
|
||||
end,
|
||||
}),
|
||||
previewer = false,
|
||||
sorter = conf.generic_sorter({}),
|
||||
attach_mappings = function(prompt_bufnr)
|
||||
actions.select_default:replace(function()
|
||||
local entry = state.get_selected_entry()
|
||||
actions.close(prompt_bufnr)
|
||||
if not entry then
|
||||
return
|
||||
end
|
||||
if project.set_pwd(entry.value, "telescope") then
|
||||
vim.notify("Changed project dir to " .. entry.value)
|
||||
-- Restore the last session (open buffers/windows) for this dir.
|
||||
local ok, persistence = pcall(require, "persistence")
|
||||
if ok then
|
||||
persistence.load()
|
||||
end
|
||||
end
|
||||
end)
|
||||
return true
|
||||
end,
|
||||
})
|
||||
:find()
|
||||
end
|
||||
|
||||
return {
|
||||
-- This overrides the repository source for the built-in LazyVim extra
|
||||
{
|
||||
"ahmedkhalf/project.nvim",
|
||||
name = "project_nvim", -- Keeps internal naming intact
|
||||
url = "https://github.com/DrKJeff16/project.nvim", -- Directs lazy.nvim to download the fork
|
||||
opts = {
|
||||
manual_mode = false, -- Prevents root changing unexpectedly on every single file open
|
||||
},
|
||||
},
|
||||
|
||||
-- Override <leader>fp so it only cd's into the project.
|
||||
{
|
||||
"nvim-telescope/telescope.nvim",
|
||||
optional = true,
|
||||
keys = {
|
||||
{ "<leader>fp", pick_project_cd, desc = "Projects (cd only)" },
|
||||
},
|
||||
},
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
return {
|
||||
-- The newer refactoring.nvim (Neovim 0.12+) replaced its plenary dependency
|
||||
-- with lewis6991/async.nvim. The LazyVim extra doesn't declare it yet, so add
|
||||
-- it here to fix `module 'async' not found`.
|
||||
--
|
||||
-- It also removed the bundled Telescope extension (`telescope._extensions.refactoring`),
|
||||
-- so we override the extra's `config` and `<leader>rs` keymap to use the
|
||||
-- built-in `select_refactor()` (vim.ui.select) instead of the missing extension.
|
||||
{
|
||||
"ThePrimeagen/refactoring.nvim",
|
||||
dependencies = {
|
||||
"lewis6991/async.nvim",
|
||||
},
|
||||
config = function(_, opts)
|
||||
require("refactoring").setup(opts)
|
||||
end,
|
||||
keys = {
|
||||
{
|
||||
"<leader>rs",
|
||||
function()
|
||||
require("refactoring").select_refactor()
|
||||
end,
|
||||
mode = { "n", "x" },
|
||||
desc = "Refactor",
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
@@ -4,9 +4,14 @@ return {
|
||||
opts = {
|
||||
servers = {
|
||||
ruby_lsp = {
|
||||
cmd_env = {
|
||||
BUNDLE_GEMFILE = vim.fn.expand("~/.config/nvim/ruby-lsp-bundle/Gemfile"),
|
||||
},
|
||||
cmd = function(dispatchers, config)
|
||||
return vim.lsp.rpc.start({ "ruby-lsp" }, dispatchers, {
|
||||
cwd = config and (config.cmd_cwd or config.root_dir),
|
||||
env = {
|
||||
BUNDLE_GEMFILE = vim.fn.expand("~/.config/nvim/ruby-lsp-bundle/Gemfile"),
|
||||
},
|
||||
})
|
||||
end,
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
@@ -1 +1 @@
|
||||
source "https://rubygems.org"
|
||||
source 'https://rubygems.org'
|
||||
|
||||
Reference in New Issue
Block a user