Simplify structure for nvim config files
This commit is contained in:
		@@ -3,3 +3,5 @@
 | 
			
		||||
[user]
 | 
			
		||||
	name = david
 | 
			
		||||
	email = david@pinewoods.xyz
 | 
			
		||||
[push]
 | 
			
		||||
    autoSetupRemote = true
 | 
			
		||||
 
 | 
			
		||||
@@ -1 +1,13 @@
 | 
			
		||||
require("david_standard")
 | 
			
		||||
local csGroup = vim.api.nvim_create_augroup("coreSettingsGroup", { clear = true })
 | 
			
		||||
local csgAutocmd = vim.api.nvim_create_autocmd
 | 
			
		||||
 | 
			
		||||
require("settings")
 | 
			
		||||
require("plugin_manager")
 | 
			
		||||
require("key_mappings")
 | 
			
		||||
require("colorscheme_settings")
 | 
			
		||||
 | 
			
		||||
csgAutocmd({"BufWritePre"}, {
 | 
			
		||||
    group = csGroup,
 | 
			
		||||
    pattern = "*",
 | 
			
		||||
    command = [[%s/\s\+$//e]],
 | 
			
		||||
})
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										5
									
								
								src_files/.config/nvim/lsp/clangd.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								src_files/.config/nvim/lsp/clangd.lua
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,5 @@
 | 
			
		||||
return {
 | 
			
		||||
    cmd = { 'clangd' },
 | 
			
		||||
    root_markers = { '.clangd', 'compile_commands.json' },
 | 
			
		||||
    filetypes = { 'c', 'cpp' },
 | 
			
		||||
}
 | 
			
		||||
@@ -6,7 +6,7 @@ function SetColorSchemeWrapper(scheme)
 | 
			
		||||
  vim.api.nvim_set_hl(0, "Normal", { bg = "none" })
 | 
			
		||||
  vim.api.nvim_set_hl(0, "NormalFloat", { bg = "none" })
 | 
			
		||||
end
 | 
			
		||||
SetColorSchemeWrapper()
 | 
			
		||||
SetColorSchemeWrapper("tokyonight-night")
 | 
			
		||||
 | 
			
		||||
-- TODO: get this working as desired for different file types
 | 
			
		||||
-- local dsGroup = vim.api.nvim_create_augroup("DavidStandardGroup", { clear = false })
 | 
			
		||||
@@ -1,33 +0,0 @@
 | 
			
		||||
local dsGroup = vim.api.nvim_create_augroup("DavidStandardGroup", { clear = true })
 | 
			
		||||
local dsgAutocmd = vim.api.nvim_create_autocmd
 | 
			
		||||
 | 
			
		||||
require("david_standard.settings")
 | 
			
		||||
require("david_standard.key_mappings")
 | 
			
		||||
require("david_standard.plugin_config")
 | 
			
		||||
require("david_standard.plugin_key_mappings")
 | 
			
		||||
require("david_standard.colorscheme_settings")
 | 
			
		||||
require("david_standard.lsp_enables")
 | 
			
		||||
 | 
			
		||||
dsgAutocmd({"BufWritePre"}, {
 | 
			
		||||
    group = dsGroup,
 | 
			
		||||
    pattern = "*",
 | 
			
		||||
    command = [[%s/\s\+$//e]],
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
-- TODO: put this into separate file(s) for lsp stuff? if so, pass in or make new autocmd
 | 
			
		||||
dsgAutocmd('LspAttach', {
 | 
			
		||||
    group = dsGroup,
 | 
			
		||||
    callback = function(e)
 | 
			
		||||
        local opts = { buffer = e.buf }
 | 
			
		||||
        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("i", "<C-h>", function() vim.lsp.buf.signature_help() end, opts)
 | 
			
		||||
        vim.keymap.set("n", "<leader>vdv", function() vim.diagnostic.open_float() end, opts)
 | 
			
		||||
        vim.keymap.set("n", "<leader>vdn", function() vim.diagnostic.goto_next() end, opts)
 | 
			
		||||
        vim.keymap.set("n", "<leader>vdp", function() vim.diagnostic.goto_prev() end, opts)
 | 
			
		||||
        vim.keymap.set("n", "<leader>vws", function() vim.lsp.buf.workspace_symbol() end, opts)
 | 
			
		||||
        vim.keymap.set("n", "<leader>vca", function() vim.lsp.buf.code_action() end, opts)
 | 
			
		||||
        vim.keymap.set("n", "<leader>vrl", function() vim.lsp.buf.references() end, opts)
 | 
			
		||||
        vim.keymap.set("n", "<leader>vrn", function() vim.lsp.buf.rename() end, opts)
 | 
			
		||||
    end
 | 
			
		||||
})
 | 
			
		||||
@@ -1,55 +0,0 @@
 | 
			
		||||
-- explore the directory of the current file (using netrw)
 | 
			
		||||
vim.keymap.set("n", "<leader>n", vim.cmd.Ex)
 | 
			
		||||
 | 
			
		||||
-- move selected lines up or down
 | 
			
		||||
vim.keymap.set("v", "J", ":m '>+1<CR>gv")
 | 
			
		||||
vim.keymap.set("v", "K", ":m '<-2<CR>gv")
 | 
			
		||||
 | 
			
		||||
-- vertically center cursor with half-page jumps
 | 
			
		||||
vim.keymap.set("n", "<C-d>", "<C-d>zz")
 | 
			
		||||
vim.keymap.set("n", "<C-u>", "<C-u>zz")
 | 
			
		||||
 | 
			
		||||
-- open folds when iterating search results
 | 
			
		||||
vim.keymap.set("n", "n", "nzv")
 | 
			
		||||
vim.keymap.set("n", "N", "Nzv")
 | 
			
		||||
 | 
			
		||||
-- maintain cursor position after paragraph formatting
 | 
			
		||||
vim.keymap.set("n", "=ap", "ma=ap'a")
 | 
			
		||||
 | 
			
		||||
-- shortcuts for deleting into the void register
 | 
			
		||||
vim.keymap.set({ "n", "v" }, "<leader>d", "\"_d")
 | 
			
		||||
vim.keymap.set("x", "<leader>P", [["_dP]]) -- replace selected text, keep main register
 | 
			
		||||
 | 
			
		||||
-- shortcuts for using + register (system clipboard)
 | 
			
		||||
vim.keymap.set({ "n", "v" }, "<leader>y", [["+y]])
 | 
			
		||||
vim.keymap.set("n", "<leader>Y", [["+Y]])
 | 
			
		||||
vim.keymap.set("n", "<leader>D", [["+D]])
 | 
			
		||||
vim.keymap.set("n", "<leader>p", [["+p]])
 | 
			
		||||
 | 
			
		||||
-- search-and-replace shortcuts
 | 
			
		||||
vim.keymap.set("n", "<leader>rw", [[:%s/\<<C-r><C-w>\>/<C-r><C-w>/gI<Left><Left><Left>]])
 | 
			
		||||
vim.keymap.set("n", "<leader>ra", [[:%s//g<Left><Left>]])
 | 
			
		||||
 | 
			
		||||
-- toggle expandtab and show message
 | 
			
		||||
vim.keymap.set("n", "<leader>tab", function()
 | 
			
		||||
    if vim.opt.expandtab:get() then
 | 
			
		||||
        vim.opt.expandtab = false
 | 
			
		||||
        print("using actual tabs")
 | 
			
		||||
    else
 | 
			
		||||
        vim.opt.expandtab = true
 | 
			
		||||
        print("using spaces in place of tabs")
 | 
			
		||||
    end
 | 
			
		||||
end)
 | 
			
		||||
 | 
			
		||||
-- quicker switching between panes/splits
 | 
			
		||||
vim.keymap.set("n", "<C-h>", [[<C-w>h]])
 | 
			
		||||
vim.keymap.set("n", "<C-j>", [[<C-w>j]])
 | 
			
		||||
vim.keymap.set("n", "<C-k>", [[<C-w>k]])
 | 
			
		||||
vim.keymap.set("n", "<C-l>", [[<C-w>l]])
 | 
			
		||||
 | 
			
		||||
-- TODO: learn about quickfix (:help quickfix), then maybe use these
 | 
			
		||||
-- vim.keymap.set("n", "<C-k>", "<cmd>cnext<CR>zz")
 | 
			
		||||
-- vim.keymap.set("n", "<C-j>", "<cmd>cprev<CR>zz")
 | 
			
		||||
-- vim.keymap.set("n", "<leader>k", "<cmd>lnext<CR>zz")
 | 
			
		||||
-- vim.keymap.set("n", "<leader>j", "<cmd>lprev<CR>zz")
 | 
			
		||||
 | 
			
		||||
@@ -1,10 +0,0 @@
 | 
			
		||||
-- c
 | 
			
		||||
 | 
			
		||||
-- c++
 | 
			
		||||
 | 
			
		||||
-- ruby
 | 
			
		||||
vim.lsp.enable('ruby_lsp')
 | 
			
		||||
-- vim.lsp.enable('typeprof') -- ruby builtin/official (but still labled experimental)
 | 
			
		||||
-- vim.lsp.enable('standardrb')
 | 
			
		||||
-- vim.lsp.enable('solargraph')
 | 
			
		||||
-- vim.lsp.enable('herb_ls') -- targets html + ruby (erb files)
 | 
			
		||||
@@ -1,54 +0,0 @@
 | 
			
		||||
-- telescope
 | 
			
		||||
local builtin = require('telescope.builtin')
 | 
			
		||||
local custom_tscope_grep = function()
 | 
			
		||||
    builtin.grep_string({ search = vim.fn.input("grep > ")})
 | 
			
		||||
end
 | 
			
		||||
vim.keymap.set('n', '<leader>ft', builtin.live_grep, {
 | 
			
		||||
    desc = 'Telescope find text (live_grep)'
 | 
			
		||||
})
 | 
			
		||||
vim.keymap.set('n', '<leader>fT', custom_tscope_grep, {
 | 
			
		||||
    desc = 'Telescope find text (grep_string)'
 | 
			
		||||
})
 | 
			
		||||
vim.keymap.set('n', '<leader>fg', builtin.git_files, {
 | 
			
		||||
    desc = 'Telescope find git-tracked files'
 | 
			
		||||
})
 | 
			
		||||
vim.keymap.set('n', '<leader>ff', builtin.find_files, { desc = 'Telescope find files' })
 | 
			
		||||
vim.keymap.set('n', '<leader>fb', builtin.buffers, { desc = 'Telescope buffers' })
 | 
			
		||||
vim.keymap.set('n', '<leader>fh', builtin.help_tags, { desc = 'Telescope help tags' })
 | 
			
		||||
 | 
			
		||||
-- harpoon
 | 
			
		||||
local harpoon = require("harpoon")
 | 
			
		||||
vim.keymap.set("n", "<leader>hl", function()
 | 
			
		||||
    harpoon.ui:toggle_quick_menu(harpoon:list())
 | 
			
		||||
end)
 | 
			
		||||
vim.keymap.set("n", "<leader>ha", function() harpoon:list():add() end)
 | 
			
		||||
vim.keymap.set("n", "<leader>hA", function() harpoon:list():prepend() end)
 | 
			
		||||
vim.keymap.set("n", "<leader>hn", function() harpoon:list():next() end)
 | 
			
		||||
vim.keymap.set("n", "<leader>hp", function() harpoon:list():prev() end)
 | 
			
		||||
vim.keymap.set("n", "<leader>hz", function() harpoon:list():select(1) end)
 | 
			
		||||
vim.keymap.set("n", "<leader>hx", function() harpoon:list():select(2) end)
 | 
			
		||||
vim.keymap.set("n", "<leader>hc", function() harpoon:list():select(3) end)
 | 
			
		||||
vim.keymap.set("n", "<leader>hv", function() harpoon:list():select(4) end)
 | 
			
		||||
vim.keymap.set("n", "<leader>hZ", function() harpoon:list():replace_at(1) end)
 | 
			
		||||
vim.keymap.set("n", "<leader>hX", function() harpoon:list():replace_at(2) end)
 | 
			
		||||
vim.keymap.set("n", "<leader>hC", function() harpoon:list():replace_at(3) end)
 | 
			
		||||
vim.keymap.set("n", "<leader>hV", function() harpoon:list():replace_at(4) end)
 | 
			
		||||
 | 
			
		||||
-- undotree
 | 
			
		||||
vim.keymap.set("n", "<leader>u", vim.cmd.UndotreeToggle)
 | 
			
		||||
 | 
			
		||||
-- treesitter and treesitter-context
 | 
			
		||||
vim.keymap.set("n", "<leader>tc", function() vim.cmd.TSContext({ "toggle" }) end)
 | 
			
		||||
 | 
			
		||||
-- fugitive (git integration)
 | 
			
		||||
vim.keymap.set("n", "<leader>gG", vim.cmd.Git)
 | 
			
		||||
vim.keymap.set("n", "<leader>gg", ":Git ") -- shortcut, arbitrary git commands
 | 
			
		||||
vim.keymap.set("n", "<leader>ga", function() vim.cmd.Git({ "add %"}) end)
 | 
			
		||||
vim.keymap.set("n", "<leader>gs", function() vim.cmd.Git({ "-p status" }) end)
 | 
			
		||||
vim.keymap.set("n", "<leader>gc", function() vim.cmd.Git({ "commit -a" }) end)
 | 
			
		||||
 | 
			
		||||
-- conform (formatter)
 | 
			
		||||
vim.keymap.set("n", "<leader>fmt", function()
 | 
			
		||||
    require("conform").format({ bufnr = 0 })
 | 
			
		||||
end)
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										140
									
								
								src_files/.config/nvim/lua/key_mappings.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										140
									
								
								src_files/.config/nvim/lua/key_mappings.lua
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,140 @@
 | 
			
		||||
local kmGroup = vim.api.nvim_create_augroup("KeymappingsGroup", { clear = true })
 | 
			
		||||
local kmgAutocmd = vim.api.nvim_create_autocmd
 | 
			
		||||
 | 
			
		||||
------------------------------------------------------------------------------------------
 | 
			
		||||
-- core
 | 
			
		||||
 | 
			
		||||
-- explore the directory of the current file (using netrw)
 | 
			
		||||
vim.keymap.set("n", "<leader>n", vim.cmd.Ex)
 | 
			
		||||
 | 
			
		||||
-- move selected lines up or down
 | 
			
		||||
vim.keymap.set("v", "J", ":m '>+1<CR>gv")
 | 
			
		||||
vim.keymap.set("v", "K", ":m '<-2<CR>gv")
 | 
			
		||||
 | 
			
		||||
-- vertically center cursor with half-page jumps
 | 
			
		||||
vim.keymap.set("n", "<C-d>", "<C-d>zz")
 | 
			
		||||
vim.keymap.set("n", "<C-u>", "<C-u>zz")
 | 
			
		||||
 | 
			
		||||
-- open folds when iterating search results
 | 
			
		||||
vim.keymap.set("n", "n", "nzv")
 | 
			
		||||
vim.keymap.set("n", "N", "Nzv")
 | 
			
		||||
 | 
			
		||||
-- maintain cursor position after paragraph formatting
 | 
			
		||||
vim.keymap.set("n", "=ap", "ma=ap'a")
 | 
			
		||||
 | 
			
		||||
-- shortcuts for deleting into the void register
 | 
			
		||||
vim.keymap.set({ "n", "v" }, "<leader>d", "\"_d")
 | 
			
		||||
vim.keymap.set("x", "<leader>P", [["_dP]]) -- replace selected text, keep main register
 | 
			
		||||
 | 
			
		||||
-- shortcuts for using + register (system clipboard)
 | 
			
		||||
vim.keymap.set({ "n", "v" }, "<leader>y", [["+y]])
 | 
			
		||||
vim.keymap.set("n", "<leader>Y", [["+Y]])
 | 
			
		||||
vim.keymap.set("n", "<leader>D", [["+D]])
 | 
			
		||||
vim.keymap.set("n", "<leader>p", [["+p]])
 | 
			
		||||
 | 
			
		||||
-- search-and-replace shortcuts
 | 
			
		||||
vim.keymap.set("n", "<leader>rw", [[:%s/\<<C-r><C-w>\>/<C-r><C-w>/gI<Left><Left><Left>]])
 | 
			
		||||
vim.keymap.set("n", "<leader>ra", [[:%s//g<Left><Left>]])
 | 
			
		||||
 | 
			
		||||
-- toggle expandtab and show message
 | 
			
		||||
vim.keymap.set("n", "<leader>tab", function()
 | 
			
		||||
    if vim.opt.expandtab:get() then
 | 
			
		||||
        vim.opt.expandtab = false
 | 
			
		||||
        print("using actual tabs")
 | 
			
		||||
    else
 | 
			
		||||
        vim.opt.expandtab = true
 | 
			
		||||
        print("using spaces in place of tabs")
 | 
			
		||||
    end
 | 
			
		||||
end)
 | 
			
		||||
 | 
			
		||||
-- quicker switching between panes/splits
 | 
			
		||||
vim.keymap.set("n", "<C-h>", [[<C-w>h]])
 | 
			
		||||
vim.keymap.set("n", "<C-j>", [[<C-w>j]])
 | 
			
		||||
vim.keymap.set("n", "<C-k>", [[<C-w>k]])
 | 
			
		||||
vim.keymap.set("n", "<C-l>", [[<C-w>l]])
 | 
			
		||||
 | 
			
		||||
------------------------------------------------------------------------------------------
 | 
			
		||||
-- quickfix TODO: learn about quickfix (:help quickfix), then maybe use these
 | 
			
		||||
 | 
			
		||||
-- vim.keymap.set("n", "<C-k>", "<cmd>cnext<CR>zz")
 | 
			
		||||
-- vim.keymap.set("n", "<C-j>", "<cmd>cprev<CR>zz")
 | 
			
		||||
-- vim.keymap.set("n", "<leader>k", "<cmd>lnext<CR>zz")
 | 
			
		||||
-- vim.keymap.set("n", "<leader>j", "<cmd>lprev<CR>zz")
 | 
			
		||||
 | 
			
		||||
------------------------------------------------------------------------------------------
 | 
			
		||||
-- lsp
 | 
			
		||||
 | 
			
		||||
kmgAutocmd('LspAttach', {
 | 
			
		||||
    group = kmGroup,
 | 
			
		||||
    callback = function(e)
 | 
			
		||||
        local opts = { buffer = e.buf }
 | 
			
		||||
        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("i", "<C-h>", function() vim.lsp.buf.signature_help() end, opts)
 | 
			
		||||
        vim.keymap.set("n", "<leader>vdv", function() vim.diagnostic.open_float() end, opts)
 | 
			
		||||
        vim.keymap.set("n", "<leader>vdn", function() vim.diagnostic.goto_next() end, opts)
 | 
			
		||||
        vim.keymap.set("n", "<leader>vdp", function() vim.diagnostic.goto_prev() end, opts)
 | 
			
		||||
        vim.keymap.set("n", "<leader>vws", function() vim.lsp.buf.workspace_symbol() end, opts)
 | 
			
		||||
        vim.keymap.set("n", "<leader>vca", function() vim.lsp.buf.code_action() end, opts)
 | 
			
		||||
        vim.keymap.set("n", "<leader>vrl", function() vim.lsp.buf.references() end, opts)
 | 
			
		||||
        vim.keymap.set("n", "<leader>vrn", function() vim.lsp.buf.rename() end, opts)
 | 
			
		||||
    end
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
------------------------------------------------------------------------------------------
 | 
			
		||||
-- plugins
 | 
			
		||||
 | 
			
		||||
-- telescope
 | 
			
		||||
local builtin = require('telescope.builtin')
 | 
			
		||||
local custom_tscope_grep = function()
 | 
			
		||||
    builtin.grep_string({ search = vim.fn.input("grep > ")})
 | 
			
		||||
end
 | 
			
		||||
vim.keymap.set('n', '<leader>ft', builtin.live_grep, {
 | 
			
		||||
    desc = 'Telescope find text (live_grep)'
 | 
			
		||||
})
 | 
			
		||||
vim.keymap.set('n', '<leader>fT', custom_tscope_grep, {
 | 
			
		||||
    desc = 'Telescope find text (grep_string)'
 | 
			
		||||
})
 | 
			
		||||
vim.keymap.set('n', '<leader>fg', builtin.git_files, {
 | 
			
		||||
    desc = 'Telescope find git-tracked files'
 | 
			
		||||
})
 | 
			
		||||
vim.keymap.set('n', '<leader>ff', builtin.find_files, { desc = 'Telescope find files' })
 | 
			
		||||
vim.keymap.set('n', '<leader>fb', builtin.buffers, { desc = 'Telescope buffers' })
 | 
			
		||||
vim.keymap.set('n', '<leader>fh', builtin.help_tags, { desc = 'Telescope help tags' })
 | 
			
		||||
 | 
			
		||||
-- harpoon
 | 
			
		||||
local harpoon = require("harpoon")
 | 
			
		||||
vim.keymap.set("n", "<leader>hl", function()
 | 
			
		||||
    harpoon.ui:toggle_quick_menu(harpoon:list())
 | 
			
		||||
end)
 | 
			
		||||
vim.keymap.set("n", "<leader>ha", function() harpoon:list():add() end)
 | 
			
		||||
vim.keymap.set("n", "<leader>hA", function() harpoon:list():prepend() end)
 | 
			
		||||
vim.keymap.set("n", "<leader>hn", function() harpoon:list():next() end)
 | 
			
		||||
vim.keymap.set("n", "<leader>hp", function() harpoon:list():prev() end)
 | 
			
		||||
vim.keymap.set("n", "<leader>hz", function() harpoon:list():select(1) end)
 | 
			
		||||
vim.keymap.set("n", "<leader>hx", function() harpoon:list():select(2) end)
 | 
			
		||||
vim.keymap.set("n", "<leader>hc", function() harpoon:list():select(3) end)
 | 
			
		||||
vim.keymap.set("n", "<leader>hv", function() harpoon:list():select(4) end)
 | 
			
		||||
vim.keymap.set("n", "<leader>hZ", function() harpoon:list():replace_at(1) end)
 | 
			
		||||
vim.keymap.set("n", "<leader>hX", function() harpoon:list():replace_at(2) end)
 | 
			
		||||
vim.keymap.set("n", "<leader>hC", function() harpoon:list():replace_at(3) end)
 | 
			
		||||
vim.keymap.set("n", "<leader>hV", function() harpoon:list():replace_at(4) end)
 | 
			
		||||
 | 
			
		||||
-- undotree
 | 
			
		||||
vim.keymap.set("n", "<leader>u", vim.cmd.UndotreeToggle)
 | 
			
		||||
 | 
			
		||||
-- treesitter and treesitter-context
 | 
			
		||||
vim.keymap.set("n", "<leader>tc", function() vim.cmd.TSContext({ "toggle" }) end)
 | 
			
		||||
 | 
			
		||||
-- fugitive (git integration)
 | 
			
		||||
vim.keymap.set("n", "<leader>gG", vim.cmd.Git)
 | 
			
		||||
vim.keymap.set("n", "<leader>gg", ":Git ") -- shortcut, arbitrary git commands
 | 
			
		||||
vim.keymap.set("n", "<leader>ga", function() vim.cmd.Git({ "add %"}) end)
 | 
			
		||||
vim.keymap.set("n", "<leader>gs", function() vim.cmd.Git({ "-p status" }) end)
 | 
			
		||||
vim.keymap.set("n", "<leader>gc", function() vim.cmd.Git({ "commit -a" }) end)
 | 
			
		||||
 | 
			
		||||
-- conform (formatter)
 | 
			
		||||
vim.keymap.set("n", "<leader>fmt", function()
 | 
			
		||||
    require("conform").format({ bufnr = 0 })
 | 
			
		||||
end)
 | 
			
		||||
 | 
			
		||||
@@ -22,7 +22,7 @@ vim.opt.rtp:prepend(path_lazy_nvim)
 | 
			
		||||
 | 
			
		||||
require("lazy").setup({
 | 
			
		||||
    spec = {
 | 
			
		||||
      { import = "david_standard.plugins_lazy" },
 | 
			
		||||
      { import = "plugins_lazy" },
 | 
			
		||||
    },
 | 
			
		||||
    checker = { enabled = false },
 | 
			
		||||
    change_detection = { notify = false },
 | 
			
		||||
@@ -28,9 +28,10 @@ return {
 | 
			
		||||
        require("mason").setup()
 | 
			
		||||
        require("mason-lspconfig").setup({
 | 
			
		||||
            ensure_installed = {
 | 
			
		||||
                "clangd",
 | 
			
		||||
                "lua_ls",
 | 
			
		||||
                -- "gopls",
 | 
			
		||||
                "ruby_lsp",
 | 
			
		||||
                -- "gopls",
 | 
			
		||||
                -- "tailwindcss",
 | 
			
		||||
            },
 | 
			
		||||
            handlers = {
 | 
			
		||||
@@ -68,7 +69,7 @@ return {
 | 
			
		||||
                ['<C-n>'] = cmp.mapping.select_next_item(cmp_select),
 | 
			
		||||
                ['<C-p>'] = cmp.mapping.select_prev_item(cmp_select),
 | 
			
		||||
                ['<C-d>'] = cmp.mapping.scroll_docs(-4),
 | 
			
		||||
                ['<C-f>'] = cmp.mapping.scroll_docs(4),
 | 
			
		||||
                ['<C-u>'] = cmp.mapping.scroll_docs(4),
 | 
			
		||||
            }),
 | 
			
		||||
            snippet = {
 | 
			
		||||
                expand = function(args)
 | 
			
		||||
@@ -86,6 +87,9 @@ return {
 | 
			
		||||
                completion = cmp.config.window.bordered(),
 | 
			
		||||
                documentation = cmp.config.window.bordered(),
 | 
			
		||||
            },
 | 
			
		||||
            performance = {
 | 
			
		||||
                max_view_entries = 14,
 | 
			
		||||
            },
 | 
			
		||||
        })
 | 
			
		||||
 | 
			
		||||
        -- `/` cmdline setup.
 | 
			
		||||
@@ -110,5 +114,11 @@ return {
 | 
			
		||||
                prefix = "",
 | 
			
		||||
            },
 | 
			
		||||
        })
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
        -- TODO: enables needed? or does neovim/nvim-lspconfig cover by default?
 | 
			
		||||
        -- vim.lsp.enable('clangd')
 | 
			
		||||
        -- vim.lsp.enable('ruby_lsp')
 | 
			
		||||
        -- vim.lsp.enable('standardrb')
 | 
			
		||||
        -- vim.lsp.enable('herb_ls') -- targets html + ruby (erb files)
 | 
			
		||||
    end,
 | 
			
		||||
}
 | 
			
		||||
@@ -8,10 +8,21 @@ local glob_patterns_live_grep = {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
return {
 | 
			
		||||
    'nvim-telescope/telescope.nvim',
 | 
			
		||||
    tag = '0.1.8',
 | 
			
		||||
    dependencies = { 'nvim-lua/plenary.nvim' },
 | 
			
		||||
    "nvim-telescope/telescope.nvim",
 | 
			
		||||
    tag = "0.1.8",
 | 
			
		||||
    dependencies = { "nvim-lua/plenary.nvim" },
 | 
			
		||||
    opts = {
 | 
			
		||||
        defaults = {
 | 
			
		||||
            layout_strategy = "horizontal",
 | 
			
		||||
            layout_config = {
 | 
			
		||||
                horizontal = {
 | 
			
		||||
                    width = 0.98,
 | 
			
		||||
                    height = 0.98,
 | 
			
		||||
                    preview_width = 0.45,
 | 
			
		||||
                },
 | 
			
		||||
            },
 | 
			
		||||
            path_display = { "truncate", },
 | 
			
		||||
        },
 | 
			
		||||
        pickers = {
 | 
			
		||||
            find_files = {
 | 
			
		||||
                find_command = {
 | 
			
		||||
@@ -23,7 +34,7 @@ return {
 | 
			
		||||
                additional_args = {
 | 
			
		||||
                    "--no-ignore", "--hidden",
 | 
			
		||||
                    unpack(glob_patterns_live_grep),
 | 
			
		||||
	        }
 | 
			
		||||
                }
 | 
			
		||||
            },
 | 
			
		||||
        },
 | 
			
		||||
    },
 | 
			
		||||
		Reference in New Issue
	
	Block a user