From 0d4d0254bb453bd78e21f08f0de6b77a72e975f2 Mon Sep 17 00:00:00 2001 From: Dmitri Date: Sun, 19 Apr 2026 14:28:43 +0200 Subject: [PATCH] git, oil, telescope --- nvim/lua/kanopo/autocmds.lua | 23 ++ nvim/lua/kanopo/init.lua | 5 + nvim/lua/kanopo/options.lua | 2 +- nvim/lua/kanopo/pack.lua | 34 ++- nvim/lua/kanopo/plugins/neogit.lua | 2 + nvim/lua/kanopo/plugins/oil.lua | 3 + nvim/lua/kanopo/plugins/telescope.lua | 72 +++++ nvim/nvim-pack-lock.json | 32 +++ opencode/package-lock.json | 391 +++++++++++++++++++++++++- 9 files changed, 560 insertions(+), 4 deletions(-) create mode 100644 nvim/lua/kanopo/autocmds.lua create mode 100644 nvim/lua/kanopo/plugins/neogit.lua create mode 100644 nvim/lua/kanopo/plugins/oil.lua create mode 100644 nvim/lua/kanopo/plugins/telescope.lua diff --git a/nvim/lua/kanopo/autocmds.lua b/nvim/lua/kanopo/autocmds.lua new file mode 100644 index 0000000..bfa5688 --- /dev/null +++ b/nvim/lua/kanopo/autocmds.lua @@ -0,0 +1,23 @@ + +-- Highlight yanked text +local highlight_group = vim.api.nvim_create_augroup("YankHighlight", { clear = true }) +vim.api.nvim_create_autocmd("TextYankPost", { + callback = function() + vim.highlight.on_yank() + end, + group = highlight_group, + pattern = "*", +}) + +-- Go to last cursor position when opening a file +vim.api.nvim_create_autocmd("BufReadPost", { + callback = function() + local ft = vim.bo.filetype + if ft ~= "commit" and ft ~= "rebase" then + local last_pos = vim.fn.line("'\"") + if last_pos > 1 and last_pos <= vim.fn.line("$") then + vim.cmd('normal! g`"') + end + end + end, +}) diff --git a/nvim/lua/kanopo/init.lua b/nvim/lua/kanopo/init.lua index 04bd1f9..8acb73d 100644 --- a/nvim/lua/kanopo/init.lua +++ b/nvim/lua/kanopo/init.lua @@ -1,4 +1,9 @@ require('kanopo.options') require('kanopo.pack') +require('kanopo.autocmds') + require('kanopo.plugins.gruvbox') +require('kanopo.plugins.telescope') +require('kanopo.plugins.oil') +require('kanopo.plugins.neogit') diff --git a/nvim/lua/kanopo/options.lua b/nvim/lua/kanopo/options.lua index 77bef65..0984d1d 100644 --- a/nvim/lua/kanopo/options.lua +++ b/nvim/lua/kanopo/options.lua @@ -43,7 +43,7 @@ vim.o.completeopt = "menu,menuone,noinsert,noselect" -- vim.o.shortmess = (vim.o.shortmess or "") .. "c" -- reduce completion messages -- Performance and input timing -vim.o.timeoutlen = 300 -- mapped sequence timeout +vim.o.timeoutlen = 800 -- mapped sequence timeout vim.o.updatetime = 250 -- faster CursorHold/diagnostic updates vim.o.scrolloff = 10 -- context lines around cursor diff --git a/nvim/lua/kanopo/pack.lua b/nvim/lua/kanopo/pack.lua index 81cf0ed..1d30a71 100644 --- a/nvim/lua/kanopo/pack.lua +++ b/nvim/lua/kanopo/pack.lua @@ -1,6 +1,38 @@ +local gh = function(x) return 'https://github.com/' .. x end + + +local hooks = function(ev) + -- Use available |event-data| + local name, kind = ev.data.spec.name, ev.data.kind + -- Run build script after plugin's code has changed + if name == 'nvim-telescope/telescope-fzf-native.nvim' and (kind == 'install' or kind == 'update') then + -- Append `:wait()` if you need synchronous execution + vim.system({ 'make' }, { cwd = ev.data.path }):wait() + end +end +vim.api.nvim_create_autocmd('PackChanged', { callback = hooks }) vim.pack.add({ - { src = "https://github.com/ellisonleao/gruvbox.nvim" }, + -- theme + { src = gh("ellisonleao/gruvbox.nvim") }, + + -- telescope + { src = gh("nvim-telescope/telescope.nvim") }, + { src = gh("nvim-lua/plenary.nvim") }, + { src = gh("nvim-telescope/telescope-fzf-native.nvim") }, + { src = gh("nvim-telescope/telescope-ui-select.nvim") }, + { src = gh("nvim-tree/nvim-web-devicons") }, + + -- oil + { src = gh("stevearc/oil.nvim") }, + { src = gh("nvim-tree/nvim-web-devicons") }, + + + -- git UI + { src = gh("NeogitOrg/neogit")}, + { src = gh("nvim-lua/plenary.nvim")}, + { src = gh("sindrets/diffview.nvim")}, + { src = gh("nvim-telescope/telescope.nvim")}, }, { confirm = false, }) diff --git a/nvim/lua/kanopo/plugins/neogit.lua b/nvim/lua/kanopo/plugins/neogit.lua new file mode 100644 index 0000000..3b822b2 --- /dev/null +++ b/nvim/lua/kanopo/plugins/neogit.lua @@ -0,0 +1,2 @@ +require("neogit").setup() +vim.keymap.set("n", "gg", "Neogit", { desc = "Neogit" }) diff --git a/nvim/lua/kanopo/plugins/oil.lua b/nvim/lua/kanopo/plugins/oil.lua new file mode 100644 index 0000000..8c96006 --- /dev/null +++ b/nvim/lua/kanopo/plugins/oil.lua @@ -0,0 +1,3 @@ + +require("oil").setup() +vim.keymap.set('n', 'fe', ":Oil") diff --git a/nvim/lua/kanopo/plugins/telescope.lua b/nvim/lua/kanopo/plugins/telescope.lua new file mode 100644 index 0000000..c99025c --- /dev/null +++ b/nvim/lua/kanopo/plugins/telescope.lua @@ -0,0 +1,72 @@ + +require("telescope").setup({ + pickers = { + find_files = { + theme = "ivy", + hidden = true, + prompt_prefix = "🔍 ", + }, + live_grep = { + theme = "ivy", + hidden = true, + prompt_prefix = "🔍 ", + }, + }, + extensions = { + ["ui-select"] = { + require("telescope.themes").get_dropdown(), + }, + fzf = { + fuzzy = true, + override_generic_sorter = true, + override_file_sorter = true, + case_mode = "ignore_case", + }, + }, +}) + +-- Enable Telescope extensions if they are installed +local fzf_ok, _ = pcall(require("telescope").load_extension, "fzf") +if not fzf_ok then + vim.notify("ERROR: (telescope) fzf not loaded") +end +local ui_select_ok, _ = pcall(require("telescope").load_extension, "ui-select") +if not ui_slect_ok then + vim.notify("ERROR: (telescope) ui select not loaded") +end + +-- See `:help telescope.builtin` +local builtin = require("telescope.builtin") +vim.keymap.set("n", "sh", builtin.help_tags, { desc = "[S]earch [H]elp" }) +vim.keymap.set("n", "sk", builtin.keymaps, { desc = "[S]earch [K]eymaps" }) +vim.keymap.set("n", "sf", builtin.find_files, { desc = "[S]earch [F]iles" }) +vim.keymap.set("n", "ss", builtin.builtin, { desc = "[S]earch [S]elect Telescope" }) +vim.keymap.set("n", "sw", builtin.grep_string, { desc = "[S]earch current [W]ord" }) +vim.keymap.set("n", "sg", builtin.live_grep, { desc = "[S]earch by [G]rep" }) +vim.keymap.set("n", "sd", builtin.diagnostics, { desc = "[S]earch [D]iagnostics" }) +vim.keymap.set("n", "sr", builtin.resume, { desc = "[S]earch [R]esume" }) +vim.keymap.set("n", "s.", builtin.oldfiles, { desc = '[S]earch Recent Files ("." for repeat)' }) +vim.keymap.set("n", "", builtin.buffers, { desc = "[ ] Find existing buffers" }) + +-- Slightly advanced example of overriding default behavior and theme +vim.keymap.set("n", "/", function() + -- You can pass additional configuration to Telescope to change the theme, layout, etc. + builtin.current_buffer_fuzzy_find(require("telescope.themes").get_dropdown({ + winblend = 10, + previewer = false, + })) +end, { desc = "[/] Fuzzily search in current buffer" }) + +-- It's also possible to pass additional configuration options. +-- See `:help telescope.builtin.live_grep()` for information about particular keys +vim.keymap.set("n", "s/", function() + builtin.live_grep({ + grep_open_files = true, + prompt_title = "Live Grep in Open Files", + }) +end, { desc = "[S]earch [/] in Open Files" }) + +-- Shortcut for searching your Neovim configuration files +vim.keymap.set("n", "sn", function() + builtin.find_files({ cwd = vim.fn.stdpath("config") }) +end, { desc = "[S]earch [N]eovim files" }) diff --git a/nvim/nvim-pack-lock.json b/nvim/nvim-pack-lock.json index f2b227c..9d47cae 100644 --- a/nvim/nvim-pack-lock.json +++ b/nvim/nvim-pack-lock.json @@ -1,8 +1,40 @@ { "plugins": { + "diffview.nvim": { + "rev": "4516612fe98ff56ae0415a259ff6361a89419b0a", + "src": "https://github.com/sindrets/diffview.nvim" + }, "gruvbox.nvim": { "rev": "154eb5ff5b96d0641307113fa385eaf0d36d9796", "src": "https://github.com/ellisonleao/gruvbox.nvim" + }, + "neogit": { + "rev": "e906fce7e44ae562f06345be99a7db02f8315236", + "src": "https://github.com/NeogitOrg/neogit" + }, + "nvim-web-devicons": { + "rev": "c72328a5494b4502947a022fe69c0c47e53b6aa6", + "src": "https://github.com/nvim-tree/nvim-web-devicons" + }, + "oil.nvim": { + "rev": "0fcc83805ad11cf714a949c98c605ed717e0b83e", + "src": "https://github.com/stevearc/oil.nvim" + }, + "plenary.nvim": { + "rev": "74b06c6c75e4eeb3108ec01852001636d85a932b", + "src": "https://github.com/nvim-lua/plenary.nvim" + }, + "telescope-fzf-native.nvim": { + "rev": "6fea601bd2b694c6f2ae08a6c6fab14930c60e2c", + "src": "https://github.com/nvim-telescope/telescope-fzf-native.nvim" + }, + "telescope-ui-select.nvim": { + "rev": "6e51d7da30bd139a6950adf2a47fda6df9fa06d2", + "src": "https://github.com/nvim-telescope/telescope-ui-select.nvim" + }, + "telescope.nvim": { + "rev": "028d9a0695a0cc4cfa893889f8c408ed7ccc8adc", + "src": "https://github.com/nvim-telescope/telescope.nvim" } } } diff --git a/opencode/package-lock.json b/opencode/package-lock.json index c8f0555..e979a9b 100644 --- a/opencode/package-lock.json +++ b/opencode/package-lock.json @@ -9,7 +9,7 @@ "@opencode-ai/plugin": "1.4.7" } }, - "../../Documents/Documents/Documents/Documents/Documents/dotfiles/opencode/node_modules/@opencode-ai/plugin": { + "../../Documents/Documents/Documents/Documents/Documents/Documents/dotfiles/opencode/node_modules/@opencode-ai/plugin": { "version": "1.3.17", "resolved": "https://registry.npmjs.org/@opencode-ai/plugin/-/plugin-1.3.17.tgz", "integrity": "sha512-N5lckFtYvEu2R8K1um//MIOTHsJHniF2kHoPIWPCrxKG5Jpismt1ISGzIiU3aKI2ht/9VgcqKPC5oZFLdmpxPw==", @@ -32,7 +32,7 @@ } } }, - "../../Documents/Documents/Documents/Documents/Documents/dotfiles/opencode/node_modules/@opencode-ai/sdk": { + "../../Documents/Documents/Documents/Documents/Documents/Documents/dotfiles/opencode/node_modules/@opencode-ai/sdk": { "version": "1.3.17", "resolved": "https://registry.npmjs.org/@opencode-ai/sdk/-/sdk-1.3.17.tgz", "integrity": "sha512-2+MGgu7wynqTBwxezR01VAGhILXlpcHDY/pF7SWB87WOgLt3kD55HjKHNj6PWxyY8n575AZolR95VUC3gtwfmA==", @@ -42,6 +42,206 @@ "cross-spawn": "7.0.6" } }, + "../../Documents/Documents/Documents/Documents/Documents/Documents/dotfiles/opencode/node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "extraneous": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "../../Documents/Documents/Documents/Documents/Documents/Documents/dotfiles/opencode/node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "extraneous": true, + "license": "ISC" + }, + "../../Documents/Documents/Documents/Documents/Documents/Documents/dotfiles/opencode/node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "extraneous": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "../../Documents/Documents/Documents/Documents/Documents/Documents/dotfiles/opencode/node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "extraneous": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "../../Documents/Documents/Documents/Documents/Documents/Documents/dotfiles/opencode/node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "extraneous": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "../../Documents/Documents/Documents/Documents/Documents/Documents/dotfiles/opencode/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "extraneous": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "../../Documents/Documents/Documents/Documents/Documents/Documents/dotfiles/opencode/node_modules/zod": { + "version": "4.1.8", + "resolved": "https://registry.npmjs.org/zod/-/zod-4.1.8.tgz", + "integrity": "sha512-5R1P+WwQqmmMIEACyzSvo4JXHY5WiAFHRMg+zBZKgKS+Q1viRa0C1hmUKtHltoIFKtIdki3pRxkmpP74jnNYHQ==", + "extraneous": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } + }, + "../../Documents/Documents/Documents/Documents/Documents/dotfiles/opencode/node_modules/@msgpackr-extract/msgpackr-extract-darwin-arm64": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-darwin-arm64/-/msgpackr-extract-darwin-arm64-3.0.3.tgz", + "integrity": "sha512-QZHtlVgbAdy2zAqNA9Gu1UpIuI8Xvsd1v8ic6B2pZmeFnFcMWiPLfWXh7TVw4eGEZ/C9TH281KwhVoeQUKbyjw==", + "cpu": [ + "arm64" + ], + "extraneous": true, + "license": "MIT", + "os": [ + "darwin" + ] + }, + "../../Documents/Documents/Documents/Documents/Documents/dotfiles/opencode/node_modules/@msgpackr-extract/msgpackr-extract-darwin-x64": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-darwin-x64/-/msgpackr-extract-darwin-x64-3.0.3.tgz", + "integrity": "sha512-mdzd3AVzYKuUmiWOQ8GNhl64/IoFGol569zNRdkLReh6LRLHOXxU4U8eq0JwaD8iFHdVGqSy4IjFL4reoWCDFw==", + "cpu": [ + "x64" + ], + "extraneous": true, + "license": "MIT", + "os": [ + "darwin" + ] + }, + "../../Documents/Documents/Documents/Documents/Documents/dotfiles/opencode/node_modules/@msgpackr-extract/msgpackr-extract-linux-arm": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-arm/-/msgpackr-extract-linux-arm-3.0.3.tgz", + "integrity": "sha512-fg0uy/dG/nZEXfYilKoRe7yALaNmHoYeIoJuJ7KJ+YyU2bvY8vPv27f7UKhGRpY6euFYqEVhxCFZgAUNQBM3nw==", + "cpu": [ + "arm" + ], + "extraneous": true, + "license": "MIT", + "os": [ + "linux" + ] + }, + "../../Documents/Documents/Documents/Documents/Documents/dotfiles/opencode/node_modules/@msgpackr-extract/msgpackr-extract-linux-arm64": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-arm64/-/msgpackr-extract-linux-arm64-3.0.3.tgz", + "integrity": "sha512-YxQL+ax0XqBJDZiKimS2XQaf+2wDGVa1enVRGzEvLLVFeqa5kx2bWbtcSXgsxjQB7nRqqIGFIcLteF/sHeVtQg==", + "cpu": [ + "arm64" + ], + "extraneous": true, + "license": "MIT", + "os": [ + "linux" + ] + }, + "../../Documents/Documents/Documents/Documents/Documents/dotfiles/opencode/node_modules/@msgpackr-extract/msgpackr-extract-linux-x64": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-x64/-/msgpackr-extract-linux-x64-3.0.3.tgz", + "integrity": "sha512-cvwNfbP07pKUfq1uH+S6KJ7dT9K8WOE4ZiAcsrSes+UY55E/0jLYc+vq+DO7jlmqRb5zAggExKm0H7O/CBaesg==", + "cpu": [ + "x64" + ], + "extraneous": true, + "license": "MIT", + "os": [ + "linux" + ] + }, + "../../Documents/Documents/Documents/Documents/Documents/dotfiles/opencode/node_modules/@msgpackr-extract/msgpackr-extract-win32-x64": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-win32-x64/-/msgpackr-extract-win32-x64-3.0.3.tgz", + "integrity": "sha512-x0fWaQtYp4E6sktbsdAqnehxDgEc/VwM7uLsRCYWaiGu0ykYdZPiS8zCWdnjHwyiumousxfBm4SO31eXqwEZhQ==", + "cpu": [ + "x64" + ], + "extraneous": true, + "license": "MIT", + "os": [ + "win32" + ] + }, + "../../Documents/Documents/Documents/Documents/Documents/dotfiles/opencode/node_modules/@opencode-ai/plugin": { + "version": "1.4.7", + "resolved": "https://registry.npmjs.org/@opencode-ai/plugin/-/plugin-1.4.7.tgz", + "integrity": "sha512-RbzMl7ILvQDHpZNvqzi6RCYaGcB3eBwNIMRZww467drLvMd1eOwr4/qAurrvYDsIIEctE6cKsrLuSGIKCW/Fxg==", + "extraneous": true, + "license": "MIT", + "dependencies": { + "@opencode-ai/sdk": "1.4.7", + "effect": "4.0.0-beta.48", + "zod": "4.1.8" + }, + "peerDependencies": { + "@opentui/core": ">=0.1.99", + "@opentui/solid": ">=0.1.99" + }, + "peerDependenciesMeta": { + "@opentui/core": { + "optional": true + }, + "@opentui/solid": { + "optional": true + } + } + }, + "../../Documents/Documents/Documents/Documents/Documents/dotfiles/opencode/node_modules/@opencode-ai/sdk": { + "version": "1.4.7", + "resolved": "https://registry.npmjs.org/@opencode-ai/sdk/-/sdk-1.4.7.tgz", + "integrity": "sha512-onEtaooQyoDP5gTShQeQSf0Sd8V7949G9pPNyIyRXnVtFqyDIhUDLGtL/a/+EIW9x5s+Y6lDy/3oVoGMvQ0rQQ==", + "extraneous": true, + "license": "MIT", + "dependencies": { + "cross-spawn": "7.0.6" + } + }, + "../../Documents/Documents/Documents/Documents/Documents/dotfiles/opencode/node_modules/@standard-schema/spec": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@standard-schema/spec/-/spec-1.1.0.tgz", + "integrity": "sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==", + "extraneous": true, + "license": "MIT" + }, "../../Documents/Documents/Documents/Documents/Documents/dotfiles/opencode/node_modules/cross-spawn": { "version": "7.0.6", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", @@ -57,6 +257,75 @@ "node": ">= 8" } }, + "../../Documents/Documents/Documents/Documents/Documents/dotfiles/opencode/node_modules/detect-libc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", + "extraneous": true, + "license": "Apache-2.0", + "engines": { + "node": ">=8" + } + }, + "../../Documents/Documents/Documents/Documents/Documents/dotfiles/opencode/node_modules/effect": { + "version": "4.0.0-beta.48", + "resolved": "https://registry.npmjs.org/effect/-/effect-4.0.0-beta.48.tgz", + "integrity": "sha512-MMAM/ZabuNdNmgXiin+BAanQXK7qM8mlt7nfXDoJ/Gn9V8i89JlCq+2N0AiWmqFLXjGLA0u3FjiOjSOYQk5uMw==", + "extraneous": true, + "license": "MIT", + "dependencies": { + "@standard-schema/spec": "^1.1.0", + "fast-check": "^4.6.0", + "find-my-way-ts": "^0.1.6", + "ini": "^6.0.0", + "kubernetes-types": "^1.30.0", + "msgpackr": "^1.11.9", + "multipasta": "^0.2.7", + "toml": "^4.1.1", + "uuid": "^13.0.0", + "yaml": "^2.8.3" + } + }, + "../../Documents/Documents/Documents/Documents/Documents/dotfiles/opencode/node_modules/fast-check": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/fast-check/-/fast-check-4.7.0.tgz", + "integrity": "sha512-NsZRtqvSSoCP0HbNjUD+r1JH8zqZalyp6gLY9e7OYs7NK9b6AHOs2baBFeBG7bVNsuoukh89x2Yg3rPsul8ziQ==", + "extraneous": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/dubzzz" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fast-check" + } + ], + "license": "MIT", + "dependencies": { + "pure-rand": "^8.0.0" + }, + "engines": { + "node": ">=12.17.0" + } + }, + "../../Documents/Documents/Documents/Documents/Documents/dotfiles/opencode/node_modules/find-my-way-ts": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/find-my-way-ts/-/find-my-way-ts-0.1.6.tgz", + "integrity": "sha512-a85L9ZoXtNAey3Y6Z+eBWW658kO/MwR7zIafkIUPUMf3isZG0NCs2pjW2wtjxAKuJPxMAsHUIP4ZPGv0o5gyTA==", + "extraneous": true, + "license": "MIT" + }, + "../../Documents/Documents/Documents/Documents/Documents/dotfiles/opencode/node_modules/ini": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/ini/-/ini-6.0.0.tgz", + "integrity": "sha512-IBTdIkzZNOpqm7q3dRqJvMaldXjDHWkEDfrwGEQTs5eaQMWV+djAhR+wahyNNMAa+qpbDUhBMVt4ZKNwpPm7xQ==", + "extraneous": true, + "license": "ISC", + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, "../../Documents/Documents/Documents/Documents/Documents/dotfiles/opencode/node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", @@ -64,6 +333,67 @@ "extraneous": true, "license": "ISC" }, + "../../Documents/Documents/Documents/Documents/Documents/dotfiles/opencode/node_modules/kubernetes-types": { + "version": "1.30.0", + "resolved": "https://registry.npmjs.org/kubernetes-types/-/kubernetes-types-1.30.0.tgz", + "integrity": "sha512-Dew1okvhM/SQcIa2rcgujNndZwU8VnSapDgdxlYoB84ZlpAD43U6KLAFqYo17ykSFGHNPrg0qry0bP+GJd9v7Q==", + "extraneous": true, + "license": "Apache-2.0" + }, + "../../Documents/Documents/Documents/Documents/Documents/dotfiles/opencode/node_modules/msgpackr": { + "version": "1.11.9", + "resolved": "https://registry.npmjs.org/msgpackr/-/msgpackr-1.11.9.tgz", + "integrity": "sha512-FkoAAyyA6HM8wL882EcEyFZ9s7hVADSwG9xrVx3dxxNQAtgADTrJoEWivID82Iv1zWDsv/OtbrrcZAzGzOMdNw==", + "extraneous": true, + "license": "MIT", + "optionalDependencies": { + "msgpackr-extract": "^3.0.2" + } + }, + "../../Documents/Documents/Documents/Documents/Documents/dotfiles/opencode/node_modules/msgpackr-extract": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/msgpackr-extract/-/msgpackr-extract-3.0.3.tgz", + "integrity": "sha512-P0efT1C9jIdVRefqjzOQ9Xml57zpOXnIuS+csaB4MdZbTdmGDLo8XhzBG1N7aO11gKDDkJvBLULeFTo46wwreA==", + "extraneous": true, + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "node-gyp-build-optional-packages": "5.2.2" + }, + "bin": { + "download-msgpackr-prebuilds": "bin/download-prebuilds.js" + }, + "optionalDependencies": { + "@msgpackr-extract/msgpackr-extract-darwin-arm64": "3.0.3", + "@msgpackr-extract/msgpackr-extract-darwin-x64": "3.0.3", + "@msgpackr-extract/msgpackr-extract-linux-arm": "3.0.3", + "@msgpackr-extract/msgpackr-extract-linux-arm64": "3.0.3", + "@msgpackr-extract/msgpackr-extract-linux-x64": "3.0.3", + "@msgpackr-extract/msgpackr-extract-win32-x64": "3.0.3" + } + }, + "../../Documents/Documents/Documents/Documents/Documents/dotfiles/opencode/node_modules/multipasta": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/multipasta/-/multipasta-0.2.7.tgz", + "integrity": "sha512-KPA58d68KgGil15oDqXjkUBEBYc00XvbPj5/X+dyzeo/lWm9Nc25pQRlf1D+gv4OpK7NM0J1odrbu9JNNGvynA==", + "extraneous": true, + "license": "MIT" + }, + "../../Documents/Documents/Documents/Documents/Documents/dotfiles/opencode/node_modules/node-gyp-build-optional-packages": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.2.2.tgz", + "integrity": "sha512-s+w+rBWnpTMwSFbaE0UXsRlg7hU4FjekKU4eyAih5T8nJuNZT1nNsskXpxmeqSK9UzkBl6UgRlnKc8hz8IEqOw==", + "extraneous": true, + "license": "MIT", + "dependencies": { + "detect-libc": "^2.0.1" + }, + "bin": { + "node-gyp-build-optional-packages": "bin.js", + "node-gyp-build-optional-packages-optional": "optional.js", + "node-gyp-build-optional-packages-test": "build-test.js" + } + }, "../../Documents/Documents/Documents/Documents/Documents/dotfiles/opencode/node_modules/path-key": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", @@ -74,6 +404,23 @@ "node": ">=8" } }, + "../../Documents/Documents/Documents/Documents/Documents/dotfiles/opencode/node_modules/pure-rand": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-8.4.0.tgz", + "integrity": "sha512-IoM8YF/jY0hiugFo/wOWqfmarlE6J0wc6fDK1PhftMk7MGhVZl88sZimmqBBFomLOCSmcCCpsfj7wXASCpvK9A==", + "extraneous": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/dubzzz" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fast-check" + } + ], + "license": "MIT" + }, "../../Documents/Documents/Documents/Documents/Documents/dotfiles/opencode/node_modules/shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", @@ -97,6 +444,30 @@ "node": ">=8" } }, + "../../Documents/Documents/Documents/Documents/Documents/dotfiles/opencode/node_modules/toml": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/toml/-/toml-4.1.1.tgz", + "integrity": "sha512-EBJnVBr3dTXdA89WVFoAIPUqkBjxPMwRqsfuo1r240tKFHXv3zgca4+NJib/h6TyvGF7vOawz0jGuryJCdNHrw==", + "extraneous": true, + "license": "MIT", + "engines": { + "node": ">=20" + } + }, + "../../Documents/Documents/Documents/Documents/Documents/dotfiles/opencode/node_modules/uuid": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-13.0.0.tgz", + "integrity": "sha512-XQegIaBTVUjSHliKqcnFqYypAd4S+WCYt5NIeRs6w/UAry7z8Y9j5ZwRRL4kzq9U3sD6v+85er9FvkEaBpji2w==", + "extraneous": true, + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "license": "MIT", + "bin": { + "uuid": "dist-node/bin/uuid" + } + }, "../../Documents/Documents/Documents/Documents/Documents/dotfiles/opencode/node_modules/which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", @@ -113,6 +484,22 @@ "node": ">= 8" } }, + "../../Documents/Documents/Documents/Documents/Documents/dotfiles/opencode/node_modules/yaml": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.3.tgz", + "integrity": "sha512-AvbaCLOO2Otw/lW5bmh9d/WEdcDFdQp2Z2ZUH3pX9U2ihyUY0nvLv7J6TrWowklRGPYbB/IuIMfYgxaCPg5Bpg==", + "extraneous": true, + "license": "ISC", + "bin": { + "yaml": "bin.mjs" + }, + "engines": { + "node": ">= 14.6" + }, + "funding": { + "url": "https://github.com/sponsors/eemeli" + } + }, "../../Documents/Documents/Documents/Documents/Documents/dotfiles/opencode/node_modules/zod": { "version": "4.1.8", "resolved": "https://registry.npmjs.org/zod/-/zod-4.1.8.tgz",