Project import generated by Copybara.
GitOrigin-RevId: 975161aa2f1036264c56d7a81b79ac74ba68b276
diff --git a/private_dot_config/nvim/lua/bootstrap.lua b/private_dot_config/nvim/lua/bootstrap.lua
new file mode 100644
index 0000000..4b1b171
--- /dev/null
+++ b/private_dot_config/nvim/lua/bootstrap.lua
@@ -0,0 +1,12 @@
+local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
+if not (vim.uv or vim.loop).fs_stat(lazypath) then
+ vim.fn.system({
+ "git",
+ "clone",
+ "--filter=blob:none",
+ "https://github.com/folke/lazy.nvim.git",
+ "--branch=stable", -- latest stable release
+ lazypath,
+ })
+end
+vim.opt.rtp:prepend(lazypath)
diff --git a/private_dot_config/nvim/lua/deps.lua b/private_dot_config/nvim/lua/deps.lua
new file mode 100644
index 0000000..0490b7f
--- /dev/null
+++ b/private_dot_config/nvim/lua/deps.lua
@@ -0,0 +1 @@
+require("lazy").setup("plugins")
diff --git a/private_dot_config/nvim/lua/modules/commands.lua b/private_dot_config/nvim/lua/modules/commands.lua
new file mode 100644
index 0000000..9531e1c
--- /dev/null
+++ b/private_dot_config/nvim/lua/modules/commands.lua
@@ -0,0 +1,8 @@
+vim.api.nvim_create_user_command('CopyRelativePath', 'let @+ = expand("%:~:.")', {})
+
+vim.api.nvim_create_user_command('VirtualTextOn', function()
+ vim.diagnostic.config({virtual_text=true})
+end, {})
+vim.api.nvim_create_user_command('VirtualTextOff', function()
+ vim.diagnostic.config({virtual_text=false})
+end, {})
diff --git a/private_dot_config/nvim/lua/modules/mappings.lua b/private_dot_config/nvim/lua/modules/mappings.lua
new file mode 100644
index 0000000..43c54ab
--- /dev/null
+++ b/private_dot_config/nvim/lua/modules/mappings.lua
@@ -0,0 +1,13 @@
+vim.keymap.set('', ',e', ':NvimTreeOpen<CR>')
+vim.keymap.set('', ',f', ':NvimTreeOpen<CR>')
+vim.keymap.set('', ',t', ':NvimTreeToggle<CR>')
+vim.keymap.set('', '<leader>av', ':AnsibleVault<cr>')
+vim.keymap.set('', '<leader>au', ':AnsibleUnvault<cr>')
+
+vim.keymap.set('', '<leader>q', ':botright copen<cr>', { noremap = false })
+vim.keymap.set('', '<leader>Q', ':cclose<cr>', { noremap = false })
+
+vim.keymap.set('n', '<leader>ff', '<cmd>Telescope find_files<cr>', { noremap = false })
+vim.keymap.set('n', '<leader>fg', '<cmd>Telescope live_grep<cr>', { noremap = false })
+vim.keymap.set('n', '<leader>fb', '<cmd>Telescope buffers<cr>', { noremap = false })
+vim.keymap.set('n', '<leader>fh', '<cmd>Telescope help_tags<cr>', { noremap = false })
diff --git a/private_dot_config/nvim/lua/modules/options.lua b/private_dot_config/nvim/lua/modules/options.lua
new file mode 100644
index 0000000..6f4ea86
--- /dev/null
+++ b/private_dot_config/nvim/lua/modules/options.lua
@@ -0,0 +1,42 @@
+vim.o.tabstop = 2 -- tab width is 2 spaces
+vim.o.shiftwidth = 2 -- indent also with 2 spaces
+
+vim.o.number = true
+vim.o.relativenumber = true
+vim.g.mapleader = ','
+
+-- use indentation of previous line
+vim.o.autoindent = true
+vim.o.expandtab = true -- expand tabs to spaces
+
+-- intelligent comments
+vim.opt.comments = {
+ sl = '/*',
+ mb = ' *',
+ elx = ' */',
+}
+
+vim.opt.mouse = 'a'
+vim.opt.ruler = true
+
+-- Vimscript syntax highlighting unused:
+-- hi jjdescriptionHeader guifg=#b3deef ctermfg=153 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE
+-- hi jjdescriptionSelectedType guifg=#9faa00 ctermfg=142 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE
+-- hi jjdescriptionSelectedFile guifg=#c9d05c ctermfg=185 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE
+
+-- == Mac fixes: ==
+-- So the backspace key works correctly with brew's vim
+-- vim.opt.backspace = "2"
+
+-- So MD italics show in italics
+vim.cmd.highlight('Comment', 'cterm=italic')
+
+-- To show nbsp characters (added by Alt+Space) as dots
+vim.opt.listchars={
+ tab = '» ',
+ extends = '›',
+ precedes = '‹',
+ nbsp = '·',
+ trail = '·',
+}
+vim.opt.list = true
diff --git a/private_dot_config/nvim/lua/modules/startup.lua b/private_dot_config/nvim/lua/modules/startup.lua
new file mode 100644
index 0000000..1948497
--- /dev/null
+++ b/private_dot_config/nvim/lua/modules/startup.lua
@@ -0,0 +1,4 @@
+-- (nvim-tree.lua configuration) disable netrw at the very start of your init.lua (strongly advised)
+vim.g.loaded_netrw = 1
+vim.g.loaded_netrwPlugin = 1
+vim.g.python3_host_prog = '/Users/avm99963/.pyenv/versions/neovim3/bin/python'
diff --git a/private_dot_config/nvim/lua/plugins/chezmoi.lua b/private_dot_config/nvim/lua/plugins/chezmoi.lua
new file mode 100644
index 0000000..5921b5b
--- /dev/null
+++ b/private_dot_config/nvim/lua/plugins/chezmoi.lua
@@ -0,0 +1,25 @@
+return {
+ {
+ 'xvzc/chezmoi.nvim',
+ dependencies = {
+ 'nvim-lua/plenary.nvim',
+ },
+ config = function()
+ require("chezmoi").setup{}
+
+ vim.api.nvim_create_autocmd({ "BufRead", "BufNewFile" }, {
+ pattern = { os.getenv("HOME") .. "/.local/share/chezmoi/*" },
+ callback = function()
+ vim.schedule(require("chezmoi.commands.__edit").watch)
+ end,
+ })
+ end
+ },
+ {
+ 'alker0/chezmoi.vim',
+ lazy = false,
+ init = function()
+ vim.g['chezmoi#use_tmp_buffer'] = true
+ end,
+ },
+}
diff --git a/private_dot_config/nvim/lua/plugins/code_formatting.lua b/private_dot_config/nvim/lua/plugins/code_formatting.lua
new file mode 100644
index 0000000..9eca093
--- /dev/null
+++ b/private_dot_config/nvim/lua/plugins/code_formatting.lua
@@ -0,0 +1,26 @@
+return {
+ "editorconfig/editorconfig-vim",
+ {
+ "google/vim-codefmt",
+ dependencies = {
+ "google/vim-maktaba",
+ "google/vim-glaive",
+ },
+ config = function()
+ vim.cmd.Glaive({ "codefmt", "shfmt_options=`['-i', '2', '-ci']`" })
+ vim.cmd.Glaive({ "codefmt", "prettier_executable=`['npx', 'prettier']`" })
+
+ vim.api.nvim_create_augroup('autoformat_settings', { clear = true })
+ vim.api.nvim_create_autocmd({'FileType'}, {
+ pattern = 'javascript',
+ group = 'autoformat_settings',
+ command = 'let b:codefmt_formatter = \'clang-format\'',
+ })
+ vim.api.nvim_create_autocmd({'FileType'}, {
+ pattern = 'html',
+ group = 'autoformat_settings',
+ command = 'let b:codefmt_formatter = \'prettier\'',
+ })
+ end,
+ },
+}
diff --git a/private_dot_config/nvim/lua/plugins/github_copilot.lua.tmpl b/private_dot_config/nvim/lua/plugins/github_copilot.lua.tmpl
new file mode 100644
index 0000000..fe02344
--- /dev/null
+++ b/private_dot_config/nvim/lua/plugins/github_copilot.lua.tmpl
@@ -0,0 +1,25 @@
+return {
+{{if eq .env "work" -}}
+ {
+ 'zbirenbaum/copilot.lua',
+ config = function()
+ require('copilot').setup({
+ suggestion = { enabled = false },
+ panel = { enabled = false },
+ })
+ end,
+ },
+ {
+ "CopilotC-Nvim/CopilotChat.nvim",
+ branch = "canary",
+ dependencies = {
+ { "zbirenbaum/copilot.lua" },
+ { "nvim-lua/plenary.nvim" },
+ },
+ build = "make tiktoken",
+ config = function()
+ require("CopilotChat").setup()
+ end,
+ },
+{{- end}}
+}
diff --git a/private_dot_config/nvim/lua/plugins/google.lua b/private_dot_config/nvim/lua/plugins/google.lua
new file mode 100644
index 0000000..fa94457
--- /dev/null
+++ b/private_dot_config/nvim/lua/plugins/google.lua
@@ -0,0 +1,12 @@
+return {
+ "google/vim-maktaba",
+ {
+ "google/vim-glaive",
+ dependencies = {
+ "google/vim-maktaba",
+ },
+ config = function()
+ vim.cmd('call glaive#Install()')
+ end,
+ },
+}
diff --git a/private_dot_config/nvim/lua/plugins/lsp_config.lua b/private_dot_config/nvim/lua/plugins/lsp_config.lua
new file mode 100644
index 0000000..89b1ae3
--- /dev/null
+++ b/private_dot_config/nvim/lua/plugins/lsp_config.lua
@@ -0,0 +1,228 @@
+return {
+ {
+ "neovim/nvim-lspconfig",
+ config = function()
+ -- @source: https://github.com/neovim/nvim-lspconfig?tab=readme-ov-file#suggested-configuration
+ -- LSP global mappings.
+ -- See `:help vim.diagnostic.*` for documentation on any of the below functions
+ vim.keymap.set('n', '<space>e', vim.diagnostic.open_float)
+ vim.keymap.set('n', '[d', vim.diagnostic.goto_prev)
+ vim.keymap.set('n', ']d', vim.diagnostic.goto_next)
+ vim.keymap.set('n', '<space>q', vim.diagnostic.setloclist)
+
+ -- Use LspAttach autocommand to only map the following keys
+ -- after the language server attaches to the current buffer
+ vim.api.nvim_create_autocmd('LspAttach', {
+ group = vim.api.nvim_create_augroup('UserLspConfig', {}),
+ callback = function(ev)
+ -- Enable completion triggered by <c-x><c-o>
+ vim.bo[ev.buf].omnifunc = 'v:lua.vim.lsp.omnifunc'
+
+ -- Buffer local mappings.
+ -- See `:help vim.lsp.*` for documentation on any of the below functions
+ local opts = { buffer = ev.buf }
+ vim.keymap.set('n', 'gD', vim.lsp.buf.declaration, opts)
+ vim.keymap.set('n', 'K', vim.lsp.buf.hover, opts)
+ vim.keymap.set('n', '<C-k>', vim.lsp.buf.signature_help, opts)
+ vim.keymap.set('n', '<space>wa', vim.lsp.buf.add_workspace_folder, opts)
+ vim.keymap.set('n', '<space>wr', vim.lsp.buf.remove_workspace_folder, opts)
+ vim.keymap.set('n', '<space>wl', function()
+ print(vim.inspect(vim.lsp.buf.list_workspace_folders()))
+ end, opts)
+ vim.keymap.set('n', '<space>rn', vim.lsp.buf.rename, opts)
+ vim.keymap.set({ 'n', 'v' }, '<space>ca', vim.lsp.buf.code_action, opts)
+ vim.keymap.set('n', '<space>f', function()
+ vim.lsp.buf.format { async = true }
+ end, opts)
+ end,
+ })
+
+ local lspconfig = require('lspconfig')
+ local configs = require('lspconfig.configs')
+ local capabilities = require('cmp_nvim_lsp').default_capabilities()
+
+ lspconfig.pylsp.setup {
+ capabilities = capabilities
+ }
+ lspconfig.eslint.setup {
+ capabilities = capabilities
+ }
+ --require'typescript-tools'.setup {
+ -- capabilities = capabilities
+ --}
+ lspconfig.ts_ls.setup {
+ capabilities = capabilities,
+ -- NOTE: Enable this to troubleshoot tsserver
+ --init_options = {
+ -- tsserver = {
+ -- logDirectory = '/path/to/tsserver-logs',
+ -- logVerbosity = 'verbose',
+ -- },
+ --},
+ }
+ lspconfig.jdtls.setup {
+ capabilities = capabilities
+ }
+ lspconfig.terraformls.setup {
+ capabilities = capabilities
+ }
+
+ if not configs.protobuf_pls then
+ configs.protobuf_pls = {
+ default_config = {
+ cmd = { 'pls' },
+ filetypes = { 'proto' },
+ root_dir = function(fname)
+ return lspconfig.util.find_git_ancestor(fname)
+ end
+ },
+ }
+ end
+ lspconfig.protobuf_pls.setup{
+ capabilities = capabilities
+ }
+ end,
+ },
+ {
+ "zbirenbaum/copilot-cmp",
+ config = function ()
+ require'copilot_cmp'.setup()
+ end
+ },
+ {
+ "lttr/cmp-jira",
+ config = function ()
+ require'cmp_jira'.setup()
+ end
+ },
+ {
+ "hrsh7th/nvim-cmp",
+ dependencies = {
+ "hrsh7th/cmp-nvim-lsp",
+ "hrsh7th/cmp-buffer",
+ "hrsh7th/cmp-path",
+ "hrsh7th/cmp-cmdline",
+ --"quangnguyen30192/cmp-nvim-ultisnips",
+ "zbirenbaum/copilot-cmp",
+ "onsails/lspkind.nvim",
+ "lttr/cmp-jira",
+ },
+ config = function()
+ -- @source: https://github.com/hrsh7th/nvim-cmp/?tab=readme-ov-file#recommended-configuration
+ -- @source: https://github.com/onsails/lspkind.nvim?tab=readme-ov-file#option-2-nvim-cmp
+ -- @source: https://github.com/zbirenbaum/copilot-cmp?tab=readme-ov-file#highlighting--icon
+ -- Set up nvim-cmp.
+ local cmp = require'cmp'
+ local lspkind = require'lspkind'
+
+ cmp.setup({
+ -- snippet = {
+ -- expand = function(args)
+ -- vim.fn["UltiSnips#Anon"](args.body)
+ -- end,
+ -- },
+ window = {
+ -- completion = cmp.config.window.bordered(),
+ -- documentation = cmp.config.window.bordered(),
+ },
+ mapping = cmp.mapping.preset.insert({
+ ['<C-b>'] = cmp.mapping.scroll_docs(-4),
+ ['<C-f>'] = cmp.mapping.scroll_docs(4),
+ ['<C-Space>'] = cmp.mapping.complete(),
+ ['<C-e>'] = cmp.mapping.abort(),
+ ['<CR>'] = cmp.mapping.confirm({ select = false }), -- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items.
+ }),
+ sources = cmp.config.sources(
+ {
+ { name = 'nvim_lsp' },
+ -- { name = 'ultisnips' },
+ }, {
+ {
+ name = 'buffer',
+ option = {
+ get_bufnrs = function()
+ local bufs = {}
+ for _, win in ipairs(vim.api.nvim_list_wins()) do
+ bufs[vim.api.nvim_win_get_buf(win)] = true
+ end
+ return vim.tbl_keys(bufs)
+ end
+ },
+ },
+ },
+ {
+ { name = "copilot", group_index = 2 }
+ }
+ ),
+ formatting = {
+ format = lspkind.cmp_format({
+ mode = 'symbol',
+ maxwidth = 50,
+ ellipsis_char = '…',
+ show_labelDetails = true,
+ symbol_map = { Copilot = "" },
+ }),
+ },
+ })
+
+ -- Set configuration for specific filetype.
+ for i, fileType in ipairs({'gitcommit', 'jjdescription'}) do
+ cmp.setup.filetype(fileType, {
+ sources = cmp.config.sources(
+ {
+ { name = "jira" },
+ },
+ {
+ { name = 'git' }, -- You can specify the `git` source if [you were installed it](https://github.com/petertriho/cmp-git).
+ },
+ {
+ { name = 'buffer' },
+ }
+ ),
+ formatting = {
+ format = lspkind.cmp_format({
+ mode = 'symbol',
+ maxwidth = 100,
+ ellipsis_char = '…',
+ show_labelDetails = true,
+ symbol_map = {
+ Copilot = "",
+ Jira = "",
+ },
+ }),
+ },
+ })
+ end
+
+ -- Use buffer source for `/` and `?` (if you enabled `native_menu`, this won't work anymore).
+ cmp.setup.cmdline({ '/', '?' }, {
+ mapping = cmp.mapping.preset.cmdline(),
+ sources = {
+ { name = 'buffer' }
+ }
+ })
+
+ -- Use cmdline & path source for ':' (if you enabled `native_menu`, this won't work anymore).
+ cmp.setup.cmdline(':', {
+ mapping = cmp.mapping.preset.cmdline(),
+ sources = cmp.config.sources({
+ { name = 'path' }
+ }, {
+ { name = 'cmdline' }
+ })
+ })
+ end,
+ },
+ -- Possible replacement: https://github.com/typescript-language-server/typescript-language-server.
+ -- Read http://shortn/hy55K.
+ {
+ "pmizio/typescript-tools.nvim",
+ dependencies = {
+ "nvim-lua/plenary.nvim",
+ },
+ },
+ {
+ "antosha417/nvim-lsp-file-operations",
+ config = true,
+ }
+}
diff --git a/private_dot_config/nvim/lua/plugins/markdown-preview.lua b/private_dot_config/nvim/lua/plugins/markdown-preview.lua
new file mode 100644
index 0000000..9584aec
--- /dev/null
+++ b/private_dot_config/nvim/lua/plugins/markdown-preview.lua
@@ -0,0 +1,11 @@
+return {
+ {
+ "iamcco/markdown-preview.nvim",
+ cmd = { "MarkdownPreviewToggle", "MarkdownPreview", "MarkdownPreviewStop" },
+ build = "cd app && npm install",
+ init = function()
+ vim.g.mkdp_filetypes = { "markdown" }
+ end,
+ ft = { "markdown" },
+ },
+}
diff --git a/private_dot_config/nvim/lua/plugins/others.lua.tmpl b/private_dot_config/nvim/lua/plugins/others.lua.tmpl
new file mode 100644
index 0000000..37ad2ee
--- /dev/null
+++ b/private_dot_config/nvim/lua/plugins/others.lua.tmpl
@@ -0,0 +1,72 @@
+return {
+ {
+ -- Show result count (like [2/93] )
+ "google/vim-searchindex",
+ dependencies = {
+ "google/vim-maktaba",
+ "google/vim-glaive",
+ },
+ },
+
+ -- Extra functionality
+ --{
+ -- "SirVer/ultisnips",
+ -- config = function()
+ -- vim.g.UltiSnipsExpandTrigger = '<Tab>' -- use Tab to expand snippets
+ -- vim.g.UltiSnipsJumpForwardTrigger = '<Tab>' -- use Tab to move forward through tabstops
+ -- vim.g.UltiSnipsJumpBackwardTrigger = '<S-Tab>' -- use Shift-Tab to move backward through tabstops
+ -- end,
+ --}
+ --"honza/vim-snippets",
+ --{
+ -- "github/copilot.vim",
+ -- config = function()
+ -- @source https://stackoverflow.com/questions/75926959/activate-copilot-for-only-one-directory
+ -- Force disable everywhere
+ --vim.api.nvim_create_autocmd({ 'BufEnter' }, {
+ -- pattern = '*',
+ -- command = "Copilot disable"
+ --})
+
+ -- Force enable in allowlisted directories
+ --vim.api.nvim_create_autocmd({ 'BufEnter' }, {
+ -- pattern = vim.fn.expand('~') .. '/gitrepos/infinitegforums/*',
+ -- command = "Copilot enable"
+ --})
+ --vim.api.nvim_create_autocmd({ 'BufEnter' }, {
+ -- pattern = {
+ -- vim.fn.expand('~') .. '/gitrepos/translateselectedtext/*',
+ -- vim.fn.expand('~') .. '/gitrepos/screen-capture/*',
+ -- },
+ -- command = "Copilot enable"
+ --})
+ -- end,
+ --},
+ {
+ "ray-x/lsp_signature.nvim",
+ config = function()
+ require('lsp_signature').setup{
+ bind = true,
+ handler_opts = {
+ border = 'rounded',
+ },
+ }
+ end,
+ },
+ "folke/trouble.nvim",
+ {
+ "lervag/vimtex",
+ config = function()
+{{- if and .chezmoi.os (eq .chezmoi.os "linux") }}
+ vim.g.vimtex_view_method = 'zathura'
+{{- else}}
+ vim.g.vimtex_view_method = 'skim'
+{{- end}}
+ -- Error given by apuntsgenerics
+ vim.g.vimtex_quickfix_ignore_filters = {
+ 'Package hyperref Warning: Token not allowed in a PDF string (Unicode): removing',
+ }
+ end,
+ },
+ "will133/vim-dirdiff",
+}
diff --git a/private_dot_config/nvim/lua/plugins/styles.lua b/private_dot_config/nvim/lua/plugins/styles.lua
new file mode 100644
index 0000000..09180ab
--- /dev/null
+++ b/private_dot_config/nvim/lua/plugins/styles.lua
@@ -0,0 +1,63 @@
+return {
+ {
+ "vim-airline/vim-airline",
+ dependencies = {
+ "vim-airline/vim-airline-themes",
+ },
+ config = function()
+ vim.g.airline_theme = 'tender'
+ end,
+ },
+ "rafi/awesome-vim-colorschemes",
+ {
+ "nvim-tree/nvim-tree.lua",
+ dependencies = {
+ "nvim-tree/nvim-web-devicons",
+ },
+ config = function()
+ -- set termguicolors to enable highlight groups
+ vim.opt.termguicolors = true
+
+ require("nvim-tree").setup({
+ view = {
+ adaptive_size = true,
+ width = {
+ max = 50
+ },
+ },
+ renderer = {
+ group_empty = true,
+ indent_markers = {
+ enable = false,
+ inline_arrows = false,
+ },
+ },
+ git = {
+ enable = true,
+ timeout = 5000,
+ },
+ filters = {
+ custom = {
+ "^\\.git$",
+ "^\\.jj",
+ },
+ git_ignored = true,
+ exclude = {
+ ".env",
+ ".local.yml",
+ },
+ },
+ diagnostics = {
+ enable = true,
+ },
+ modified = {
+ enable = true,
+ },
+ update_focused_file = {
+ enable = true,
+ },
+ select_prompts = true,
+ })
+ end,
+ }
+}
diff --git a/private_dot_config/nvim/lua/plugins/syntax_highlighting.lua b/private_dot_config/nvim/lua/plugins/syntax_highlighting.lua
new file mode 100644
index 0000000..1bcb77c
--- /dev/null
+++ b/private_dot_config/nvim/lua/plugins/syntax_highlighting.lua
@@ -0,0 +1,11 @@
+vim.g.vue_pre_processors = {}
+vim.g.htl_css_templates = 1
+
+return {
+ "posva/vim-vue", -- @deprecated
+ "chikamichi/mediawiki.vim",
+ "gburca/vim-logcat",
+ "kelwin/vim-smali",
+ "jonsmithers/vim-html-template-literals",
+ "https://gerrit.avm99963.com/vim/jjdescription",
+}
diff --git a/private_dot_config/nvim/lua/plugins/telescope.lua b/private_dot_config/nvim/lua/plugins/telescope.lua
new file mode 100644
index 0000000..06879a4
--- /dev/null
+++ b/private_dot_config/nvim/lua/plugins/telescope.lua
@@ -0,0 +1,40 @@
+return {
+ {
+ "nvim-telescope/telescope.nvim", branch = "0.1.x",
+ dependencies = {
+ "nvim-treesitter/nvim-treesitter",
+ "nvim-telescope/telescope-ui-select.nvim",
+ "nvim-lua/plenary.nvim",
+ },
+ config = function()
+ require('telescope').setup {
+ extensions = {
+ ['ui-select'] = {
+ require('telescope.themes').get_dropdown{},
+ },
+ },
+ defaults = {
+ mappings = {
+ i = { ["<c-t>"] = require('trouble.sources.telescope').open },
+ n = { ["<c-t>"] = require('trouble.sources.telescope').open },
+ },
+ file_ignore_patterns = {
+ "%.git/",
+ },
+ },
+ pickers = {
+ find_files = {
+ hidden = true,
+ },
+ },
+ }
+ require('telescope').load_extension('ui-select')
+
+ local builtin = require'telescope.builtin'
+ vim.keymap.set('n', 'gd', builtin.lsp_definitions, opts)
+ vim.keymap.set('n', 'gi', builtin.lsp_implementations, opts)
+ vim.keymap.set('n', '<space>D', builtin.lsp_type_definitions, opts)
+ vim.keymap.set('n', 'gr', builtin.lsp_references, opts)
+ end,
+ },
+}
diff --git a/private_dot_config/nvim/lua/plugins/vim-ansible-vault.lua.tmpl b/private_dot_config/nvim/lua/plugins/vim-ansible-vault.lua.tmpl
new file mode 100644
index 0000000..11c8f34
--- /dev/null
+++ b/private_dot_config/nvim/lua/plugins/vim-ansible-vault.lua.tmpl
@@ -0,0 +1,10 @@
+return {
+{{- if and (index . "ansibleVault") (index .ansibleVault "passwordFile") (ne .ansibleVault.passwordFile "") -}}
+ {
+ "arouene/vim-ansible-vault",
+ config = function()
+ vim.g.ansible_vault_password_file = {{ .ansibleVault.passwordFile | quote }}
+ end
+ }
+{{- end -}}
+}