Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
50 changes: 26 additions & 24 deletions init.lua
Original file line number Diff line number Diff line change
Expand Up @@ -131,10 +131,14 @@ require('lazy').setup({

{
-- Theme inspired by Atom
'navarasu/onedark.nvim',
-- 'navarasu/onedark.nvim',
-- 'folke/tokyonight.nvim',
'catppuccin/nvim', name = 'catppuccin',
priority = 1000,
config = function()
vim.cmd.colorscheme 'onedark'
-- vim.cmd.colorscheme 'onedark'
-- vim.cmd.colorscheme 'tokyonight'
vim.cmd.colorscheme 'catppuccin'
end,
},

Expand All @@ -157,10 +161,9 @@ require('lazy').setup({
'lukas-reineke/indent-blankline.nvim',
-- Enable `lukas-reineke/indent-blankline.nvim`
-- See `:help indent_blankline.txt`
opts = {
char = '┊',
show_trailing_blankline_indent = false,
},
-- https://github.com/lukas-reineke/indent-blankline.nvim/wiki/Migrate-to-version-3
main = "ibl",
opts = {},
},

-- "gc" to comment visual regions/lines
Expand Down Expand Up @@ -213,7 +216,7 @@ require('lazy').setup({
vim.o.hlsearch = false

-- Make line numbers default
vim.wo.number = true
vim.wo.relativenumber = true

-- Enable mouse mode
vim.o.mouse = 'a'
Expand Down Expand Up @@ -306,10 +309,10 @@ vim.keymap.set('n', '<leader>sd', require('telescope.builtin').diagnostics, { de
-- See `:help nvim-treesitter`
require('nvim-treesitter.configs').setup {
-- Add languages to be installed here that you want installed for treesitter
ensure_installed = { 'c', 'cpp', 'go', 'lua', 'python', 'rust', 'tsx', 'typescript', 'vimdoc', 'vim' },
ensure_installed = { 'c', 'cpp', 'go', 'hcl', 'lua', 'nginx', 'python', 'rust', 'terraform', 'tsx', 'typescript', 'vim', 'vimdoc', 'yaml' },

-- Autoinstall languages that are not installed. Defaults to false (but you can change for yourself!)
auto_install = false,
auto_install = true,

highlight = { enable = true },
indent = { enable = true, disable = { 'python' } },
Expand Down Expand Up @@ -443,24 +446,23 @@ local servers = {
require('neodev').setup()

-- nvim-cmp supports additional completion capabilities, so broadcast that to servers
local capabilities = vim.lsp.protocol.make_client_capabilities()
capabilities = require('cmp_nvim_lsp').default_capabilities(capabilities)
local capabilities = require('cmp_nvim_lsp').default_capabilities()

-- Ensure the servers above are installed
local mason_lspconfig = require 'mason-lspconfig'
-- mason-lspconfig v2+ uses Neovim's native vim.lsp.config / vim.lsp.enable APIs
vim.lsp.config('*', {
capabilities = capabilities,
on_attach = on_attach,
})

mason_lspconfig.setup {
ensure_installed = vim.tbl_keys(servers),
}
for server_name, settings in pairs(servers) do
vim.lsp.config(server_name, {
settings = settings,
})
end

mason_lspconfig.setup_handlers {
function(server_name)
require('lspconfig')[server_name].setup {
capabilities = capabilities,
on_attach = on_attach,
settings = servers[server_name],
}
end,
-- Ensure the servers above are installed (and auto-enabled when installed)
require('mason-lspconfig').setup {
ensure_installed = vim.tbl_keys(servers),
}

-- [[ Configure nvim-cmp ]]
Expand Down
44 changes: 44 additions & 0 deletions lua/custom/plugins/claudecode.lua
Original file line number Diff line number Diff line change
@@ -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" },
},
}
Loading