diff --git a/config/brew/Brewfile b/config/brew/Brewfile index 73128d7..89cc7f5 100644 --- a/config/brew/Brewfile +++ b/config/brew/Brewfile @@ -1,4 +1,4 @@ -tap "hudochenkov/sshpass" +# tap "hudochenkov/sshpass" tap "koekeishiya/formulae" tap "nikitabobko/tap" @@ -122,12 +122,10 @@ cask "copilot-cli" brew "azure-cli" brew "git-delta" cask "keycastr" -<<<<<<< HEAD:brew/Brewfile tap "databricks/tap" brew "databricks" -||||||| 5f1ddca:brew/Brewfile -======= brew "marp-cli" brew "btop" ->>>>>>> dacbf2ff02af0435dad113fec6089182f393df64:config/brew/Brewfile + +brew "gum" diff --git a/config/nvim/lazy-lock.json b/config/nvim/lazy-lock.json index a3ce1a1..b390292 100644 --- a/config/nvim/lazy-lock.json +++ b/config/nvim/lazy-lock.json @@ -1,55 +1,6 @@ { + "CopilotChat.nvim": { "branch": "main", "commit": "f0c2a23ab79dc295f5e0eef0d8b587a39020c852" }, "Vim-Jinja2-Syntax": { "branch": "master", "commit": "2c17843b074b06a835f88587e1023ceff7e2c7d1" }, -<<<<<<< HEAD:nvim/lazy-lock.json - "barbar.nvim": { "branch": "master", "commit": "539d73def39c9172b4d4d769f14090e08f37b29d" }, - "blink-cmp-copilot": { "branch": "main", "commit": "439cff78780c033aa23cf061d7315314b347e3c1" }, - "blink-cmp-dictionary": { "branch": "master", "commit": "35142bba869b869715e91a99d2f46bcf93fca4ae" }, - "blink-cmp-env": { "branch": "main", "commit": "99af62c1f9aa46005e8f50ad4ccee581946546ca" }, - "blink-emoji.nvim": { "branch": "master", "commit": "dff709139ad5389fb55ebab026e75278a12b325a" }, - "blink-ripgrep.nvim": { "branch": "main", "commit": "d84a20e765fdc9cc8c0775708e083e7185654527" }, - "blink.cmp": { "branch": "main", "commit": "78336bc89ee5365633bcf754d93df01678b5c08f" }, - "blink.compat": { "branch": "main", "commit": "2ed6d9a28b07fa6f3bface818470605f8896408c" }, - "bullets.vim": { "branch": "master", "commit": "28c22791153a90bb61a86fbeeae0f812e048ade7" }, - "codecompanion.nvim": { "branch": "main", "commit": "680c445eb357c72129d175ea5d481aa9e92ae6a5" }, - "conform.nvim": { "branch": "master", "commit": "086a40dc7ed8242c03be9f47fbcee68699cc2395" }, - "copilot.lua": { "branch": "master", "commit": "adff470bca742b7658228ed144589250ecb3dc0a" }, - "dbtpal": { "branch": "main", "commit": "981eab51609362712c64e3cf3fb773fe11f859b9" }, - "diffview.nvim": { "branch": "main", "commit": "4516612fe98ff56ae0415a259ff6361a89419b0a" }, - "emmet-vim": { "branch": "master", "commit": "92ef2f74f4093edc99db5e9e4cf7e40116a85bd6" }, - "gitsigns.nvim": { "branch": "main", "commit": "6d808f99bd63303646794406e270bd553ad7792e" }, - "indent-blankline.nvim": { "branch": "master", "commit": "d28a3f70721c79e3c5f6693057ae929f3d9c0a03" }, - "lazy.nvim": { "branch": "main", "commit": "85c7ff3711b730b4030d03144f6db6375044ae82" }, - "lualine.nvim": { "branch": "master", "commit": "a905eeebc4e63fdc48b5135d3bf8aea5618fb21c" }, - "markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" }, - "mini.icons": { "branch": "main", "commit": "bac6317300e205335df425296570d84322730067" }, - "mini.nvim": { "branch": "main", "commit": "5849ef04c32a6a8e55957b946c0a275801d87530" }, - "nvim-autopairs": { "branch": "master", "commit": "59bce2eef357189c3305e25bc6dd2d138c1683f5" }, - "nvim-bqf": { "branch": "main", "commit": "c282a62bec6c0621a1ef5132aa3f4c9fc4dcc2c7" }, - "nvim-colorizer.lua": { "branch": "master", "commit": "5cfe7fffbd01e17b3c1e14af85d5febdef88bd8c" }, - "nvim-lint": { "branch": "master", "commit": "eab58b48eb11d7745c11c505e0f3057165902461" }, - "nvim-lspconfig": { "branch": "master", "commit": "e146efacbafed3789ac568abcc5a981c5decaa58" }, - "nvim-treesitter": { "branch": "main", "commit": "4916d6592ede8c07973490d9322f187e07dfefac" }, - "nvim-treesitter-context": { "branch": "master", "commit": "b0c45cefe2c8f7b55fc46f34e563bc428ef99636" }, - "nvim-treesitter-textobjects": { "branch": "main", "commit": "851e865342e5a4cb1ae23d31caf6e991e1c99f1e" }, - "nvim-ts-autotag": { "branch": "main", "commit": "88c1453db4ba7dd24131086fe51fdf74e587d275" }, - "nvim-web-devicons": { "branch": "master", "commit": "c72328a5494b4502947a022fe69c0c47e53b6aa6" }, - "obsidian.nvim": { "branch": "main", "commit": "ae1f76a75c7ce36866e1d9342a8f6f5b9c2caf9b" }, - "oil.nvim": { "branch": "master", "commit": "0fcc83805ad11cf714a949c98c605ed717e0b83e" }, - "peek.nvim": { "branch": "master", "commit": "5820d937d5414baea5f586dc2a3d912a74636e5b" }, - "plenary.nvim": { "branch": "master", "commit": "74b06c6c75e4eeb3108ec01852001636d85a932b" }, - "render-markdown.nvim": { "branch": "main", "commit": "d67113f11384c0dad96fced2f7b91f1fc811e97f" }, - "telescope-fzf-native.nvim": { "branch": "main", "commit": "6fea601bd2b694c6f2ae08a6c6fab14930c60e2c" }, - "telescope-git-file-history.nvim": { "branch": "master", "commit": "4442114f9257e682e60a8cb6de14cf988e26055c" }, - "telescope-makefile": { "branch": "master", "commit": "f35425d7d53d92a04215c3714a5819811d2842c3" }, - "telescope-ui-select.nvim": { "branch": "master", "commit": "6e51d7da30bd139a6950adf2a47fda6df9fa06d2" }, - "telescope.nvim": { "branch": "master", "commit": "506338434fec5ad19cb1f8d45bf92d66c4917393" }, - "trouble.nvim": { "branch": "main", "commit": "bd67efe408d4816e25e8491cc5ad4088e708a69a" }, - "undotree": { "branch": "master", "commit": "6fa6b57cda8459e1e4b2ca34df702f55242f4e4d" }, - "vim": { "branch": "master", "commit": "07b144414730cc4cf4405ab840bf46c5fa12704b" }, - "vim-argwrap": { "branch": "master", "commit": "03615d1eed248408567bc8fa6a5a8c94ef3cd170" }, - "vim-fugitive": { "branch": "master", "commit": "3b753cf8c6a4dcde6edee8827d464ba9b8c4a6f0" }, -||||||| 5f1ddca:config/nvim/lazy-lock.json -======= "barbar.nvim": { "branch": "master", "commit": "a4bef5b4fc1f064f2f673172252028eae18191c9" }, "blink-cmp-copilot": { "branch": "main", "commit": "439cff78780c033aa23cf061d7315314b347e3c1" }, "blink-cmp-dictionary": { "branch": "master", "commit": "17ea03ba5c296310b9f74587b52fde1b04d84c1a" }, @@ -59,9 +10,7 @@ "blink.cmp": { "branch": "main", "commit": "78336bc89ee5365633bcf754d93df01678b5c08f" }, "blink.compat": { "branch": "main", "commit": "2ed6d9a28b07fa6f3bface818470605f8896408c" }, "bullets.vim": { "branch": "master", "commit": "28c22791153a90bb61a86fbeeae0f812e048ade7" }, - "codecompanion.nvim": { "branch": "main", "commit": "60d031862715a77b3655eac724e8926965e47b86" }, "conform.nvim": { "branch": "master", "commit": "24c70347f6b2128679f47d2eb765156ef34bf9e0" }, - "copilot-lsp": { "branch": "main", "commit": "1b6d8273594643f51bb4c0c1d819bdb21b42159d" }, "copilot.lua": { "branch": "master", "commit": "7b89909d0647c89298de880255b287b01b7e5d34" }, "dbtpal": { "branch": "main", "commit": "981eab51609362712c64e3cf3fb773fe11f859b9" }, "diffview.nvim": { "branch": "main", "commit": "4516612fe98ff56ae0415a259ff6361a89419b0a" }, @@ -87,7 +36,6 @@ "oil.nvim": { "branch": "master", "commit": "21c669e7bfeb1546ae988b52813138e4d674bbf5" }, "peek.nvim": { "branch": "master", "commit": "5820d937d5414baea5f586dc2a3d912a74636e5b" }, "plenary.nvim": { "branch": "master", "commit": "74b06c6c75e4eeb3108ec01852001636d85a932b" }, - "render-markdown.nvim": { "branch": "main", "commit": "629eb9533ec989d9d5c6cab8f3ad5372422c24e0" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "b25b749b9db64d375d782094e2b9dce53ad53a40" }, "telescope-git-file-history.nvim": { "branch": "master", "commit": "4442114f9257e682e60a8cb6de14cf988e26055c" }, "telescope-makefile": { "branch": "master", "commit": "f35425d7d53d92a04215c3714a5819811d2842c3" }, @@ -99,7 +47,6 @@ "vim-argwrap": { "branch": "master", "commit": "03615d1eed248408567bc8fa6a5a8c94ef3cd170" }, "vim-fugitive": { "branch": "master", "commit": "3b753cf8c6a4dcde6edee8827d464ba9b8c4a6f0" }, "vim-markdown": { "branch": "master", "commit": "1bc9d0cd8e1cc3e901b0a49c2b50a843f1c89397" }, ->>>>>>> dacbf2ff02af0435dad113fec6089182f393df64:config/nvim/lazy-lock.json "vim-markdown-toc": { "branch": "master", "commit": "66026b323379c9a712c6169cd43153216acef090" }, "vim-one": { "branch": "master", "commit": "187f5c85b682c1933f8780d4d419c55d26a82e24" }, "vim-python-pep8-indent": { "branch": "master", "commit": "60ba5e11a61618c0344e2db190210145083c91f8" }, diff --git a/config/nvim/lua/config/codecompanion_spinner.lua b/config/nvim/lua/config/codecompanion_spinner.lua deleted file mode 100644 index 6c8cb99..0000000 --- a/config/nvim/lua/config/codecompanion_spinner.lua +++ /dev/null @@ -1,89 +0,0 @@ -local M = { - processing = false, - spinner_index = 1, - namespace_id = nil, - timer = nil, - spinner_symbols = { "⠋", "⠙", "⠹", "⠸", "⠼", "⠴", "⠦", "⠧", "⠇", "⠏" }, - filetype = "codecompanion", -} - -function M:get_buf() - for _, buf in ipairs(vim.api.nvim_list_bufs()) do - if vim.api.nvim_buf_is_valid(buf) and vim.bo[buf].filetype == self.filetype then - return buf - end - end - return nil -end - -function M:update_spinner() - if not self.processing then - self:stop_spinner() - return - end - - self.spinner_index = (self.spinner_index % #self.spinner_symbols) + 1 - - local buf = self:get_buf() - if buf == nil then - return - end - - vim.api.nvim_buf_clear_namespace(buf, self.namespace_id, 0, -1) - - local last_line = vim.api.nvim_buf_line_count(buf) - 1 - vim.api.nvim_buf_set_extmark(buf, self.namespace_id, last_line, 0, { - virt_lines = { { { self.spinner_symbols[self.spinner_index] .. " Processing...", "Comment" } } }, - virt_lines_above = true, - }) -end - -function M:start_spinner() - self.processing = true - self.spinner_index = 0 - - if self.timer then - self.timer:stop() - self.timer:close() - self.timer = nil - end - - self.timer = vim.loop.new_timer() - self.timer:start(0, 100, vim.schedule_wrap(function() - self:update_spinner() - end)) -end - -function M:stop_spinner() - self.processing = false - - if self.timer then - self.timer:stop() - self.timer:close() - self.timer = nil - end - - local buf = self:get_buf() - if buf ~= nil then - vim.api.nvim_buf_clear_namespace(buf, self.namespace_id, 0, -1) - end -end - -function M:init() - self.namespace_id = vim.api.nvim_create_namespace("CodeCompanionSpinner") - - local group = vim.api.nvim_create_augroup("CodeCompanionSpinnerHooks", { clear = true }) - vim.api.nvim_create_autocmd("User", { - pattern = "CodeCompanionRequest*", - group = group, - callback = function(request) - if request.match == "CodeCompanionRequestStarted" then - self:start_spinner() - elseif request.match == "CodeCompanionRequestFinished" then - self:stop_spinner() - end - end, - }) -end - -return M diff --git a/config/nvim/lua/config/keymap.lua b/config/nvim/lua/config/keymap.lua index 1edef45..559bb98 100644 --- a/config/nvim/lua/config/keymap.lua +++ b/config/nvim/lua/config/keymap.lua @@ -93,30 +93,37 @@ km( ) -- Search for files in cwd km("n", "j", ":lua require'telescope.builtin'.find_files(require('telescope.themes').get_ivy({}))", opts) ---- Search through recent files + +--- Search through recent files - mapped 3 ways km("n", "'", ":lua require'telescope.builtin'.oldfiles(require('telescope.themes').get_ivy({}))", opts) km("n", "ro", ":lua require'telescope.builtin'.oldfiles(require('telescope.themes').get_ivy({}))", opts) km("n", "rr", ":lua require'telescope.builtin'.oldfiles(require('telescope.themes').get_ivy({}))", opts) + +-- Search for a string under cursor - mapped twice +km("n", "g", ":lua require'telescope.builtin'.grep_string(require('telescope.themes').get_ivy({}))", opts) +vim.keymap.set("n", ".", function() + require("telescope.builtin").grep_string(require("telescope.themes").get_ivy({ hidden = true })) +end, opts) + -- Search for a string km("n", "rg", ":lua require'telescope.builtin'.live_grep(require('telescope.themes').get_ivy({}))", opts) --- Search for a string under cursor -km("n", "rc", ":lua require'telescope.builtin'.grep_string(require('telescope.themes').get_ivy({}))", opts) --- Search for current word -vim.keymap.set("n", "g", function() + +-- Search for current word in current buffer +vim.keymap.set("n", "rgg", function() require("telescope.builtin").current_buffer_fuzzy_find(require("telescope.themes").get_ivy({ hidden = true, default_text = vim.fn.expand(""), })) end, opts) -vim.keymap.set("n", ".", function() - require("telescope.builtin").grep_string(require("telescope.themes").get_ivy({ hidden = true })) -end, opts) -- Oil vim.keymap.set("n", "o", "split | Oil") -- CopilotChat -vim.keymap.set("n", "c", ":CodeCompanionChat") +vim.keymap.set("n", "c", ":CopilotChat") +vim.keymap.set("n", "sc", function() + require("CopilotChat").toggle({ window = { layout = "horizontal" } }) +end, { desc = "Toggle Copilot Chat (horizontal)" }) -- ZenMode vim.keymap.set("n", "z", ":ZenMode") diff --git a/config/nvim/lua/plugins/cmp.lua b/config/nvim/lua/plugins/cmp.lua index c85dc32..2e5eca5 100644 --- a/config/nvim/lua/plugins/cmp.lua +++ b/config/nvim/lua/plugins/cmp.lua @@ -183,7 +183,6 @@ return { "dictionary", }, per_filetype = { - codecompanion = { "codecompanion" }, markdown = { "obsidian", "copilot", diff --git a/config/nvim/lua/plugins/copilot.lua b/config/nvim/lua/plugins/copilot.lua index ca8c577..5c1f891 100644 --- a/config/nvim/lua/plugins/copilot.lua +++ b/config/nvim/lua/plugins/copilot.lua @@ -32,72 +32,40 @@ return { }, }, { - "olimorris/codecompanion.nvim", - version = "^19.0.0", - opts = { - rules = { - default = { - description = "AGENTS.md files", - files = { - "AGENTS.md", - "~/dotfiles/config/pi/AGENTS.md", - }, - }, - opts = { - chat = { - enabled = true, - autoload = "default", - }, - }, - }, - interactions = { - chat = { - adapter = { - name = "copilot", - model = "claude-sonnet-4.6", - }, - tools = { - opts = { - default_tools = { - "files", - "run_command", - "get_diagnostics", - }, - }, - }, - keymaps = { - send = { - callback = function(chat) - vim.cmd("stopinsert") - chat:add_buf_message({ role = "llm", content = "" }) - chat:submit() - end, - index = 1, - description = "Send", - }, - }, - inline = { - adapter = "copilot", - model = "claude-sonnet-4.6", - }, - cmd = { - adapter = "copilot", - model = "claude-sonnet-4.6", - }, - }, - }, - }, - config = function(_, opts) - require("config.codecompanion_spinner"):init() - require("codecompanion").setup(opts) - end, + "CopilotC-Nvim/CopilotChat.nvim", dependencies = { - "nvim-lua/plenary.nvim", - "nvim-treesitter/nvim-treesitter", + { "zbirenbaum/copilot.lua" }, + { "nvim-lua/plenary.nvim", branch = "master" }, + }, + build = "make tiktoken", + opts = { + system_prompt = [[You are an expert software engineer and data scientist. +- Provide clear, concise explanations - favour less verbose implementations +- Do not include summaries unless explicitly requested +- Favour the simplest solution that could work +- Follow patterns and conventions already established in the codebase +- Push back and offer alternatives when meaningful tradeoffs exist +- Ask a clarifying question rather than guessing when requirements are unclear +- Before substantial changes, propose a concise plan and resolve open decisions +- Include comments only when they explain something non-obvious +- Include docstrings for all public functions +- Delete dead code immediately +- Favour flat, unnested code - minimize levels of indentation +- Fail at the source of the error rather than checking and failing +- All Python code must pass strict type checking (basedpyright): use modern type hints (list, dict, tuple), never typing.List / typing.Dict +- Use dataclasses or pydantic for data objects, and context managers for resources +- Do not use `_df` suffixes for dataframes; prefer `data` +- Only deploy Databricks Asset Bundles to the `dev_developer` target +- List tradeoffs, assumptions, and uncertainties explicitly when relevant +- Prefer small, targeted edits over large rewrites +- Produce directly usable code because responses may be copied into the codebase]], + model = "claude-sonnet-4.6", + trusted_tools = { "file", "glob", "grep", "buffer", "gitdiff", "selection" }, + auto_fold = false, + auto_insert_mode = true, + insert_at_end = true, + auto_follow_cursor = false, + history_path = vim.fn.stdpath("data") .. "/copilotchat_history", }, - }, - { - "MeanderingProgrammer/render-markdown.nvim", - ft = { "codecompanion" }, }, } diff --git a/config/nvim/lua/plugins/formatting.lua b/config/nvim/lua/plugins/formatting.lua index 5238955..dd383f8 100644 --- a/config/nvim/lua/plugins/formatting.lua +++ b/config/nvim/lua/plugins/formatting.lua @@ -20,6 +20,8 @@ return { jinja = { "djlintJinja" }, json = { "jq" }, lua = { "stylua" }, + cs = { "csharpier" }, + gdscript = { "gdformat" }, go = { "gofmt" }, python = { "isort", @@ -119,6 +121,7 @@ return { bash = "sh", c_sharp = "cs", elixir = "exs", + gdscript = "gd", javascript = "js", julia = "jl", latex = "tex", diff --git a/config/nvim/lua/plugins/linting.lua b/config/nvim/lua/plugins/linting.lua index 495d1ba..81895ab 100644 --- a/config/nvim/lua/plugins/linting.lua +++ b/config/nvim/lua/plugins/linting.lua @@ -45,6 +45,7 @@ return { -- filetype to linter mapping require("lint").linters_by_ft = { dockerfile = { "hadolint" }, + gdscript = { "gdlint" }, go = { "golangcilint" }, html = { "djlint" }, javascript = { "jshint" }, diff --git a/config/nvim/lua/plugins/lsp.lua b/config/nvim/lua/plugins/lsp.lua index b9f6a2f..04da5d6 100644 --- a/config/nvim/lua/plugins/lsp.lua +++ b/config/nvim/lua/plugins/lsp.lua @@ -106,6 +106,22 @@ return { } vim.lsp.enable("gopls") + -- csharp + vim.lsp.config["csharp_ls"] = { + cmd = { "csharp-ls" }, + filetypes = { "cs" }, + root_markers = { "*.sln", "*.csproj", "project.godot", ".git" }, + } + vim.lsp.enable("csharp_ls") + + -- gdscript - server runs inside the Godot editor, which must be open + vim.lsp.config["gdscript"] = { + cmd = vim.lsp.rpc.connect("127.0.0.1", tonumber(os.getenv("GDScript_Port") or "6005")), + filetypes = { "gdscript" }, + root_markers = { "project.godot", ".git" }, + } + vim.lsp.enable("gdscript") + -- html vim.lsp.config["html"] = { cmd = { "vscode-html-language-server", "--stdio" }, diff --git a/config/nvim/lua/plugins/treesitter.lua b/config/nvim/lua/plugins/treesitter.lua index 6fd2c5f..12e8f82 100644 --- a/config/nvim/lua/plugins/treesitter.lua +++ b/config/nvim/lua/plugins/treesitter.lua @@ -15,6 +15,10 @@ return { return end + -- markdown fence names that don't match the parser name + vim.treesitter.language.register("c_sharp", { "csharp", "c#" }) + vim.treesitter.language.register("gdscript", { "gd", "godot" }) + configs.setup({ compilers = { "clang" }, -- A list of parser names, or "all" @@ -28,6 +32,10 @@ return { "bash", "markdown", "markdown_inline", + "c_sharp", + "gdscript", + "godot_resource", + "gdshader", }, -- Install parsers synchronously (only applied to `ensure_installed`) sync_install = false, diff --git a/config/pi/AGENTS.md b/config/pi/AGENTS.md index 031ef4c..c06b0ab 100644 --- a/config/pi/AGENTS.md +++ b/config/pi/AGENTS.md @@ -33,6 +33,17 @@ If you are making code changes from a plan, update the plan as part of your code Plans should include a section on `## Steps` which lists in order the work needed. +Plan structure: + +- Short description +- Steps +- Background +- Decision register +- Open decisions +- Any other required sections + +Favour markdown bullet lists over tables where appropriate. Use multiple levels in the bullet lists to structure the lists. + ## Programming - When you write Python code, make it type safe, so that it would pass strict type checking with a tool like basedpyright. Prefer using `list` or `dict` over `typing.List` or `typing.Dict` (same for all other objects like this - avoid `import typing` if possible). diff --git a/config/pi/extensions/guardrails.json b/config/pi/extensions/guardrails.json index 65aee65..47af123 100644 --- a/config/pi/extensions/guardrails.json +++ b/config/pi/extensions/guardrails.json @@ -1,6 +1,7 @@ { + "$schema": "https://unpkg.com/@aliou/pi-guardrails@0.16.1/schema.json", "applyBuiltinDefaults": true, - "version": "0.9.0-20260327", + "version": "0.13.0-20260619", "onboarding": { "completed": true, "completedAt": "2026-04-19T11:40:12.253Z", @@ -10,6 +11,12 @@ "pathAccess": true }, "pathAccess": { - "mode": "ask" + "mode": "ask", + "allowedPaths": [ + { + "kind": "file", + "path": "/dev/null" + } + ] } } diff --git a/config/pi/settings.json b/config/pi/settings.json index 6212984..0420580 100644 --- a/config/pi/settings.json +++ b/config/pi/settings.json @@ -1,14 +1,13 @@ { "defaultProvider": "openrouter", - "defaultModel": "~google/gemini-pro-latest", + "defaultModel": "moonshotai/kimi-k3", "theme": "dracula", "packages": [ "npm:@aliou/pi-guardrails", "npm:pi-vim", "npm:@ifi/pi-plan", - "npm:@ollama/pi-web-search", - "npm:pi-mono-status-line", - "npm:@guwidoe/pi-prompt-suggester" + "npm:@ollama/pi-web-search" ], - "defaultThinkingLevel": "medium" -} + "defaultThinkingLevel": "medium", + "lastChangelogVersion": "0.83.0" +} \ No newline at end of file diff --git a/dotfiles/.gitignore b/dotfiles/.gitignore index ca1cbfd..a491601 100644 --- a/dotfiles/.gitignore +++ b/dotfiles/.gitignore @@ -39,3 +39,5 @@ temp.* temp .databricks **/.mypy_cache + +**/.claude/.cc-writes/ diff --git a/dotfiles/common/setup-path.sh b/dotfiles/common/setup-path.sh index 21b5fe4..ed50b7a 100644 --- a/dotfiles/common/setup-path.sh +++ b/dotfiles/common/setup-path.sh @@ -6,4 +6,6 @@ export PATH="$HOME/personal/area/scripts:$PATH" export PATH="$HOME/go/bin:$PATH" export PATH="$HOME/.local/bin:$PATH" export PATH="$HOME/.npm-packages/bin:$PATH" +# macOS path_helper adds a literal, unexpanded "~/.dotnet/tools" which zsh never resolves +export PATH="$HOME/.dotnet/tools:$PATH" export GOPATH="$HOME/go" diff --git a/scripts/aliases.sh b/scripts/aliases.sh index 2d798ea..dd1fe6c 100755 --- a/scripts/aliases.sh +++ b/scripts/aliases.sh @@ -169,3 +169,5 @@ alias f='fish' alias secret='nvim /home/adam/src/.env.secret' alias ai='claude' alias ai-talk='claude converse' + +alias godot='godot-mono' diff --git a/scripts/setup-lsps.sh b/scripts/setup-lsps.sh index 0d71909..497b58c 100644 --- a/scripts/setup-lsps.sh +++ b/scripts/setup-lsps.sh @@ -3,3 +3,5 @@ uv tool install pyright uv tool install ruff uv tool install basedpyright cargo install prosemd-lsp +dotnet tool install --global csharp-ls +dotnet tool install --global csharpier diff --git a/scripts/setup-pi.sh b/scripts/setup-pi.sh index 3fe5c7c..ae5a881 100644 --- a/scripts/setup-pi.sh +++ b/scripts/setup-pi.sh @@ -3,4 +3,3 @@ pi install npm:@aliou/pi-guardrails pi install npm:pi-web-access pi install npm:@ifi/pi-plan pi install npm:pi-vim -pi install npm:@guwidoe/pi-prompt-suggester diff --git a/scripts/setup-uv.sh b/scripts/setup-uv.sh index ffaad7c..a009d38 100644 --- a/scripts/setup-uv.sh +++ b/scripts/setup-uv.sh @@ -7,3 +7,4 @@ uv tool install pydocstyle --python 3.11.9 uv tool install sqlfluff --python 3.11.9 uv tool install pynvim --python 3.11.9 uv tool install basedpyright --python 3.11.9 +uv tool install "gdtoolkit==4.*" --python 3.11.9