13 Commits

13 changed files with 132 additions and 70 deletions

4
after/ftplugin/sh.lua Normal file
View File

@@ -0,0 +1,4 @@
vim.opt.shiftwidth = 2
vim.opt.tabstop = 2
vim.opt.expandtab = true

View File

@@ -4,3 +4,15 @@ vim.opt.tabstop = 2
vim.opt.expandtab = true vim.opt.expandtab = true
vim.bo.commentstring = '# %s' vim.bo.commentstring = '# %s'
local surround = require('nvim-surround')
surround.buffer_setup({
surrounds = {
['v'] = {
add = { '${', '}' },
find = '%${[^}]-}',
delete = '(%${)().+(})()$',
}
}
})

View File

@@ -0,0 +1,15 @@
-- update this configuration of nvim-surround
-- to handle {{ }} structure in ansible
-- I want to be able to add and delete those braces
local surround = require('nvim-surround')
surround.buffer_setup({
surrounds = {
['v'] = {
add = { '{{ ', ' }}' },
find = '{{[^}]-}}',
delete = '({{%s+)().+(%s+}})()$',
}
}
})

View File

@@ -1,48 +1,48 @@
{ {
"LuaSnip": { "branch": "master", "commit": "5a1e39223db9a0498024a77b8441169d260c8c25" }, "LuaSnip": { "branch": "master", "commit": "5a1e39223db9a0498024a77b8441169d260c8c25" },
"blink-ripgrep.nvim": { "branch": "main", "commit": "2e14682667d332520de254c2b21f6e77ae2c1b87" }, "blink-ripgrep.nvim": { "branch": "main", "commit": "75e7dbc4e2b12ea8db63c97e4dd3edd793381c05" },
"blink.cmp": { "branch": "main", "commit": "b19413d214068f316c78978b08264ed1c41830ec" }, "blink.cmp": { "branch": "main", "commit": "4b18c32adef2898f95cdef6192cbd5796c1a332d" },
"dressing.nvim": { "branch": "master", "commit": "2d7c2db2507fa3c4956142ee607431ddb2828639" }, "dressing.nvim": { "branch": "master", "commit": "2d7c2db2507fa3c4956142ee607431ddb2828639" },
"fidget.nvim": { "branch": "main", "commit": "64463022a1f2ff1318ab22a2ea4125ed9313a483" }, "fidget.nvim": { "branch": "main", "commit": "7fa433a83118a70fe24c1ce88d5f0bd3453c0970" },
"friendly-snippets": { "branch": "main", "commit": "572f5660cf05f8cd8834e096d7b4c921ba18e175" }, "friendly-snippets": { "branch": "main", "commit": "6cd7280adead7f586db6fccbd15d2cac7e2188b9" },
"fzf-lua": { "branch": "main", "commit": "ab0d0135746c564ca31cd2c8a84c170802be6d16" }, "fzf-lua": { "branch": "main", "commit": "c9e7b7bfbd01f949164988ee1684035468e1995c" },
"gitsigns.nvim": { "branch": "main", "commit": "6bd29494e3f79ff08be1d35bc1926ed23c22ed9a" }, "gitsigns.nvim": { "branch": "main", "commit": "50c205548d8b037b7ff6378fca6d21146f0b6161" },
"gruvbox.nvim": { "branch": "main", "commit": "5e0a460d8e0f7f669c158dedd5f9ae2bcac31437" }, "gruvbox.nvim": { "branch": "main", "commit": "334d5fd49fc8033f26408425366c66c6390c57bb" },
"harpoon": { "branch": "harpoon2", "commit": "87b1a3506211538f460786c23f98ec63ad9af4e5" }, "harpoon": { "branch": "harpoon2", "commit": "87b1a3506211538f460786c23f98ec63ad9af4e5" },
"hererocks": { "branch": "master", "commit": "88ef4650f1e62bb9a9f931eab024b2a167f17a5a" }, "indent-blankline.nvim": { "branch": "master", "commit": "d28a3f70721c79e3c5f6693057ae929f3d9c0a03" },
"indent-blankline.nvim": { "branch": "master", "commit": "005b56001b2cb30bfa61b7986bc50657816ba4ba" }, "lazy.nvim": { "branch": "main", "commit": "306a05526ada86a7b30af95c5cc81ffba93fef97" },
"lazy.nvim": { "branch": "main", "commit": "85c7ff3711b730b4030d03144f6db6375044ae82" }, "lazydev.nvim": { "branch": "main", "commit": "ff2cbcba459b637ec3fd165a2be59b7bbaeedf0d" },
"lazydev.nvim": { "branch": "main", "commit": "5231c62aa83c2f8dc8e7ba957aa77098cda1257d" },
"lualine.nvim": { "branch": "master", "commit": "47f91c416daef12db467145e16bed5bbfe00add8" }, "lualine.nvim": { "branch": "master", "commit": "47f91c416daef12db467145e16bed5bbfe00add8" },
"mason-lspconfig.nvim": { "branch": "main", "commit": "4cfe411526a7a99c18281135e8b4765ae6330d15" }, "mason-lspconfig.nvim": { "branch": "main", "commit": "037398b9ce4a53ba48d5f94765c641a1fd16d906" },
"mason.nvim": { "branch": "main", "commit": "57e5a8addb8c71fb063ee4acda466c7cf6ad2800" }, "mason.nvim": { "branch": "main", "commit": "44d1e90e1f66e077268191e3ee9d2ac97cc18e65" },
"neo-tree.nvim": { "branch": "v3.x", "commit": "f3df514fff2bdd4318127c40470984137f87b62e" }, "mini.pairs": { "branch": "main", "commit": "d5a29b6254dad07757832db505ea5aeab9aad43a" },
"none-ls.nvim": { "branch": "main", "commit": "0b457958cb958c16850b5a1fb38bbcd982909181" }, "neo-tree.nvim": { "branch": "v3.x", "commit": "84c75e7a7e443586f60508d12fc50f90d9aee14e" },
"none-ls.nvim": { "branch": "main", "commit": "c9317c2a8629d4e39e7cf47be74cb67f3ab37cda" },
"nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" }, "nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" },
"nvim-colorizer.lua": { "branch": "master", "commit": "a065833f35a3a7cc3ef137ac88b5381da2ba302e" }, "nvim-colorizer.lua": { "branch": "master", "commit": "a065833f35a3a7cc3ef137ac88b5381da2ba302e" },
"nvim-lspconfig": { "branch": "master", "commit": "5bfcc89fd155b4ffc02d18ab3b7d19c2d4e246a7" }, "nvim-lspconfig": { "branch": "master", "commit": "0203a9608d63eda57679b01e69f33a7b4c34b0d1" },
"nvim-navic": { "branch": "master", "commit": "f5eba192f39b453675d115351808bd51276d9de5" }, "nvim-navic": { "branch": "master", "commit": "f5eba192f39b453675d115351808bd51276d9de5" },
"nvim-sops": { "branch": "main", "commit": "cb2209562d00ef8c6c88bdec836d9edb8fbb96ef" }, "nvim-sops": { "branch": "main", "commit": "1791eec21e78c9736ae504f02712a2f509c69b2c" },
"nvim-surround": { "branch": "main", "commit": "1098d7b3c34adcfa7feb3289ee434529abd4afd1" }, "nvim-surround": { "branch": "main", "commit": "61319d4bd1c5e336e197defa15bd104c51f0fb29" },
"nvim-treesitter": { "branch": "main", "commit": "737088f8571293f6a1ef8cd6c858d5daf9a38162" }, "nvim-treesitter": { "branch": "main", "commit": "7caec274fd19c12b55902a5b795100d21531391f" },
"nvim-ufo": { "branch": "main", "commit": "72d54c31079d38d8dfc5456131b1d0fb5c0264b0" }, "nvim-ufo": { "branch": "main", "commit": "ab3eb124062422d276fae49e0dd63b3ad1062cfc" },
"nvim-web-devicons": { "branch": "master", "commit": "6788013bb9cb784e606ada44206b0e755e4323d7" }, "nvim-web-devicons": { "branch": "master", "commit": "d7462543c9e366c0d196c7f67a945eaaf5d99414" },
"oil.nvim": { "branch": "master", "commit": "81b8a91735ad5cd24a6b3137f14a89f19176364f" }, "oil.nvim": { "branch": "master", "commit": "0fcc83805ad11cf714a949c98c605ed717e0b83e" },
"parrot.nvim": { "branch": "main", "commit": "5d7e72bdc3efe2638e1bd94ff55028ecc40edd7a" }, "parrot.nvim": { "branch": "main", "commit": "5d7e72bdc3efe2638e1bd94ff55028ecc40edd7a" },
"plenary": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" }, "plenary": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" },
"plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" }, "plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" },
"promise-async": { "branch": "main", "commit": "119e8961014c9bfaf1487bf3c2a393d254f337e2" }, "promise-async": { "branch": "main", "commit": "119e8961014c9bfaf1487bf3c2a393d254f337e2" },
"render-markdown.nvim": { "branch": "main", "commit": "acddb80d9a12e33c03ca288de39c9963396f358a" }, "render-markdown.nvim": { "branch": "main", "commit": "e3c18ddd27a853f85a6f513a864cf4f2982b9f26" },
"search.nvim": { "branch": "main", "commit": "7b8f2315d031be73e14bc2d82386dfac15952614" }, "search.nvim": { "branch": "main", "commit": "7b8f2315d031be73e14bc2d82386dfac15952614" },
"statuscol.nvim": { "branch": "main", "commit": "c46172d0911aa5d49ba5f39f4351d1bb7aa289cc" }, "statuscol.nvim": { "branch": "main", "commit": "c46172d0911aa5d49ba5f39f4351d1bb7aa289cc" },
"tabby.nvim": { "branch": "main", "commit": "b3affa6db7eab80fca2a2db5b73b473144507039" }, "tabby.nvim": { "branch": "main", "commit": "3c130e1fcb598ce39a9c292847e32d7c3987cf11" },
"telescope-fzf-native.nvim": { "branch": "main", "commit": "6fea601bd2b694c6f2ae08a6c6fab14930c60e2c" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "6fea601bd2b694c6f2ae08a6c6fab14930c60e2c" },
"telescope.nvim": { "branch": "master", "commit": "3333a52ff548ba0a68af6d8da1e54f9cd96e9179" }, "telescope.nvim": { "branch": "master", "commit": "e6cdb4dc528c5dc4ca8da86e83ef4e3c84b0729c" },
"trouble.nvim": { "branch": "main", "commit": "bd67efe408d4816e25e8491cc5ad4088e708a69a" }, "trouble.nvim": { "branch": "main", "commit": "bd67efe408d4816e25e8491cc5ad4088e708a69a" },
"undotree": { "branch": "master", "commit": "178d19e00a643f825ea11d581b1684745d0c4eda" }, "undotree": { "branch": "master", "commit": "6fa6b57cda8459e1e4b2ca34df702f55242f4e4d" },
"vim-dadbod": { "branch": "master", "commit": "e95afed23712f969f83b4857a24cf9d59114c2e6" }, "vim-dadbod": { "branch": "master", "commit": "6d1d41da4873a445c5605f2005ad2c68c99d8770" },
"vim-dadbod-completion": { "branch": "master", "commit": "a8dac0b3cf6132c80dc9b18bef36d4cf7a9e1fe6" }, "vim-dadbod-completion": { "branch": "master", "commit": "a8dac0b3cf6132c80dc9b18bef36d4cf7a9e1fe6" },
"vim-dadbod-ui": { "branch": "master", "commit": "48c4f271da13d380592f4907e2d1d5558044e4e5" }, "vim-dadbod-ui": { "branch": "master", "commit": "07e92e22114cc5b1ba4938d99897d85b58e20475" },
"vim-fugitive": { "branch": "master", "commit": "61b51c09b7c9ce04e821f6cf76ea4f6f903e3cf4" }, "vim-fugitive": { "branch": "master", "commit": "3b753cf8c6a4dcde6edee8827d464ba9b8c4a6f0" },
"vim-illuminate": { "branch": "master", "commit": "0d1e93684da00ab7c057410fecfc24f434698898" } "vim-illuminate": { "branch": "master", "commit": "0d1e93684da00ab7c057410fecfc24f434698898" }
} }

View File

@@ -13,12 +13,6 @@ autocmd('LspAttach', {
local opts = { buffer = e.buf } local opts = { buffer = e.buf }
vim.keymap.set("n", "gd", function() vim.lsp.buf.definition() end, opts) vim.keymap.set("n", "gd", function() vim.lsp.buf.definition() end, opts)
vim.keymap.set("n", "K", function() vim.lsp.buf.hover() end, opts) vim.keymap.set("n", "K", function() vim.lsp.buf.hover() end, opts)
vim.keymap.set("n", "<leader>vws", function() vim.lsp.buf.workspace_symbol() end, opts)
vim.keymap.set("n", "<leader>vd", function() vim.diagnostic.open_float() end, opts)
vim.keymap.set("n", "<leader>vca", function() vim.lsp.buf.code_action() end, opts)
vim.keymap.set("n", "<leader>vrr", function() builtin.lsp_references() end, opts)
vim.keymap.set("n", "<leader>vrn", function() vim.lsp.buf.rename() end, opts)
vim.keymap.set("i", "<C-h>", function() vim.lsp.buf.signature_help() end, opts)
vim.keymap.set("n", "[d", function() vim.diagnostic.jump({ count = 1 }) end, opts) vim.keymap.set("n", "[d", function() vim.diagnostic.jump({ count = 1 }) end, opts)
vim.keymap.set("n", "]d", function() vim.diagnostic.jump({ count = -1 }) end, opts) vim.keymap.set("n", "]d", function() vim.diagnostic.jump({ count = -1 }) end, opts)
vim.keymap.set("n", "<M-F>", function() vim.lsp.buf.format() end, opts) vim.keymap.set("n", "<M-F>", function() vim.lsp.buf.format() end, opts)

View File

@@ -1,25 +1,22 @@
vim.filetype.add({ vim.filetype.add({
extension = { extension = {
['tf'] = 'terraform', ['tf'] = 'terraform',
},
pattern = {
['.*/playbooks/.*%.ya?ml'] = 'yaml.ansible',
['.*/roles/.*%.ya?ml'] = 'yaml.ansible',
['.*/tasks/.*%.ya?ml'] = 'yaml.ansible',
['.*/plays/.*%.ya?ml'] = 'yaml.ansible',
},
})
vim.filetype.add({
extension = {
j2 = 'jinja', j2 = 'jinja',
jinja = 'jinja', jinja = 'jinja',
jinja2 = 'jinja', jinja2 = 'jinja',
} },
})
vim.filetype.add({
pattern = { pattern = {
['.*/roles/.*%.ya?ml'] = 'yaml.ansible',
['.*/tasks/.*%.ya?ml'] = 'yaml.ansible',
['.*/plays/.*%.ya?ml'] = 'yaml.ansible',
-- templates
['.*/templates/.*%.ya?ml'] = 'helm',
['.*/templates/.*%.tpl'] = 'helm',
['helmfile%.ya?ml'] = 'helm',
-- values files
['.*/helm/.*values.*%.ya?ml'] = 'yaml.helm-values',
['values%.ya?ml'] = 'yaml.helm-values',
-- gitlab-ci
['%.gitlab%-ci%.ya?ml'] = 'yaml.gitlab', ['%.gitlab%-ci%.ya?ml'] = 'yaml.gitlab',
['pipelines/.*%.ya?ml'] = 'yaml.gitlab', ['pipelines/.*%.ya?ml'] = 'yaml.gitlab',
}, },

View File

@@ -7,7 +7,7 @@ return {
{ 'L3MON4D3/LuaSnip', version = 'v2.*' } { 'L3MON4D3/LuaSnip', version = 'v2.*' }
}, },
-- use a release tag to download pre-built binaries -- use a release tag to download pre-built binaries
version = 'v1.8.*', version = 'v1.9.*',
---@module 'blink-cmp' ---@module 'blink-cmp'
---@type blink.cmp.Config ---@type blink.cmp.Config

View File

@@ -33,8 +33,6 @@ return {
---@type MasonLspconfigSettings ---@type MasonLspconfigSettings
require('mason-lspconfig').setup({ require('mason-lspconfig').setup({
automatic_enable = true, automatic_enable = true,
-- Replace the language servers listed here
-- with the ones you want to install
ensure_installed = { ensure_installed = {
'ts_ls', 'ts_ls',
'lua_ls', 'lua_ls',
@@ -58,7 +56,7 @@ return {
---@type lspconfig.Config ---@type lspconfig.Config
vim.lsp.config('pylsp', { vim.lsp.config('pylsp', {
settings = { settings = {
['pylsp'] = { pylsp = {
plugins = { plugins = {
autopep8 = { autopep8 = {
enabled = false, enabled = false,
@@ -75,17 +73,27 @@ return {
} }
}) })
vim.lsp.config('helm-ls', { vim.lsp.config('helm_ls', {
settings = { settings = {
['helm-ls'] = { helm_ls = {
helmLint = { enabled = false },
yamlls = { enabled = false }, yamlls = { enabled = false },
}, },
} }
}) })
vim.lsp.config('yamlls', {
filetypes = { 'yaml' },
settings = {
yaml = { enable = true, },
}
})
vim.lsp.config('terraformls', { vim.lsp.config('terraformls', {
filetypes = { 'terraform', 'terraform-vars', 'tf' } filetypes = { 'terraform', 'terraform-vars' },
-- run terraformls once for a git repo
root_dir = function(bufnr, on_dir)
on_dir(vim.fs.root(bufnr, '.git'))
end
}) })
end end
} }

View File

@@ -0,0 +1,8 @@
return {
'nvim-mini/mini.pairs',
version = '0.17.x',
config = function()
require('mini.pairs').setup()
end
}

View File

@@ -9,7 +9,7 @@ return {
name = 'anthropic', name = 'anthropic',
endpoint = 'https://api.anthropic.com/v1/messages', endpoint = 'https://api.anthropic.com/v1/messages',
model_endpoint = 'https://api.anthropic.com/v1/models', model_endpoint = 'https://api.anthropic.com/v1/models',
api_key = { '/usr/local/bin/sops', '--config', '/dev/null', '-d', vim.fn.expand('$HOME') .. '/.claude-api' }, api_key = { 'sops', '--config', '/dev/null', '-d', vim.fn.expand('$HOME') .. '/.claude-api' },
headers = function(self) headers = function(self)
return { return {
['Content-Type'] = 'application/json', ['Content-Type'] = 'application/json',

View File

@@ -1,3 +1,11 @@
local theme = {
fill = 'TabLineFill',
head = 'TabLine',
current_tab = 'TabLineSel',
tab = 'TabLine',
win = 'TabLine',
tail = 'TabLine',
}
-- I literally need this for Dadbod for a nicer name in tabs. I don't use tabs -- I literally need this for Dadbod for a nicer name in tabs. I don't use tabs
-- in any other way -- in any other way
return { return {
@@ -5,7 +13,21 @@ return {
---@module 'tabby' ---@module 'tabby'
---@type TabbyConfig ---@type TabbyConfig
opts = { opts = {
-- configs... line = function(line)
return {
line.tabs().foreach(function(tab)
local hl = tab.is_current() and theme.current_tab or theme.tab
return {
line.sep('', hl, theme.head),
tab.number(),
tab.name(),
hl = hl,
margin = ' ',
}
end),
hl = theme.fill,
}
end,
}, },
} }

View File

@@ -22,7 +22,6 @@ return {
"vimdoc", "vimdoc",
"latex", "latex",
"json", "json",
"yaml",
"git_config", "git_config",
"git_rebase", "git_rebase",
"gitattributes", "gitattributes",
@@ -43,6 +42,7 @@ return {
} }
ts.setup() ts.setup()
ts.install(installed_parsers) ts.install(installed_parsers)
vim.treesitter.language.register('yaml', 'yaml_gitlab')
end end
} }

View File

@@ -34,3 +34,5 @@ vim.opt.colorcolumn = "80"
vim.opt.diffopt = 'internal,filler,closeoff,algorithm:histogram' vim.opt.diffopt = 'internal,filler,closeoff,algorithm:histogram'
vim.opt.mouse = ''