summaryrefslogtreecommitdiff
path: root/lua/config
diff options
context:
space:
mode:
Diffstat (limited to 'lua/config')
-rw-r--r--lua/config/alpha.lua54
-rw-r--r--lua/config/autocommands.lua4
-rw-r--r--lua/config/autopairs.lua48
-rw-r--r--lua/config/bufferline.lua310
-rw-r--r--lua/config/cmp.lua228
-rw-r--r--lua/config/colorizer.lua16
-rw-r--r--lua/config/colorscheme.lua4
-rw-r--r--lua/config/comment.lua32
-rw-r--r--lua/config/gitsigns.lua113
-rw-r--r--lua/config/hop.lua2
-rw-r--r--lua/config/impatient.lua2
-rw-r--r--lua/config/init.lua40
-rw-r--r--lua/config/lsp/handlers.lua203
-rw-r--r--lua/config/lsp/init.lua6
-rw-r--r--lua/config/lsp/lsp-installer.lua40
-rw-r--r--lua/config/lsp/null-ls.lua50
-rw-r--r--lua/config/lsp/settings/jsonls.lua336
-rw-r--r--lua/config/lsp/settings/pyright.lua14
-rw-r--r--lua/config/lsp/settings/sumneko_lua.lua26
-rw-r--r--lua/config/lualine.lua88
-rw-r--r--lua/config/nvim-tree.lua170
-rw-r--r--lua/config/project.lua64
-rw-r--r--lua/config/spectre.lua262
-rw-r--r--lua/config/telescope.lua228
-rw-r--r--lua/config/treesitter.lua42
-rw-r--r--lua/config/whichkey.lua354
-rw-r--r--lua/config/zen.lua44
27 files changed, 1426 insertions, 1354 deletions
diff --git a/lua/config/alpha.lua b/lua/config/alpha.lua
index 14cfee2..39580db 100644
--- a/lua/config/alpha.lua
+++ b/lua/config/alpha.lua
@@ -2,38 +2,38 @@
local status_ok, alpha = pcall(require, "alpha")
if not status_ok then
- return
+ return
end
-local dashboard = require("alpha.themes.dashboard")
+local dashboard = require "alpha.themes.dashboard"
dashboard.section.header.val = {
- [[ ##############..... ############## ]],
- [[ ##############......############## ]],
- [[ ##########..........########## ]],
- [[ ##########........########## ]],
- [[ ##########.......########## ]],
- [[ ##########.....##########.. ]],
- [[ ##########....##########..... ]],
- [[ ..##########..##########......... ]],
- [[ ....##########.#########............. ]],
- [[ ..################JJJ............ ]],
- [[ ################............. ]],
- [[ ##############.JJJ.JJJJJJJJJJ ]],
- [[ ############...JJ...JJ..JJ JJ ]],
- [[ ##########....JJ...JJ..JJ JJ ]],
- [[ ########......JJJ..JJJ JJJ JJJ ]],
- [[ ###### ......... ]],
- [[ ..... ]],
- [[ . ]],
+ [[ ##############..... ############## ]],
+ [[ ##############......############## ]],
+ [[ ##########..........########## ]],
+ [[ ##########........########## ]],
+ [[ ##########.......########## ]],
+ [[ ##########.....##########.. ]],
+ [[ ##########....##########..... ]],
+ [[ ..##########..##########......... ]],
+ [[ ....##########.#########............. ]],
+ [[ ..################JJJ............ ]],
+ [[ ################............. ]],
+ [[ ##############.JJJ.JJJJJJJJJJ ]],
+ [[ ############...JJ...JJ..JJ JJ ]],
+ [[ ##########....JJ...JJ..JJ JJ ]],
+ [[ ########......JJJ..JJJ JJJ JJJ ]],
+ [[ ###### ......... ]],
+ [[ ..... ]],
+ [[ . ]],
}
dashboard.section.buttons.val = {
- dashboard.button("f", " Find file", ":Telescope file_browser <CR>"),
- dashboard.button("e", " New file", ":ene <BAR> startinsert <CR>"),
- dashboard.button("p", " Find project", ":Telescope projects <CR>"),
- dashboard.button("r", " Recently used files", ":Telescope oldfiles <CR>"),
- dashboard.button("t", " Find text", ":Telescope live_grep <CR>"),
- dashboard.button("c", " Configuration", ":e ~/.config/nvim/init.lua <CR>"),
- dashboard.button("q", " Quit Neovim", ":qa<CR>"),
+ dashboard.button("f", " Find file", ":Telescope file_browser <CR>"),
+ dashboard.button("e", " New file", ":ene <BAR> startinsert <CR>"),
+ dashboard.button("p", " Find project", ":Telescope projects <CR>"),
+ dashboard.button("r", " Recently used files", ":Telescope oldfiles <CR>"),
+ dashboard.button("t", " Find text", ":Telescope live_grep <CR>"),
+ dashboard.button("c", " Configuration", ":e ~/.config/nvim/init.lua <CR>"),
+ dashboard.button("q", " Quit Neovim", ":qa<CR>"),
}
dashboard.section.footer.opts.hl = "Type"
diff --git a/lua/config/autocommands.lua b/lua/config/autocommands.lua
index 213801a..e1548e5 100644
--- a/lua/config/autocommands.lua
+++ b/lua/config/autocommands.lua
@@ -1,6 +1,6 @@
-- autocmd! remove all autocommands, if entered under a group it will clear that group
-vim.cmd([[
+vim.cmd [[
augroup _general_settings
autocmd!
autocmd FileType qf,help,man,lspinfo nnoremap <silent> <buffer> q :close<CR>
@@ -26,4 +26,4 @@ vim.cmd([[
autocmd!
autocmd User AlphaReady set showtabline=0 | autocmd BufUnload <buffer> set showtabline=2
augroup end
-]])
+]]
diff --git a/lua/config/autopairs.lua b/lua/config/autopairs.lua
index 027135b..e218aff 100644
--- a/lua/config/autopairs.lua
+++ b/lua/config/autopairs.lua
@@ -2,33 +2,33 @@
local status_ok, npairs = pcall(require, "nvim-autopairs")
if not status_ok then
- return
+ return
end
-npairs.setup({
- check_ts = true,
- ts_config = {
- lua = { "string", "source" },
- javascript = { "string", "template_string" },
- java = false,
- },
- disable_filetype = { "TelescopePrompt", "spectre_panel" },
- fast_wrap = {
- map = "<M-e>",
- chars = { "{", "[", "(", '"', "'" },
- pattern = string.gsub([[ [%'%"%)%>%]%)%}%,] ]], "%s+", ""),
- offset = 0, -- Offset from pattern match
- end_key = "$",
- keys = "qwertyuiopzxcvbnmasdfghjkl",
- check_comma = true,
- highlight = "PmenuSel",
- highlight_grey = "LineNr",
- },
-})
+npairs.setup {
+ check_ts = true,
+ ts_config = {
+ lua = { "string", "source" },
+ javascript = { "string", "template_string" },
+ java = false,
+ },
+ disable_filetype = { "TelescopePrompt", "spectre_panel" },
+ fast_wrap = {
+ map = "<M-e>",
+ chars = { "{", "[", "(", '"', "'" },
+ pattern = string.gsub([[ [%'%"%)%>%]%)%}%,] ]], "%s+", ""),
+ offset = 0, -- Offset from pattern match
+ end_key = "$",
+ keys = "qwertyuiopzxcvbnmasdfghjkl",
+ check_comma = true,
+ highlight = "PmenuSel",
+ highlight_grey = "LineNr",
+ },
+}
-local cmp_autopairs = require("nvim-autopairs.completion.cmp")
+local cmp_autopairs = require "nvim-autopairs.completion.cmp"
local cmp_status_ok, cmp = pcall(require, "cmp")
if not cmp_status_ok then
- return
+ return
end
-cmp.event:on("confirm_done", cmp_autopairs.on_confirm_done({ map_char = { tex = "" } }))
+cmp.event:on("confirm_done", cmp_autopairs.on_confirm_done { map_char = { tex = "" } })
diff --git a/lua/config/bufferline.lua b/lua/config/bufferline.lua
index 3e36e85..04a2e79 100644
--- a/lua/config/bufferline.lua
+++ b/lua/config/bufferline.lua
@@ -2,166 +2,166 @@
local status_ok, bufferline = pcall(require, "bufferline")
if not status_ok then
- return
+ return
end
-bufferline.setup({
- options = {
- numbers = "none", -- | "ordinal" | "buffer_id" | "both" | function({ ordinal, id, lower, raise }): string,
- close_command = "Bdelete! %d", -- can be a string | function, see "Mouse actions"
- right_mouse_command = nil, -- can be a string | function, see "Mouse actions"
- left_mouse_command = nil, -- can be a string | function, see "Mouse actions"
- middle_mouse_command = nil, -- can be a string | function, see "Mouse actions"
- -- NOTE: this plugin is designed with this icon in mind,
- -- and so changing this is NOT recommended, this is intended
- -- as an escape hatch for people who cannot bear it for whatever reason
- indicator_icon = "",
- buffer_close_icon = "",
- modified_icon = "●",
- close_icon = "",
- left_trunc_marker = "",
- right_trunc_marker = "",
- --- name_formatter can be used to change the buffer's label in the bufferline.
- --- Please note some names can/will break the
- --- bufferline so use this at your discretion knowing that it has
- --- some limitations that will *NOT* be fixed.
- -- name_formatter = function(buf) -- buf contains a "name", "path" and "bufnr"
- -- -- remove extension from markdown files for example
- -- if buf.name:match('%.md') then
- -- return vim.fn.fnamemodify(buf.name, ':t:r')
- -- end
- -- end,
- max_name_length = 30,
- max_prefix_length = 30, -- prefix used when a buffer is de-duplicated
- tab_size = 21,
- diagnostics = false, -- | "nvim_lsp" | "coc",
- diagnostics_update_in_insert = false,
- -- diagnostics_indicator = function(count, level, diagnostics_dict, context)
- -- return "("..count..")"
- -- end,
- -- NOTE: this will be called a lot so don't do any heavy processing here
- -- custom_filter = function(buf_number)
- -- -- filter out filetypes you don't want to see
- -- if vim.bo[buf_number].filetype ~= "<i-dont-want-to-see-this>" then
- -- return true
- -- end
- -- -- filter out by buffer name
- -- if vim.fn.bufname(buf_number) ~= "<buffer-name-I-dont-want>" then
- -- return true
- -- end
- -- -- filter out based on arbitrary rules
- -- -- e.g. filter out vim wiki buffer from tabline in your work repo
- -- if vim.fn.getcwd() == "<work-repo>" and vim.bo[buf_number].filetype ~= "wiki" then
- -- return true
- -- end
- -- end,
- offsets = { { filetype = "NvimTree", text = "", padding = 1 } },
- show_buffer_icons = false,
- show_buffer_close_icons = false,
- show_close_icon = false,
- show_tab_indicators = false,
- persist_buffer_sort = true, -- whether or not custom sorted buffers should persist
- -- can also be a table containing 2 custom separators
- -- [focused and unfocused]. eg: { '|', '|' }
- separator_style = "thin", -- | "thick" | "thin" | { 'any', 'any' },
- enforce_regular_tabs = true,
- always_show_bufferline = true,
- -- sort_by = 'id' | 'extension' | 'relative_directory' | 'directory' | 'tabs' | function(buffer_a, buffer_b)
- -- -- add custom logic
- -- return buffer_a.modified > buffer_b.modified
- -- end
- },
- highlights = {
- fill = {
- guifg = { attribute = "fg", highlight = "#ff0000" },
- guibg = { attribute = "bg", highlight = "TabLine" },
- },
- background = {
- guifg = { attribute = "fg", highlight = "TabLine" },
- guibg = { attribute = "bg", highlight = "TabLine" },
- },
+bufferline.setup {
+ options = {
+ numbers = "none", -- | "ordinal" | "buffer_id" | "both" | function({ ordinal, id, lower, raise }): string,
+ close_command = "Bdelete! %d", -- can be a string | function, see "Mouse actions"
+ right_mouse_command = nil, -- can be a string | function, see "Mouse actions"
+ left_mouse_command = nil, -- can be a string | function, see "Mouse actions"
+ middle_mouse_command = nil, -- can be a string | function, see "Mouse actions"
+ -- NOTE: this plugin is designed with this icon in mind,
+ -- and so changing this is NOT recommended, this is intended
+ -- as an escape hatch for people who cannot bear it for whatever reason
+ indicator_icon = "",
+ buffer_close_icon = "",
+ modified_icon = "●",
+ close_icon = "",
+ left_trunc_marker = "",
+ right_trunc_marker = "",
+ --- name_formatter can be used to change the buffer's label in the bufferline.
+ --- Please note some names can/will break the
+ --- bufferline so use this at your discretion knowing that it has
+ --- some limitations that will *NOT* be fixed.
+ -- name_formatter = function(buf) -- buf contains a "name", "path" and "bufnr"
+ -- -- remove extension from markdown files for example
+ -- if buf.name:match('%.md') then
+ -- return vim.fn.fnamemodify(buf.name, ':t:r')
+ -- end
+ -- end,
+ max_name_length = 30,
+ max_prefix_length = 30, -- prefix used when a buffer is de-duplicated
+ tab_size = 21,
+ diagnostics = false, -- | "nvim_lsp" | "coc",
+ diagnostics_update_in_insert = false,
+ -- diagnostics_indicator = function(count, level, diagnostics_dict, context)
+ -- return "("..count..")"
+ -- end,
+ -- NOTE: this will be called a lot so don't do any heavy processing here
+ -- custom_filter = function(buf_number)
+ -- -- filter out filetypes you don't want to see
+ -- if vim.bo[buf_number].filetype ~= "<i-dont-want-to-see-this>" then
+ -- return true
+ -- end
+ -- -- filter out by buffer name
+ -- if vim.fn.bufname(buf_number) ~= "<buffer-name-I-dont-want>" then
+ -- return true
+ -- end
+ -- -- filter out based on arbitrary rules
+ -- -- e.g. filter out vim wiki buffer from tabline in your work repo
+ -- if vim.fn.getcwd() == "<work-repo>" and vim.bo[buf_number].filetype ~= "wiki" then
+ -- return true
+ -- end
+ -- end,
+ offsets = { { filetype = "NvimTree", text = "", padding = 1 } },
+ show_buffer_icons = false,
+ show_buffer_close_icons = false,
+ show_close_icon = false,
+ show_tab_indicators = false,
+ persist_buffer_sort = true, -- whether or not custom sorted buffers should persist
+ -- can also be a table containing 2 custom separators
+ -- [focused and unfocused]. eg: { '|', '|' }
+ separator_style = "thin", -- | "thick" | "thin" | { 'any', 'any' },
+ enforce_regular_tabs = true,
+ always_show_bufferline = true,
+ -- sort_by = 'id' | 'extension' | 'relative_directory' | 'directory' | 'tabs' | function(buffer_a, buffer_b)
+ -- -- add custom logic
+ -- return buffer_a.modified > buffer_b.modified
+ -- end
+ },
+ highlights = {
+ fill = {
+ guifg = { attribute = "fg", highlight = "#ff0000" },
+ guibg = { attribute = "bg", highlight = "TabLine" },
+ },
+ background = {
+ guifg = { attribute = "fg", highlight = "TabLine" },
+ guibg = { attribute = "bg", highlight = "TabLine" },
+ },
- -- buffer_selected = {
- -- guifg = {attribute='fg',highlight='#ff0000'},
- -- guibg = {attribute='bg',highlight='#0000ff'},
- -- gui = 'none'
- -- },
- buffer_visible = {
- guifg = { attribute = "fg", highlight = "TabLine" },
- guibg = { attribute = "bg", highlight = "TabLine" },
- },
+ -- buffer_selected = {
+ -- guifg = {attribute='fg',highlight='#ff0000'},
+ -- guibg = {attribute='bg',highlight='#0000ff'},
+ -- gui = 'none'
+ -- },
+ buffer_visible = {
+ guifg = { attribute = "fg", highlight = "TabLine" },
+ guibg = { attribute = "bg", highlight = "TabLine" },
+ },
- close_button = {
- guifg = { attribute = "fg", highlight = "TabLine" },
- guibg = { attribute = "bg", highlight = "TabLine" },
- },
- close_button_visible = {
- guifg = { attribute = "fg", highlight = "TabLine" },
- guibg = { attribute = "bg", highlight = "TabLine" },
- },
- -- close_button_selected = {
- -- guifg = {attribute='fg',highlight='TabLineSel'},
- -- guibg ={attribute='bg',highlight='TabLineSel'}
- -- },
+ close_button = {
+ guifg = { attribute = "fg", highlight = "TabLine" },
+ guibg = { attribute = "bg", highlight = "TabLine" },
+ },
+ close_button_visible = {
+ guifg = { attribute = "fg", highlight = "TabLine" },
+ guibg = { attribute = "bg", highlight = "TabLine" },
+ },
+ -- close_button_selected = {
+ -- guifg = {attribute='fg',highlight='TabLineSel'},
+ -- guibg ={attribute='bg',highlight='TabLineSel'}
+ -- },
- tab_selected = {
- guifg = { attribute = "fg", highlight = "Normal" },
- guibg = { attribute = "bg", highlight = "Normal" },
- },
- tab = {
- guifg = { attribute = "fg", highlight = "TabLine" },
- guibg = { attribute = "bg", highlight = "TabLine" },
- },
- tab_close = {
- -- guifg = {attribute='fg',highlight='LspDiagnosticsDefaultError'},
- guifg = { attribute = "fg", highlight = "TabLineSel" },
- guibg = { attribute = "bg", highlight = "Normal" },
- },
+ tab_selected = {
+ guifg = { attribute = "fg", highlight = "Normal" },
+ guibg = { attribute = "bg", highlight = "Normal" },
+ },
+ tab = {
+ guifg = { attribute = "fg", highlight = "TabLine" },
+ guibg = { attribute = "bg", highlight = "TabLine" },
+ },
+ tab_close = {
+ -- guifg = {attribute='fg',highlight='LspDiagnosticsDefaultError'},
+ guifg = { attribute = "fg", highlight = "TabLineSel" },
+ guibg = { attribute = "bg", highlight = "Normal" },
+ },
- duplicate_selected = {
- guifg = { attribute = "fg", highlight = "TabLineSel" },
- guibg = { attribute = "bg", highlight = "TabLineSel" },
- gui = "italic",
- },
- duplicate_visible = {
- guifg = { attribute = "fg", highlight = "TabLine" },
- guibg = { attribute = "bg", highlight = "TabLine" },
- gui = "italic",
- },
- duplicate = {
- guifg = { attribute = "fg", highlight = "TabLine" },
- guibg = { attribute = "bg", highlight = "TabLine" },
- gui = "italic",
- },
+ duplicate_selected = {
+ guifg = { attribute = "fg", highlight = "TabLineSel" },
+ guibg = { attribute = "bg", highlight = "TabLineSel" },
+ gui = "italic",
+ },
+ duplicate_visible = {
+ guifg = { attribute = "fg", highlight = "TabLine" },
+ guibg = { attribute = "bg", highlight = "TabLine" },
+ gui = "italic",
+ },
+ duplicate = {
+ guifg = { attribute = "fg", highlight = "TabLine" },
+ guibg = { attribute = "bg", highlight = "TabLine" },
+ gui = "italic",
+ },
- modified = {
- guifg = { attribute = "fg", highlight = "TabLine" },
- guibg = { attribute = "bg", highlight = "TabLine" },
- },
- modified_selected = {
- guifg = { attribute = "fg", highlight = "Normal" },
- guibg = { attribute = "bg", highlight = "Normal" },
- },
- modified_visible = {
- guifg = { attribute = "fg", highlight = "TabLine" },
- guibg = { attribute = "bg", highlight = "TabLine" },
- },
+ modified = {
+ guifg = { attribute = "fg", highlight = "TabLine" },
+ guibg = { attribute = "bg", highlight = "TabLine" },
+ },
+ modified_selected = {
+ guifg = { attribute = "fg", highlight = "Normal" },
+ guibg = { attribute = "bg", highlight = "Normal" },
+ },
+ modified_visible = {
+ guifg = { attribute = "fg", highlight = "TabLine" },
+ guibg = { attribute = "bg", highlight = "TabLine" },
+ },
- separator = {
- guifg = { attribute = "bg", highlight = "TabLine" },
- guibg = { attribute = "bg", highlight = "TabLine" },
- },
- separator_selected = {
- guifg = { attribute = "bg", highlight = "Normal" },
- guibg = { attribute = "bg", highlight = "Normal" },
- },
- -- separator_visible = {
- -- guifg = {attribute='bg',highlight='TabLine'},
- -- guibg = {attribute='bg',highlight='TabLine'}
- -- },
- indicator_selected = {
- guifg = { attribute = "fg", highlight = "LspDiagnosticsDefaultHint" },
- guibg = { attribute = "bg", highlight = "Normal" },
- },
- },
-})
+ separator = {
+ guifg = { attribute = "bg", highlight = "TabLine" },
+ guibg = { attribute = "bg", highlight = "TabLine" },
+ },
+ separator_selected = {
+ guifg = { attribute = "bg", highlight = "Normal" },
+ guibg = { attribute = "bg", highlight = "Normal" },
+ },
+ -- separator_visible = {
+ -- guifg = {attribute='bg',highlight='TabLine'},
+ -- guibg = {attribute='bg',highlight='TabLine'}
+ -- },
+ indicator_selected = {
+ guifg = { attribute = "fg", highlight = "LspDiagnosticsDefaultHint" },
+ guibg = { attribute = "bg", highlight = "Normal" },
+ },
+ },
+}
diff --git a/lua/config/cmp.lua b/lua/config/cmp.lua
index 27114ca..1bfc17f 100644
--- a/lua/config/cmp.lua
+++ b/lua/config/cmp.lua
@@ -2,131 +2,131 @@
local cmp_status_ok, cmp = pcall(require, "cmp")
if not cmp_status_ok then
- return
+ return
end
local snip_status_ok, luasnip = pcall(require, "luasnip")
if not snip_status_ok then
- return
+ return
end
require("luasnip/loaders/from_vscode").lazy_load()
local check_backspace = function()
- local col = vim.fn.col(".") - 1
- return col == 0 or vim.fn.getline("."):sub(col, col):match("%s")
+ local col = vim.fn.col "." - 1
+ return col == 0 or vim.fn.getline("."):sub(col, col):match "%s"
end
local kind_icons = {
- Text = "",
- Method = "m",
- Function = "",
- Constructor = "",
- Field = "",
- Variable = "",
- Class = "",
- Interface = "",
- Module = "",
- Property = "",
- Unit = "",
- Value = "",
- Enum = "",
- Keyword = "",
- Snippet = "",
- Color = "",
- File = "",
- Reference = "",
- Folder = "",
- EnumMember = "",
- Constant = "",
- Struct = "",
- Event = "",
- Operator = "",
- TypeParameter = "",
+ Text = "",
+ Method = "m",
+ Function = "",
+ Constructor = "",
+ Field = "",
+ Variable = "",
+ Class = "",
+ Interface = "",
+ Module = "",
+ Property = "",
+ Unit = "",
+ Value = "",
+ Enum = "",
+ Keyword = "",
+ Snippet = "",
+ Color = "",
+ File = "",
+ Reference = "",
+ Folder = "",
+ EnumMember = "",
+ Constant = "",
+ Struct = "",
+ Event = "",
+ Operator = "",
+ TypeParameter = "",
}
-cmp.setup({
- snippet = {
- expand = function(args)
- luasnip.lsp_expand(args.body) -- For `luasnip` users.
- end,
- },
- mapping = {
- ["<C-k>"] = cmp.mapping.select_prev_item(),
- ["<C-j>"] = cmp.mapping.select_next_item(),
- ["<C-b>"] = cmp.mapping(cmp.mapping.scroll_docs(-1), { "i", "c" }),
- ["<C-f>"] = cmp.mapping(cmp.mapping.scroll_docs(1), { "i", "c" }),
- ["<C-Space>"] = cmp.mapping(cmp.mapping.complete(), { "i", "c" }),
- ["<C-y>"] = cmp.config.disable, -- Specify `cmp.config.disable` if you want to remove the default `<C-y>` mapping.
- ["<C-e>"] = cmp.mapping({
- i = cmp.mapping.abort(),
- c = cmp.mapping.close(),
- }),
- -- Accept currently selected item. If none selected, `select` first item.
- -- Set `select` to `false` to only confirm explicitly selected items.
- ["<CR>"] = cmp.mapping.confirm({ select = true }),
- ["<Tab>"] = cmp.mapping(function(fallback)
- if cmp.visible() then
- cmp.select_next_item()
- elseif luasnip.expandable() then
- luasnip.expand()
- elseif luasnip.expand_or_jumpable() then
- luasnip.expand_or_jump()
- elseif check_backspace() then
- fallback()
- else
- fallback()
- end
- end, {
- "i",
- "s",
- }),
- ["<S-Tab>"] = cmp.mapping(function(fallback)
- if cmp.visible() then
- cmp.select_prev_item()
- elseif luasnip.jumpable(-1) then
- luasnip.jump(-1)
- else
- fallback()
- end
- end, {
- "i",
- "s",
- }),
- },
- formatting = {
- fields = { "kind", "abbr", "menu" },
- format = function(entry, vim_item)
- -- Kind icons
- vim_item.kind = string.format("%s", kind_icons[vim_item.kind])
- -- vim_item.kind = string.format('%s %s', kind_icons[vim_item.kind], vim_item.kind) -- This concatonates the icons with the name of the item kind
- vim_item.menu = ({
- nvim_lsp = "[LSP]",
- nvim_lua = "[NVIM_LUA]",
- luasnip = "[Snippet]",
- buffer = "[Buffer]",
- path = "[Path]",
- })[entry.source.name]
- return vim_item
- end,
- },
- -- TODO: check out more sources
- sources = {
- { name = "nvim_lsp" },
- { name = "nvim_lua" },
- { name = "luasnip" },
- { name = "buffer" },
- { name = "path" },
- },
- confirm_opts = {
- behavior = cmp.ConfirmBehavior.Replace,
- select = false,
- },
- documentation = {
- border = { "╭", "─", "╮", "│", "╯", "─", "╰", "│" },
- },
- experimental = {
- ghost_text = false,
- native_menu = false,
- },
-})
+cmp.setup {
+ snippet = {
+ expand = function(args)
+ luasnip.lsp_expand(args.body) -- For `luasnip` users.
+ end,
+ },
+ mapping = {
+ ["<C-k>"] = cmp.mapping.select_prev_item(),
+ ["<C-j>"] = cmp.mapping.select_next_item(),
+ ["<C-b>"] = cmp.mapping(cmp.mapping.scroll_docs(-1), { "i", "c" }),
+ ["<C-f>"] = cmp.mapping(cmp.mapping.scroll_docs(1), { "i", "c" }),
+ ["<C-Space>"] = cmp.mapping(cmp.mapping.complete(), { "i", "c" }),
+ ["<C-y>"] = cmp.config.disable, -- Specify `cmp.config.disable` if you want to remove the default `<C-y>` mapping.
+ ["<C-e>"] = cmp.mapping {
+ i = cmp.mapping.abort(),
+ c = cmp.mapping.close(),
+ },
+ -- Accept currently selected item. If none selected, `select` first item.
+ -- Set `select` to `false` to only confirm explicitly selected items.
+ ["<CR>"] = cmp.mapping.confirm { select = true },
+ ["<Tab>"] = cmp.mapping(function(fallback)
+ if cmp.visible() then
+ cmp.select_next_item()
+ elseif luasnip.expandable() then
+ luasnip.expand()
+ elseif luasnip.expand_or_jumpable() then
+ luasnip.expand_or_jump()
+ elseif check_backspace() then
+ fallback()
+ else
+ fallback()
+ end
+ end, {
+ "i",
+ "s",
+ }),
+ ["<S-Tab>"] = cmp.mapping(function(fallback)
+ if cmp.visible() then
+ cmp.select_prev_item()
+ elseif luasnip.jumpable(-1) then
+ luasnip.jump(-1)
+ else
+ fallback()
+ end
+ end, {
+ "i",
+ "s",
+ }),
+ },
+ formatting = {
+ fields = { "kind", "abbr", "menu" },
+ format = function(entry, vim_item)
+ -- Kind icons
+ vim_item.kind = string.format("%s", kind_icons[vim_item.kind])
+ -- vim_item.kind = string.format('%s %s', kind_icons[vim_item.kind], vim_item.kind) -- This concatonates the icons with the name of the item kind
+ vim_item.menu = ({
+ nvim_lsp = "[LSP]",
+ nvim_lua = "[NVIM_LUA]",
+ luasnip = "[Snippet]",
+ buffer = "[Buffer]",
+ path = "[Path]",
+ })[entry.source.name]
+ return vim_item
+ end,
+ },
+ -- TODO: check out more sources
+ sources = {
+ { name = "nvim_lsp" },
+ { name = "nvim_lua" },
+ { name = "luasnip" },
+ { name = "buffer" },
+ { name = "path" },
+ },
+ confirm_opts = {
+ behavior = cmp.ConfirmBehavior.Replace,
+ select = false,
+ },
+ documentation = {
+ border = { "╭", "─", "╮", "│", "╯", "─", "╰", "│" },
+ },
+ experimental = {
+ ghost_text = false,
+ native_menu = false,
+ },
+}
diff --git a/lua/config/colorizer.lua b/lua/config/colorizer.lua
index 354414d..a964c94 100644
--- a/lua/config/colorizer.lua
+++ b/lua/config/colorizer.lua
@@ -2,15 +2,15 @@
local status_ok, colorizer = pcall(require, "colorizer")
if not status_ok then
- return
+ return
end
colorizer.setup({ "*" }, {
- RGB = true, -- #RGB hex codes
- RRGGBB = true, -- #RRGGBB hex codes
- RRGGBBAA = true, -- #RRGGBBAA hex codes
- rgb_fn = true, -- CSS rgb() and rgba() functions
- hsl_fn = true, -- CSS hsl() and hsla() functions
- css = true, -- Enable all CSS features: rgb_fn, hsl_fn, names, RGB, RRGGBB
- css_fn = true, -- Enable all CSS *functions*: rgb_fn, hsl_fn
+ RGB = true, -- #RGB hex codes
+ RRGGBB = true, -- #RRGGBB hex codes
+ RRGGBBAA = true, -- #RRGGBBAA hex codes
+ rgb_fn = true, -- CSS rgb() and rgba() functions
+ hsl_fn = true, -- CSS hsl() and hsla() functions
+ css = true, -- Enable all CSS features: rgb_fn, hsl_fn, names, RGB, RRGGBB
+ css_fn = true, -- Enable all CSS *functions*: rgb_fn, hsl_fn
})
diff --git a/lua/config/colorscheme.lua b/lua/config/colorscheme.lua
index f54b567..8fe7c27 100644
--- a/lua/config/colorscheme.lua
+++ b/lua/config/colorscheme.lua
@@ -4,6 +4,6 @@ local colorscheme = "no-clown-fiesta"
local status_ok, _ = pcall(vim.cmd, "colorscheme " .. colorscheme)
if not status_ok then
- vim.notify("colorscheme " .. colorscheme .. " not found!")
- return
+ vim.notify("colorscheme " .. colorscheme .. " not found!")
+ return
end
diff --git a/lua/config/comment.lua b/lua/config/comment.lua
index 740697e..4968314 100644
--- a/lua/config/comment.lua
+++ b/lua/config/comment.lua
@@ -2,23 +2,23 @@
local status_ok, comment = pcall(require, "Comment")
if not status_ok then
- return
+ return
end
-comment.setup({
- pre_hook = function(ctx)
- local U = require("Comment.utils")
+comment.setup {
+ pre_hook = function(ctx)
+ local U = require "Comment.utils"
- local location = nil
- if ctx.ctype == U.ctype.block then
- location = require("ts_context_commentstring.utils").get_cursor_location()
- elseif ctx.cmotion == U.cmotion.v or ctx.cmotion == U.cmotion.V then
- location = require("ts_context_commentstring.utils").get_visual_start_location()
- end
+ local location = nil
+ if ctx.ctype == U.ctype.block then
+ location = require("ts_context_commentstring.utils").get_cursor_location()
+ elseif ctx.cmotion == U.cmotion.v or ctx.cmotion == U.cmotion.V then
+ location = require("ts_context_commentstring.utils").get_visual_start_location()
+ end
- return require("ts_context_commentstring.internal").calculate_commentstring({
- key = ctx.ctype == U.ctype.line and "__default" or "__multiline",
- location = location,
- })
- end,
-})
+ return require("ts_context_commentstring.internal").calculate_commentstring {
+ key = ctx.ctype == U.ctype.line and "__default" or "__multiline",
+ location = location,
+ }
+ end,
+}
diff --git a/lua/config/gitsigns.lua b/lua/config/gitsigns.lua
index 05aa495..3a5ce9d 100644
--- a/lua/config/gitsigns.lua
+++ b/lua/config/gitsigns.lua
@@ -2,49 +2,74 @@
local status_ok, gitsigns = pcall(require, "gitsigns")
if not status_ok then
- return
+ return
end
-gitsigns.setup({
- signs = {
- add = { hl = "GitSignsAdd", text = "▎", numhl = "GitSignsAddNr", linehl = "GitSignsAddLn" },
- change = { hl = "GitSignsChange", text = "▎", numhl = "GitSignsChangeNr", linehl = "GitSignsChangeLn" },
- delete = { hl = "GitSignsDelete", text = "契", numhl = "GitSignsDeleteNr", linehl = "GitSignsDeleteLn" },
- topdelete = { hl = "GitSignsDelete", text = "契", numhl = "GitSignsDeleteNr", linehl = "GitSignsDeleteLn" },
- changedelete = { hl = "GitSignsChange", text = "▎", numhl = "GitSignsChangeNr", linehl = "GitSignsChangeLn" },
- },
- signcolumn = true, -- Toggle with `:Gitsigns toggle_signs`
- numhl = false, -- Toggle with `:Gitsigns toggle_numhl`
- linehl = false, -- Toggle with `:Gitsigns toggle_linehl`
- word_diff = false, -- Toggle with `:Gitsigns toggle_word_diff`
- watch_gitdir = {
- interval = 1000,
- follow_files = true,
- },
- attach_to_untracked = true,
- current_line_blame = false, -- Toggle with `:Gitsigns toggle_current_line_blame`
- current_line_blame_opts = {
- virt_text = true,
- virt_text_pos = "eol", -- 'eol' | 'overlay' | 'right_align'
- delay = 1000,
- ignore_whitespace = false,
- },
- current_line_blame_formatter_opts = {
- relative_time = false,
- },
- sign_priority = 6,
- update_debounce = 100,
- status_formatter = nil, -- Use default
- max_file_length = 40000,
- preview_config = {
- -- Options passed to nvim_open_win
- border = "single",
- style = "minimal",
- relative = "cursor",
- row = 0,
- col = 1,
- },
- yadm = {
- enable = false,
- },
-})
+gitsigns.setup {
+ signs = {
+ add = {
+ hl = "GitSignsAdd",
+ text = "▎",
+ numhl = "GitSignsAddNr",
+ linehl = "GitSignsAddLn",
+ },
+ change = {
+ hl = "GitSignsChange",
+ text = "▎",
+ numhl = "GitSignsChangeNr",
+ linehl = "GitSignsChangeLn",
+ },
+ delete = {
+ hl = "GitSignsDelete",
+ text = "契",
+ numhl = "GitSignsDeleteNr",
+ linehl = "GitSignsDeleteLn",
+ },
+ topdelete = {
+ hl = "GitSignsDelete",
+ text = "契",
+ numhl = "GitSignsDeleteNr",
+ linehl = "GitSignsDeleteLn",
+ },
+ changedelete = {
+ hl = "GitSignsChange",
+ text = "▎",
+ numhl = "GitSignsChangeNr",
+ linehl = "GitSignsChangeLn",
+ },
+ },
+ signcolumn = true, -- Toggle with `:Gitsigns toggle_signs`
+ numhl = false, -- Toggle with `:Gitsigns toggle_numhl`
+ linehl = false, -- Toggle with `:Gitsigns toggle_linehl`
+ word_diff = false, -- Toggle with `:Gitsigns toggle_word_diff`
+ watch_gitdir = {
+ interval = 1000,
+ follow_files = true,
+ },
+ attach_to_untracked = true,
+ current_line_blame = false, -- Toggle with `:Gitsigns toggle_current_line_blame`
+ current_line_blame_opts = {
+ virt_text = true,
+ virt_text_pos = "eol", -- 'eol' | 'overlay' | 'right_align'
+ delay = 1000,
+ ignore_whitespace = false,
+ },
+ current_line_blame_formatter_opts = {
+ relative_time = false,
+ },
+ sign_priority = 6,
+ update_debounce = 100,
+ status_formatter = nil, -- Use default
+ max_file_length = 40000,
+ preview_config = {
+ -- Options passed to nvim_open_win
+ border = "single",
+ style = "minimal",
+ relative = "cursor",
+ row = 0,
+ col = 1,
+ },
+ yadm = {
+ enable = false,
+ },
+}
diff --git a/lua/config/hop.lua b/lua/config/hop.lua
index 1d8c20c..65fd792 100644
--- a/lua/config/hop.lua
+++ b/lua/config/hop.lua
@@ -1,6 +1,6 @@
local status_ok, hop = pcall(require, "hop")
if not status_ok then
- return
+ return
end
hop.setup()
diff --git a/lua/config/impatient.lua b/lua/config/impatient.lua
index e902108..2595ca1 100644
--- a/lua/config/impatient.lua
+++ b/lua/config/impatient.lua
@@ -2,7 +2,7 @@
local status_ok, impatient = pcall(require, "impatient")
if not status_ok then
- return
+ return
end
impatient.enable_profile()
diff --git a/lua/config/init.lua b/lua/config/init.lua
index ed103c0..e2d0d27 100644
--- a/lua/config/init.lua
+++ b/lua/config/init.lua
@@ -1,22 +1,22 @@
-- Loads all plugin configs.
-require("config.colorscheme")
-require("config.cmp")
-require("config.lsp")
-require("config.telescope")
-require("config.treesitter")
-require("config.autopairs")
-require("config.comment")
-require("config.gitsigns")
-require("config.nvim-tree")
-require("config.bufferline")
-require("config.lualine")
-require("config.project")
-require("config.impatient")
-require("config.alpha")
-require("config.whichkey")
-require("config.autocommands")
-require("config.hop")
-require("config.zen")
-require("config.spectre")
-require("config.colorizer")
+require "config.colorscheme"
+require "config.cmp"
+require "config.lsp"
+require "config.telescope"
+require "config.treesitter"
+require "config.autopairs"
+require "config.comment"
+require "config.gitsigns"
+require "config.nvim-tree"
+require "config.bufferline"
+require "config.lualine"
+require "config.project"
+require "config.impatient"
+require "config.alpha"
+require "config.whichkey"
+require "config.autocommands"
+require "config.hop"
+require "config.zen"
+require "config.spectre"
+require "config.colorizer"
diff --git a/lua/config/lsp/handlers.lua b/lua/config/lsp/handlers.lua
index 1745f95..ba38faa 100644
--- a/lua/config/lsp/handlers.lua
+++ b/lua/config/lsp/handlers.lua
@@ -4,53 +4,56 @@ local M = {}
-- TODO: backfill this to template
M.setup = function()
- local signs = {
- { name = "DiagnosticSignError", text = "" },
- { name = "DiagnosticSignWarn", text = "" },
- { name = "DiagnosticSignHint", text = "" },
- { name = "DiagnosticSignInfo", text = "" },
- }
-
- for _, sign in ipairs(signs) do
- vim.fn.sign_define(sign.name, { texthl = sign.name, text = sign.text, numhl = "" })
- end
-
- local config = {
- -- disable virtual text
- virtual_text = false,
- -- show signs
- signs = {
- active = signs,
- },
- update_in_insert = true,
- underline = true,
- severity_sort = true,
- float = {
- focusable = false,
- style = "minimal",
- border = "rounded",
- source = "always",
- header = "",
- prefix = "",
- },
- }
-
- vim.diagnostic.config(config)
-
- vim.lsp.handlers["textDocument/hover"] = vim.lsp.with(vim.lsp.handlers.hover, {
- border = "rounded",
- })
-
- vim.lsp.handlers["textDocument/signatureHelp"] = vim.lsp.with(vim.lsp.handlers.signature_help, {
- border = "rounded",
- })
+ local signs = {
+ { name = "DiagnosticSignError", text = "" },
+ { name = "DiagnosticSignWarn", text = "" },
+ { name = "DiagnosticSignHint", text = "" },
+ { name = "DiagnosticSignInfo", text = "" },
+ }
+
+ for _, sign in ipairs(signs) do
+ vim.fn.sign_define(sign.name, { texthl = sign.name, text = sign.text, numhl = "" })
+ end
+
+ local config = {
+ -- disable virtual text
+ virtual_text = false,
+ -- show signs
+ signs = {
+ active = signs,
+ },
+ update_in_insert = true,
+ underline = true,
+ severity_sort = true,
+ float = {
+ focusable = false,
+ style = "minimal",
+ border = "rounded",
+ source = "always",
+ header = "",
+ prefix = "",
+ },
+ }
+
+ vim.diagnostic.config(config)
+
+ vim.lsp.handlers["textDocument/hover"] = vim.lsp.with(vim.lsp.handlers.hover, {
+ border = "rounded",
+ })
+
+ vim.lsp.handlers["textDocument/signatureHelp"] = vim.lsp.with(
+ vim.lsp.handlers.signature_help,
+ {
+ border = "rounded",
+ }
+ )
end
local function lsp_highlight_document(client)
- -- Set autocommands conditional on server_capabilities
- if client.resolved_capabilities.document_highlight then
- vim.api.nvim_exec(
- [[
+ -- Set autocommands conditional on server_capabilities
+ if client.resolved_capabilities.document_highlight then
+ vim.api.nvim_exec(
+ [[
let ftToIgnore = ['html']
augroup lsp_document_highlight
autocmd! * <buffer>
@@ -58,74 +61,110 @@ local function lsp_highlight_document(client)
autocmd CursorMoved <buffer> if index(ftToIgnore, &ft) < 0 | lua vim.lsp.buf.clear_references()
augroup END
]],
- false
- )
- end
+ false
+ )
+ end
end
local function lsp_keymaps(bufnr)
- local opts = { noremap = true, silent = true }
- vim.api.nvim_buf_set_keymap(bufnr, "n", "gD", "<cmd>lua vim.lsp.buf.declaration()<CR>", opts)
- vim.api.nvim_buf_set_keymap(bufnr, "n", "gd", "<cmd>lua vim.lsp.buf.definition()<CR>", opts)
- vim.api.nvim_buf_set_keymap(bufnr, "n", "K", "<cmd>lua vim.lsp.buf.hover()<CR>", opts)
- vim.api.nvim_buf_set_keymap(bufnr, "n", "gi", "<cmd>lua vim.lsp.buf.implementation()<CR>", opts)
- -- vim.api.nvim_buf_set_keymap(bufnr, "n", "<C-k>", "<cmd>lua vim.lsp.buf.signature_help()<CR>", opts)
- -- vim.api.nvim_buf_set_keymap(bufnr, "n", "<leader>rn", "<cmd>lua vim.lsp.buf.rename()<CR>", opts)
- vim.api.nvim_buf_set_keymap(bufnr, "n", "gr", "<cmd>lua vim.lsp.buf.references()<CR>", opts)
- -- vim.api.nvim_buf_set_keymap(bufnr, "n", "<leader>ca", "<cmd>lua vim.lsp.buf.code_action()<CR>", opts)
- -- vim.api.nvim_buf_set_keymap(bufnr, "n", "<leader>f", "<cmd>lua vim.diagnostic.open_float()<CR>", opts)
- -- vim.api.nvim_buf_set_keymap(bufnr, "n", "[d", '<cmd>lua vim.diagnostic.goto_prev({ border = "rounded" })<CR>', opts)
- -- vim.api.nvim_buf_set_keymap(bufnr, "n", "]d", '<cmd>lua vim.diagnostic.goto_next({ border = "rounded" })<CR>', opts)
- vim.api.nvim_buf_set_keymap(bufnr, "n", "gl", "<cmd>lua vim.diagnostic.open_float()<CR>", opts)
- vim.api.nvim_buf_set_keymap(bufnr, "n", "<leader>q", "<cmd>lua vim.diagnostic.setloclist()<CR>", opts)
- vim.cmd([[ command! Format execute 'lua vim.lsp.buf.formatting()' ]])
+ local opts = { noremap = true, silent = true }
+ vim.api.nvim_buf_set_keymap(
+ bufnr,
+ "n",
+ "gD",
+ "<cmd>lua vim.lsp.buf.declaration()<CR>",
+ opts
+ )
+ vim.api.nvim_buf_set_keymap(
+ bufnr,
+ "n",
+ "gd",
+ "<cmd>lua vim.lsp.buf.definition()<CR>",
+ opts
+ )
+ vim.api.nvim_buf_set_keymap(bufnr, "n", "K", "<cmd>lua vim.lsp.buf.hover()<CR>", opts)
+ vim.api.nvim_buf_set_keymap(
+ bufnr,
+ "n",
+ "gi",
+ "<cmd>lua vim.lsp.buf.implementation()<CR>",
+ opts
+ )
+ -- vim.api.nvim_buf_set_keymap(bufnr, "n", "<C-k>", "<cmd>lua vim.lsp.buf.signature_help()<CR>", opts)
+ -- vim.api.nvim_buf_set_keymap(bufnr, "n", "<leader>rn", "<cmd>lua vim.lsp.buf.rename()<CR>", opts)
+ vim.api.nvim_buf_set_keymap(
+ bufnr,
+ "n",
+ "gr",
+ "<cmd>lua vim.lsp.buf.references()<CR>",
+ opts
+ )
+ -- vim.api.nvim_buf_set_keymap(bufnr, "n", "<leader>ca", "<cmd>lua vim.lsp.buf.code_action()<CR>", opts)
+ -- vim.api.nvim_buf_set_keymap(bufnr, "n", "<leader>f", "<cmd>lua vim.diagnostic.open_float()<CR>", opts)
+ -- vim.api.nvim_buf_set_keymap(bufnr, "n", "[d", '<cmd>lua vim.diagnostic.goto_prev({ border = "rounded" })<CR>', opts)
+ -- vim.api.nvim_buf_set_keymap(bufnr, "n", "]d", '<cmd>lua vim.diagnostic.goto_next({ border = "rounded" })<CR>', opts)
+ vim.api.nvim_buf_set_keymap(
+ bufnr,
+ "n",
+ "gl",
+ "<cmd>lua vim.diagnostic.open_float()<CR>",
+ opts
+ )
+ vim.api.nvim_buf_set_keymap(
+ bufnr,
+ "n",
+ "<leader>q",
+ "<cmd>lua vim.diagnostic.setloclist()<CR>",
+ opts
+ )
+ vim.cmd [[ command! Format execute 'lua vim.lsp.buf.formatting()' ]]
end
M.on_attach = function(client, bufnr)
- if client.name == "tsserver" then
- client.resolved_capabilities.document_formatting = false
- end
- lsp_keymaps(bufnr)
- lsp_highlight_document(client)
+ if client.name == "tsserver" then
+ client.resolved_capabilities.document_formatting = false
+ end
+ lsp_keymaps(bufnr)
+ lsp_highlight_document(client)
end
local capabilities = vim.lsp.protocol.make_client_capabilities()
local status_ok, cmp_nvim_lsp = pcall(require, "cmp_nvim_lsp")
if not status_ok then
- return
+ return
end
M.capabilities = cmp_nvim_lsp.update_capabilities(capabilities)
function M.enable_format_on_save()
- vim.cmd([[
+ vim.cmd [[
augroup format_on_save
autocmd!
autocmd BufWritePre * lua vim.lsp.buf.formatting()
augroup end
- ]])
- vim.notify("Enabled format on save")
+ ]]
+ vim.notify "Enabled format on save"
end
function M.disable_format_on_save()
- M.remove_augroup("format_on_save")
- vim.notify("Disabled format on save")
+ M.remove_augroup "format_on_save"
+ vim.notify "Disabled format on save"
end
function M.toggle_format_on_save()
- if vim.fn.exists("#format_on_save#BufWritePre") == 0 then
- M.enable_format_on_save()
- else
- M.disable_format_on_save()
- end
+ if vim.fn.exists "#format_on_save#BufWritePre" == 0 then
+ M.enable_format_on_save()
+ else
+ M.disable_format_on_save()
+ end
end
function M.remove_augroup(name)
- if vim.fn.exists("#" .. name) == 1 then
- vim.cmd("au! " .. name)
- end
+ if vim.fn.exists("#" .. name) == 1 then
+ vim.cmd("au! " .. name)
+ end
end
-vim.cmd([[ command! LspToggleAutoFormat execute 'lua require("user.lsp.handlers").toggle_format_on_save()' ]])
+vim.cmd [[ command! LspToggleAutoFormat execute 'lua require("user.lsp.handlers").toggle_format_on_save()' ]]
return M
diff --git a/lua/config/lsp/init.lua b/lua/config/lsp/init.lua
index 7977351..a0bb068 100644
--- a/lua/config/lsp/init.lua
+++ b/lua/config/lsp/init.lua
@@ -2,9 +2,9 @@
local status_ok, _ = pcall(require, "lspconfig")
if not status_ok then
- return
+ return
end
-require("config.lsp.lsp-installer")
+require "config.lsp.lsp-installer"
require("config.lsp.handlers").setup()
-require("config.lsp.null-ls")
+require "config.lsp.null-ls"
diff --git a/lua/config/lsp/lsp-installer.lua b/lua/config/lsp/lsp-installer.lua
index 87c53cf..8bd6b98 100644
--- a/lua/config/lsp/lsp-installer.lua
+++ b/lua/config/lsp/lsp-installer.lua
@@ -2,33 +2,33 @@
local status_ok, lsp_installer = pcall(require, "nvim-lsp-installer")
if not status_ok then
- return
+ return
end
-- Register a handler that will be called for all installed servers.
-- Alternatively, you may also register handlers on specific server instances instead (see example below).
lsp_installer.on_server_ready(function(server)
- local opts = {
- on_attach = require("config.lsp.handlers").on_attach,
- capabilities = require("config.lsp.handlers").capabilities,
- }
+ local opts = {
+ on_attach = require("config.lsp.handlers").on_attach,
+ capabilities = require("config.lsp.handlers").capabilities,
+ }
- if server.name == "jsonls" then
- local jsonls_opts = require("config.lsp.settings.jsonls")
- opts = vim.tbl_deep_extend("force", jsonls_opts, opts)
- end
+ if server.name == "jsonls" then
+ local jsonls_opts = require "config.lsp.settings.jsonls"
+ opts = vim.tbl_deep_extend("force", jsonls_opts, opts)
+ end
- if server.name == "sumneko_lua" then
- local sumneko_opts = require("config.lsp.settings.sumneko_lua")
- opts = vim.tbl_deep_extend("force", sumneko_opts, opts)
- end
+ if server.name == "sumneko_lua" then
+ local sumneko_opts = require "config.lsp.settings.sumneko_lua"
+ opts = vim.tbl_deep_extend("force", sumneko_opts, opts)
+ end
- if server.name == "pyright" then
- local pyright_opts = require("config.lsp.settings.pyright")
- opts = vim.tbl_deep_extend("force", pyright_opts, opts)
- end
+ if server.name == "pyright" then
+ local pyright_opts = require "config.lsp.settings.pyright"
+ opts = vim.tbl_deep_extend("force", pyright_opts, opts)
+ end
- -- This setup() function is exactly the same as lspconfig's setup function.
- -- Refer to https://github.com/neovim/nvim-lspconfig/blob/master/doc/server_configurations.md
- server:setup(opts)
+ -- This setup() function is exactly the same as lspconfig's setup function.
+ -- Refer to https://github.com/neovim/nvim-lspconfig/blob/master/doc/server_configurations.md
+ server:setup(opts)
end)
diff --git a/lua/config/lsp/null-ls.lua b/lua/config/lsp/null-ls.lua
index 1c81cba..662d429 100644
--- a/lua/config/lsp/null-ls.lua
+++ b/lua/config/lsp/null-ls.lua
@@ -2,7 +2,7 @@
local null_ls_status_ok, null_ls = pcall(require, "null-ls")
if not null_ls_status_ok then
- return
+ return
end
-- https://github.com/jose-elias-alvarez/null-ls.nvim/tree/main/lua/null-ls/builtins/formatting
@@ -11,26 +11,28 @@ local formatting = null_ls.builtins.formatting
-- https://github.com/jose-elias-alvarez/null-ls.nvim/tree/main/lua/null-ls/builtins/diagnostics
local diagnostics = null_ls.builtins.diagnostics
-null_ls.setup({
- debug = false,
- sources = {
- diagnostics.cppcheck,
- diagnostics.flake8,
- diagnostics.golangci_lint,
- diagnostics.jsonlint,
- diagnostics.shellcheck,
- diagnostics.yamllint,
- formatting.black.with({ extra_args = { "--fast" } }),
- formatting.erlfmt,
- formatting.fourmolu,
- formatting.gofmt,
- formatting.goimports,
- formatting.nixfmt,
- formatting.prettier.with({ extra_args = { "--no-semi", "--single-quote", "--jsx-single-quote" } }),
- formatting.rustfmt,
- formatting.shfmt,
- formatting.sqlformat,
- formatting.stylua,
- formatting.terraform_fmt,
- },
-})
+null_ls.setup {
+ debug = false,
+ sources = {
+ diagnostics.cppcheck,
+ diagnostics.flake8,
+ diagnostics.golangci_lint,
+ diagnostics.jsonlint,
+ diagnostics.shellcheck,
+ diagnostics.yamllint,
+ formatting.black.with { extra_args = { "--fast" } },
+ formatting.erlfmt,
+ formatting.fourmolu,
+ formatting.gofmt,
+ formatting.goimports,
+ formatting.nixfmt,
+ formatting.prettier.with {
+ extra_args = { "--no-semi", "--single-quote", "--jsx-single-quote" },
+ },
+ formatting.rustfmt,
+ formatting.shfmt,
+ formatting.sqlformat,
+ formatting.stylua,
+ formatting.terraform_fmt,
+ },
+}
diff --git a/lua/config/lsp/settings/jsonls.lua b/lua/config/lsp/settings/jsonls.lua
index bcc5f65..b1ef3aa 100644
--- a/lua/config/lsp/settings/jsonls.lua
+++ b/lua/config/lsp/settings/jsonls.lua
@@ -2,177 +2,177 @@
-- Find more schemas here: https://www.schemastore.org/json/
local schemas = {
- {
- description = "TypeScript compiler configuration file",
- fileMatch = {
- "tsconfig.json",
- "tsconfig.*.json",
- },
- url = "https://json.schemastore.org/tsconfig.json",
- },
- {
- description = "Lerna config",
- fileMatch = { "lerna.json" },
- url = "https://json.schemastore.org/lerna.json",
- },
- {
- description = "Babel configuration",
- fileMatch = {
- ".babelrc.json",
- ".babelrc",
- "babel.config.json",
- },
- url = "https://json.schemastore.org/babelrc.json",
- },
- {
- description = "ESLint config",
- fileMatch = {
- ".eslintrc.json",
- ".eslintrc",
- },
- url = "https://json.schemastore.org/eslintrc.json",
- },
- {
- description = "Bucklescript config",
- fileMatch = { "bsconfig.json" },
- url = "https://raw.githubusercontent.com/rescript-lang/rescript-compiler/8.2.0/docs/docson/build-schema.json",
- },
- {
- description = "Prettier config",
- fileMatch = {
- ".prettierrc",
- ".prettierrc.json",
- "prettier.config.json",
- },
- url = "https://json.schemastore.org/prettierrc",
- },
- {
- description = "Vercel Now config",
- fileMatch = { "now.json" },
- url = "https://json.schemastore.org/now",
- },
- {
- description = "Stylelint config",
- fileMatch = {
- ".stylelintrc",
- ".stylelintrc.json",
- "stylelint.config.json",
- },
- url = "https://json.schemastore.org/stylelintrc",
- },
- {
- description = "A JSON schema for the ASP.NET LaunchSettings.json files",
- fileMatch = { "launchsettings.json" },
- url = "https://json.schemastore.org/launchsettings.json",
- },
- {
- description = "Schema for CMake Presets",
- fileMatch = {
- "CMakePresets.json",
- "CMakeUserPresets.json",
- },
- url = "https://raw.githubusercontent.com/Kitware/CMake/master/Help/manual/presets/schema.json",
- },
- {
- description = "Configuration file as an alternative for configuring your repository in the settings page.",
- fileMatch = {
- ".codeclimate.json",
- },
- url = "https://json.schemastore.org/codeclimate.json",
- },
- {
- description = "LLVM compilation database",
- fileMatch = {
- "compile_commands.json",
- },
- url = "https://json.schemastore.org/compile-commands.json",
- },
- {
- description = "Config file for Command Task Runner",
- fileMatch = {
- "commands.json",
- },
- url = "https://json.schemastore.org/commands.json",
- },
- {
- description = "AWS CloudFormation provides a common language for you to describe and provision all the infrastructure resources in your cloud environment.",
- fileMatch = {
- "*.cf.json",
- "cloudformation.json",
- },
- url = "https://raw.githubusercontent.com/awslabs/goformation/v5.2.9/schema/cloudformation.schema.json",
- },
- {
- description = "The AWS Serverless Application Model (AWS SAM, previously known as Project Flourish) extends AWS CloudFormation to provide a simplified way of defining the Amazon API Gateway APIs, AWS Lambda functions, and Amazon DynamoDB tables needed by your serverless application.",
- fileMatch = {
- "serverless.template",
- "*.sam.json",
- "sam.json",
- },
- url = "https://raw.githubusercontent.com/awslabs/goformation/v5.2.9/schema/sam.schema.json",
- },
- {
- description = "Json schema for properties json file for a GitHub Workflow template",
- fileMatch = {
- ".github/workflow-templates/**.properties.json",
- },
- url = "https://json.schemastore.org/github-workflow-template-properties.json",
- },
- {
- description = "golangci-lint configuration file",
- fileMatch = {
- ".golangci.toml",
- ".golangci.json",
- },
- url = "https://json.schemastore.org/golangci-lint.json",
- },
- {
- description = "JSON schema for the JSON Feed format",
- fileMatch = {
- "feed.json",
- },
- url = "https://json.schemastore.org/feed.json",
- versions = {
- ["1"] = "https://json.schemastore.org/feed-1.json",
- ["1.1"] = "https://json.schemastore.org/feed.json",
- },
- },
- {
- description = "Packer template JSON configuration",
- fileMatch = {
- "packer.json",
- },
- url = "https://json.schemastore.org/packer.json",
- },
- {
- description = "NPM configuration file",
- fileMatch = {
- "package.json",
- },
- url = "https://json.schemastore.org/package.json",
- },
- {
- description = "Resume json",
- fileMatch = { "resume.json" },
- url = "https://raw.githubusercontent.com/jsonresume/resume-schema/v1.0.0/schema.json",
- },
+ {
+ description = "TypeScript compiler configuration file",
+ fileMatch = {
+ "tsconfig.json",
+ "tsconfig.*.json",
+ },
+ url = "https://json.schemastore.org/tsconfig.json",
+ },
+ {
+ description = "Lerna config",
+ fileMatch = { "lerna.json" },
+ url = "https://json.schemastore.org/lerna.json",
+ },
+ {
+ description = "Babel configuration",
+ fileMatch = {
+ ".babelrc.json",
+ ".babelrc",
+ "babel.config.json",
+ },
+ url = "https://json.schemastore.org/babelrc.json",
+ },
+ {
+ description = "ESLint config",
+ fileMatch = {
+ ".eslintrc.json",
+ ".eslintrc",
+ },
+ url = "https://json.schemastore.org/eslintrc.json",
+ },
+ {
+ description = "Bucklescript config",
+ fileMatch = { "bsconfig.json" },
+ url = "https://raw.githubusercontent.com/rescript-lang/rescript-compiler/8.2.0/docs/docson/build-schema.json",
+ },
+ {
+ description = "Prettier config",
+ fileMatch = {
+ ".prettierrc",
+ ".prettierrc.json",
+ "prettier.config.json",
+ },
+ url = "https://json.schemastore.org/prettierrc",
+ },
+ {
+ description = "Vercel Now config",
+ fileMatch = { "now.json" },
+ url = "https://json.schemastore.org/now",
+ },
+ {
+ description = "Stylelint config",
+ fileMatch = {
+ ".stylelintrc",
+ ".stylelintrc.json",
+ "stylelint.config.json",
+ },
+ url = "https://json.schemastore.org/stylelintrc",
+ },
+ {
+ description = "A JSON schema for the ASP.NET LaunchSettings.json files",
+ fileMatch = { "launchsettings.json" },
+ url = "https://json.schemastore.org/launchsettings.json",
+ },
+ {
+ description = "Schema for CMake Presets",
+ fileMatch = {
+ "CMakePresets.json",
+ "CMakeUserPresets.json",
+ },
+ url = "https://raw.githubusercontent.com/Kitware/CMake/master/Help/manual/presets/schema.json",
+ },
+ {
+ description = "Configuration file as an alternative for configuring your repository in the settings page.",
+ fileMatch = {
+ ".codeclimate.json",
+ },
+ url = "https://json.schemastore.org/codeclimate.json",
+ },
+ {
+ description = "LLVM compilation database",
+ fileMatch = {
+ "compile_commands.json",
+ },
+ url = "https://json.schemastore.org/compile-commands.json",
+ },
+ {
+ description = "Config file for Command Task Runner",
+ fileMatch = {
+ "commands.json",
+ },
+ url = "https://json.schemastore.org/commands.json",
+ },
+ {
+ description = "AWS CloudFormation provides a common language for you to describe and provision all the infrastructure resources in your cloud environment.",
+ fileMatch = {
+ "*.cf.json",
+ "cloudformation.json",
+ },
+ url = "https://raw.githubusercontent.com/awslabs/goformation/v5.2.9/schema/cloudformation.schema.json",
+ },
+ {
+ description = "The AWS Serverless Application Model (AWS SAM, previously known as Project Flourish) extends AWS CloudFormation to provide a simplified way of defining the Amazon API Gateway APIs, AWS Lambda functions, and Amazon DynamoDB tables needed by your serverless application.",
+ fileMatch = {
+ "serverless.template",
+ "*.sam.json",
+ "sam.json",
+ },
+ url = "https://raw.githubusercontent.com/awslabs/goformation/v5.2.9/schema/sam.schema.json",
+ },
+ {
+ description = "Json schema for properties json file for a GitHub Workflow template",
+ fileMatch = {
+ ".github/workflow-templates/**.properties.json",
+ },
+ url = "https://json.schemastore.org/github-workflow-template-properties.json",
+ },
+ {
+ description = "golangci-lint configuration file",
+ fileMatch = {
+ ".golangci.toml",
+ ".golangci.json",
+ },
+ url = "https://json.schemastore.org/golangci-lint.json",
+ },
+ {
+ description = "JSON schema for the JSON Feed format",
+ fileMatch = {
+ "feed.json",
+ },
+ url = "https://json.schemastore.org/feed.json",
+ versions = {
+ ["1"] = "https://json.schemastore.org/feed-1.json",
+ ["1.1"] = "https://json.schemastore.org/feed.json",
+ },
+ },
+ {
+ description = "Packer template JSON configuration",
+ fileMatch = {
+ "packer.json",
+ },
+ url = "https://json.schemastore.org/packer.json",
+ },
+ {
+ description = "NPM configuration file",
+ fileMatch = {
+ "package.json",
+ },
+ url = "https://json.schemastore.org/package.json",
+ },
+ {
+ description = "Resume json",
+ fileMatch = { "resume.json" },
+ url = "https://raw.githubusercontent.com/jsonresume/resume-schema/v1.0.0/schema.json",
+ },
}
local opts = {
- settings = {
- json = {
- schemas = schemas,
- },
- },
- setup = {
- commands = {
- Format = {
- function()
- vim.lsp.buf.range_formatting({}, { 0, 0 }, { vim.fn.line("$"), 0 })
- end,
- },
- },
- },
+ settings = {
+ json = {
+ schemas = schemas,
+ },
+ },
+ setup = {
+ commands = {
+ Format = {
+ function()
+ vim.lsp.buf.range_formatting({}, { 0, 0 }, { vim.fn.line "$", 0 })
+ end,
+ },
+ },
+ },
}
return opts
diff --git a/lua/config/lsp/settings/pyright.lua b/lua/config/lsp/settings/pyright.lua
index d07ae8c..780495e 100644
--- a/lua/config/lsp/settings/pyright.lua
+++ b/lua/config/lsp/settings/pyright.lua
@@ -1,12 +1,12 @@
-- Config for pyright language server.
return {
- settings = {
+ settings = {
- python = {
- analysis = {
- typeCheckingMode = "off",
- },
- },
- },
+ python = {
+ analysis = {
+ typeCheckingMode = "off",
+ },
+ },
+ },
}
diff --git a/lua/config/lsp/settings/sumneko_lua.lua b/lua/config/lsp/settings/sumneko_lua.lua
index d7957c1..ebf039f 100644
--- a/lua/config/lsp/settings/sumneko_lua.lua
+++ b/lua/config/lsp/settings/sumneko_lua.lua
@@ -1,18 +1,18 @@
-- Config for a Lua language server.
return {
- settings = {
+ settings = {
- Lua = {
- diagnostics = {
- globals = { "vim" },
- },
- workspace = {
- library = {
- [vim.fn.expand("$VIMRUNTIME/lua")] = true,
- [vim.fn.stdpath("config") .. "/lua"] = true,
- },
- },
- },
- },
+ Lua = {
+ diagnostics = {
+ globals = { "vim" },
+ },
+ workspace = {
+ library = {
+ [vim.fn.expand "$VIMRUNTIME/lua"] = true,
+ [vim.fn.stdpath "config" .. "/lua"] = true,
+ },
+ },
+ },
+ },
}
diff --git a/lua/config/lualine.lua b/lua/config/lualine.lua
index b2e5cce..15ca449 100644
--- a/lua/config/lualine.lua
+++ b/lua/config/lualine.lua
@@ -2,63 +2,63 @@
local status_ok, lualine = pcall(require, "lualine")
if not status_ok then
- return
+ return
end
local hide_in_width = function()
- return vim.fn.winwidth(0) > 80
+ return vim.fn.winwidth(0) > 80
end
local diagnostics = {
- "diagnostics",
- sources = { "nvim_diagnostic" },
- sections = { "error", "warn" },
- symbols = { error = " ", warn = " " },
- colored = false,
- update_in_insert = false,
- always_visible = true,
+ "diagnostics",
+ sources = { "nvim_diagnostic" },
+ sections = { "error", "warn" },
+ symbols = { error = " ", warn = " " },
+ colored = false,
+ update_in_insert = false,
+ always_visible = true,
}
local diff = {
- "diff",
- colored = false,
- symbols = { added = " ", modified = " ", removed = " " }, -- changes diff symbols
- cond = hide_in_width,
+ "diff",
+ colored = false,
+ symbols = { added = " ", modified = " ", removed = " " }, -- changes diff symbols
+ cond = hide_in_width,
}
local branch = {
- "b:gitsigns_head",
- icon = " ",
- cond = hide_in_width,
+ "b:gitsigns_head",
+ icon = " ",
+ cond = hide_in_width,
}
local filetype = { "filetype", cond = hide_in_width, color = {} }
-lualine.setup({
- options = {
- icons_enabled = true,
- theme = "auto",
- component_separators = { left = "", right = "" },
- section_separators = { left = "", right = "" },
- disabled_filetypes = { "alpha", "dashboard", "NvimTree", "Outline" },
- always_divide_middle = true,
- },
- sections = {
- lualine_a = { "mode" },
- lualine_b = { branch, "filename" },
- lualine_c = { diff },
- lualine_x = { diagnostics, filetype },
- lualine_y = {},
- lualine_z = { "location", "progress", "encoding" },
- },
- inactive_sections = {
- lualine_a = { "mode" },
- lualine_b = { "filename" },
- lualine_c = {},
- lualine_x = {},
- lualine_y = {},
- lualine_z = { "location", "progress", "encoding" },
- },
- tabline = {},
- extensions = {},
-})
+lualine.setup {
+ options = {
+ icons_enabled = true,
+ theme = "auto",
+ component_separators = { left = "", right = "" },
+ section_separators = { left = "", right = "" },
+ disabled_filetypes = { "alpha", "dashboard", "NvimTree", "Outline" },
+ always_divide_middle = true,
+ },
+ sections = {
+ lualine_a = { "mode" },
+ lualine_b = { branch, "filename" },
+ lualine_c = { diff },
+ lualine_x = { diagnostics, filetype },
+ lualine_y = {},
+ lualine_z = { "location", "progress", "encoding" },
+ },
+ inactive_sections = {
+ lualine_a = { "mode" },
+ lualine_b = { "filename" },
+ lualine_c = {},
+ lualine_x = {},
+ lualine_y = {},
+ lualine_z = { "location", "progress", "encoding" },
+ },
+ tabline = {},
+ extensions = {},
+}
diff --git a/lua/config/nvim-tree.lua b/lua/config/nvim-tree.lua
index c48a8e4..68ee87b 100644
--- a/lua/config/nvim-tree.lua
+++ b/lua/config/nvim-tree.lua
@@ -1,100 +1,100 @@
-- A file explorer.
vim.g.nvim_tree_icons = {
- default = "",
- symlink = "",
- git = {
- unstaged = "",
- staged = "S",
- unmerged = "",
- renamed = "➜",
- deleted = "",
- untracked = "U",
- ignored = "◌",
- },
- folder = {
- default = "",
- open = "",
- empty = "",
- empty_open = "",
- symlink = "",
- },
+ default = "",
+ symlink = "",
+ git = {
+ unstaged = "",
+ staged = "S",
+ unmerged = "",
+ renamed = "➜",
+ deleted = "",
+ untracked = "U",
+ ignored = "◌",
+ },
+ folder = {
+ default = "",
+ open = "",
+ empty = "",
+ empty_open = "",
+ symlink = "",
+ },
}
local status_ok, nvim_tree = pcall(require, "nvim-tree")
if not status_ok then
- return
+ return
end
local config_status_ok, nvim_tree_config = pcall(require, "nvim-tree.config")
if not config_status_ok then
- return
+ return
end
local tree_cb = nvim_tree_config.nvim_tree_callback
-nvim_tree.setup({
- disable_netrw = true,
- hijack_netrw = true,
- open_on_setup = false,
- ignore_ft_on_setup = {
- "startify",
- "dashboard",
- "alpha",
- },
- auto_close = true,
- open_on_tab = false,
- hijack_cursor = false,
- update_cwd = true,
- update_to_buf_dir = {
- enable = true,
- auto_open = true,
- },
- diagnostics = {
- enable = true,
- icons = {
- hint = "",
- info = "",
- warning = "",
- error = "",
- },
- },
- update_focused_file = {
- enable = true,
- update_cwd = true,
- ignore_list = {},
- },
- git = {
- enable = true,
- ignore = true,
- timeout = 500,
- },
- view = {
- width = 30,
- height = 30,
- hide_root_folder = false,
- side = "left",
- auto_resize = true,
- mappings = {
- custom_only = false,
- list = {
- { key = { "l", "<CR>", "o" }, cb = tree_cb("edit") },
- { key = "h", cb = tree_cb("close_node") },
- { key = "v", cb = tree_cb("vsplit") },
- },
- },
- number = false,
- relativenumber = false,
- },
- quit_on_open = 0,
- git_hl = 1,
- disable_window_picker = 0,
- root_folder_modifier = ":t",
- show_icons = {
- git = 1,
- folders = 1,
- files = 1,
- folder_arrows = 1,
- tree_width = 30,
- },
-})
+nvim_tree.setup {
+ disable_netrw = true,
+ hijack_netrw = true,
+ open_on_setup = false,
+ ignore_ft_on_setup = {
+ "startify",
+ "dashboard",
+ "alpha",
+ },
+ auto_close = true,
+ open_on_tab = false,
+ hijack_cursor = false,
+ update_cwd = true,
+ update_to_buf_dir = {
+ enable = true,
+ auto_open = true,
+ },
+ diagnostics = {
+ enable = true,
+ icons = {
+ hint = "",
+ info = "",
+ warning = "",
+ error = "",
+ },
+ },
+ update_focused_file = {
+ enable = true,
+ update_cwd = true,
+ ignore_list = {},
+ },
+ git = {
+ enable = true,
+ ignore = true,
+ timeout = 500,
+ },
+ view = {
+ width = 30,
+ height = 30,
+ hide_root_folder = false,
+ side = "left",
+ auto_resize = true,
+ mappings = {
+ custom_only = false,
+ list = {
+ { key = { "l", "<CR>", "o" }, cb = tree_cb "edit" },
+ { key = "h", cb = tree_cb "close_node" },
+ { key = "v", cb = tree_cb "vsplit" },
+ },
+ },
+ number = false,
+ relativenumber = false,
+ },
+ quit_on_open = 0,
+ git_hl = 1,
+ disable_window_picker = 0,
+ root_folder_modifier = ":t",
+ show_icons = {
+ git = 1,
+ folders = 1,
+ files = 1,
+ folder_arrows = 1,
+ tree_width = 30,
+ },
+}
diff --git a/lua/config/project.lua b/lua/config/project.lua
index 30a0557..738475c 100644
--- a/lua/config/project.lua
+++ b/lua/config/project.lua
@@ -2,50 +2,50 @@
local status_ok, project = pcall(require, "project_nvim")
if not status_ok then
- return
+ return
end
-project.setup({
- ---@usage set to false to disable project.nvim.
- --- This is on by default since it's currently the expected behavior.
- active = true,
+project.setup {
+ ---@usage set to false to disable project.nvim.
+ --- This is on by default since it's currently the expected behavior.
+ active = true,
- on_config_done = nil,
+ on_config_done = nil,
- ---@usage set to true to disable setting the current-woriking directory
- --- Manual mode doesn't automatically change your root directory, so you have
- --- the option to manually do so using `:ProjectRoot` command.
- manual_mode = false,
+ ---@usage set to true to disable setting the current-woriking directory
+ --- Manual mode doesn't automatically change your root directory, so you have
+ --- the option to manually do so using `:ProjectRoot` command.
+ manual_mode = false,
- ---@usage Methods of detecting the root directory
- --- Allowed values: **"lsp"** uses the native neovim lsp
- --- **"pattern"** uses vim-rooter like glob pattern matching. Here
- --- order matters: if one is not detected, the other is used as fallback. You
- --- can also delete or rearangne the detection methods.
- -- detection_methods = { "lsp", "pattern" }, -- NOTE: lsp detection will get annoying with multiple langs in one project
- detection_methods = { "pattern" },
+ ---@usage Methods of detecting the root directory
+ --- Allowed values: **"lsp"** uses the native neovim lsp
+ --- **"pattern"** uses vim-rooter like glob pattern matching. Here
+ --- order matters: if one is not detected, the other is used as fallback. You
+ --- can also delete or rearangne the detection methods.
+ -- detection_methods = { "lsp", "pattern" }, -- NOTE: lsp detection will get annoying with multiple langs in one project
+ detection_methods = { "pattern" },
- ---@usage patterns used to detect root dir, when **"pattern"** is in detection_methods
- patterns = { ".git", "_darcs", ".hg", ".bzr", ".svn", "Makefile", "package.json" },
+ ---@usage patterns used to detect root dir, when **"pattern"** is in detection_methods
+ patterns = { ".git", "_darcs", ".hg", ".bzr", ".svn", "Makefile", "package.json" },
- ---@ Show hidden files in telescope when searching for files in a project
- show_hidden = false,
+ ---@ Show hidden files in telescope when searching for files in a project
+ show_hidden = false,
- ---@usage When set to false, you will get a message when project.nvim changes your directory.
- -- When set to false, you will get a message when project.nvim changes your directory.
- silent_chdir = true,
+ ---@usage When set to false, you will get a message when project.nvim changes your directory.
+ -- When set to false, you will get a message when project.nvim changes your directory.
+ silent_chdir = true,
- ---@usage list of lsp client names to ignore when using **lsp** detection. eg: { "efm", ... }
- ignore_lsp = {},
+ ---@usage list of lsp client names to ignore when using **lsp** detection. eg: { "efm", ... }
+ ignore_lsp = {},
- ---@type string
- ---@usage path to store the project history for use in telescope
- datapath = vim.fn.stdpath("data"),
-})
+ ---@type string
+ ---@usage path to store the project history for use in telescope
+ datapath = vim.fn.stdpath "data",
+}
local tele_status_ok, telescope = pcall(require, "telescope")
if not tele_status_ok then
- return
+ return
end
-telescope.load_extension("projects")
+telescope.load_extension "projects"
diff --git a/lua/config/spectre.lua b/lua/config/spectre.lua
index fe8eb6b..0ee0d34 100644
--- a/lua/config/spectre.lua
+++ b/lua/config/spectre.lua
@@ -1,135 +1,135 @@
local status_ok, spectre = pcall(require, "spectre")
if not status_ok then
- return
+ return
end
-spectre.setup({
+spectre.setup {
- color_devicons = true,
- highlight = {
- ui = "String",
- search = "DiffChange",
- replace = "DiffDelete",
- },
- mapping = {
- ["toggle_line"] = {
- map = "t",
- cmd = "<cmd>lua require('spectre').toggle_line()<CR>",
- desc = "toggle current item",
- },
- ["enter_file"] = {
- map = "<cr>",
- cmd = "<cmd>lua require('spectre.actions').select_entry()<CR>",
- desc = "goto current file",
- },
- ["send_to_qf"] = {
- map = "Q",
- cmd = "<cmd>lua require('spectre.actions').send_to_qf()<CR>",
- desc = "send all item to quickfix",
- },
- ["replace_cmd"] = {
- map = "c",
- cmd = "<cmd>lua require('spectre.actions').replace_cmd()<CR>",
- desc = "input replace vim command",
- },
- ["show_option_menu"] = {
- map = "o",
- cmd = "<cmd>lua require('spectre').show_options()<CR>",
- desc = "show option",
- },
- ["run_replace"] = {
- map = "R",
- cmd = "<cmd>lua require('spectre.actions').run_replace()<CR>",
- desc = "replace all",
- },
- ["change_view_mode"] = {
- map = "m",
- cmd = "<cmd>lua require('spectre').change_view()<CR>",
- desc = "change result view mode",
- },
- ["toggle_ignore_case"] = {
- map = "I",
- cmd = "<cmd>lua require('spectre').change_options('ignore-case')<CR>",
- desc = "toggle ignore case",
- },
- ["toggle_ignore_hidden"] = {
- map = "H",
- cmd = "<cmd>lua require('spectre').change_options('hidden')<CR>",
- desc = "toggle search hidden",
- },
- -- you can put your mapping here it only use normal mode
- },
- find_engine = {
- -- rg is map with finder_cmd
- ["rg"] = {
- cmd = "rg",
- -- default args
- args = {
- "--color=never",
- "--no-heading",
- "--with-filename",
- "--line-number",
- "--column",
- },
- options = {
- ["ignore-case"] = {
- value = "--ignore-case",
- icon = "[I]",
- desc = "ignore case",
- },
- ["hidden"] = {
- value = "--hidden",
- desc = "hidden file",
- icon = "[H]",
- },
- -- you can put any option you want here it can toggle with
- -- show_option function
- },
- },
- ["ag"] = {
- cmd = "ag",
- args = {
- "--vimgrep",
- "-s",
- },
- options = {
- ["ignore-case"] = {
- value = "-i",
- icon = "[I]",
- desc = "ignore case",
- },
- ["hidden"] = {
- value = "--hidden",
- desc = "hidden file",
- icon = "[H]",
- },
- },
- },
- },
- replace_engine = {
- ["sed"] = {
- cmd = "sed",
- args = nil,
- },
- options = {
- ["ignore-case"] = {
- value = "--ignore-case",
- icon = "[I]",
- desc = "ignore case",
- },
- },
- },
- default = {
- find = {
- --pick one of item in find_engine
- cmd = "rg",
- options = { "ignore-case" },
- },
- replace = {
- --pick one of item in replace_engine
- cmd = "sed",
- },
- },
- replace_vim_cmd = "cdo",
- is_open_target_win = true, --open file on opener window
- is_insert_mode = false, -- start open panel on is_insert_mode
-})
+ color_devicons = true,
+ highlight = {
+ ui = "String",
+ search = "DiffChange",
+ replace = "DiffDelete",
+ },
+ mapping = {
+ ["toggle_line"] = {
+ map = "t",
+ cmd = "<cmd>lua require('spectre').toggle_line()<CR>",
+ desc = "toggle current item",
+ },
+ ["enter_file"] = {
+ map = "<cr>",
+ cmd = "<cmd>lua require('spectre.actions').select_entry()<CR>",
+ desc = "goto current file",
+ },
+ ["send_to_qf"] = {
+ map = "Q",
+ cmd = "<cmd>lua require('spectre.actions').send_to_qf()<CR>",
+ desc = "send all item to quickfix",
+ },
+ ["replace_cmd"] = {
+ map = "c",
+ cmd = "<cmd>lua require('spectre.actions').replace_cmd()<CR>",
+ desc = "input replace vim command",
+ },
+ ["show_option_menu"] = {
+ map = "o",
+ cmd = "<cmd>lua require('spectre').show_options()<CR>",
+ desc = "show option",
+ },
+ ["run_replace"] = {
+ map = "R",
+ cmd = "<cmd>lua require('spectre.actions').run_replace()<CR>",
+ desc = "replace all",
+ },
+ ["change_view_mode"] = {
+ map = "m",
+ cmd = "<cmd>lua require('spectre').change_view()<CR>",
+ desc = "change result view mode",
+ },
+ ["toggle_ignore_case"] = {
+ map = "I",
+ cmd = "<cmd>lua require('spectre').change_options('ignore-case')<CR>",
+ desc = "toggle ignore case",
+ },
+ ["toggle_ignore_hidden"] = {
+ map = "H",
+ cmd = "<cmd>lua require('spectre').change_options('hidden')<CR>",
+ desc = "toggle search hidden",
+ },
+ -- you can put your mapping here it only use normal mode
+ },
+ find_engine = {
+ -- rg is map with finder_cmd
+ ["rg"] = {
+ cmd = "rg",
+ -- default args
+ args = {
+ "--color=never",
+ "--no-heading",
+ "--with-filename",
+ "--line-number",
+ "--column",
+ },
+ options = {
+ ["ignore-case"] = {
+ value = "--ignore-case",
+ icon = "[I]",
+ desc = "ignore case",
+ },
+ ["hidden"] = {
+ value = "--hidden",
+ desc = "hidden file",
+ icon = "[H]",
+ },
+ -- you can put any option you want here it can toggle with
+ -- show_option function
+ },
+ },
+ ["ag"] = {
+ cmd = "ag",
+ args = {
+ "--vimgrep",
+ "-s",
+ },
+ options = {
+ ["ignore-case"] = {
+ value = "-i",
+ icon = "[I]",
+ desc = "ignore case",
+ },
+ ["hidden"] = {
+ value = "--hidden",
+ desc = "hidden file",
+ icon = "[H]",
+ },
+ },
+ },
+ },
+ replace_engine = {
+ ["sed"] = {
+ cmd = "sed",
+ args = nil,
+ },
+ options = {
+ ["ignore-case"] = {
+ value = "--ignore-case",
+ icon = "[I]",
+ desc = "ignore case",
+ },
+ },
+ },
+ default = {
+ find = {
+ --pick one of item in find_engine
+ cmd = "rg",
+ options = { "ignore-case" },
+ },
+ replace = {
+ --pick one of item in replace_engine
+ cmd = "sed",
+ },
+ },
+ replace_vim_cmd = "cdo",
+ is_open_target_win = true, --open file on opener window
+ is_insert_mode = false, -- start open panel on is_insert_mode
+}
diff --git a/lua/config/telescope.lua b/lua/config/telescope.lua
index 0de91ac..b7ef6e4 100644
--- a/lua/config/telescope.lua
+++ b/lua/config/telescope.lua
@@ -2,119 +2,119 @@
local status_ok, telescope = pcall(require, "telescope")
if not status_ok then
- return
+ return
end
-local actions = require("telescope.actions")
-
-telescope.setup({
- defaults = {
- prompt_prefix = " ",
- selection_caret = " ",
- path_display = { "smart" },
- initial_mode = "insert",
- selection_strategy = "reset",
- sorting_strategy = "ascending",
- layout_strategy = "horizontal",
- layout_config = {
- prompt_position = "top",
- preview_cutoff = 120,
- horizontal = { mirror = false },
- vertical = { mirror = false },
- },
- vimgrep_arguments = {
- "rg",
- "--color=never",
- "--no-heading",
- "--with-filename",
- "--line-number",
- "--column",
- "--smart-case",
- "--hidden",
- },
- mappings = {
- i = {
- ["<C-n>"] = actions.cycle_history_next,
- ["<C-p>"] = actions.cycle_history_prev,
-
- ["<C-j>"] = actions.move_selection_next,
- ["<C-k>"] = actions.move_selection_previous,
-
- ["<C-c>"] = actions.close,
-
- ["<Down>"] = actions.move_selection_next,
- ["<Up>"] = actions.move_selection_previous,
-
- ["<CR>"] = actions.select_default,
- ["<C-x>"] = actions.select_horizontal,
- ["<C-v>"] = actions.select_vertical,
- ["<C-t>"] = actions.select_tab,
-
- ["<C-u>"] = actions.preview_scrolling_up,
- ["<C-d>"] = actions.preview_scrolling_down,
-
- ["<PageUp>"] = actions.results_scrolling_up,
- ["<PageDown>"] = actions.results_scrolling_down,
-
- ["<Tab>"] = actions.toggle_selection + actions.move_selection_worse,
- ["<S-Tab>"] = actions.toggle_selection + actions.move_selection_better,
- ["<C-q>"] = actions.send_to_qflist + actions.open_qflist,
- ["<M-q>"] = actions.send_selected_to_qflist + actions.open_qflist,
- ["<C-l>"] = actions.complete_tag,
- ["<C-_>"] = actions.which_key, -- keys from pressing <C-/>
- },
- n = {
- ["<esc>"] = actions.close,
- ["<CR>"] = actions.select_default,
- ["<C-x>"] = actions.select_horizontal,
- ["<C-v>"] = actions.select_vertical,
- ["<C-t>"] = actions.select_tab,
-
- ["<Tab>"] = actions.toggle_selection + actions.move_selection_worse,
- ["<S-Tab>"] = actions.toggle_selection + actions.move_selection_better,
- ["<C-q>"] = actions.send_to_qflist + actions.open_qflist,
- ["<M-q>"] = actions.send_selected_to_qflist + actions.open_qflist,
-
- ["j"] = actions.move_selection_next,
- ["k"] = actions.move_selection_previous,
- ["H"] = actions.move_to_top,
- ["M"] = actions.move_to_middle,
- ["L"] = actions.move_to_bottom,
-
- ["<Down>"] = actions.move_selection_next,
- ["<Up>"] = actions.move_selection_previous,
- ["gg"] = actions.move_to_top,
- ["G"] = actions.move_to_bottom,
-
- ["<C-u>"] = actions.preview_scrolling_up,
- ["<C-d>"] = actions.preview_scrolling_down,
-
- ["<PageUp>"] = actions.results_scrolling_up,
- ["<PageDown>"] = actions.results_scrolling_down,
-
- ["?"] = actions.which_key,
- },
- },
- },
- pickers = {
- -- Default configuration for builtin pickers goes here:
- -- picker_name = {
- -- picker_config_key = value,
- -- ...
- -- }
- -- Now the picker_config_key will be applied every time you call this
- -- builtin picker
- },
- extensions = {
- fzf = {
- fuzzy = true, -- false will only do exact matching
- override_generic_sorter = true, -- override the generic sorter
- override_file_sorter = true, -- override the file sorter
- case_mode = "smart_case", -- or "ignore_case" or "respect_case"
- -- the default case_mode is "smart_case"
- },
- },
-})
-
-telescope.load_extension("fzf")
-telescope.load_extension("file_browser")
+local actions = require "telescope.actions"
+
+telescope.setup {
+ defaults = {
+ prompt_prefix = " ",
+ selection_caret = " ",
+ path_display = { "smart" },
+ initial_mode = "insert",
+ selection_strategy = "reset",
+ sorting_strategy = "ascending",
+ layout_strategy = "horizontal",
+ layout_config = {
+ prompt_position = "top",
+ preview_cutoff = 120,
+ horizontal = { mirror = false },
+ vertical = { mirror = false },
+ },
+ vimgrep_arguments = {
+ "rg",
+ "--color=never",
+ "--no-heading",
+ "--with-filename",
+ "--line-number",
+ "--column",
+ "--smart-case",
+ "--hidden",
+ },
+ mappings = {
+ i = {
+ ["<C-n>"] = actions.cycle_history_next,
+ ["<C-p>"] = actions.cycle_history_prev,
+
+ ["<C-j>"] = actions.move_selection_next,
+ ["<C-k>"] = actions.move_selection_previous,
+
+ ["<C-c>"] = actions.close,
+
+ ["<Down>"] = actions.move_selection_next,
+ ["<Up>"] = actions.move_selection_previous,
+
+ ["<CR>"] = actions.select_default,
+ ["<C-x>"] = actions.select_horizontal,
+ ["<C-v>"] = actions.select_vertical,
+ ["<C-t>"] = actions.select_tab,
+
+ ["<C-u>"] = actions.preview_scrolling_up,
+ ["<C-d>"] = actions.preview_scrolling_down,
+
+ ["<PageUp>"] = actions.results_scrolling_up,
+ ["<PageDown>"] = actions.results_scrolling_down,
+
+ ["<Tab>"] = actions.toggle_selection + actions.move_selection_worse,
+ ["<S-Tab>"] = actions.toggle_selection + actions.move_selection_better,
+ ["<C-q>"] = actions.send_to_qflist + actions.open_qflist,
+ ["<M-q>"] = actions.send_selected_to_qflist + actions.open_qflist,
+ ["<C-l>"] = actions.complete_tag,
+ ["<C-_>"] = actions.which_key, -- keys from pressing <C-/>
+ },
+ n = {
+ ["<esc>"] = actions.close,
+ ["<CR>"] = actions.select_default,
+ ["<C-x>"] = actions.select_horizontal,
+ ["<C-v>"] = actions.select_vertical,
+ ["<C-t>"] = actions.select_tab,
+
+ ["<Tab>"] = actions.toggle_selection + actions.move_selection_worse,
+ ["<S-Tab>"] = actions.toggle_selection + actions.move_selection_better,
+ ["<C-q>"] = actions.send_to_qflist + actions.open_qflist,
+ ["<M-q>"] = actions.send_selected_to_qflist + actions.open_qflist,
+
+ ["j"] = actions.move_selection_next,
+ ["k"] = actions.move_selection_previous,
+ ["H"] = actions.move_to_top,
+ ["M"] = actions.move_to_middle,
+ ["L"] = actions.move_to_bottom,
+
+ ["<Down>"] = actions.move_selection_next,
+ ["<Up>"] = actions.move_selection_previous,
+ ["gg"] = actions.move_to_top,
+ ["G"] = actions.move_to_bottom,
+
+ ["<C-u>"] = actions.preview_scrolling_up,
+ ["<C-d>"] = actions.preview_scrolling_down,
+
+ ["<PageUp>"] = actions.results_scrolling_up,
+ ["<PageDown>"] = actions.results_scrolling_down,
+
+ ["?"] = actions.which_key,
+ },
+ },
+ },
+ pickers = {
+ -- Default configuration for builtin pickers goes here:
+ -- picker_name = {
+ -- picker_config_key = value,
+ -- ...
+ -- }
+ -- Now the picker_config_key will be applied every time you call this
+ -- builtin picker
+ },
+ extensions = {
+ fzf = {
+ fuzzy = true, -- false will only do exact matching
+ override_generic_sorter = true, -- override the generic sorter
+ override_file_sorter = true, -- override the file sorter
+ case_mode = "smart_case", -- or "ignore_case" or "respect_case"
+ -- the default case_mode is "smart_case"
+ },
+ },
+}
+
+telescope.load_extension "fzf"
+telescope.load_extension "file_browser"
diff --git a/lua/config/treesitter.lua b/lua/config/treesitter.lua
index c0881e9..277d286 100644
--- a/lua/config/treesitter.lua
+++ b/lua/config/treesitter.lua
@@ -3,27 +3,27 @@
local status_ok, treesitter = pcall(require, "nvim-treesitter.configs")
if not status_ok then
- return
+ return
end
-treesitter.setup({
- ensure_installed = "maintained",
- sync_install = false,
- ignore_install = { "" }, -- List of parsers to ignore installing
- autopairs = {
- enable = true,
- },
- highlight = {
- enable = true, -- false will disable the whole extension
- disable = { "" }, -- list of language that will be disabled
- additional_vim_regex_highlighting = true,
- },
- context_commentstring = {
- enable = true,
- enable_autocmd = false,
- },
- indent = { enable = true, disable = { "yaml", "python", "css" } },
+treesitter.setup {
+ ensure_installed = "maintained",
+ sync_install = false,
+ ignore_install = { "" }, -- List of parsers to ignore installing
+ autopairs = {
+ enable = true,
+ },
+ highlight = {
+ enable = true, -- false will disable the whole extension
+ disable = { "" }, -- list of language that will be disabled
+ additional_vim_regex_highlighting = true,
+ },
+ context_commentstring = {
+ enable = true,
+ enable_autocmd = false,
+ },
+ indent = { enable = true, disable = { "yaml", "python", "css" } },
playground = {
- enable = true
- }
-})
+ enable = true,
+ },
+}
diff --git a/lua/config/whichkey.lua b/lua/config/whichkey.lua
index 44c7074..9c3b1ec 100644
--- a/lua/config/whichkey.lua
+++ b/lua/config/whichkey.lua
@@ -1,186 +1,189 @@
local status_ok, which_key = pcall(require, "which-key")
if not status_ok then
- return
+ return
end
local setup = {
- plugins = {
- marks = true, -- shows a list of your marks on ' and `
- registers = true, -- shows your registers on " in NORMAL or <C-r> in INSERT mode
- spelling = {
- enabled = true, -- enabling this will show WhichKey when pressing z= to select spelling suggestions
- suggestions = 20, -- how many suggestions should be shown in the list?
- },
- -- the presets plugin, adds help for a bunch of default keybindings in Neovim
- -- No actual key bindings are created
- presets = {
- operators = false, -- adds help for operators like d, y, ... and registers them for motion / text object completion
- motions = false, -- adds help for motions
- text_objects = false, -- help for text objects triggered after entering an operator
- windows = true, -- default bindings on <c-w>
- nav = true, -- misc bindings to work with windows
- z = true, -- bindings for folds, spelling and others prefixed with z
- g = true, -- bindings for prefixed with g
- },
- },
- -- add operators that will trigger motion and text object completion
- -- to enable all native operators, set the preset / operators plugin above
- -- operators = { gc = "Comments" },
- key_labels = {
- -- override the label used to display some keys. It doesn't effect WK in any other way.
- -- For example:
- -- ["<space>"] = "SPC",
- -- ["<cr>"] = "RET",
- -- ["<tab>"] = "TAB",
- },
- icons = {
- breadcrumb = "»", -- symbol used in the command line area that shows your active key combo
- separator = "", -- symbol used between a key and it's label
- group = "+", -- symbol prepended to a group
- },
- popup_mappings = {
- scroll_down = "<c-d>", -- binding to scroll down inside the popup
- scroll_up = "<c-u>", -- binding to scroll up inside the popup
- },
- window = {
- border = "rounded", -- none, single, double, shadow
- position = "bottom", -- bottom, top
- margin = { 1, 0, 1, 0 }, -- extra window margin [top, right, bottom, left]
- padding = { 2, 2, 2, 2 }, -- extra window padding [top, right, bottom, left]
- winblend = 0,
- },
- layout = {
- height = { min = 4, max = 25 }, -- min and max height of the columns
- width = { min = 20, max = 50 }, -- min and max width of the columns
- spacing = 3, -- spacing between columns
- align = "left", -- align columns left, center or right
- },
- ignore_missing = true, -- enable this to hide mappings for which you didn't specify a label
- hidden = { "<silent>", "<cmd>", "<Cmd>", "<CR>", "call", "lua", "^:", "^ " }, -- hide mapping boilerplate
- show_help = true, -- show help message on the command line when the popup is visible
- triggers = "auto", -- automatically setup triggers
- -- triggers = {"<leader>"} -- or specify a list manually
- triggers_blacklist = {
- -- list of mode / prefixes that should never be hooked by WhichKey
- -- this is mostly relevant for key maps that start with a native binding
- -- most people should not need to change this
- i = { "j", "k" },
- v = { "j", "k" },
- },
+ plugins = {
+ marks = true, -- shows a list of your marks on ' and `
+ registers = true, -- shows your registers on " in NORMAL or <C-r> in INSERT mode
+ spelling = {
+ enabled = true, -- enabling this will show WhichKey when pressing z= to select spelling suggestions
+ suggestions = 20, -- how many suggestions should be shown in the list?
+ },
+ -- the presets plugin, adds help for a bunch of default keybindings in Neovim
+ -- No actual key bindings are created
+ presets = {
+ operators = false, -- adds help for operators like d, y, ... and registers them for motion / text object completion
+ motions = false, -- adds help for motions
+ text_objects = false, -- help for text objects triggered after entering an operator
+ windows = true, -- default bindings on <c-w>
+ nav = true, -- misc bindings to work with windows
+ z = true, -- bindings for folds, spelling and others prefixed with z
+ g = true, -- bindings for prefixed with g
+ },
+ },
+ -- add operators that will trigger motion and text object completion
+ -- to enable all native operators, set the preset / operators plugin above
+ -- operators = { gc = "Comments" },
+ key_labels = {
+ -- override the label used to display some keys. It doesn't effect WK in any other way.
+ -- For example:
+ -- ["<space>"] = "SPC",
+ -- ["<cr>"] = "RET",
+ -- ["<tab>"] = "TAB",
+ },
+ icons = {
+ breadcrumb = "»", -- symbol used in the command line area that shows your active key combo
+ separator = "", -- symbol used between a key and it's label
+ group = "+", -- symbol prepended to a group
+ },
+ popup_mappings = {
+ scroll_down = "<c-d>", -- binding to scroll down inside the popup
+ scroll_up = "<c-u>", -- binding to scroll up inside the popup
+ },
+ window = {
+ border = "rounded", -- none, single, double, shadow
+ position = "bottom", -- bottom, top
+ margin = { 1, 0, 1, 0 }, -- extra window margin [top, right, bottom, left]
+ padding = { 2, 2, 2, 2 }, -- extra window padding [top, right, bottom, left]
+ winblend = 0,
+ },
+ layout = {
+ height = { min = 4, max = 25 }, -- min and max height of the columns
+ width = { min = 20, max = 50 }, -- min and max width of the columns
+ spacing = 3, -- spacing between columns
+ align = "left", -- align columns left, center or right
+ },
+ ignore_missing = true, -- enable this to hide mappings for which you didn't specify a label
+ hidden = { "<silent>", "<cmd>", "<Cmd>", "<CR>", "call", "lua", "^:", "^ " }, -- hide mapping boilerplate
+ show_help = true, -- show help message on the command line when the popup is visible
+ triggers = "auto", -- automatically setup triggers
+ -- triggers = {"<leader>"} -- or specify a list manually
+ triggers_blacklist = {
+ -- list of mode / prefixes that should never be hooked by WhichKey
+ -- this is mostly relevant for key maps that start with a native binding
+ -- most people should not need to change this
+ i = { "j", "k" },
+ v = { "j", "k" },
+ },
}
local opts = {
- mode = "n", -- NORMAL mode
- prefix = "<leader>",
- buffer = nil, -- Global mappings. Specify a buffer number for buffer local mappings
- silent = true, -- use `silent` when creating keymaps
- noremap = true, -- use `noremap` when creating keymaps
- nowait = true, -- use `nowait` when creating keymaps
+ mode = "n", -- NORMAL mode
+ prefix = "<leader>",
+ buffer = nil, -- Global mappings. Specify a buffer number for buffer local mappings
+ silent = true, -- use `silent` when creating keymaps
+ noremap = true, -- use `noremap` when creating keymaps
+ nowait = true, -- use `nowait` when creating keymaps
}
local mappings = {
- ["k"] = { '<cmd>lua require("Comment.api").toggle_current_linewise()<CR>', "Comment" },
- ["a"] = { "<cmd>Alpha<cr>", "Alpha" },
- ["b"] = {
- "<cmd>lua require('telescope.builtin').buffers(require('telescope.themes').get_dropdown{previewer = false})<cr>",
- "Buffers",
- },
- ["e"] = { "<cmd>NvimTreeToggle<cr>", "Explorer" },
- ["c"] = { "<cmd>Bdelete!<CR>", "Close Buffer" },
- ["n"] = { "<cmd>nohlsearch<CR>", "No Highlight" },
- ["f"] = {
- "<cmd>lua require('telescope.builtin').find_files(require('telescope.themes').get_dropdown{previewer = false})<cr>",
- "Find files",
- },
- ["F"] = { "<cmd>Telescope file_browser<cr>", "Browse files" },
- ["t"] = { "<cmd>Telescope live_grep theme=ivy<cr>", "Find Text" },
- ["P"] = { "<cmd>Telescope projects<cr>", "Projects" },
- ["z"] = { "<cmd>ZenMode<cr>", "Zen Mode" },
- ["v"] = { "<cmd>vsplit<cr>", "Vertical Split" },
- ["h"] = { "<cmd>split<cr>", "Horizontal Split" },
+ ["k"] = { '<cmd>lua require("Comment.api").toggle_current_linewise()<CR>', "Comment" },
+ ["a"] = { "<cmd>Alpha<cr>", "Alpha" },
+ ["b"] = {
+ "<cmd>lua require('telescope.builtin').buffers(require('telescope.themes').get_dropdown{previewer = false})<cr>",
+ "Buffers",
+ },
+ ["e"] = { "<cmd>NvimTreeToggle<cr>", "Explorer" },
+ ["c"] = { "<cmd>Bdelete!<CR>", "Close Buffer" },
+ ["n"] = { "<cmd>nohlsearch<CR>", "No Highlight" },
+ ["f"] = {
+ "<cmd>lua require('telescope.builtin').find_files(require('telescope.themes').get_dropdown{previewer = false})<cr>",
+ "Find files",
+ },
+ ["F"] = { "<cmd>Telescope file_browser<cr>", "Browse files" },
+ ["t"] = { "<cmd>Telescope live_grep theme=ivy<cr>", "Find Text" },
+ ["P"] = { "<cmd>Telescope projects<cr>", "Projects" },
+ ["z"] = { "<cmd>ZenMode<cr>", "Zen Mode" },
+ ["v"] = { "<cmd>vsplit<cr>", "Vertical Split" },
+ ["h"] = { "<cmd>split<cr>", "Horizontal Split" },
- p = {
- name = "Packer",
- c = { "<cmd>PackerCompile<cr>", "Compile" },
- i = { "<cmd>PackerInstall<cr>", "Install" },
- s = { "<cmd>PackerSync<cr>", "Sync" },
- S = { "<cmd>PackerStatus<cr>", "Status" },
- u = { "<cmd>PackerUpdate<cr>", "Update" },
- },
+ p = {
+ name = "Packer",
+ c = { "<cmd>PackerCompile<cr>", "Compile" },
+ i = { "<cmd>PackerInstall<cr>", "Install" },
+ s = { "<cmd>PackerSync<cr>", "Sync" },
+ S = { "<cmd>PackerStatus<cr>", "Status" },
+ u = { "<cmd>PackerUpdate<cr>", "Update" },
+ },
- g = {
- name = "Git",
- g = { "<cmd>lua _LAZYGIT_TOGGLE()<CR>", "Lazygit" },
- j = { "<cmd>lua require 'gitsigns'.next_hunk()<cr>", "Next Hunk" },
- k = { "<cmd>lua require 'gitsigns'.prev_hunk()<cr>", "Prev Hunk" },
- l = { "<cmd>lua require 'gitsigns'.blame_line()<cr>", "Blame" },
- p = { "<cmd>lua require 'gitsigns'.preview_hunk()<cr>", "Preview Hunk" },
- r = { "<cmd>lua require 'gitsigns'.reset_hunk()<cr>", "Reset Hunk" },
- R = { "<cmd>lua require 'gitsigns'.reset_buffer()<cr>", "Reset Buffer" },
- s = { "<cmd>lua require 'gitsigns'.stage_hunk()<cr>", "Stage Hunk" },
- u = {
- "<cmd>lua require 'gitsigns'.undo_stage_hunk()<cr>",
- "Undo Stage Hunk",
- },
- o = { "<cmd>Telescope git_status<cr>", "Open changed file" },
- b = { "<cmd>Telescope git_branches<cr>", "Checkout branch" },
- c = { "<cmd>Telescope git_commits<cr>", "Checkout commit" },
- d = {
- "<cmd>Gitsigns diffthis HEAD<cr>",
- "Diff",
- },
- },
+ g = {
+ name = "Git",
+ g = { "<cmd>lua _LAZYGIT_TOGGLE()<CR>", "Lazygit" },
+ j = { "<cmd>lua require 'gitsigns'.next_hunk()<cr>", "Next Hunk" },
+ k = { "<cmd>lua require 'gitsigns'.prev_hunk()<cr>", "Prev Hunk" },
+ l = { "<cmd>lua require 'gitsigns'.blame_line()<cr>", "Blame" },
+ p = { "<cmd>lua require 'gitsigns'.preview_hunk()<cr>", "Preview Hunk" },
+ r = { "<cmd>lua require 'gitsigns'.reset_hunk()<cr>", "Reset Hunk" },
+ R = { "<cmd>lua require 'gitsigns'.reset_buffer()<cr>", "Reset Buffer" },
+ s = { "<cmd>lua require 'gitsigns'.stage_hunk()<cr>", "Stage Hunk" },
+ u = {
+ "<cmd>lua require 'gitsigns'.undo_stage_hunk()<cr>",
+ "Undo Stage Hunk",
+ },
+ o = { "<cmd>Telescope git_status<cr>", "Open changed file" },
+ b = { "<cmd>Telescope git_branches<cr>", "Checkout branch" },
+ c = { "<cmd>Telescope git_commits<cr>", "Checkout commit" },
+ d = {
+ "<cmd>Gitsigns diffthis HEAD<cr>",
+ "Diff",
+ },
+ },
- l = {
- name = "LSP",
- a = { "<cmd>lua vim.lsp.buf.code_action()<cr>", "Code Action" },
- d = {
- "<cmd>Telescope lsp_document_diagnostics<cr>",
- "Document Diagnostics",
- },
- w = {
- "<cmd>Telescope lsp_workspace_diagnostics<cr>",
- "Workspace Diagnostics",
- },
- f = { "<cmd>lua vim.lsp.buf.formatting()<cr>", "Format" },
- i = { "<cmd>LspInfo<cr>", "Info" },
- I = { "<cmd>LspInstallInfo<cr>", "Installer Info" },
- j = {
- "<cmd>lua vim.lsp.diagnostic.goto_next()<CR>",
- "Next Diagnostic",
- },
- k = {
- "<cmd>lua vim.lsp.diagnostic.goto_prev()<cr>",
- "Prev Diagnostic",
- },
- l = { "<cmd>lua vim.lsp.codelens.run()<cr>", "CodeLens Action" },
- q = { "<cmd>lua vim.lsp.diagnostic.set_loclist()<cr>", "Quickfix" },
- r = { "<cmd>lua vim.lsp.buf.rename()<cr>", "Rename" },
- s = { "<cmd>Telescope lsp_document_symbols<cr>", "Document Symbols" },
- S = {
- "<cmd>Telescope lsp_dynamic_workspace_symbols<cr>",
- "Workspace Symbols",
- },
- },
+ l = {
+ name = "LSP",
+ a = { "<cmd>lua vim.lsp.buf.code_action()<cr>", "Code Action" },
+ d = {
+ "<cmd>Telescope lsp_document_diagnostics<cr>",
+ "Document Diagnostics",
+ },
+ w = {
+ "<cmd>Telescope lsp_workspace_diagnostics<cr>",
+ "Workspace Diagnostics",
+ },
+ f = { "<cmd>lua vim.lsp.buf.formatting()<cr>", "Format" },
+ i = { "<cmd>LspInfo<cr>", "Info" },
+ I = { "<cmd>LspInstallInfo<cr>", "Installer Info" },
+ j = {
+ "<cmd>lua vim.lsp.diagnostic.goto_next()<CR>",
+ "Next Diagnostic",
+ },
+ k = {
+ "<cmd>lua vim.lsp.diagnostic.goto_prev()<cr>",
+ "Prev Diagnostic",
+ },
+ l = { "<cmd>lua vim.lsp.codelens.run()<cr>", "CodeLens Action" },
+ q = { "<cmd>lua vim.lsp.diagnostic.set_loclist()<cr>", "Quickfix" },
+ r = { "<cmd>lua vim.lsp.buf.rename()<cr>", "Rename" },
+ s = { "<cmd>Telescope lsp_document_symbols<cr>", "Document Symbols" },
+ S = {
+ "<cmd>Telescope lsp_dynamic_workspace_symbols<cr>",
+ "Workspace Symbols",
+ },
+ },
- s = {
- name = "Search",
- b = { "<cmd>Telescope git_branches<cr>", "Checkout branch" },
- c = { "<cmd>Telescope colorscheme<cr>", "Colorscheme" },
- h = { "<cmd>Telescope help_tags<cr>", "Find Help" },
- M = { "<cmd>Telescope man_pages<cr>", "Man Pages" },
- r = { "<cmd>Telescope oldfiles<cr>", "Open Recent File" },
- R = { "<cmd>Telescope registers<cr>", "Registers" },
- k = { "<cmd>Telescope keymaps<cr>", "Keymaps" },
- C = { "<cmd>Telescope commands<cr>", "Commands" },
- },
+ s = {
+ name = "Search",
+ b = { "<cmd>Telescope git_branches<cr>", "Checkout branch" },
+ c = { "<cmd>Telescope colorscheme<cr>", "Colorscheme" },
+ h = { "<cmd>Telescope help_tags<cr>", "Find Help" },
+ M = { "<cmd>Telescope man_pages<cr>", "Man Pages" },
+ r = { "<cmd>Telescope oldfiles<cr>", "Open Recent File" },
+ R = { "<cmd>Telescope registers<cr>", "Registers" },
+ k = { "<cmd>Telescope keymaps<cr>", "Keymaps" },
+ C = { "<cmd>Telescope commands<cr>", "Commands" },
+ },
- r = {
- name = "Replace",
- r = { "<cmd>lua require('spectre').open()<cr>", "Replace" },
- w = { "<cmd>lua require('spectre').open_visual({select_word=true})<cr>", "Replace Word" },
- f = { "<cmd>lua require('spectre').open_file_search()<cr>", "Replace Buffer" },
- },
+ r = {
+ name = "Replace",
+ r = { "<cmd>lua require('spectre').open()<cr>", "Replace" },
+ w = {
+ "<cmd>lua require('spectre').open_visual({select_word=true})<cr>",
+ "Replace Word",
+ },
+ f = { "<cmd>lua require('spectre').open_file_search()<cr>", "Replace Buffer" },
+ },
T = {
name = "Treesitter",
@@ -189,15 +192,18 @@ local mappings = {
}
local vopts = {
- mode = "v", -- VISUAL mode
- prefix = "<leader>",
- buffer = nil, -- Global mappings. Specify a buffer number for buffer local mappings
- silent = true, -- use `silent` when creating keymaps
- noremap = true, -- use `noremap` when creating keymaps
- nowait = true, -- use `nowait` when creating keymaps
+ mode = "v", -- VISUAL mode
+ prefix = "<leader>",
+ buffer = nil, -- Global mappings. Specify a buffer number for buffer local mappings
+ silent = true, -- use `silent` when creating keymaps
+ noremap = true, -- use `noremap` when creating keymaps
+ nowait = true, -- use `nowait` when creating keymaps
}
local vmappings = {
- ["k"] = { '<ESC><CMD>lua require("Comment.api").toggle_linewise_op(vim.fn.visualmode())<CR>', "Comment" },
+ ["k"] = {
+ '<ESC><CMD>lua require("Comment.api").toggle_linewise_op(vim.fn.visualmode())<CR>',
+ "Comment",
+ },
}
which_key.setup(setup)
diff --git a/lua/config/zen.lua b/lua/config/zen.lua
index c221ef1..b54442d 100644
--- a/lua/config/zen.lua
+++ b/lua/config/zen.lua
@@ -2,27 +2,27 @@
local status_ok, zen_mode = pcall(require, "zen-mode")
if not status_ok then
- return
+ return
end
-zen_mode.setup({
- window = {
- backdrop = 1,
- height = 1, -- height of the Zen window
- width = 120,
- options = {
- signcolumn = "no", -- disable signcolumn
- number = false, -- disable number column
- relativenumber = false, -- disable relative numbers
- -- cursorline = false, -- disable cursorline
- -- cursorcolumn = false, -- disable cursor column
- -- foldcolumn = "0", -- disable fold column
- -- list = false, -- disable whitespace characters
- },
- },
- plugins = {
- gitsigns = { enabled = false }, -- disables git signs
- tmux = { enabled = true },
- twilight = { enabled = true },
- },
-})
+zen_mode.setup {
+ window = {
+ backdrop = 1,
+ height = 1, -- height of the Zen window
+ width = 120,
+ options = {
+ signcolumn = "no", -- disable signcolumn
+ number = false, -- disable number column
+ relativenumber = false, -- disable relative numbers
+ -- cursorline = false, -- disable cursorline
+ -- cursorcolumn = false, -- disable cursor column
+ -- foldcolumn = "0", -- disable fold column
+ -- list = false, -- disable whitespace characters
+ },
+ },
+ plugins = {
+ gitsigns = { enabled = false }, -- disables git signs
+ tmux = { enabled = true },
+ twilight = { enabled = true },
+ },
+}