fix: restore lazy.nvim init.lua and apply stylua

Merge spliced upstream vim.pack rewrite into lazy.nvim config,
breaking init.lua parse. Restore branch version, reformat all
lua to satisfy stylua --check.
This commit is contained in:
Patrick Pagni 2026-06-24 17:45:59 +01:00
parent c1c53aa117
commit e7c217a876
12 changed files with 123 additions and 471 deletions

View File

@ -1,13 +1,13 @@
-- Bootstrap lazy.nvim -- Bootstrap lazy.nvim
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" local lazypath = vim.fn.stdpath 'data' .. '/lazy/lazy.nvim'
if not (vim.uv or vim.loop).fs_stat(lazypath) then if not (vim.uv or vim.loop).fs_stat(lazypath) then
local lazyrepo = "https://github.com/folke/lazy.nvim.git" local lazyrepo = 'https://github.com/folke/lazy.nvim.git'
local out = vim.fn.system({ "git", "clone", "--filter=blob:none", "--branch=stable", lazyrepo, lazypath }) local out = vim.fn.system { 'git', 'clone', '--filter=blob:none', '--branch=stable', lazyrepo, lazypath }
if vim.v.shell_error ~= 0 then if vim.v.shell_error ~= 0 then
vim.api.nvim_echo({ vim.api.nvim_echo({
{ "Failed to clone lazy.nvim:\n", "ErrorMsg" }, { 'Failed to clone lazy.nvim:\n', 'ErrorMsg' },
{ out, "WarningMsg" }, { out, 'WarningMsg' },
{ "\nPress any key to exit..." }, { '\nPress any key to exit...' },
}, true, {}) }, true, {})
vim.fn.getchar() vim.fn.getchar()
os.exit(1) os.exit(1)
@ -18,18 +18,18 @@ vim.opt.rtp:prepend(lazypath)
-- Make sure to setup `mapleader` and `maplocalleader` before -- Make sure to setup `mapleader` and `maplocalleader` before
-- loading lazy.nvim so that mappings are correct. -- loading lazy.nvim so that mappings are correct.
-- This is also a good place to setup other settings (vim.opt) -- This is also a good place to setup other settings (vim.opt)
vim.g.mapleader = " " vim.g.mapleader = ' '
vim.g.maplocalleader = "\\" vim.g.maplocalleader = '\\'
-- Setup lazy.nvim -- Setup lazy.nvim
require("lazy").setup({ require('lazy').setup {
spec = { spec = {
-- import your plugins -- import your plugins
{ import = "plugins" }, { import = 'plugins' },
}, },
-- Configure any other settings here. See the documentation for more details. -- Configure any other settings here. See the documentation for more details.
-- colorscheme that will be used when installing plugins. -- colorscheme that will be used when installing plugins.
install = { colorscheme = { "habamax" } }, install = { colorscheme = { 'habamax' } },
-- automatically check for plugin updates -- automatically check for plugin updates
checker = { enabled = true }, checker = { enabled = true },
}) }

398
init.lua
View File

@ -85,7 +85,7 @@ P.S. You can delete this when you're done too. It's your config now! :)
--]] --]]
-- ============================================================ -- ============================================================
-- SECTION 1: OPTIONS -- SECTION 1: FOUNDATION
-- Core Neovim settings, leaders, options, basic keymaps, basic autocmds -- Core Neovim settings, leaders, options, basic keymaps, basic autocmds
-- ============================================================ -- ============================================================
do do
@ -171,13 +171,7 @@ do
-- instead raise a dialog asking if you wish to save the current file(s) -- instead raise a dialog asking if you wish to save the current file(s)
-- See `:help 'confirm'` -- See `:help 'confirm'`
vim.o.confirm = true vim.o.confirm = true
end
-- ============================================================
-- SECTION 2: KEYMAPS
-- basic keymaps
-- ============================================================
do
-- [[ Basic Keymaps ]] -- [[ Basic Keymaps ]]
-- See `:help vim.keymap.set()` -- See `:help vim.keymap.set()`
@ -259,12 +253,16 @@ end
-- ============================================================ -- ============================================================
-- Bootstrap lazy.nvim -- Bootstrap lazy.nvim
local lazypath = vim.fn.stdpath('data') .. '/lazy/lazy.nvim' local lazypath = vim.fn.stdpath 'data' .. '/lazy/lazy.nvim'
if not (vim.uv or vim.loop).fs_stat(lazypath) then if not (vim.uv or vim.loop).fs_stat(lazypath) then
local out = vim.fn.system({ local out = vim.fn.system {
'git', 'clone', '--filter=blob:none', '--branch=stable', 'git',
'https://github.com/folke/lazy.nvim.git', lazypath, 'clone',
}) '--filter=blob:none',
'--branch=stable',
'https://github.com/folke/lazy.nvim.git',
lazypath,
}
if vim.v.shell_error ~= 0 then if vim.v.shell_error ~= 0 then
vim.api.nvim_echo({ { 'Failed to clone lazy.nvim:\n', 'ErrorMsg' }, { out, 'WarningMsg' }, { '\nPress any key to exit...' } }, true, {}) vim.api.nvim_echo({ { 'Failed to clone lazy.nvim:\n', 'ErrorMsg' }, { out, 'WarningMsg' }, { '\nPress any key to exit...' } }, true, {})
vim.fn.getchar() vim.fn.getchar()
@ -273,7 +271,7 @@ if not (vim.uv or vim.loop).fs_stat(lazypath) then
end end
vim.opt.rtp:prepend(lazypath) vim.opt.rtp:prepend(lazypath)
require('lazy').setup({ require('lazy').setup {
spec = { spec = {
-- ============================================================ -- ============================================================
-- SECTION 3: UI / CORE UX PLUGINS -- SECTION 3: UI / CORE UX PLUGINS
@ -284,45 +282,6 @@ require('lazy').setup({
{ {
'nvim-tree/nvim-web-devicons', 'nvim-tree/nvim-web-devicons',
cond = vim.g.have_nerd_font, cond = vim.g.have_nerd_font,
---Because most plugins are hosted on GitHub, you can use the helper
---function to have less repetition in the following sections.
---@param repo string
---@return string
local function gh(repo) return 'https://github.com/' .. repo end
-- ============================================================
-- SECTION 4: UI / CORE UX PLUGINS
-- guess-indent, gitsigns, which-key, colorscheme, todo-comments, mini modules
-- ============================================================
do
-- [[ Installing and Configuring Plugins ]]
--
-- To install a plugin simply call `vim.pack.add` with its git url.
-- This will download the default branch of the plugin, which will usually be `main` or `master`
-- You can also have more advanced specs, which we will talk about later.
--
-- For most plugins its not enough to install them, you also need to call their `.setup()` to start them.
--
-- For example, lets say we want to install `guess-indent.nvim` - a plugin for
-- automatically detecting and setting the indentation.
--
-- We first install it from https://github.com/NMAC427/guess-indent.nvim
-- and then call its `setup()` function to start it with default settings.
vim.pack.add { gh 'NMAC427/guess-indent.nvim' }
require('guess-indent').setup {}
-- Here is a more advanced configuration example that passes options to `gitsigns.nvim`
--
-- See `:help gitsigns` to understand what each configuration key does.
-- Adds git related signs to the gutter, as well as utilities for managing changes
vim.pack.add { gh 'lewis6991/gitsigns.nvim' }
require('gitsigns').setup {
signs = {
add = { text = '+' }, ---@diagnostic disable-line: missing-fields
change = { text = '~' }, ---@diagnostic disable-line: missing-fields
delete = { text = '_' }, ---@diagnostic disable-line: missing-fields
topdelete = { text = '' }, ---@diagnostic disable-line: missing-fields
changedelete = { text = '~' }, ---@diagnostic disable-line: missing-fields
}, },
{ {
@ -385,7 +344,7 @@ do
{ {
'nvim-telescope/telescope-fzf-native.nvim', 'nvim-telescope/telescope-fzf-native.nvim',
build = 'make', build = 'make',
cond = vim.fn.executable('make') == 1, cond = vim.fn.executable 'make' == 1,
}, },
}, },
config = function() config = function()
@ -423,90 +382,22 @@ do
end, end,
}) })
vim.keymap.set('n', '<leader>/', function() vim.keymap.set(
builtin.current_buffer_fuzzy_find(require('telescope.themes').get_dropdown { winblend = 10, previewer = false }) 'n',
end, { desc = '[/] Fuzzily search in current buffer' }) '<leader>/',
-- If a nerd font is available, load the icons module for pretty icons in various plugins. function() builtin.current_buffer_fuzzy_find(require('telescope.themes').get_dropdown { winblend = 10, previewer = false }) end,
if vim.g.have_nerd_font then { desc = '[/] Fuzzily search in current buffer' }
require('mini.icons').setup() )
-- Used for backwards compatibility with plugins that require `nvim-web-devicons` (e.g. telescope.nvim)
MiniIcons.mock_nvim_web_devicons()
end
-- Better Around/Inside textobjects vim.keymap.set(
-- 'n',
-- Examples: '<leader>s/',
-- - va) - [V]isually select [A]round [)]paren function() builtin.live_grep { grep_open_files = true, prompt_title = 'Live Grep in Open Files' } end,
-- - yiiq - [Y]ank [I]nside [I]+1 [Q]uote { desc = '[S]earch [/] in Open Files' }
-- - ci' - [C]hange [I]nside [']quote )
require('mini.ai').setup {
-- NOTE: Avoid conflicts with the built-in incremental selection mappings on Neovim>=0.12 (see `:help treesitter-incremental-selection`)
mappings = {
around_next = 'aa',
inside_next = 'ii',
},
n_lines = 500,
}
vim.keymap.set('n', '<leader>s/', function()
builtin.live_grep { grep_open_files = true, prompt_title = 'Live Grep in Open Files' }
end, { desc = '[S]earch [/] in Open Files' })
vim.keymap.set('n', '<leader>sn', function() builtin.find_files { cwd = vim.fn.stdpath 'config' } end, { desc = '[S]earch [N]eovim files' }) vim.keymap.set('n', '<leader>sn', function() builtin.find_files { cwd = vim.fn.stdpath 'config' } end, { desc = '[S]earch [N]eovim files' })
end, end,
-- ============================================================
-- SECTION 5: SEARCH & NAVIGATION
-- Telescope setup, keymaps, LSP picker mappings
-- ============================================================
do
-- [[ Fuzzy Finder (files, lsp, etc) ]]
--
-- Telescope is a fuzzy finder that comes with a lot of different things that
-- it can fuzzy find! It's more than just a "file finder", it can search
-- many different aspects of Neovim, your workspace, LSP, and more!
--
-- There are lots of other alternative pickers (like snacks.picker, or fzf-lua)
-- so feel free to experiment and see what you like!
--
-- The easiest way to use Telescope, is to start by doing something like:
-- :Telescope help_tags
--
-- After running this command, a window will open up and you're able to
-- type in the prompt window. You'll see a list of `help_tags` options and
-- a corresponding preview of the help.
--
-- Two important keymaps to use while in Telescope are:
-- - Insert mode: <c-/>
-- - Normal mode: ?
--
-- This opens a window that shows you all of the keymaps for the current
-- Telescope picker. This is really useful to discover what Telescope can
-- do as well as how to actually do it!
---@type (string|vim.pack.Spec)[]
local telescope_plugins = {
gh 'nvim-lua/plenary.nvim',
gh 'nvim-telescope/telescope.nvim',
gh 'nvim-telescope/telescope-ui-select.nvim',
}
if vim.fn.executable 'make' == 1 then table.insert(telescope_plugins, gh 'nvim-telescope/telescope-fzf-native.nvim') end
-- NOTE: You can install multiple plugins at once
vim.pack.add(telescope_plugins)
-- See `:help telescope` and `:help telescope.setup()`
require('telescope').setup {
-- You can put your default mappings / updates / etc. in here
-- All the info you're looking for is in `:help telescope.setup()`
--
-- defaults = {
-- mappings = {
-- i = { ['<c-enter>'] = 'to_fuzzy_refine' },
-- },
-- },
-- pickers = {}
extensions = {
['ui-select'] = { require('telescope.themes').get_dropdown() },
}, },
-- ============================================================ -- ============================================================
@ -561,109 +452,6 @@ do
map('<leader>th', function() vim.lsp.inlay_hint.enable(not vim.lsp.inlay_hint.is_enabled { bufnr = event.buf }) end, '[T]oggle Inlay [H]ints') map('<leader>th', function() vim.lsp.inlay_hint.enable(not vim.lsp.inlay_hint.is_enabled { bufnr = event.buf }) end, '[T]oggle Inlay [H]ints')
end end
end, end,
-- Override default behavior and theme when searching
vim.keymap.set('n', '<leader>/', 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',
'<leader>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', '<leader>sn', function() builtin.find_files { cwd = vim.fn.stdpath 'config', follow = true } end, { desc = '[S]earch [N]eovim files' })
end
-- ============================================================
-- SECTION 6: LSP
-- LSP keymaps, server configuration, Mason tools installations
-- ============================================================
do
-- [[ LSP Configuration ]]
-- Brief aside: **What is LSP?**
--
-- LSP is an initialism you've probably heard, but might not understand what it is.
--
-- LSP stands for Language Server Protocol. It's a protocol that helps editors
-- and language tooling communicate in a standardized fashion.
--
-- In general, you have a "server" which is some tool built to understand a particular
-- language (such as `gopls`, `lua_ls`, `rust_analyzer`, etc.). These Language Servers
-- (sometimes called LSP servers, but that's kind of like ATM Machine) are standalone
-- processes that communicate with some "client" - in this case, Neovim!
--
-- LSP provides Neovim with features like:
-- - Go to definition
-- - Find references
-- - Autocompletion
-- - Symbol Search
-- - and more!
--
-- Thus, Language Servers are external tools that must be installed separately from
-- Neovim. This is where `mason` and related plugins come into play.
--
-- If you're wondering about lsp vs treesitter, you can check out the wonderfully
-- and elegantly composed help section, `:help lsp-vs-treesitter`
-- Useful status updates for LSP.
vim.pack.add { gh 'j-hui/fidget.nvim' }
require('fidget').setup {}
-- This function gets run when an LSP attaches to a particular buffer.
-- That is to say, every time a new file is opened that is associated with
-- an lsp (for example, opening `main.rs` is associated with `rust_analyzer`) this
-- function will be executed to configure the current buffer
vim.api.nvim_create_autocmd('LspAttach', {
group = vim.api.nvim_create_augroup('kickstart-lsp-attach', { clear = true }),
callback = function(event)
-- NOTE: Remember that Lua is a real programming language, and as such it is possible
-- to define small helper and utility functions so you don't have to repeat yourself.
--
-- In this case, we create a function that lets us more easily define mappings specific
-- for LSP related items. It sets the mode, buffer and description for us each time.
local map = function(keys, func, desc, mode)
mode = mode or 'n'
vim.keymap.set(mode, keys, func, { buffer = event.buf, desc = 'LSP: ' .. desc })
end
-- Rename the variable under your cursor.
-- Most Language Servers support renaming across files, etc.
map('grn', vim.lsp.buf.rename, '[R]e[n]ame')
-- Execute a code action, usually your cursor needs to be on top of an error
-- or a suggestion from your LSP for this to activate.
map('gra', vim.lsp.buf.code_action, '[G]oto Code [A]ction', { 'n', 'x' })
-- WARN: This is not Goto Definition, this is Goto Declaration.
-- For example, in C this would take you to the header.
map('grD', vim.lsp.buf.declaration, '[G]oto [D]eclaration')
-- The following two autocommands are used to highlight references of the
-- word under your cursor when your cursor rests there for a little while.
-- See `:help CursorHold` for information about when this is executed
--
-- When you move your cursor, the highlights will be cleared (the second autocommand).
local client = vim.lsp.get_client_by_id(event.data.client_id)
if client and client:supports_method('textDocument/documentHighlight', event.buf) then
local highlight_augroup = vim.api.nvim_create_augroup('kickstart-lsp-highlight', { clear = false })
vim.api.nvim_create_autocmd({ 'CursorHold', 'CursorHoldI' }, {
buffer = event.buf,
group = highlight_augroup,
callback = vim.lsp.buf.document_highlight,
}) })
---@type table<string, vim.lsp.Config> ---@type table<string, vim.lsp.Config>
@ -752,9 +540,7 @@ do
require('conform').setup { require('conform').setup {
notify_on_error = false, notify_on_error = false,
format_on_save = function(bufnr) format_on_save = function(bufnr)
if formatters_by_ft[vim.bo[bufnr].filetype] then if formatters_by_ft[vim.bo[bufnr].filetype] then return { timeout_ms = 500, lsp_format = 'fallback' } end
return { timeout_ms = 500, lsp_format = 'fallback' }
end
return nil return nil
end, end,
default_format_opts = { default_format_opts = {
@ -764,38 +550,6 @@ do
} }
vim.keymap.set({ 'n', 'v' }, '<leader>f', function() require('conform').format { async = true } end, { desc = '[F]ormat buffer' }) vim.keymap.set({ 'n', 'v' }, '<leader>f', function() require('conform').format { async = true } end, { desc = '[F]ormat buffer' })
end, end,
-- ============================================================
-- SECTION 7: FORMATTING
-- conform.nvim setup and keymap
-- ============================================================
do
-- [[ Formatting ]]
vim.pack.add { gh 'stevearc/conform.nvim' }
require('conform').setup {
notify_on_error = false,
format_on_save = function(bufnr)
-- You can specify filetypes to autoformat on save here:
local enabled_filetypes = {
-- lua = true,
-- python = true,
}
if enabled_filetypes[vim.bo[bufnr].filetype] then
return { timeout_ms = 500 }
else
return nil
end
end,
default_format_opts = {
lsp_format = 'fallback', -- Use external formatters if configured below, otherwise use LSP formatting. Set to `false` to disable LSP formatting entirely.
},
-- You can also specify external formatters in here.
formatters_by_ft = {
-- rust = { 'rustfmt' },
-- Conform can also run multiple formatters sequentially
-- python = { "isort", "black" },
--
-- You can use 'stop_after_first' to run the first available formatter from the list
-- javascript = { "prettierd", "prettier", stop_after_first = true },
}, },
-- ============================================================ -- ============================================================
@ -805,60 +559,12 @@ do
{ {
'L3MON4D3/LuaSnip', 'L3MON4D3/LuaSnip',
version = '2.*', version = '2.*',
build = (vim.fn.has('win32') ~= 1 and vim.fn.executable('make') == 1) and 'make install_jsregexp' or nil, build = (vim.fn.has 'win32' ~= 1 and vim.fn.executable 'make' == 1) and 'make install_jsregexp' or nil,
config = function() config = function()
require('luasnip').setup {} require('luasnip').setup {}
-- vim.pack.add { gh 'rafamadriz/friendly-snippets' } -- vim.pack.add { gh 'rafamadriz/friendly-snippets' }
-- require('luasnip.loaders.from_vscode').lazy_load() -- require('luasnip.loaders.from_vscode').lazy_load()
end, end,
-- ============================================================
-- SECTION 8: AUTOCOMPLETE & SNIPPETS
-- blink.cmp and luasnip setup
-- ============================================================
do
-- [[ Snippet Engine ]]
-- NOTE: You can also specify plugin using a version range for its git tag.
-- See `:help vim.version.range()` for more info
vim.pack.add { { src = gh 'L3MON4D3/LuaSnip', version = vim.version.range '2.*' } }
require('luasnip').setup {}
-- `friendly-snippets` contains a variety of premade snippets.
-- See the README about individual language/framework/plugin snippets:
-- https://github.com/rafamadriz/friendly-snippets
--
-- vim.pack.add { gh 'rafamadriz/friendly-snippets' }
-- require('luasnip.loaders.from_vscode').lazy_load()
-- [[ Autocomplete Engine ]]
vim.pack.add { { src = gh 'saghen/blink.cmp', version = vim.version.range '1.*' } }
require('blink.cmp').setup {
keymap = {
-- 'default' (recommended) for mappings similar to built-in completions
-- <c-y> to accept ([y]es) the completion.
-- This will auto-import if your LSP supports it.
-- This will expand snippets if the LSP sent a snippet.
-- 'super-tab' for tab to accept
-- 'enter' for enter to accept
-- 'none' for no mappings
--
-- For an understanding of why the 'default' preset is recommended,
-- you will need to read `:help ins-completion`
--
-- No, but seriously. Please read `:help ins-completion`, it is really good!
--
-- All presets have the following mappings:
-- <tab>/<s-tab>: move to right/left of your snippet expansion
-- <c-space>: Open menu or open docs if already open
-- <c-n>/<c-p> or <up>/<down>: Select next/previous item
-- <c-e>: Hide menu
-- <c-k>: Toggle signature help
--
-- See `:help blink-cmp-config-keymap` for defining your own keymap
preset = 'default',
-- For more advanced Luasnip keymaps (e.g. selecting choice nodes, expansion) see:
-- https://github.com/L3MON4D3/LuaSnip?tab=readme-ov-file#keymaps
}, },
{ {
@ -943,59 +649,13 @@ do
{ import = 'custom.plugins' }, { import = 'custom.plugins' },
}, },
-- ============================================================
-- SECTION 9: TREESITTER
-- Parser installation, syntax highlighting, folds, indentation
-- ============================================================
do
-- [[ Configure Treesitter ]]
-- Used to highlight, edit, and navigate code
--
-- See `:help nvim-treesitter-intro`
-- NOTE: You can also specify a branch or a specific commit
vim.pack.add { { src = gh 'nvim-treesitter/nvim-treesitter', version = 'main' } }
-- Ensure basic parsers are installed
local parsers = { 'bash', 'c', 'diff', 'html', 'lua', 'luadoc', 'markdown', 'markdown_inline', 'query', 'vim', 'vimdoc' }
require('nvim-treesitter').install(parsers)
---@param buf integer
---@param language string
local function treesitter_try_attach(buf, language)
-- Check if a parser exists and load it
if not vim.treesitter.language.add(language) then return end
-- Enable syntax highlighting and other treesitter features
vim.treesitter.start(buf, language)
-- Enable treesitter based folds
-- For more info on folds see `:help folds`
-- vim.wo.foldexpr = 'v:lua.vim.treesitter.foldexpr()'
-- vim.wo.foldmethod = 'expr'
-- Check if treesitter indentation is available for this language, and if so enable it
-- in case there is no indent query, the indentexpr will fallback to the vim's built in one
local has_indent_query = vim.treesitter.query.get(language, 'indents') ~= nil
-- Enable treesitter based indentation
if has_indent_query then vim.bo.indentexpr = "v:lua.require'nvim-treesitter'.indentexpr()" end
end
install = { colorscheme = { 'gruvbox-medium', 'habamax' } }, install = { colorscheme = { 'gruvbox-medium', 'habamax' } },
checker = { enabled = false }, checker = { enabled = false },
}) }
-- Open Oil in a floating window
vim.keymap.set("n", "<leader>of", "<CMD>Oil --float<CR>", { desc = "Open Oil float" })
-- ============================================================
-- SECTION 10: OPTIONAL EXAMPLES / NEXT STEPS
-- kickstart.plugins.* examples
-- ============================================================
do
-- The following comments only work if you have downloaded the kickstart repo, not just copy pasted the
-- init.lua. If you want these files, they are in the repository, so you can just download them and
-- place them in the correct locations.
-- Open Oil in a floating window
vim.keymap.set('n', '<leader>of', '<CMD>Oil --float<CR>', { desc = 'Open Oil float' })
-- The line beneath this is called `modeline`. See `:help modeline` -- The line beneath this is called `modeline`. See `:help modeline`
-- vim: ts=2 sts=2 sw=2 et -- vim: ts=2 sts=2 sw=2 et

View File

@ -1,24 +1,24 @@
return { return {
"coder/claudecode.nvim", 'coder/claudecode.nvim',
dependencies = { "folke/snacks.nvim" }, dependencies = { 'folke/snacks.nvim' },
config = true, config = true,
keys = { keys = {
{ "<leader>a", nil, desc = "AI/Claude Code" }, { '<leader>a', nil, desc = 'AI/Claude Code' },
{ "<leader>ac", "<cmd>ClaudeCode<cr>", desc = "Toggle Claude" }, { '<leader>ac', '<cmd>ClaudeCode<cr>', desc = 'Toggle Claude' },
{ "<leader>af", "<cmd>ClaudeCodeFocus<cr>", desc = "Focus Claude" }, { '<leader>af', '<cmd>ClaudeCodeFocus<cr>', desc = 'Focus Claude' },
{ "<leader>ar", "<cmd>ClaudeCode --resume<cr>", desc = "Resume Claude" }, { '<leader>ar', '<cmd>ClaudeCode --resume<cr>', desc = 'Resume Claude' },
{ "<leader>aC", "<cmd>ClaudeCode --continue<cr>", desc = "Continue Claude" }, { '<leader>aC', '<cmd>ClaudeCode --continue<cr>', desc = 'Continue Claude' },
{ "<leader>am", "<cmd>ClaudeCodeSelectModel<cr>", desc = "Select Claude model" }, { '<leader>am', '<cmd>ClaudeCodeSelectModel<cr>', desc = 'Select Claude model' },
{ "<leader>ab", "<cmd>ClaudeCodeAdd %<cr>", desc = "Add current buffer" }, { '<leader>ab', '<cmd>ClaudeCodeAdd %<cr>', desc = 'Add current buffer' },
{ "<leader>as", "<cmd>ClaudeCodeSend<cr>", mode = "v", desc = "Send to Claude" }, { '<leader>as', '<cmd>ClaudeCodeSend<cr>', mode = 'v', desc = 'Send to Claude' },
{ {
"<leader>as", '<leader>as',
"<cmd>ClaudeCodeTreeAdd<cr>", '<cmd>ClaudeCodeTreeAdd<cr>',
desc = "Add file", desc = 'Add file',
ft = { "NvimTree", "neo-tree", "oil", "minifiles", "netrw" }, ft = { 'NvimTree', 'neo-tree', 'oil', 'minifiles', 'netrw' },
}, },
-- Diff management -- Diff management
{ "<leader>aa", "<cmd>ClaudeCodeDiffAccept<cr>", desc = "Accept diff" }, { '<leader>aa', '<cmd>ClaudeCodeDiffAccept<cr>', desc = 'Accept diff' },
{ "<leader>ad", "<cmd>ClaudeCodeDiffDeny<cr>", desc = "Deny diff" }, { '<leader>ad', '<cmd>ClaudeCodeDiffDeny<cr>', desc = 'Deny diff' },
}, },
} }

View File

@ -1,3 +1,3 @@
return { return {
"tpope/vim-fugitive", 'tpope/vim-fugitive',
} }

View File

@ -6,6 +6,6 @@ vim.lsp.config('dbt', {
root_markers = { 'dbt_project.yml' }, root_markers = { 'dbt_project.yml' },
settings = {}, settings = {},
}) })
vim.lsp.enable('dbt') vim.lsp.enable 'dbt'
return {} return {}

View File

@ -1,21 +1,19 @@
return { return {
"ErichDonGubler/lsp_lines.nvim", 'ErichDonGubler/lsp_lines.nvim',
config = function() config = function()
require("lsp_lines").setup() require('lsp_lines').setup()
-- Disable default virtual text to prevent overlapping/duplicate diagnostic lines -- Disable default virtual text to prevent overlapping/duplicate diagnostic lines
vim.diagnostic.config({ vim.diagnostic.config {
virtual_text = false, virtual_text = false,
}) }
end, end,
-- Keymap to toggle lsp_lines -- Keymap to toggle lsp_lines
keys = { keys = {
{ {
"<leader>ll", '<leader>ll',
function() function() require('lsp_lines').toggle() end,
require("lsp_lines").toggle() desc = 'Toggle lsp_lines',
end,
desc = "Toggle lsp_lines",
}, },
}, },
} }

View File

@ -1,10 +1,10 @@
return { return {
'brianhuster/live-preview.nvim', 'brianhuster/live-preview.nvim',
dependencies = { dependencies = {
-- You can choose one of the following pickers -- You can choose one of the following pickers
'nvim-telescope/telescope.nvim', 'nvim-telescope/telescope.nvim',
'ibhagwan/fzf-lua', 'ibhagwan/fzf-lua',
'echasnovski/mini.pick', 'echasnovski/mini.pick',
'folke/snacks.nvim', 'folke/snacks.nvim',
}, },
} }

View File

@ -1,26 +1,26 @@
return { return {
{ {
"benlubas/molten-nvim", 'benlubas/molten-nvim',
version = "^1.0.0", -- use version <2.0.0 to avoid breaking changes version = '^1.0.0', -- use version <2.0.0 to avoid breaking changes
dependencies = { "3rd/image.nvim" }, dependencies = { '3rd/image.nvim' },
build = ":UpdateRemotePlugins", build = ':UpdateRemotePlugins',
init = function() init = function()
-- these are examples, not defaults. Please see the readme -- these are examples, not defaults. Please see the readme
vim.g.molten_image_provider = "image.nvim" vim.g.molten_image_provider = 'image.nvim'
vim.g.molten_output_win_max_height = 20 vim.g.molten_output_win_max_height = 20
end, end,
}, },
{ {
'willothy/wezterm.nvim', 'willothy/wezterm.nvim',
cond = vim.fn.executable('wezterm') == 1, cond = vim.fn.executable 'wezterm' == 1,
config = true config = true,
}, },
{ {
"3rd/image.nvim", '3rd/image.nvim',
build = false, -- so that it doesn't build the rock https://github.com/3rd/image.nvim/issues/91#issuecomment-2453430239 build = false, -- so that it doesn't build the rock https://github.com/3rd/image.nvim/issues/91#issuecomment-2453430239
opts = { opts = {
processor = "magick_cli", processor = 'magick_cli',
} },
} },
} }

View File

@ -11,12 +11,8 @@ return {
}, },
view_options = { view_options = {
show_hidden = false, show_hidden = false,
is_hidden_file = function(name, bufnr) is_hidden_file = function(name, bufnr) return vim.startswith(name, '.') end,
return vim.startswith(name, '.') is_always_hidden = function(name, bufnr) return false end,
end,
is_always_hidden = function(name, bufnr)
return false
end,
natural_order = false, natural_order = false,
sort = { sort = {
{ 'type', 'asc' }, { 'type', 'asc' },
@ -25,9 +21,7 @@ return {
}, },
keymaps = { keymaps = {
['<leader>th'] = { ['<leader>th'] = {
callback = function() callback = function() require('oil').toggle_hidden() end,
require('oil').toggle_hidden()
end,
desc = 'Toggle hidden files', desc = 'Toggle hidden files',
mode = 'n', mode = 'n',
}, },

View File

@ -13,7 +13,7 @@ return {
priority = 1000, priority = 1000,
config = function() config = function()
require('gruvbox').setup() require('gruvbox').setup()
vim.cmd('colorscheme gruvbox-medium') vim.cmd 'colorscheme gruvbox-medium'
end, end,
}, },
} }

View File

@ -8,11 +8,11 @@ return {
require('toggleterm').setup(opts) require('toggleterm').setup(opts)
vim.keymap.set('t', '<Esc>', [[<C-\><C-n>]], { desc = 'Exit terminal mode' }) vim.keymap.set('t', '<Esc>', [[<C-\><C-n>]], { desc = 'Exit terminal mode' })
local lazygit = require('toggleterm.terminal').Terminal:new({ local lazygit = require('toggleterm.terminal').Terminal:new {
cmd = 'lazygit', cmd = 'lazygit',
direction = 'float', direction = 'float',
hidden = true, hidden = true,
}) }
vim.keymap.set('n', '<leader>tg', function() lazygit:toggle() end, { desc = 'Toggle lazygit' }) vim.keymap.set('n', '<leader>tg', function() lazygit:toggle() end, { desc = 'Toggle lazygit' })
end, end,
} }

View File

@ -1,37 +1,37 @@
return { return {
"folke/trouble.nvim", 'folke/trouble.nvim',
opts = {}, -- for default options, refer to the configuration section for custom setup. opts = {}, -- for default options, refer to the configuration section for custom setup.
cmd = "Trouble", cmd = 'Trouble',
keys = { keys = {
{ {
"<leader>xx", '<leader>xx',
"<cmd>Trouble diagnostics toggle<cr>", '<cmd>Trouble diagnostics toggle<cr>',
desc = "Diagnostics (Trouble)", desc = 'Diagnostics (Trouble)',
}, },
{ {
"<leader>xX", '<leader>xX',
"<cmd>Trouble diagnostics toggle filter.buf=0<cr>", '<cmd>Trouble diagnostics toggle filter.buf=0<cr>',
desc = "Buffer Diagnostics (Trouble)", desc = 'Buffer Diagnostics (Trouble)',
}, },
{ {
"<leader>cs", '<leader>cs',
"<cmd>Trouble symbols toggle focus=false<cr>", '<cmd>Trouble symbols toggle focus=false<cr>',
desc = "Symbols (Trouble)", desc = 'Symbols (Trouble)',
}, },
{ {
"<leader>cl", '<leader>cl',
"<cmd>Trouble lsp toggle focus=false win.position=right<cr>", '<cmd>Trouble lsp toggle focus=false win.position=right<cr>',
desc = "LSP Definitions / references / ... (Trouble)", desc = 'LSP Definitions / references / ... (Trouble)',
}, },
{ {
"<leader>xL", '<leader>xL',
"<cmd>Trouble loclist toggle<cr>", '<cmd>Trouble loclist toggle<cr>',
desc = "Location List (Trouble)", desc = 'Location List (Trouble)',
}, },
{ {
"<leader>xQ", '<leader>xQ',
"<cmd>Trouble qflist toggle<cr>", '<cmd>Trouble qflist toggle<cr>',
desc = "Quickfix List (Trouble)", desc = 'Quickfix List (Trouble)',
}, },
}, },
} }