From ae3bc212a9beee3cff104124368928f34edc4bd6 Mon Sep 17 00:00:00 2001 From: Oscar Wallberg Date: Sat, 2 Sep 2023 17:29:59 +0200 Subject: [PATCH] Format workspace with CodeFormat --- .editorconfig | 147 ++++++++++++++++++ init.lua | 6 +- lua/bootstrap.lua | 18 +-- lua/config/aerial.lua | 20 +-- lua/config/bufferline.lua | 120 +++++++-------- lua/config/catppuccin.lua | 22 +-- lua/config/comment.lua | 122 +++++++-------- lua/config/diffview.lua | 192 ++++++++++++------------ lua/config/edge.lua | 14 +- lua/config/flog.lua | 2 +- lua/config/fugitive.lua | 6 +- lua/config/galaxyline.lua | 2 +- lua/config/github-nvim-theme.lua | 26 ++-- lua/config/gitsigns.lua | 18 +-- lua/config/indent-blankline.lua | 2 +- lua/config/indentLine.lua | 4 +- lua/config/kanagawa.lua | 18 +-- lua/config/lazygit.lua | 2 +- lua/config/lualine.lua | 80 +++++----- lua/config/luasnip.lua | 2 +- lua/config/mason-lspconfig.lua | 2 +- lua/config/material.lua | 42 +++--- lua/config/nightfox.lua | 34 ++--- lua/config/nightfox_lualine_custom.lua | 32 ++-- lua/config/nord.lua | 2 +- lua/config/nvim-autopairs.lua | 21 ++- lua/config/nvim-cmp.lua | 94 ++++++------ lua/config/nvim-comment.lua | 9 +- lua/config/nvim-dap-ui.lua | 74 ++++----- lua/config/nvim-dap.lua | 44 +++--- lua/config/nvim-tree.lua | 14 +- lua/config/nvim-treesitter.lua | 8 +- lua/config/onedark.lua | 34 ++--- lua/config/symbols-outline.lua | 62 ++++---- lua/config/telescope.lua | 18 +-- lua/config/tokyonight.lua | 2 +- lua/config/ultisnips.lua | 8 +- lua/config/vista.lua | 7 +- lua/config/vscode.lua | 8 +- lua/config/winresizer.lua | 4 +- lua/config/winshift.lua | 2 +- lua/core/autocommands.lua | 14 +- lua/core/globals.lua | 12 +- lua/core/mappings.lua | 76 +++++----- lua/core/options.lua | 8 +- lua/lsp/config/bashls.lua | 6 +- lua/lsp/config/clangd.lua | 10 +- lua/lsp/config/cmake.lua | 6 +- lua/lsp/config/diagnosticls.lua | 176 +++++++++++----------- lua/lsp/config/golangci_lint_ls.lua | 8 +- lua/lsp/config/gopls.lua | 14 +- lua/lsp/config/groovyls.lua | 8 +- lua/lsp/config/jedi_language_server.lua | 46 +++--- lua/lsp/config/lemminx.lua | 18 +-- lua/lsp/config/lua_ls.lua | 26 ++-- lua/lsp/config/pylsp.lua | 36 ++--- lua/lsp/config/pyright.lua | 16 +- lua/lsp/config/rust_analyzer.lua | 16 +- lua/lsp/init.lua | 170 ++++++++++----------- lua/lsp/spec.lua | 66 ++++---- lua/plugins.lua | 146 +++++++++--------- lua/pytest.lua | 36 ++--- lua/utils.lua | 8 +- 63 files changed, 1205 insertions(+), 1061 deletions(-) create mode 100644 .editorconfig diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..c4614c4 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,147 @@ + +# see https://github.com/CppCXY/EmmyLuaCodeStyle +[*.lua] +# [basic] + +# optional space/tab +indent_style = space +# if indent_style is space, this is valid +indent_size = 4 +# if indent_style is tab, this is valid +tab_width = 4 +# none/single/double +quote_style = double + +continuation_indent = 4 + +# this mean utf8 length , if this is 'unset' then the line width is no longer checked +# this option decides when to chopdown the code +max_line_length = 120 + +# optional crlf/lf/cr/auto, if it is 'auto', in windows it is crlf other platforms are lf +# in neovim the value 'auto' is not a valid option, please use 'unset' +end_of_line = lf + +# none/ comma / semicolon / only_kv_colon +table_separator_style = comma + +#optional keep/never/always/smart +trailing_table_separator = always + +# keep/remove/remove_table_only/remove_string_only +call_arg_parentheses = keep + +detect_end_of_line = false + +# this will check text end with new line +insert_final_newline = true + +# [space] +space_around_table_field_list = true + +space_before_attribute = true + +space_before_function_open_parenthesis = false + +space_before_function_call_open_parenthesis = false + +space_before_closure_open_parenthesis = true + +# optional always/only_string/only_table/none +# or true/false +space_before_function_call_single_arg = always + +space_before_open_square_bracket = false + +space_inside_function_call_parentheses = false + +space_inside_function_param_list_parentheses = false + +space_inside_square_brackets = false + +# like t[#t+1] = 1 +space_around_table_append_operator = false + +ignore_spaces_inside_function_call = false + +space_before_inline_comment = 1 + +# [operator space] +space_around_math_operator = true + +space_after_comma = true + +space_after_comma_in_for_statement = true + +space_around_concat_operator = true + +# [align] + +align_call_args = false + +align_function_params = true + +align_continuous_assign_statement = true + +align_continuous_rect_table_field = true + +align_continuous_line_space = 2 + +align_if_branch = false + +# option none / always / contain_curly/ +align_array_table = true + +align_continuous_similar_call_args = false + +align_continuous_inline_comment = true +# option none / always / only_call_stmt +align_chain_expr = none + +# [indent] + +never_indent_before_if_condition = false + +never_indent_comment_on_if_branch = false + +keep_indents_on_empty_lines = false +# [line space] + +# The following configuration supports four expressions +# keep +# fixed(n) +# min(n) +# max(n) +# for eg. min(2) + +line_space_after_if_statement = keep + +line_space_after_do_statement = keep + +line_space_after_while_statement = keep + +line_space_after_repeat_statement = keep + +line_space_after_for_statement = keep + +line_space_after_local_or_assign_statement = keep + +line_space_after_function_statement = fixed(2) + +line_space_after_expression_statement = keep + +line_space_after_comment = keep + +line_space_around_block = fixed(1) +# [line break] +break_all_list_when_line_exceed = false + +auto_collapse_lines = false + +break_before_braces = false +# [preference] +ignore_space_after_colon = false + +remove_call_expression_list_finish_comma = false + +end_statement_with_semicolon = keep diff --git a/init.lua b/init.lua index b9b0f61..cb7e638 100644 --- a/init.lua +++ b/init.lua @@ -14,7 +14,7 @@ limitations under the License. ]] -local files = { 'globals', 'options', 'autocommands', 'mappings' } +local files = { "globals", "options", "autocommands", "mappings", } for _, file in ipairs(files) do local pkg = "core." .. file @@ -29,14 +29,14 @@ end if vim.g.vscode then -- VSCode extension else - local ok, err = pcall(require, 'bootstrap') + local ok, err = pcall(require, "bootstrap") if not ok then print("Error during bootstrap") print(err:gsub("\t", " ")) return end - ok, err = pcall(require, 'plugins') + ok, err = pcall(require, "plugins") if not ok then print("Error while loading plugins") print(err:gsub("\t", " ")) diff --git a/lua/bootstrap.lua b/lua/bootstrap.lua index 3b3f1c5..1c22750 100644 --- a/lua/bootstrap.lua +++ b/lua/bootstrap.lua @@ -14,24 +14,24 @@ limitations under the License. ]] -local utils = require('utils') +local utils = require("utils") -- Install lazy.nvim local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" if not vim.loop.fs_stat(lazypath) then if utils.os_name == "Linux" then - utils.assert_any_available({ 'curl', 'wget' }) - utils.assert_available('unzip') - utils.assert_available('gzip') + utils.assert_any_available({ "curl", "wget", }) + utils.assert_available("unzip") + utils.assert_available("gzip") elseif utils.os_name == "Windows_NT" then - utils.assert_any_available({ 'pwsh', 'powershell' }) - utils.assert_any_available({ '7z', 'peazip', 'arc', 'wzzip', 'rar' }) + utils.assert_any_available({ "pwsh", "powershell", }) + utils.assert_any_available({ "7z", "peazip", "arc", "wzzip", "rar", }) else - error('OS not supported: ' .. utils.os_name) + error("OS not supported: " .. utils.os_name) end - utils.assert_available('git') - utils.assert_available('tar') + utils.assert_available("git") + utils.assert_available("tar") vim.fn.system({ "git", diff --git a/lua/config/aerial.lua b/lua/config/aerial.lua index f26e789..5315972 100644 --- a/lua/config/aerial.lua +++ b/lua/config/aerial.lua @@ -17,14 +17,14 @@ require("aerial").setup({ -- Priority list of preferred backends for aerial. -- This can be a filetype map (see :help aerial-filetype-map) - backends = { "treesitter", "lsp", "markdown" }, + backends = { "treesitter", "lsp", "markdown", }, layout = { -- These control the width of the aerial window. -- They can be integers or a float between 0 and 1 (e.g. 0.4 for 40%) -- min_width and max_width can be a list of mixed types. -- max_width = {40, 0.2} means "the lesser of 40 columns or 20% of total" - max_width = { 40, 0.2 }, + max_width = { 40, 0.2, }, width = nil, min_width = 40, @@ -159,15 +159,15 @@ require("aerial").setup({ -- Call this function when aerial attaches to a buffer. -- Useful for setting keymaps. Takes a single `bufnr` argument. - on_attach = function(bufnr) + on_attach = function (bufnr) -- Toggle the aerial window with a - vim.api.nvim_buf_set_keymap(bufnr, 'n', 'at', 'AerialToggle!', {}) + vim.api.nvim_buf_set_keymap(bufnr, "n", "at", "AerialToggle!", {}) -- Jump forwards/backwards with '{' and '}' - vim.api.nvim_buf_set_keymap(bufnr, 'n', '{', 'AerialPrev', {}) - vim.api.nvim_buf_set_keymap(bufnr, 'n', '}', 'AerialNext', {}) + vim.api.nvim_buf_set_keymap(bufnr, "n", "{", "AerialPrev", {}) + vim.api.nvim_buf_set_keymap(bufnr, "n", "}", "AerialNext", {}) -- Jump up the tree with '[[' or ']]' - vim.api.nvim_buf_set_keymap(bufnr, 'n', '[[', 'AerialPrevUp', {}) - vim.api.nvim_buf_set_keymap(bufnr, 'n', ']]', 'AerialNextUp', {}) + vim.api.nvim_buf_set_keymap(bufnr, "n", "[[", "AerialPrevUp", {}) + vim.api.nvim_buf_set_keymap(bufnr, "n", "]]", "AerialNextUp", {}) end, -- Call this function when aerial first sets symbols on a buffer. @@ -219,9 +219,9 @@ require("aerial").setup({ -- min_height = {8, 0.1} means "the greater of 8 rows or 10% of total" max_height = 0.9, height = nil, - min_height = { 8, 0.1 }, + min_height = { 8, 0.1, }, - override = function(conf, source_winid) + override = function (conf, source_winid) -- This is the config that will be passed to nvim_open_win. -- Change values here to customize the layout return conf diff --git a/lua/config/bufferline.lua b/lua/config/bufferline.lua index 692161e..0dce760 100644 --- a/lua/config/bufferline.lua +++ b/lua/config/bufferline.lua @@ -14,7 +14,7 @@ limitations under the License. ]] -local utils = require 'utils' +local utils = require "utils" local hl_CustomHeader local head_cache @@ -24,13 +24,13 @@ local head_cache --- @param no_ellipsis boolean whether to disable adding '...' at end after truncation --- return function that can format the component accordingly local function trunc(trunc_width, trunc_len, hide_width, no_ellipsis) - return function(str) + return function (str) local win_width = vim.fn.winwidth(0) if hide_width and win_width < hide_width then - return '' + return "" elseif trunc_width and trunc_len and win_width < trunc_width and #str > trunc_len then - return str:sub(1, trunc_len) .. (no_ellipsis and '' or '...') + return str:sub(1, trunc_len) .. (no_ellipsis and "" or "...") end return str end @@ -40,12 +40,12 @@ end --- @param no_ellipsis boolean whether to disable adding '...' at start before truncation --- return function that can format the component accordingly local function l_trunc(trunc_len, no_ellipsis) - return function(str) + return function (str) if #str > trunc_len then if no_ellipsis then return str:sub(#str - trunc_len) else - return '...' .. str:sub(#str - trunc_len + 3) + return "..." .. str:sub(#str - trunc_len + 3) end else return str @@ -57,7 +57,7 @@ end --- @param no_ellipsis boolean whether to disable adding '...' at start before truncation --- return function that can format the component accordingly local function r_trunc(trunc_len, no_ellipsis) - return function(str) + return function (str) if #str > trunc_len then if no_ellipsis then return str:sub(1, trunc_len) @@ -65,7 +65,7 @@ local function r_trunc(trunc_len, no_ellipsis) return str else return str:sub(1, trunc_len - 3) .. - (no_ellipsis and '' or '...') + (no_ellipsis and "" or "...") end end return str @@ -73,7 +73,7 @@ local function r_trunc(trunc_len, no_ellipsis) end local function short_path(len) - return function(str) + return function (str) if #str > len then return vim.fn.pathshorten(str, 1) end return str end @@ -81,69 +81,69 @@ end local function header() if hl_CustomHeader == nil then - local header_hl = require('utils').get_hl('NvimTreeNormal') + local header_hl = require("utils").get_hl("NvimTreeNormal") if header_hl ~= nil then - hl_CustomHeader = 'gui=bold guifg=' .. header_hl.foreground .. - ' guibg=' .. header_hl.background - vim.api.nvim_command('hi CustomHeader ' .. hl_CustomHeader) + hl_CustomHeader = "gui=bold guifg=" .. header_hl.foreground .. + " guibg=" .. header_hl.background + vim.api.nvim_command("hi CustomHeader " .. hl_CustomHeader) end end -- local header = short_path(40)(vim.fn.getcwd()) -- NOTE: Decided not to use this. Probably doesn't work. local gitdir = vim.fn.FugitiveExtractGitDir(vim.fn.getcwd()) - local text = '' - if gitdir == '' then - text = vim.fn.fnamemodify(vim.fn.getcwd(), ':~') + local text = "" + if gitdir == "" then + text = vim.fn.fnamemodify(vim.fn.getcwd(), ":~") else - text = vim.fn.fnamemodify(gitdir, ':~:h') + text = vim.fn.fnamemodify(gitdir, ":~:h") -- text = vim.fn.fnamemodify(vim.fn.FugitiveWorkTree(), ':~') -- local branch = r_trunc(15, false)(vim.fn.FugitiveHead()) local head = vim.fn.FugitiveHead(8, gitdir) - if head == '' then + if head == "" then if head_cache[gitdir] ~= nil then head = head_cache[gitdir] else - local f = io.open(gitdir, 'r') + local f = io.open(gitdir, "r") if f then io.input(f) - local line = io.read('*l') + local line = io.read("*l") local head = line:gsub( - 'ref: /refs/(heads/|remotes/|tags/)', '' + "ref: /refs/(heads/|remotes/|tags/)", "" ) head_cache[gitdir] = head end end end - if head ~= '' then text = text .. '  ' .. head end + if head ~= "" then text = text .. "  " .. head end end -- return l_trunc(40-2, false)(short_path(40-2)(text)) return l_trunc(40 - 2, false)(text) end -require('bufferline').setup( +require("bufferline").setup( { options = { - mode = 'buffers', - numbers = function(ordinal, id, lower, raise) return '' end, - close_command = 'bdelete %d', -- can be a string | function, see "Mouse actions" - right_mouse_command = 'bdelete %d', -- can be a string | function, see "Mouse actions" - left_mouse_command = 'buffer %d', -- can be a string | function, see "Mouse actions" + mode = "buffers", + numbers = function (ordinal, id, lower, raise) return "" end, + close_command = "bdelete %d", -- can be a string | function, see "Mouse actions" + right_mouse_command = "bdelete %d", -- can be a string | function, see "Mouse actions" + left_mouse_command = "buffer %d", -- can be a string | function, see "Mouse actions" middle_mouse_command = nil, -- can be a string | function, see "Mouse actions" indicator = { - icon = '▎', -- this should be omitted if indicator style is not 'icon' - style = 'icon' + icon = "▎", -- this should be omitted if indicator style is not 'icon' + style = "icon", }, - buffer_close_icon = '', - modified_icon = '●', - close_icon = '', - left_trunc_marker = '', - right_trunc_marker = '', + 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: + name_formatter = function (buf) -- buf contains: -- name | str | the basename of the active file -- path | str | the full path of the active file -- bufnr (buffer only) | int | the number of the active buffer @@ -155,14 +155,14 @@ require('bufferline').setup( max_prefix_length = 15, -- prefix used when a buffer is de-duplicated truncate_names = true, tab_size = 18, - diagnostics = 'nvim_lsp', + diagnostics = "nvim_lsp", diagnostics_update_in_insert = false, - diagnostics_indicator = function(count, _, _, _) - return '(' .. count .. ')' + diagnostics_indicator = function (count, _, _, _) + return "(" .. count .. ")" end, -- NOTE: this will be called a lot so don't do any heavy processing here - custom_filter = function(buf, _) - local disabled_ft = { 'NvimTree', 'fugitive' } + custom_filter = function (buf, _) + local disabled_ft = { "NvimTree", "fugitive", } if utils.has_value(disabled_ft, vim.bo[buf].filetype) then return false @@ -172,32 +172,32 @@ require('bufferline').setup( end, offsets = { { - filetype = 'NvimTree', - text = 'File Explorer', -- header, - text_align = 'center', - seperator = true + filetype = "NvimTree", + text = "File Explorer", -- header, + text_align = "center", + seperator = true, -- padding = 1, -- highlight = "CustomHeader", }, { - filetype = 'fugitive', - text = 'Fugitive', -- header, - text_align = 'center', - seperator = true + filetype = "fugitive", + text = "Fugitive", -- header, + text_align = "center", + seperator = true, -- padding = 1, -- highlight = "CustomHeader", }, { - filetype = 'aerial', - text = 'Aerial', -- header, - text_align = 'center', - seperator = true + filetype = "aerial", + text = "Aerial", -- header, + text_align = "center", + seperator = true, -- padding = 1, -- highlight = "CustomHeader", - } + }, }, - color_icons = true, -- whether or not to add the filetype icon highlights - show_buffer_icons = true, -- disable filetype icons for buffers + color_icons = true, -- whether or not to add the filetype icon highlights + show_buffer_icons = true, -- disable filetype icons for buffers show_buffer_close_icons = false, show_buffer_default_icon = true, -- whether or not an unrecognised filetype should show a default icon show_close_icon = false, @@ -205,11 +205,11 @@ require('bufferline').setup( 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' }, + separator_style = "thin", -- | "thick" | "thin" | { 'any', 'any' }, enforce_regular_tabs = true, always_show_bufferline = true, - hover = { enabled = true, delay = 200, reveal = { 'close' } }, - sort_by = 'id' - } + hover = { enabled = true, delay = 200, reveal = { "close", }, }, + sort_by = "id", + }, } ) diff --git a/lua/config/catppuccin.lua b/lua/config/catppuccin.lua index fed3cc0..cb96c32 100644 --- a/lua/config/catppuccin.lua +++ b/lua/config/catppuccin.lua @@ -15,7 +15,7 @@ ]] local colors = require("catppuccin.palettes").get_palette() -- fetch colors from g:catppuccin_flavour palette -vim.g.catppuccin_flavour = "mocha" -- latte, frappe, macchiato, mocha +vim.g.catppuccin_flavour = "mocha" -- latte, frappe, macchiato, mocha require("catppuccin").setup({ compile_path = vim.fn.stdpath("cache") .. "/catppuccin", transparent_background = false, @@ -49,16 +49,16 @@ require("catppuccin").setup({ native_lsp = { enabled = true, virtual_text = { - errors = { "italic" }, - hints = { "italic" }, - warnings = { "italic" }, - information = { "italic" }, + errors = { "italic", }, + hints = { "italic", }, + warnings = { "italic", }, + information = { "italic", }, }, underlines = { - errors = { "underline" }, - hints = { "underline" }, - warnings = { "underline" }, - information = { "underline" }, + errors = { "underline", }, + hints = { "underline", }, + warnings = { "underline", }, + information = { "underline", }, }, }, -- For more plugins integrations please see https://github.com/catppuccin/nvim#integrations @@ -69,8 +69,8 @@ require("catppuccin").setup({ -- TSConstBuiltin = { fg = colors.peach, style = {} }, -- TSConstant = { fg = colors.sky }, -- TSComment = { fg = colors.surface2, style = { "italic" } } - ['@parameter'] = { style = {} } - } + ["@parameter"] = { style = {}, }, + }, }) vim.cmd("colorscheme catppuccin") diff --git a/lua/config/comment.lua b/lua/config/comment.lua index 5808367..988d8b6 100644 --- a/lua/config/comment.lua +++ b/lua/config/comment.lua @@ -14,73 +14,73 @@ limitations under the License. ]] -require('Comment').setup( -{ - ---Add a space b/w comment and the line - ---@type boolean|fun():boolean - padding = true, +require("Comment").setup( + { + ---Add a space b/w comment and the line + ---@type boolean|fun():boolean + padding = true, - ---Whether the cursor should stay at its position - ---NOTE: This only affects NORMAL mode mappings and doesn't work with dot-repeat - ---@type boolean - sticky = true, + ---Whether the cursor should stay at its position + ---NOTE: This only affects NORMAL mode mappings and doesn't work with dot-repeat + ---@type boolean + sticky = true, - ---Lines to be ignored while comment/uncomment. - ---Could be a regex string or a function that returns a regex string. - ---Example: Use '^$' to ignore empty lines - ---@type string|fun():string - ignore = '^$', + ---Lines to be ignored while comment/uncomment. + ---Could be a regex string or a function that returns a regex string. + ---Example: Use '^$' to ignore empty lines + ---@type string|fun():string + ignore = "^$", - ---LHS of toggle mappings in NORMAL + VISUAL mode - ---@type table - toggler = { - ---Line-comment toggle keymap - line = 'gcc', - ---Block-comment toggle keymap - block = 'gbc', - }, + ---LHS of toggle mappings in NORMAL + VISUAL mode + ---@type table + toggler = { + ---Line-comment toggle keymap + line = "gcc", + ---Block-comment toggle keymap + block = "gbc", + }, - ---LHS of operator-pending mappings in NORMAL + VISUAL mode - ---@type table - opleader = { - ---Line-comment keymap - line = 'gc', - ---Block-comment keymap - block = 'gb', - }, + ---LHS of operator-pending mappings in NORMAL + VISUAL mode + ---@type table + opleader = { + ---Line-comment keymap + line = "gc", + ---Block-comment keymap + block = "gb", + }, - ---LHS of extra mappings - ---@type table - extra = { - ---Add comment on the line above - above = 'gcO', - ---Add comment on the line below - below = 'gco', - ---Add comment at the end of line - eol = 'gcA', - }, + ---LHS of extra mappings + ---@type table + extra = { + ---Add comment on the line above + above = "gcO", + ---Add comment on the line below + below = "gco", + ---Add comment at the end of line + eol = "gcA", + }, - ---Create basic (operator-pending) and extended mappings for NORMAL + VISUAL mode - ---@type table - mappings = { - ---Operator-pending mapping - ---Includes `gcc`, `gbc`, `gc[count]{motion}` and `gb[count]{motion}` - ---NOTE: These mappings can be changed individually by `opleader` and `toggler` config - basic = true, - ---Extra mapping - ---Includes `gco`, `gcO`, `gcA` - extra = true, - ---Extended mapping - ---Includes `g>`, `g<`, `g>[count]{motion}` and `g<[count]{motion}` - extended = false, - }, + ---Create basic (operator-pending) and extended mappings for NORMAL + VISUAL mode + ---@type table + mappings = { + ---Operator-pending mapping + ---Includes `gcc`, `gbc`, `gc[count]{motion}` and `gb[count]{motion}` + ---NOTE: These mappings can be changed individually by `opleader` and `toggler` config + basic = true, + ---Extra mapping + ---Includes `gco`, `gcO`, `gcA` + extra = true, + ---Extended mapping + ---Includes `g>`, `g<`, `g>[count]{motion}` and `g<[count]{motion}` + extended = false, + }, - ---Pre-hook, called before commenting the line - ---@type fun(ctx: Ctx):string - pre_hook = nil, + ---Pre-hook, called before commenting the line + ---@type fun(ctx: Ctx):string + pre_hook = nil, - ---Post-hook, called after commenting is done - ---@type fun(ctx: Ctx) - post_hook = nil, -} + ---Post-hook, called after commenting is done + ---@type fun(ctx: Ctx) + post_hook = nil, + } ) diff --git a/lua/config/diffview.lua b/lua/config/diffview.lua index 7417064..79c5f3e 100644 --- a/lua/config/diffview.lua +++ b/lua/config/diffview.lua @@ -14,108 +14,108 @@ limitations under the License. ]] -local cb = require'diffview.config'.diffview_callback +local cb = require "diffview.config".diffview_callback -require'diffview'.setup { - diff_binaries = false, -- Show diffs for binaries - enhanced_diff_hl = true, -- See ':h diffview-config-enhanced_diff_hl' - use_icons = true, -- Requires nvim-web-devicons - icons = { -- Only applies when use_icons is true. - folder_closed = "", - folder_open = "", - }, - signs = { - fold_closed = "", - fold_open = "", - }, - file_panel = { - position = "left", -- One of 'left', 'right', 'top', 'bottom' - width = 35, -- Only applies when position is 'left' or 'right' - height = 10, -- Only applies when position is 'top' or 'bottom' - listing_style = "tree", -- One of 'list' or 'tree' - tree_options = { -- Only applies when listing_style is 'tree' - flatten_dirs = true, -- Flatten dirs that only contain one single dir - folder_statuses = "only_folded", -- One of 'never', 'only_folded' or 'always'. +require "diffview".setup { + diff_binaries = false, -- Show diffs for binaries + enhanced_diff_hl = true, -- See ':h diffview-config-enhanced_diff_hl' + use_icons = true, -- Requires nvim-web-devicons + icons = { -- Only applies when use_icons is true. + folder_closed = "", + folder_open = "", }, - }, - file_history_panel = { - position = "bottom", - width = 35, - height = 16, - log_options = { - max_count = 256, -- Limit the number of commits - follow = false, -- Follow renames (only for single file) - all = false, -- Include all refs under 'refs/' including HEAD - merges = false, -- List only merge commits - no_merges = false, -- List no merge commits - reverse = false, -- List commits in reverse order - }, - }, - default_args = { -- Default args prepended to the arg-list for the listed commands - DiffviewOpen = {}, - DiffviewFileHistory = {}, - }, - hooks = {}, -- See ':h diffview-config-hooks' - key_bindings = { - disable_defaults = false, -- Disable the default key bindings - -- The `view` bindings are active in the diff buffers, only when the current - -- tabpage is a Diffview. - view = { - [""] = cb("select_next_entry"), -- Open the diff for the next file - [""] = cb("select_prev_entry"), -- Open the diff for the previous file - ["gf"] = cb("goto_file"), -- Open the file in a new split in previous tabpage - [""] = cb("goto_file_split"), -- Open the file in a new split - ["gf"] = cb("goto_file_tab"), -- Open the file in a new tabpage - ["e"] = cb("focus_files"), -- Bring focus to the files panel - ["b"] = cb("toggle_files"), -- Toggle the files panel. + signs = { + fold_closed = "", + fold_open = "", }, file_panel = { - ["j"] = cb("next_entry"), -- Bring the cursor to the next file entry - [""] = cb("next_entry"), - ["k"] = cb("prev_entry"), -- Bring the cursor to the previous file entry. - [""] = cb("prev_entry"), - [""] = cb("select_entry"), -- Open the diff for the selected entry. - ["o"] = cb("select_entry"), - ["<2-LeftMouse>"] = cb("select_entry"), - ["-"] = cb("toggle_stage_entry"), -- Stage / unstage the selected entry. - ["S"] = cb("stage_all"), -- Stage all entries. - ["U"] = cb("unstage_all"), -- Unstage all entries. - ["X"] = cb("restore_entry"), -- Restore entry to the state on the left side. - ["R"] = cb("refresh_files"), -- Update stats and entries in the file list. - [""] = cb("select_next_entry"), - [""] = cb("select_prev_entry"), - ["gf"] = cb("goto_file"), - [""] = cb("goto_file_split"), - ["gf"] = cb("goto_file_tab"), - ["i"] = cb("listing_style"), -- Toggle between 'list' and 'tree' views - ["f"] = cb("toggle_flatten_dirs"), -- Flatten empty subdirectories in tree listing style. - ["e"] = cb("focus_files"), - ["b"] = cb("toggle_files"), + position = "left", -- One of 'left', 'right', 'top', 'bottom' + width = 35, -- Only applies when position is 'left' or 'right' + height = 10, -- Only applies when position is 'top' or 'bottom' + listing_style = "tree", -- One of 'list' or 'tree' + tree_options = { -- Only applies when listing_style is 'tree' + flatten_dirs = true, -- Flatten dirs that only contain one single dir + folder_statuses = "only_folded", -- One of 'never', 'only_folded' or 'always'. + }, }, file_history_panel = { - ["g!"] = cb("options"), -- Open the option panel - [""] = cb("open_in_diffview"), -- Open the entry under the cursor in a diffview - ["y"] = cb("copy_hash"), -- Copy the commit hash of the entry under the cursor - ["zR"] = cb("open_all_folds"), - ["zM"] = cb("close_all_folds"), - ["j"] = cb("next_entry"), - [""] = cb("next_entry"), - ["k"] = cb("prev_entry"), - [""] = cb("prev_entry"), - [""] = cb("select_entry"), - ["o"] = cb("select_entry"), - ["<2-LeftMouse>"] = cb("select_entry"), - [""] = cb("select_next_entry"), - [""] = cb("select_prev_entry"), - ["gf"] = cb("goto_file"), - [""] = cb("goto_file_split"), - ["gf"] = cb("goto_file_tab"), - ["e"] = cb("focus_files"), - ["b"] = cb("toggle_files"), + position = "bottom", + width = 35, + height = 16, + log_options = { + max_count = 256, -- Limit the number of commits + follow = false, -- Follow renames (only for single file) + all = false, -- Include all refs under 'refs/' including HEAD + merges = false, -- List only merge commits + no_merges = false, -- List no merge commits + reverse = false, -- List commits in reverse order + }, }, - option_panel = { - [""] = cb("select"), - ["q"] = cb("close"), + default_args = { -- Default args prepended to the arg-list for the listed commands + DiffviewOpen = {}, + DiffviewFileHistory = {}, + }, + hooks = {}, -- See ':h diffview-config-hooks' + key_bindings = { + disable_defaults = false, -- Disable the default key bindings + -- The `view` bindings are active in the diff buffers, only when the current + -- tabpage is a Diffview. + view = { + [""] = cb("select_next_entry"), -- Open the diff for the next file + [""] = cb("select_prev_entry"), -- Open the diff for the previous file + ["gf"] = cb("goto_file"), -- Open the file in a new split in previous tabpage + [""] = cb("goto_file_split"), -- Open the file in a new split + ["gf"] = cb("goto_file_tab"), -- Open the file in a new tabpage + ["e"] = cb("focus_files"), -- Bring focus to the files panel + ["b"] = cb("toggle_files"), -- Toggle the files panel. + }, + file_panel = { + ["j"] = cb("next_entry"), -- Bring the cursor to the next file entry + [""] = cb("next_entry"), + ["k"] = cb("prev_entry"), -- Bring the cursor to the previous file entry. + [""] = cb("prev_entry"), + [""] = cb("select_entry"), -- Open the diff for the selected entry. + ["o"] = cb("select_entry"), + ["<2-LeftMouse>"] = cb("select_entry"), + ["-"] = cb("toggle_stage_entry"), -- Stage / unstage the selected entry. + ["S"] = cb("stage_all"), -- Stage all entries. + ["U"] = cb("unstage_all"), -- Unstage all entries. + ["X"] = cb("restore_entry"), -- Restore entry to the state on the left side. + ["R"] = cb("refresh_files"), -- Update stats and entries in the file list. + [""] = cb("select_next_entry"), + [""] = cb("select_prev_entry"), + ["gf"] = cb("goto_file"), + [""] = cb("goto_file_split"), + ["gf"] = cb("goto_file_tab"), + ["i"] = cb("listing_style"), -- Toggle between 'list' and 'tree' views + ["f"] = cb("toggle_flatten_dirs"), -- Flatten empty subdirectories in tree listing style. + ["e"] = cb("focus_files"), + ["b"] = cb("toggle_files"), + }, + file_history_panel = { + ["g!"] = cb("options"), -- Open the option panel + [""] = cb("open_in_diffview"), -- Open the entry under the cursor in a diffview + ["y"] = cb("copy_hash"), -- Copy the commit hash of the entry under the cursor + ["zR"] = cb("open_all_folds"), + ["zM"] = cb("close_all_folds"), + ["j"] = cb("next_entry"), + [""] = cb("next_entry"), + ["k"] = cb("prev_entry"), + [""] = cb("prev_entry"), + [""] = cb("select_entry"), + ["o"] = cb("select_entry"), + ["<2-LeftMouse>"] = cb("select_entry"), + [""] = cb("select_next_entry"), + [""] = cb("select_prev_entry"), + ["gf"] = cb("goto_file"), + [""] = cb("goto_file_split"), + ["gf"] = cb("goto_file_tab"), + ["e"] = cb("focus_files"), + ["b"] = cb("toggle_files"), + }, + option_panel = { + [""] = cb("select"), + ["q"] = cb("close"), + }, }, - }, } diff --git a/lua/config/edge.lua b/lua/config/edge.lua index c209033..97121d1 100644 --- a/lua/config/edge.lua +++ b/lua/config/edge.lua @@ -14,20 +14,20 @@ limitations under the License. ]] -vim.g.edge_style = 'default' +vim.g.edge_style = "default" vim.g.edge_disable_italic_comment = 0 vim.g.edge_enable_italic = 0 -vim.g.edge_cursor = 'auto' +vim.g.edge_cursor = "auto" vim.g.edge_transparent_background = 0 -vim.g.edge_menu_selection_background = 'blue' -vim.g.edge_spell_foreground = 'none' +vim.g.edge_menu_selection_background = "blue" +vim.g.edge_spell_foreground = "none" vim.g.edge_show_eob = 1 vim.g.edge_diagnostic_text_highlight = 0 vim.g.edge_diagnostic_line_highlight = 1 -vim.g.edge_diagnostic_virtual_text = 'grey' -vim.g.edge_current_word = 'grey background' +vim.g.edge_diagnostic_virtual_text = "grey" +vim.g.edge_current_word = "grey background" vim.g.edge_disable_terminal_colors = 0 vim.g.edge_lightline_disable_bold = 0 vim.g.edge_better_performance = 1 -vim.fn.execute('colorscheme edge') +vim.fn.execute("colorscheme edge") diff --git a/lua/config/flog.lua b/lua/config/flog.lua index b487e33..1fe731c 100644 --- a/lua/config/flog.lua +++ b/lua/config/flog.lua @@ -14,4 +14,4 @@ limitations under the License. ]] -vim.keymap.set('n', "gl", ":Flog", { remap = false, silent = true }) +vim.keymap.set("n", "gl", ":Flog", { remap = false, silent = true, }) diff --git a/lua/config/fugitive.lua b/lua/config/fugitive.lua index 94069f7..ae3627f 100644 --- a/lua/config/fugitive.lua +++ b/lua/config/fugitive.lua @@ -19,6 +19,6 @@ local function git_status_tab() vim.fn.execute("leftabove vertical G | vertical resize 60 | set wfw") end -vim.keymap.set('n', 'gd', ':Gdiffsplit', { remap = false }) -vim.keymap.set('n', 'gg', git_status_tab, { silent = true, remap = false }) -vim.keymap.set('n', 'gc', ':G commit', { remap = false }) +vim.keymap.set("n", "gd", ":Gdiffsplit", { remap = false, }) +vim.keymap.set("n", "gg", git_status_tab, { silent = true, remap = false, }) +vim.keymap.set("n", "gc", ":G commit", { remap = false, }) diff --git a/lua/config/galaxyline.lua b/lua/config/galaxyline.lua index eab846b..0b815a4 100644 --- a/lua/config/galaxyline.lua +++ b/lua/config/galaxyline.lua @@ -14,6 +14,6 @@ limitations under the License. ]] -local gl = require('galaxyline') +local gl = require("galaxyline") -- maybe some other day diff --git a/lua/config/github-nvim-theme.lua b/lua/config/github-nvim-theme.lua index 842ee21..dffe882 100644 --- a/lua/config/github-nvim-theme.lua +++ b/lua/config/github-nvim-theme.lua @@ -14,9 +14,9 @@ limitations under the License. ]] -require('github-theme').setup( +require("github-theme").setup( { - theme_style = 'dimmed', + theme_style = "dimmed", transparent = false, hide_end_of_buffer = false, hide_inactive_statusline = false, @@ -24,20 +24,20 @@ require('github-theme').setup( dev = false, -- styles - comment_style = 'italic', - function_style = 'NONE', - keyword_style = 'NONE', - msg_area_style = 'NONE', - variable_style = 'NONE', + comment_style = "italic", + function_style = "NONE", + keyword_style = "NONE", + msg_area_style = "NONE", + variable_style = "NONE", -- sidebars sidebars = { - 'qf', - 'vista_kind', - 'terminal', - 'packer', - 'aerial', - 'NvimTree' + "qf", + "vista_kind", + "terminal", + "packer", + "aerial", + "NvimTree", }, -- Change the "hint" color to the "orange" color, and make the "error" color bright red diff --git a/lua/config/gitsigns.lua b/lua/config/gitsigns.lua index 87d5539..40527c6 100644 --- a/lua/config/gitsigns.lua +++ b/lua/config/gitsigns.lua @@ -14,9 +14,9 @@ limitations under the License. ]] -require('gitsigns').setup( +require("gitsigns").setup( { - on_attach = function(bufnr) + on_attach = function (bufnr) local gs = package.loaded.gitsigns local function map(mode, l, r, opts) opts = opts or {} @@ -42,20 +42,20 @@ require('gitsigns').setup( -- } -- end -- ) - map('n', 'gv', gs.select_hunk) + map("n", "gv", gs.select_hunk) -- map('n', '', "&diff ? '' : 'Gitsigns next_hunk'", {expr=true}) -- map('n', '', "&diff ? '' : 'Gitsigns prev_hunk'", {expr=true}) - map({ 'n', 'v' }, 'gr', ':Gitsigns reset_hunk') -- gs.reset_hunk() doesn't work with selected lines - map('n', 'g?', gs.preview_hunk) - map('n', 'gb', function() - gs.blame_line { full = true } + map({ "n", "v", }, "gr", ":Gitsigns reset_hunk") -- gs.reset_hunk() doesn't work with selected lines + map("n", "g?", gs.preview_hunk) + map("n", "gb", function () + gs.blame_line { full = true, } end) -- map('n', 'gd', gs.diffthis) end, signs = { -- default -- untracked = { text = '┆' } - untracked = { text = '│' } - } + untracked = { text = "│", }, + }, } ) diff --git a/lua/config/indent-blankline.lua b/lua/config/indent-blankline.lua index 60334cb..fd46f0e 100644 --- a/lua/config/indent-blankline.lua +++ b/lua/config/indent-blankline.lua @@ -19,6 +19,6 @@ require("indent_blankline").setup({ show_current_context_start = false, use_treesitter = true, show_first_indent_level = true, - char = '│', + char = "│", -- context_char = '┃', }) diff --git a/lua/config/indentLine.lua b/lua/config/indentLine.lua index b4eac1a..4d97475 100644 --- a/lua/config/indentLine.lua +++ b/lua/config/indentLine.lua @@ -15,8 +15,8 @@ ]] -- more options at https://www.jetbrains.com/lp/mono/ -vim.g.indentLine_char = '▏' +vim.g.indentLine_char = "▏" -- Disable conceal for some syntax plugins vim.g.vim_json_conceal = 0 vim.g.markdown_syntax_conceal = 0 -vim.g.indentLine_fileTypeExclude = { 'NvimTree' } +vim.g.indentLine_fileTypeExclude = { "NvimTree", } diff --git a/lua/config/kanagawa.lua b/lua/config/kanagawa.lua index 54578c2..f728550 100644 --- a/lua/config/kanagawa.lua +++ b/lua/config/kanagawa.lua @@ -14,19 +14,19 @@ limitations under the License. ]] -require('kanagawa').setup({ - undercurl = true, -- enable undercurls - commentStyle = { italic = true }, +require("kanagawa").setup({ + undercurl = true, -- enable undercurls + commentStyle = { italic = true, }, functionStyle = {}, keywordStyle = {}, - statementStyle = { bold = true }, + statementStyle = { bold = true, }, typeStyle = {}, variablebuiltinStyle = {}, - specialReturn = true, -- special highlight for the return keyword - specialException = true, -- special highlight for exception handling keywords - transparent = false, -- do not set background color - dimInactive = true, -- dim inactive window `:h hl-NormalNC` - globalStatus = true, -- adjust window separators highlight for laststatus=3 + specialReturn = true, -- special highlight for the return keyword + specialException = true, -- special highlight for exception handling keywords + transparent = false, -- do not set background color + dimInactive = true, -- dim inactive window `:h hl-NormalNC` + globalStatus = true, -- adjust window separators highlight for laststatus=3 colors = {}, overrides = {}, }) diff --git a/lua/config/lazygit.lua b/lua/config/lazygit.lua index 560aa42..757e1bc 100644 --- a/lua/config/lazygit.lua +++ b/lua/config/lazygit.lua @@ -16,6 +16,6 @@ vim.g.lazygit_floating_window_winblend = 0 -- transparency of floating window vim.g.lazygit_floating_window_scaling_factor = 0.9 -- scaling factor for floating window -vim.g.lazygit_floating_window_corner_chars = { '╭', '╮', '╰', '╯' } -- customize lazygit popup window corner characters +vim.g.lazygit_floating_window_corner_chars = { "╭", "╮", "╰", "╯", } -- customize lazygit popup window corner characters vim.g.lazygit_floating_window_use_plenary = 0 -- use plenary.nvim to manage floating window if available vim.g.lazygit_use_neovim_remote = 1 -- fallback to 0 if neovim-remote is not installed diff --git a/lua/config/lualine.lua b/lua/config/lualine.lua index 51d040f..61f01db 100644 --- a/lua/config/lualine.lua +++ b/lua/config/lualine.lua @@ -20,42 +20,43 @@ --- @param no_ellipsis boolean whether to disable adding '...' at end after truncation --- return function that can format the component accordingly local function trunc(trunc_width, trunc_len, hide_width, no_ellipsis) - return function(str) - local win_width = vim.fn.winwidth(0) - if hide_width and win_width < hide_width then return '' - elseif trunc_width and trunc_len and win_width < trunc_width and #str > trunc_len then - return str:sub(1, trunc_len) .. (no_ellipsis and '' or '...') + return function (str) + local win_width = vim.fn.winwidth(0) + if hide_width and win_width < hide_width then + return "" + elseif trunc_width and trunc_len and win_width < trunc_width and #str > trunc_len then + return str:sub(1, trunc_len) .. (no_ellipsis and "" or "...") + end + return str end - return str - end end --- @param trunc_len number truncates component to trunc_len number of chars --- @param no_ellipsis boolean whether to disable adding '...' at start before truncation --- return function that can format the component accordingly local function l_trunc(trunc_len, no_ellipsis) - return function(str) - if #str > trunc_len then - return (no_ellipsis and '' or '...') .. str:sub(-trunc_len, -1) + return function (str) + if #str > trunc_len then + return (no_ellipsis and "" or "...") .. str:sub(-trunc_len, -1) + end + return str end - return str - end end --- @param trunc_len number truncates component to trunc_len number of chars --- @param no_ellipsis boolean whether to disable adding '...' at start before truncation --- return function that can format the component accordingly local function r_trunc(trunc_len, no_ellipsis) - return function(str) - if #str > trunc_len then - return str:sub(1, trunc_len) .. (no_ellipsis and '' or '...') + return function (str) + if #str > trunc_len then + return str:sub(1, trunc_len) .. (no_ellipsis and "" or "...") + end + return str end - return str - end end local function short_path(len) - return function(str) + return function (str) if #str > len then return vim.fn.pathshorten(str, 1) end @@ -66,39 +67,39 @@ end local function header() local text = short_path(40)(vim.fn.getcwd()) local branch = r_trunc(15, false)(vim.fn.FugitiveHead()) - if branch ~= '' then - text = text .. '  ' .. branch + if branch ~= "" then + text = text .. "  " .. branch end return text end -require('lualine').setup ({ +require("lualine").setup({ options = { icons_enabled = true, -- theme = require('config.nightfox_lualine_custom'), - theme = 'auto', + theme = "auto", -- theme = "catppuccin", - component_separators = { left = '', right = '' }, - section_separators = { left = '', right = '' }, - disabled_filetypes = { 'NvimTree', 'fugitive' }, + component_separators = { left = "", right = "", }, + section_separators = { left = "", right = "", }, + disabled_filetypes = { "NvimTree", "fugitive", }, always_divide_middle = true, - globalstatus = true + globalstatus = true, }, sections = { - lualine_a = { }, - lualine_b = { 'mode' }, - lualine_c = { { 'filename', path = 1 }, 'diff', {'diagnostics', sources = {'nvim_lsp'}}}, - lualine_x = { 'filetype', 'encoding', 'fileformat', 'progress' }, - lualine_y = { 'location' }, - lualine_z = { } + lualine_a = {}, + lualine_b = { "mode", }, + lualine_c = { { "filename", path = 1, }, "diff", { "diagnostics", sources = { "nvim_lsp", }, }, }, + lualine_x = { "filetype", "encoding", "fileformat", "progress", }, + lualine_y = { "location", }, + lualine_z = {}, }, inactive_sections = { - lualine_a = { }, - lualine_b = { }, - lualine_c = { 'filename' }, - lualine_x = { 'location' }, - lualine_y = { }, - lualine_z = { } + lualine_a = {}, + lualine_b = {}, + lualine_c = { "filename", }, + lualine_x = { "location", }, + lualine_y = {}, + lualine_z = {}, }, -- tabline = { -- lualine_a = { { header } }, @@ -108,6 +109,5 @@ require('lualine').setup ({ -- lualine_y = {}, -- lualine_z = {} -- }, - extensions = { } + extensions = {}, }) - diff --git a/lua/config/luasnip.lua b/lua/config/luasnip.lua index a618ef5..47fd88e 100644 --- a/lua/config/luasnip.lua +++ b/lua/config/luasnip.lua @@ -28,4 +28,4 @@ -- local ai = require("luasnip.nodes.absolute_indexer") -- For rafamadriz/friendly-snippets -require("luasnip.loaders.from_vscode").lazy_load() \ No newline at end of file +require("luasnip.loaders.from_vscode").lazy_load() diff --git a/lua/config/mason-lspconfig.lua b/lua/config/mason-lspconfig.lua index 621e706..1be4a8e 100644 --- a/lua/config/mason-lspconfig.lua +++ b/lua/config/mason-lspconfig.lua @@ -18,7 +18,7 @@ require("mason-lspconfig").setup({ -- A list of servers to automatically install if they're not already installed. Example: { "rust_analyzer@nightly", "lua_ls" } -- This setting has no relation with the `automatic_installation` setting. ---@type string[] - ensure_installed = require('lsp'):language_servers(), + ensure_installed = require("lsp"):language_servers(), -- Whether servers that are set up (via lspconfig) should be automatically installed if they're not already installed. -- This setting has no relation with the `ensure_installed` setting. diff --git a/lua/config/material.lua b/lua/config/material.lua index 414186b..fb12233 100644 --- a/lua/config/material.lua +++ b/lua/config/material.lua @@ -14,41 +14,41 @@ limitations under the License. ]] -require('material').setup({ +require("material").setup({ contrast = { - sidebars = false, -- Enable contrast for sidebar-like windows ( for example Nvim-Tree ) - floating_windows = false, -- Enable contrast for floating windows - line_numbers = false, -- Enable contrast background for line numbers - sign_column = false, -- Enable contrast background for the sign column - cursor_line = false, -- Enable darker background for the cursor line + sidebars = false, -- Enable contrast for sidebar-like windows ( for example Nvim-Tree ) + floating_windows = false, -- Enable contrast for floating windows + line_numbers = false, -- Enable contrast background for line numbers + sign_column = false, -- Enable contrast background for the sign column + cursor_line = false, -- Enable darker background for the cursor line non_current_windows = false, -- Enable darker background for non-current windows - popup_menu = false, -- Enable lighter background for the popup menu + popup_menu = false, -- Enable lighter background for the popup menu }, italics = { - comments = false, -- Enable italic comments - keywords = false, -- Enable italic keywords + comments = false, -- Enable italic comments + keywords = false, -- Enable italic keywords functions = false, -- Enable italic functions - strings = false, -- Enable italic strings - variables = false -- Enable italic variables + strings = false, -- Enable italic strings + variables = false, -- Enable italic variables }, contrast_filetypes = { -- Specify which filetypes get the contrasted (darker) background - "terminal", -- Darker terminal background - "packer", -- Darker packer background - "qf" -- Darker qf list background + "terminal", -- Darker terminal background + "packer", -- Darker packer background + "qf", -- Darker qf list background }, high_visibility = { lighter = false, -- Enable higher contrast text for lighter style - darker = false -- Enable higher contrast text for darker style + darker = false, -- Enable higher contrast text for darker style }, disable = { - borders = false, -- Disable borders between verticaly split windows - background = false, -- Prevent the theme from setting the background (NeoVim then uses your teminal background) - term_colors = false, -- Prevent the theme from setting terminal colors - eob_lines = false -- Hide the end-of-buffer lines + borders = false, -- Disable borders between verticaly split windows + background = false, -- Prevent the theme from setting the background (NeoVim then uses your teminal background) + term_colors = false, -- Prevent the theme from setting terminal colors + eob_lines = false, -- Hide the end-of-buffer lines }, lualine_style = "default", -- Lualine style ( can be 'stealth' or 'default' ) - async_loading = true, -- Load parts of the theme asyncronously for faster startup (turned on by default) - custom_highlights = {} -- Overwrite highlights with your own + async_loading = true, -- Load parts of the theme asyncronously for faster startup (turned on by default) + custom_highlights = {}, -- Overwrite highlights with your own }) vim.g.material_style = "deep ocean" vim.fn.execute("colorscheme material") diff --git a/lua/config/nightfox.lua b/lua/config/nightfox.lua index db99832..211b33f 100644 --- a/lua/config/nightfox.lua +++ b/lua/config/nightfox.lua @@ -14,16 +14,16 @@ limitations under the License. ]] -require('nightfox').setup({ +require("nightfox").setup({ options = { -- Compiled file's destination location compile_path = vim.fn.stdpath("cache") .. "/nightfox", compile_file_suffix = "_compiled", -- Compiled file suffix - transparent = false, -- Disable setting background - terminal_colors = true, -- Set terminal colors (vim.g.terminal_color_*) used in `:terminal` - dim_inactive = false, -- Non focused panes set to alternative background - styles = { -- Style to be applied to different syntax groups - comments = "NONE", -- Value is any valid attr-list value `:help attr-list` + transparent = false, -- Disable setting background + terminal_colors = true, -- Set terminal colors (vim.g.terminal_color_*) used in `:terminal` + dim_inactive = false, -- Non focused panes set to alternative background + styles = { -- Style to be applied to different syntax groups + comments = "NONE", -- Value is any valid attr-list value `:help attr-list` functions = "NONE", keywords = "NONE", numbers = "NONE", @@ -31,16 +31,16 @@ require('nightfox').setup({ types = "NONE", variables = "NONE", }, - inverse = { -- Inverse highlight for different types + inverse = { -- Inverse highlight for different types match_paren = false, visual = false, search = false, }, - modules = { -- List of various plugins and additional options + modules = { -- List of various plugins and additional options cmp = true, diagnostic = { enable = true, - background = true + background = true, }, gitsigns = true, native_lsp = true, @@ -54,14 +54,14 @@ require('nightfox').setup({ -- By default nightfox links some groups together. `CursorColumn` is one of these groups. When overriding -- Make sure `link` is cleared to `""` so that the link will be removed. -- see https://github.com/EdenEast/nightfox.nvim/blob/main/lua/nightfox/group/editor.lua - Normal = { bg = "palette.bg0", link = "" }, - NormalNC = { bg = "palette.bg0", link = "" }, - NormalFloat = { bg = "palette.bg1", link = "" }, - CursorLine = { bg = "palette.bg1", link = "" }, - StatusLine = { bg = "palette.bg1", link = "" }, - StatusLineNC = { bg = "palette.bg1", link = "" } - } - } + Normal = { bg = "palette.bg0", link = "", }, + NormalNC = { bg = "palette.bg0", link = "", }, + NormalFloat = { bg = "palette.bg1", link = "", }, + CursorLine = { bg = "palette.bg1", link = "", }, + StatusLine = { bg = "palette.bg1", link = "", }, + StatusLineNC = { bg = "palette.bg1", link = "", }, + }, + }, }) vim.cmd("colorscheme nightfox") diff --git a/lua/config/nightfox_lualine_custom.lua b/lua/config/nightfox_lualine_custom.lua index 1f0e316..549d029 100644 --- a/lua/config/nightfox_lualine_custom.lua +++ b/lua/config/nightfox_lualine_custom.lua @@ -22,26 +22,26 @@ local bg = Color.from_hex(spec.bg1) local fg = spec.fg2 local function generate_mode(color, amount) - amount = amount or 0.3 - local fade = bg:blend(Color.from_hex(color), amount):to_css() - local b = bg:to_css() - local f = fg + amount = amount or 0.3 + local fade = bg:blend(Color.from_hex(color), amount):to_css() + local b = bg:to_css() + local f = fg - return { - a = { bg = color, fg = b }, - b = { bg = fade, fg = f }, - c = { bg = b, fg = f }, - } + return { + a = { bg = color, fg = b, }, + b = { bg = fade, fg = f, }, + c = { bg = b, fg = f, }, + } end -- stylua: ignore -local nightfox = { - normal = generate_mode(pal.blue.base), - insert = generate_mode(pal.green.base), - command = generate_mode(pal.yellow.base), - visual = generate_mode(pal.magenta.base), - replace = generate_mode(pal.red.base), - inactive = generate_mode(spec.fg3), +local nightfox = { + normal = generate_mode(pal.blue.base), + insert = generate_mode(pal.green.base), + command = generate_mode(pal.yellow.base), + visual = generate_mode(pal.magenta.base), + replace = generate_mode(pal.red.base), + inactive = generate_mode(spec.fg3), } return nightfox diff --git a/lua/config/nord.lua b/lua/config/nord.lua index 4a1cd87..0ec13d2 100644 --- a/lua/config/nord.lua +++ b/lua/config/nord.lua @@ -19,4 +19,4 @@ vim.g.nord_borders = false vim.g.nord_disable_background = false vim.g.nord_italic = false -require('nord').set() +require("nord").set() diff --git a/lua/config/nvim-autopairs.lua b/lua/config/nvim-autopairs.lua index 98cba42..d295a80 100644 --- a/lua/config/nvim-autopairs.lua +++ b/lua/config/nvim-autopairs.lua @@ -14,22 +14,21 @@ limitations under the License. ]] -require('nvim-autopairs').setup({ - disable_filetype = { "TelescopePrompt" }, - disable_in_macro = false, -- disable when recording or executing a macro +require("nvim-autopairs").setup({ + disable_filetype = { "TelescopePrompt", }, + disable_in_macro = false, -- disable when recording or executing a macro disable_in_visualblock = false, -- disable when insert after visual block mode ignored_next_char = [=[[%w%%%'%[%"%.]]=], enable_moveright = true, - enable_afterquote = true, -- add bracket pairs after quote - enable_check_bracket_line = true, --- check bracket in same line - enable_bracket_in_quote = true, -- - enable_abbr = false, -- trigger abbreviation - break_undo = true, -- switch for basic rule break undo sequence + enable_afterquote = true, -- add bracket pairs after quote + enable_check_bracket_line = true, --- check bracket in same line + enable_bracket_in_quote = true, -- + enable_abbr = false, -- trigger abbreviation + break_undo = true, -- switch for basic rule break undo sequence check_ts = false, map_cr = true, - map_bs = true, -- map the key - map_c_h = false, -- Map the key to delete a pair + map_bs = true, -- map the key + map_c_h = false, -- Map the key to delete a pair map_c_w = false, -- map to delete a pair if possible }) -- cmp_autopairs.lisp[#cmp_autopairs.lisp+1] = "racket" - diff --git a/lua/config/nvim-cmp.lua b/lua/config/nvim-cmp.lua index 951a590..2e3abf3 100644 --- a/lua/config/nvim-cmp.lua +++ b/lua/config/nvim-cmp.lua @@ -14,44 +14,44 @@ limitations under the License. ]] -local has_words_before = function() +local has_words_before = function () unpack = unpack or table.unpack local line, col = unpack(vim.api.nvim_win_get_cursor(0)) return col ~= 0 and vim.api.nvim_buf_get_lines(0, line - 1, line, true)[1]:sub(col, col):match("%s") == nil end -local cmp = require('cmp') -local luasnip = require('luasnip') -local lspkind = require('lspkind') +local cmp = require("cmp") +local luasnip = require("luasnip") +local lspkind = require("lspkind") cmp.setup({ - enabled = function() + enabled = function () -- disable completion in comments - local context = require 'cmp.config.context' + local context = require "cmp.config.context" -- keep command mode completion enabled when cursor is in a comment - if vim.api.nvim_get_mode().mode == 'c' then + if vim.api.nvim_get_mode().mode == "c" then return true else - return not context.in_treesitter_capture('comment') and - not context.in_syntax_group('Comment') + return not context.in_treesitter_capture("comment") and + not context.in_syntax_group("Comment") end end, - completion = { keyword_length = 3 }, + completion = { keyword_length = 3, }, snippet = { - expand = function(args) + expand = function (args) -- vim.fn["vsnip#anonymous"](args.body) -- For `vsnip` users. luasnip.lsp_expand(args.body) -- For `luasnip` users. -- require('snippy').expand_snippet(args.body) -- For `snippy` users. -- vim.fn["UltiSnips#Anon"](args.body) -- For `ultisnips` users. - end + end, }, formatting = { - format = function(entry, vim_item) + format = function (entry, vim_item) vim_item = lspkind.cmp_format({ - mode = 'text', -- show only symbol annotations - maxwidth = 50, -- prevent the popup from showing more than provided characters (e.g 50 will not show more than 50 characters) + mode = "text", -- show only symbol annotations + maxwidth = 50, -- prevent the popup from showing more than provided characters (e.g 50 will not show more than 50 characters) ellipsis_char = - '...' -- when popup menu exceed maxwidth, the truncated part would show ellipsis_char instead (must define maxwidth first) + "...", -- when popup menu exceed maxwidth, the truncated part would show ellipsis_char instead (must define maxwidth first) -- The function below will be called before any actual modifications from lspkind -- so that you can provide more controls on popup customization. (See [#30](https://github.com/onsails/lspkind-nvim/pull/30)) @@ -64,30 +64,30 @@ cmp.setup({ vim_item.dup = 0 return vim_item - end + end, }, - experimental = { ghost_text = true }, + experimental = { ghost_text = true, }, mapping = { - [''] = cmp.mapping.select_prev_item(), - [''] = cmp.mapping.select_next_item(), - [''] = cmp.mapping.scroll_docs(-4), - [''] = cmp.mapping.scroll_docs(4), - [''] = cmp.mapping.complete(), - [''] = cmp.mapping.close(), - [''] = cmp.mapping( - function(fallback) + [""] = cmp.mapping.select_prev_item(), + [""] = cmp.mapping.select_next_item(), + [""] = cmp.mapping.scroll_docs(-4), + [""] = cmp.mapping.scroll_docs(4), + [""] = cmp.mapping.complete(), + [""] = cmp.mapping.close(), + [""] = cmp.mapping( + function (fallback) if cmp.visible() then cmp.confirm( { behavior = cmp.ConfirmBehavior.Replace, - select = true + select = true, } ) -- vim.api.nvim_feedkeys('(', 'i', true) else fallback() end - end, { 'i', 's' } + end, { "i", "s", } ), -- [''] = cmp.mapping( -- function(fallback) @@ -112,8 +112,8 @@ cmp.setup({ -- end -- end, { 'i', 's' } -- ), - [''] = cmp.mapping( - function(fallback) + [""] = cmp.mapping( + function (fallback) if cmp.visible() then cmp.select_next_item() -- You could replace the expand_or_jumpable() calls within expand_or_locally_jumpable() @@ -125,11 +125,11 @@ cmp.setup({ else fallback() end - end, { 'i', 's' } + end, { "i", "s", } ), - [''] = cmp.mapping( - function(fallback) + [""] = cmp.mapping( + function (fallback) if cmp.visible() then cmp.select_prev_item() elseif luasnip.jumpable(-1) then @@ -137,20 +137,20 @@ cmp.setup({ else fallback() end - end, { 'i', 's' } - ) + end, { "i", "s", } + ), }, sources = { -- { name = 'buffer' }, - { name = 'path' }, - { name = 'nvim_lsp' }, + { name = "path", }, + { name = "nvim_lsp", }, -- { name = 'nvim_lsp_signature_help' }, -- { name = 'nvim_lua' }, -- { name = 'vsnip' }, -- For vsnip users. - { name = 'luasnip' } -- For luasnip users. + { name = "luasnip", }, -- For luasnip users. -- { name = 'ultisnips' }, -- For ultisnips users. -- { name = 'snippy' }, -- For snippy users. - } + }, }) -- see https://github.com/hrsh7th/nvim-cmp/wiki/Menu-Appearance#how-to-add-visual-studio-code-dark-theme-colors-to-the-menu -- -- gray @@ -171,26 +171,26 @@ cmp.setup({ -- vim.fn.execute("highlight! CmpItemKindUnit guibg=NONE guifg=#D4D4D4") cmp.setup.cmdline( - '/', + "/", { mapping = cmp.mapping.preset.cmdline(), - sources = { { name = 'buffer' } } + sources = { { name = "buffer", }, }, } ) cmp.setup.cmdline( - ':', + ":", { mapping = cmp.mapping.preset.cmdline(), sources = cmp.config.sources( - { { name = 'path' } }, - { { name = 'cmdline', option = { ignore_cmds = { 'Man', '!' } } } } - ) + { { name = "path", }, }, + { { name = "cmdline", option = { ignore_cmds = { "Man", "!", }, }, }, } + ), } ) -local cmp_autopairs = require('nvim-autopairs.completion.cmp') +local cmp_autopairs = require("nvim-autopairs.completion.cmp") cmp.event:on( - 'confirm_done', + "confirm_done", cmp_autopairs.on_confirm_done() ) diff --git a/lua/config/nvim-comment.lua b/lua/config/nvim-comment.lua index 3d5dbbb..b0a29ff 100644 --- a/lua/config/nvim-comment.lua +++ b/lua/config/nvim-comment.lua @@ -14,7 +14,7 @@ limitations under the License. ]] -require('nvim_comment').setup({ +require("nvim_comment").setup({ -- Linters prefer comment and line to have a space in between markers marker_padding = true, -- should comment out empty or whitespace only lines @@ -26,8 +26,7 @@ require('nvim_comment').setup({ -- Visual/Operator mapping left hand side -- operator_mapping = "c", -- Hook function to call before commenting takes place - hook = nil + hook = nil, }) -vim.keymap.set('n', 'c', ':CommentToggle') -vim.keymap.set('v', 'c', ":'<, '>CommentToggle") - +vim.keymap.set("n", "c", ":CommentToggle") +vim.keymap.set("v", "c", ":'<, '>CommentToggle") diff --git a/lua/config/nvim-dap-ui.lua b/lua/config/nvim-dap-ui.lua index c07e488..ed9a3df 100644 --- a/lua/config/nvim-dap-ui.lua +++ b/lua/config/nvim-dap-ui.lua @@ -15,43 +15,43 @@ ]] require("dapui").setup({ - icons = { expanded = "▾", collapsed = "▸" }, - mappings = { - -- Use a table to apply multiple mappings - expand = { "", "<2-LeftMouse>" }, - open = "o", - remove = "d", - edit = "e", - repl = "r", - toggle = "t", - }, - layouts = { - { - elements = { - 'scopes', - 'breakpoints', - 'stacks', - 'watches', - }, - size = 40, - position = 'left', - }, - { - elements = { - 'repl', - 'console', - }, - size = 10, - position = 'bottom', - }, - }, - floating = { - max_height = nil, -- These can be integers or a float between 0 and 1. - max_width = nil, -- Floats will be treated as percentage of your screen. - border = "single", -- Border style. Can be "single", "double" or "rounded" + icons = { expanded = "▾", collapsed = "▸", }, mappings = { - close = { "q", "" }, + -- Use a table to apply multiple mappings + expand = { "", "<2-LeftMouse>", }, + open = "o", + remove = "d", + edit = "e", + repl = "r", + toggle = "t", }, - }, - windows = { indent = 1 }, + layouts = { + { + elements = { + "scopes", + "breakpoints", + "stacks", + "watches", + }, + size = 40, + position = "left", + }, + { + elements = { + "repl", + "console", + }, + size = 10, + position = "bottom", + }, + }, + floating = { + max_height = nil, -- These can be integers or a float between 0 and 1. + max_width = nil, -- Floats will be treated as percentage of your screen. + border = "single", -- Border style. Can be "single", "double" or "rounded" + mappings = { + close = { "q", "", }, + }, + }, + windows = { indent = 1, }, }) diff --git a/lua/config/nvim-dap.lua b/lua/config/nvim-dap.lua index e9fc8f6..30ef6e4 100644 --- a/lua/config/nvim-dap.lua +++ b/lua/config/nvim-dap.lua @@ -26,7 +26,7 @@ vim.fn.execute("nnoremap db :lua require'dap'.toggle_breakpoint vim.fn.execute("nnoremap dr :lua require'dap'.repl.open()") -- vim.fn.execute("nnoremap dl :lua require'dap'.run_last()") -local utils = require('utils') +local utils = require("utils") M = {} @@ -34,14 +34,14 @@ local env_ok = false local dap = nil local function check_env() - local debugpy = utils.exec('python -m debugpy --version') - assert(debugpy.rc == 0, 'Python module debugpy is required') + local debugpy = utils.exec("python -m debugpy --version") + assert(debugpy.rc == 0, "Python module debugpy is required") env_ok = true end local function load_dap() - local ok, p = pcall(require, 'dap') - assert(ok, 'nvim-dap is required') + local ok, p = pcall(require, "dap") + assert(ok, "nvim-dap is required") return p end @@ -52,44 +52,44 @@ local function start(config) if not dap then dap = load_dap() dap.adapters.python = { - type = 'executable'; - command = 'python'; - args = { '-m', 'debugpy.adapter' }; - cwd = vim.fn.getcwd(); + type = "executable", + command = "python", + args = { "-m", "debugpy.adapter", }, + cwd = vim.fn.getcwd(), } end dap.run(config) -- List of events described at https://microsoft.github.io/debug-adapter-protocol/specification#Events -- Also see :h dap-extensions - dap.listeners.after['event_initialized']['nvim-dap.lua'] = function() - dap.set_exception_breakpoints({ 'userUnhandled' }) + dap.listeners.after["event_initialized"]["nvim-dap.lua"] = function () + dap.set_exception_breakpoints({ "userUnhandled", }) end end function M.launch(args) - assert(type(args) == 'table', 'Args not specified or of wrong type') + assert(type(args) == "table", "Args not specified or of wrong type") local config = { - name = 'Launch file', - type = 'python', - request = 'launch', - program = "${file}"; + name = "Launch file", + type = "python", + request = "launch", + program = "${file}", -- python = 'python'; -- program = vim.fn.getcwd() .. '/.venv/bin/pytest'; console = "integratedTerminal", - args = args + args = args, } start(config) end function M.pytest(args) - assert(type(args) == 'table', 'Args not specified or of wrong type') + assert(type(args) == "table", "Args not specified or of wrong type") local config = { - name = 'pytest ' .. table.concat(args, ' '), - type = 'python', - request = 'launch', + name = "pytest " .. table.concat(args, " "), + type = "python", + request = "launch", -- pythonPath = vim.fn.getcwd() .. '/.venv/bin/python', - module = 'pytest', + module = "pytest", -- python = 'python'; -- program = vim.fn.getcwd() .. '/.venv/bin/pytest'; args = args, diff --git a/lua/config/nvim-tree.lua b/lua/config/nvim-tree.lua index d597321..140b30c 100644 --- a/lua/config/nvim-tree.lua +++ b/lua/config/nvim-tree.lua @@ -14,7 +14,7 @@ limitations under the License. ]] -local nvim_tree = require('nvim-tree') +local nvim_tree = require("nvim-tree") nvim_tree.setup({ auto_reload_on_write = true, @@ -121,7 +121,7 @@ nvim_tree.setup({ }, }, }, - special_files = { "Cargo.toml", "Makefile", "README.md", "readme.md" }, + special_files = { "Cargo.toml", "Makefile", "README.md", "readme.md", }, symlink_destination = true, }, hijack_directories = { @@ -132,7 +132,7 @@ nvim_tree.setup({ enable = true, update_root = true, ignore_list = { - 'help' + "help", }, }, -- ignore_ft_on_setup = {}, @@ -193,8 +193,8 @@ nvim_tree.setup({ enable = true, chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890", exclude = { - filetype = { "notify", "packer", "qf", "diff", "fugitive", "fugitiveblame" }, - buftype = { "nofile", "terminal", "help" }, + filetype = { "notify", "packer", "qf", "diff", "fugitive", "fugitiveblame", }, + buftype = { "nofile", "terminal", "help", }, }, }, }, @@ -226,5 +226,5 @@ nvim_tree.setup({ }, }) -local opts = { remap = false, silent = true } -vim.keymap.set('n', "tt", function() nvim_tree.toggle(false, true) end, opts) +local opts = { remap = false, silent = true, } +vim.keymap.set("n", "tt", function () nvim_tree.toggle(false, true) end, opts) diff --git a/lua/config/nvim-treesitter.lua b/lua/config/nvim-treesitter.lua index 3c04e20..413c5dd 100644 --- a/lua/config/nvim-treesitter.lua +++ b/lua/config/nvim-treesitter.lua @@ -14,7 +14,7 @@ limitations under the License. ]] -require('nvim-treesitter.configs').setup({ +require("nvim-treesitter.configs").setup({ -- One of "all", "maintained" (parsers with maintainers), or a list of languages ensure_installed = { "bash", @@ -40,21 +40,21 @@ require('nvim-treesitter.configs').setup({ }, indent = { - enable = true + enable = true, }, -- Install languages synchronously (only applied to `ensure_installed`) sync_install = false, -- List of parsers to ignore installing - ignore_install = { }, + ignore_install = {}, highlight = { -- `false` will disable the whole extension enable = true, -- list of language that will be disabled - disable = { }, + disable = {}, -- Setting this to true will run `:h syntax` and tree-sitter at the same time. -- Set this to `true` if you depend on 'syntax' being enabled (like for indentation). diff --git a/lua/config/onedark.lua b/lua/config/onedark.lua index 8c2cb1b..5cf56d3 100644 --- a/lua/config/onedark.lua +++ b/lua/config/onedark.lua @@ -14,36 +14,36 @@ limitations under the License. ]] -require('onedark').setup { +require("onedark").setup { -- Main options -- - style = 'darker', -- Default theme style. Choose between 'dark', 'darker', 'cool', 'deep', 'warm', 'warmer' and 'light' - transparent = false, -- Show/hide background - term_colors = true, -- Change terminal color as per the selected theme style - ending_tildes = true, -- Show the end-of-buffer tildes. By default they are hidden + style = "darker", -- Default theme style. Choose between 'dark', 'darker', 'cool', 'deep', 'warm', 'warmer' and 'light' + transparent = false, -- Show/hide background + term_colors = true, -- Change terminal color as per the selected theme style + ending_tildes = true, -- Show the end-of-buffer tildes. By default they are hidden -- toggle theme style --- - toggle_style_key = 'ts', -- Default keybinding to toggle - toggle_style_list = {'dark', 'darker', 'cool', 'deep', 'warm', 'warmer', 'light'}, -- List of styles to toggle between + toggle_style_key = "ts", -- Default keybinding to toggle + toggle_style_list = { "dark", "darker", "cool", "deep", "warm", "warmer", "light", }, -- List of styles to toggle between -- Change code style --- -- Options are italic, bold, underline, none -- You can configure multiple style with comma seperated, For e.g., keywords = 'italic,bold' code_style = { - comments = 'italic', - keywords = 'none', - functions = 'none', - strings = 'none', - variables = 'none' + comments = "italic", + keywords = "none", + functions = "none", + strings = "none", + variables = "none", }, -- Custom Highlights -- - colors = {}, -- Override default colors + colors = {}, -- Override default colors highlights = {}, -- Override highlight groups -- Plugins Config -- diagnostics = { - darker = true, -- darker colors for diagnostic - undercurl = true, -- use undercurl instead of underline for diagnostics - background = true, -- use background color for virtual text + darker = true, -- darker colors for diagnostic + undercurl = true, -- use undercurl instead of underline for diagnostics + background = true, -- use background color for virtual text }, } -require('onedark').load() +require("onedark").load() diff --git a/lua/config/symbols-outline.lua b/lua/config/symbols-outline.lua index 8b40fb4..8ae6be5 100644 --- a/lua/config/symbols-outline.lua +++ b/lua/config/symbols-outline.lua @@ -18,16 +18,16 @@ vim.g.symbols_outline = { highlight_hovered_item = true, show_guides = true, auto_preview = true, - position = 'left', + position = "left", relative_width = true, width = 25, auto_close = false, show_numbers = true, show_relative_numbers = true, show_symbol_details = true, - preview_bg_highlight = 'Pmenu', + preview_bg_highlight = "Pmenu", keymaps = { -- These keymaps can be a string or a table for multiple keys - close = {"", "q"}, + close = { "", "q", }, goto_location = "", focus_location = "o", hover_symbol = "", @@ -38,32 +38,32 @@ vim.g.symbols_outline = { lsp_blacklist = {}, symbol_blacklist = {}, symbols = { - File = {icon = "", hl = "TSURI"}, - Module = {icon = "", hl = "TSNamespace"}, - Namespace = {icon = "", hl = "TSNamespace"}, - Package = {icon = "", hl = "TSNamespace"}, - Class = {icon = "𝓒", hl = "TSType"}, - Method = {icon = "ƒ", hl = "TSMethod"}, - Property = {icon = "", hl = "TSMethod"}, - Field = {icon = "", hl = "TSField"}, - Constructor = {icon = "", hl = "TSConstructor"}, - Enum = {icon = "ℰ", hl = "TSType"}, - Interface = {icon = "ﰮ", hl = "TSType"}, - Function = {icon = "", hl = "TSFunction"}, - Variable = {icon = "", hl = "TSConstant"}, - Constant = {icon = "", hl = "TSConstant"}, - String = {icon = "𝓐", hl = "TSString"}, - Number = {icon = "#", hl = "TSNumber"}, - Boolean = {icon = "⊨", hl = "TSBoolean"}, - Array = {icon = "", hl = "TSConstant"}, - Object = {icon = "⦿", hl = "TSType"}, - Key = {icon = "🔐", hl = "TSType"}, - Null = {icon = "NULL", hl = "TSType"}, - EnumMember = {icon = "", hl = "TSField"}, - Struct = {icon = "𝓢", hl = "TSType"}, - Event = {icon = "🗲", hl = "TSType"}, - Operator = {icon = "+", hl = "TSOperator"}, - TypeParameter = {icon = "𝙏", hl = "TSParameter"} - } + File = { icon = "", hl = "TSURI", }, + Module = { icon = "", hl = "TSNamespace", }, + Namespace = { icon = "", hl = "TSNamespace", }, + Package = { icon = "", hl = "TSNamespace", }, + Class = { icon = "𝓒", hl = "TSType", }, + Method = { icon = "ƒ", hl = "TSMethod", }, + Property = { icon = "", hl = "TSMethod", }, + Field = { icon = "", hl = "TSField", }, + Constructor = { icon = "", hl = "TSConstructor", }, + Enum = { icon = "ℰ", hl = "TSType", }, + Interface = { icon = "ﰮ", hl = "TSType", }, + Function = { icon = "", hl = "TSFunction", }, + Variable = { icon = "", hl = "TSConstant", }, + Constant = { icon = "", hl = "TSConstant", }, + String = { icon = "𝓐", hl = "TSString", }, + Number = { icon = "#", hl = "TSNumber", }, + Boolean = { icon = "⊨", hl = "TSBoolean", }, + Array = { icon = "", hl = "TSConstant", }, + Object = { icon = "⦿", hl = "TSType", }, + Key = { icon = "🔐", hl = "TSType", }, + Null = { icon = "NULL", hl = "TSType", }, + EnumMember = { icon = "", hl = "TSField", }, + Struct = { icon = "𝓢", hl = "TSType", }, + Event = { icon = "🗲", hl = "TSType", }, + Operator = { icon = "+", hl = "TSOperator", }, + TypeParameter = { icon = "𝙏", hl = "TSParameter", }, + }, } -vim.api.nvim_set_keymap('n', 'o', ':SymbolsOutlineOpen', { noremap = true, silent = true }) +vim.api.nvim_set_keymap("n", "o", ":SymbolsOutlineOpen", { noremap = true, silent = true, }) diff --git a/lua/config/telescope.lua b/lua/config/telescope.lua index 6f739e3..1f64036 100644 --- a/lua/config/telescope.lua +++ b/lua/config/telescope.lua @@ -14,25 +14,25 @@ limitations under the License. ]] -local builtin = require('telescope.builtin') +local builtin = require("telescope.builtin") vim.keymap.set( - 'n', 'ff', function() builtin.find_files({ hidden = true }) end, - { remap = false } + "n", "ff", function () builtin.find_files({ hidden = true, }) end, + { remap = false, } ) vim.keymap.set( - 'n', 'fr', function() builtin.oldfiles({ hidden = true }) end, - { remap = false } + "n", "fr", function () builtin.oldfiles({ hidden = true, }) end, + { remap = false, } ) vim.keymap.set( - 'n', 'fg', function() + "n", "fg", function () builtin.live_grep( - { additional_args = function(_) return { '--hidden' } end } + { additional_args = function (_) return { "--hidden", } end, } ) - end, { remap = false } + end, { remap = false, } ) vim.keymap.set( - 'n', 'fb', function() builtin.buffers() end, { remap = false } + "n", "fb", function () builtin.buffers() end, { remap = false, } ) --[[ local telescope = require('telescope') diff --git a/lua/config/tokyonight.lua b/lua/config/tokyonight.lua index 6f693bb..c39c2dd 100644 --- a/lua/config/tokyonight.lua +++ b/lua/config/tokyonight.lua @@ -18,7 +18,7 @@ vim.g.tokyonight_style = "night" vim.g.tokyonight_terminal_colors = true vim.g.tokyonight_italic_comments = true vim.g.tokyonight_italic_keywords = true -vim.g.tokyonight_sidebars = {'packer', 'terminal'} +vim.g.tokyonight_sidebars = { "packer", "terminal", } vim.g.tokyonight_dark_sidebar = true vim.g.tokyonight_dark_float = true vim.g.tokyonight_lualine_bold = true diff --git a/lua/config/ultisnips.lua b/lua/config/ultisnips.lua index 0fe1d8c..de2ea12 100644 --- a/lua/config/ultisnips.lua +++ b/lua/config/ultisnips.lua @@ -20,8 +20,8 @@ -- vim.g.UltiSnipsExpandTrigger="" -- vim.g.UltiSnipsJumpForwardTrigger="" -- vim.g.UltiSnipsJumpBackwardTrigger="" -vim.g.UltiSnipsExpandTrigger = '(ultisnips_expand)' -vim.g.UltiSnipsJumpForwardTrigger = '(ultisnips_jump_forward)' -vim.g.UltiSnipsJumpBackwardTrigger = '(ultisnips_jump_backward)' -vim.g.UltiSnipsListSnippets = '' +vim.g.UltiSnipsExpandTrigger = "(ultisnips_expand)" +vim.g.UltiSnipsJumpForwardTrigger = "(ultisnips_jump_forward)" +vim.g.UltiSnipsJumpBackwardTrigger = "(ultisnips_jump_backward)" +vim.g.UltiSnipsListSnippets = "" vim.g.UltiSnipsRemoveSelectModeMappings = 0 diff --git a/lua/config/vista.lua b/lua/config/vista.lua index 0ff4240..b60cb82 100644 --- a/lua/config/vista.lua +++ b/lua/config/vista.lua @@ -14,8 +14,7 @@ limitations under the License. ]] -vim.g.vista_sidebar_position = 'vertical topleft' - -vim.g.vista_icon_indent = { "╰─▸ ", "├─▸ " } -vim.g.vista_default_executive = 'nvim_lsp' +vim.g.vista_sidebar_position = "vertical topleft" +vim.g.vista_icon_indent = { "╰─▸ ", "├─▸ ", } +vim.g.vista_default_executive = "nvim_lsp" diff --git a/lua/config/vscode.lua b/lua/config/vscode.lua index 3944c3c..4fe66ed 100644 --- a/lua/config/vscode.lua +++ b/lua/config/vscode.lua @@ -24,8 +24,8 @@ -- vim.fn.execute("colorscheme vscode") -- local c = require('vscode.colors') -require('vscode').setup({ - style = 'dark', +require("vscode").setup({ + style = "dark", -- Enable transparent background transparent = false, @@ -46,7 +46,7 @@ require('vscode').setup({ -- this supports the same val table as vim.api.nvim_set_hl -- use colors from this colorscheme by requiring vscode.colors! -- Cursor = { fg=c.vscDarkBlue, bg=c.vscLightGreen, bold=true }, - } + }, }) -require('vscode').load() \ No newline at end of file +require("vscode").load() diff --git a/lua/config/winresizer.lua b/lua/config/winresizer.lua index 5b4f369..d862d91 100644 --- a/lua/config/winresizer.lua +++ b/lua/config/winresizer.lua @@ -18,5 +18,5 @@ vim.g.winresizer_vert_resize = "5" vim.g.winresizer_horiz_resize = "5" vim.g.winresizer_start_key = "" -local opts = { remap = false, silent = true } -vim.keymap.set('n', "r", ":WinResizerStartResize", opts) +local opts = { remap = false, silent = true, } +vim.keymap.set("n", "r", ":WinResizerStartResize", opts) diff --git a/lua/config/winshift.lua b/lua/config/winshift.lua index 3878276..f99d8a7 100644 --- a/lua/config/winshift.lua +++ b/lua/config/winshift.lua @@ -14,4 +14,4 @@ limitations under the License. ]] -vim.keymap.set('n', 'm', ':WinShift', { remap = false }) +vim.keymap.set("n", "m", ":WinShift", { remap = false, }) diff --git a/lua/core/autocommands.lua b/lua/core/autocommands.lua index d5db3aa..515651d 100644 --- a/lua/core/autocommands.lua +++ b/lua/core/autocommands.lua @@ -18,11 +18,11 @@ local function term_close() -- Split previous buffer, switching to it vim.fn.execute("split " .. vim.fn.expand("#")) -- Close previous window (terminal) - vim.fn.execute(vim.fn.winnr("#") .. "wincmd q") + vim.fn.execute(vim.fn.winnr("#") .. "wincmd q") end vim.api.nvim_create_autocmd("TermClose", { pattern = "term://*", - callback = term_close + callback = term_close, }) local function my_hl() @@ -47,19 +47,19 @@ local function my_hl() -- highlight semshiErrorChar ctermfg=231 guifg=#ffffff ctermbg=160 guibg=#d70000 -- sign define semshiError text=E> texthl=semshiErrorSign end -vim.api.nvim_create_augroup("my_colors", { clear = true }) +vim.api.nvim_create_augroup("my_colors", { clear = true, }) vim.api.nvim_create_autocmd("ColorScheme", { pattern = "*", callback = my_hl, - group = "my_colors" + group = "my_colors", }) vim.api.nvim_create_autocmd("FileType", { pattern = "go", - callback = function() + callback = function () vim.opt_local.tabstop = 4 vim.opt_local.expandtab = false - vim.opt_local.listchars = 'tab:▏ ' + vim.opt_local.listchars = "tab:▏ " vim.opt_local.list = true - end + end, }) diff --git a/lua/core/globals.lua b/lua/core/globals.lua index 57b572a..325d184 100644 --- a/lua/core/globals.lua +++ b/lua/core/globals.lua @@ -14,15 +14,15 @@ limitations under the License. ]] -vim.g.is_win = vim.fn.has('win32') == 1 or vim.fn.has('win64') == 1 -vim.g.is_linux = vim.fn.has('unix') == 1 and vim.fn.has('win64') ~= 1 -vim.g.is_mac = vim.fn.has('macunix') == 1 +vim.g.is_win = vim.fn.has("win32") == 1 or vim.fn.has("win64") == 1 +vim.g.is_linux = vim.fn.has("unix") == 1 and vim.fn.has("win64") ~= 1 +vim.g.is_mac = vim.fn.has("macunix") == 1 -if vim.fn.executable('python3') then +if vim.fn.executable("python3") then if vim.g.is_win then - vim.g.python3_host_prog=string.gsub(vim.fn.exepath('python3'), '.exe$', '') + vim.g.python3_host_prog = string.gsub(vim.fn.exepath("python3"), ".exe$", "") elseif vim.g.is_linux or vim.g.is_mac then - vim.g.python3_host_prog=vim.fn.exepath('python3') + vim.g.python3_host_prog = vim.fn.exepath("python3") end else error("Python 3 executable not found! You must install Python 3 and set its PATH correctly!") diff --git a/lua/core/mappings.lua b/lua/core/mappings.lua index b5502ba..bb2b3aa 100644 --- a/lua/core/mappings.lua +++ b/lua/core/mappings.lua @@ -14,67 +14,67 @@ limitations under the License. ]] -local opts = { remap = false, silent = true } -local opts_expr = { remap = false, silent = true, expr = true } +local opts = { remap = false, silent = true, } +local opts_expr = { remap = false, silent = true, expr = true, } --- Tab mappings --- -- vim.keymap.set('n', "tn", ":tabnew NvimTreeOpen", opts) -vim.keymap.set('n', "tn", ":tabnew", opts) -vim.keymap.set('n', "tq", ":tabclose", opts) +vim.keymap.set("n", "tn", ":tabnew", opts) +vim.keymap.set("n", "tq", ":tabclose", opts) -- switch tabs with Ctrl+PgUp/Ctrl+PgDwn (default vim mapping) --- Window mappings --- -vim.keymap.set('n', "", ":wincmd h", opts) -vim.keymap.set('n', "", ":wincmd j", opts) -vim.keymap.set('n', "", ":wincmd k", opts) -vim.keymap.set('n', "", ":wincmd l", opts) +vim.keymap.set("n", "", ":wincmd h", opts) +vim.keymap.set("n", "", ":wincmd j", opts) +vim.keymap.set("n", "", ":wincmd k", opts) +vim.keymap.set("n", "", ":wincmd l", opts) -- Open new window in horizontal split -vim.keymap.set('n', "h", ":new", opts) +vim.keymap.set("n", "h", ":new", opts) -- Open new window in vertical split -vim.keymap.set('n', "v", ":vnew", opts) +vim.keymap.set("n", "v", ":vnew", opts) -- Open new window in horizontal split at bottom -vim.keymap.set('n', "", ":bo new", opts) +vim.keymap.set("n", "", ":bo new", opts) -- Close buffer and window -vim.keymap.set('n', "q", ":bd", opts) +vim.keymap.set("n", "q", ":bd", opts) --- Buffer mappings --- -- Navigate up/down half a screen -vim.keymap.set({'n', 'v'}, "", "", opts) -vim.keymap.set({'n', 'v'}, "", "", opts) +vim.keymap.set({ "n", "v", }, "", "", opts) +vim.keymap.set({ "n", "v", }, "", "", opts) -- Center cursorline -vim.keymap.set('n', "", "zz", opts) +vim.keymap.set("n", "", "zz", opts) -- Save buffer -vim.keymap.set('n', "", ":w", opts) +vim.keymap.set("n", "", ":w", opts) -- Cycle buffers -vim.keymap.set('n', "", ":BufferLineCycleNext", opts) -vim.keymap.set('n', "", ":BufferLineCyclePrev", opts) +vim.keymap.set("n", "", ":BufferLineCycleNext", opts) +vim.keymap.set("n", "", ":BufferLineCyclePrev", opts) -- Close buffer without closing window -vim.keymap.set('n', "q", ":bpspbnbd", opts) +vim.keymap.set("n", "q", ":bpspbnbd", opts) --- General mappings --- -- Remap some swedish keys for easier use -vim.keymap.set('n', "ö", "}", { remap = true }) -vim.keymap.set('v', "ö", "}", { remap = true }) -vim.keymap.set('n', "ä", "{", { remap = true }) -vim.keymap.set('v', "ä", "{", { remap = true }) -vim.keymap.set('n', ",", "]", { remap = true }) -vim.keymap.set('n', ".", "[", { remap = true }) +vim.keymap.set("n", "ö", "}", { remap = true, }) +vim.keymap.set("v", "ö", "}", { remap = true, }) +vim.keymap.set("n", "ä", "{", { remap = true, }) +vim.keymap.set("v", "ä", "{", { remap = true, }) +vim.keymap.set("n", ",", "]", { remap = true, }) +vim.keymap.set("n", ".", "[", { remap = true, }) -- yank/put using named register -vim.keymap.set('n', 'y', '"0y', opts) -vim.keymap.set('v', 'y', '"0y', opts) -vim.keymap.set('n', 'p', '"0p', opts) -vim.keymap.set('v', 'p', '"0p', opts) +vim.keymap.set("n", "y", '"0y', opts) +vim.keymap.set("v", "y", '"0y', opts) +vim.keymap.set("n", "p", '"0p', opts) +vim.keymap.set("v", "p", '"0p', opts) -- Allow exiting insert mode in terminal by hitting -vim.keymap.set('t', "", "", opts) +vim.keymap.set("t", "", "", opts) -- Navigate forward/backwards -vim.keymap.set('n', "", "", opts) -vim.keymap.set('n', "", "", opts) +vim.keymap.set("n", "", "", opts) +vim.keymap.set("n", "", "", opts) -- Use :diffput/get instead of normal one to allow staging visual selection -vim.keymap.set('n', "dp", "&diff ? ':diffput' : 'dp'", opts_expr) -vim.keymap.set('v', "dp", "&diff ? ':diffput' : 'dp'", opts_expr) -vim.keymap.set('n', "do", "&diff ? ':diffget' : 'do'", opts_expr) -vim.keymap.set('v', "do", "&diff ? ':diffget' : 'do'", opts_expr) +vim.keymap.set("n", "dp", "&diff ? ':diffput' : 'dp'", opts_expr) +vim.keymap.set("v", "dp", "&diff ? ':diffput' : 'dp'", opts_expr) +vim.keymap.set("n", "do", "&diff ? ':diffget' : 'do'", opts_expr) +vim.keymap.set("v", "do", "&diff ? ':diffget' : 'do'", opts_expr) -- Remove default mappings -vim.keymap.set('', "", "") -vim.keymap.set('', "q", "") +vim.keymap.set("", "", "") +vim.keymap.set("", "q", "") diff --git a/lua/core/options.lua b/lua/core/options.lua index 1d0f37a..62ec297 100644 --- a/lua/core/options.lua +++ b/lua/core/options.lua @@ -35,7 +35,7 @@ vim.opt.foldlevelstart = 99 vim.opt.foldmethod = "indent" vim.opt.foldignore = "" vim.opt.guifont = "JetBrains Mono:11" -vim.opt.completeopt:append({ "menu", "menuone", "preview", "noinsert" }) +vim.opt.completeopt:append({ "menu", "menuone", "preview", "noinsert", }) -- Max number of items vim.opt.pumheight = 20 -- pseudo transparency for completion menu @@ -44,7 +44,7 @@ vim.opt.pumblend = 10 vim.opt.winblend = 5 -- set nowrap vim.opt.clipboard:append("unnamedplus") -vim.opt.matchpairs:append({ "<:>", "':'", "\":\"" }) +vim.opt.matchpairs:append({ "<:>", "':'", "\":\"", }) vim.opt.fileencoding = "utf-8" -- Only relevant with wrap enabled (default) vim.opt.linebreak = true @@ -61,7 +61,7 @@ vim.opt.undofile = true -- kspell is only relevant if ':set spell' is toggled on, e.g. when editing -- documents vim.opt.complete:append("kspell") -vim.opt.complete:remove({ "w", "b", "u", "t" }) +vim.opt.complete:remove({ "w", "b", "u", "t", }) vim.opt.spelllang = "en" -- Align indent to next multiple value of shiftwidth. -- E.g., only insert as many spaces necessary for reaching the next shiftwidth @@ -83,7 +83,7 @@ vim.opt.diffopt:append("closeoff") vim.opt.diffopt:append("internal") -- These make diffs easier to read, please see the following: -- https://vimways.org/2018/the-power-of-diff/ -vim.opt.diffopt:append({ "indent-heuristic", "algorithm:histogram" }) +vim.opt.diffopt:append({ "indent-heuristic", "algorithm:histogram", }) vim.fn.execute("filetype plugin on") vim.opt.hlsearch = false vim.opt.laststatus = 3 diff --git a/lua/lsp/config/bashls.lua b/lua/lsp/config/bashls.lua index 1abaad9..6e41be0 100644 --- a/lua/lsp/config/bashls.lua +++ b/lua/lsp/config/bashls.lua @@ -17,7 +17,7 @@ -- requires shellcheck also (for linting) return { - cmd = { 'bash-language-server', 'start' }, - cmd_env = { GLOB_PATTERN = '*@(.sh|.inc|.bash|.command)' }, - single_file_support = true + cmd = { "bash-language-server", "start", }, + cmd_env = { GLOB_PATTERN = "*@(.sh|.inc|.bash|.command)", }, + single_file_support = true, } diff --git a/lua/lsp/config/clangd.lua b/lua/lsp/config/clangd.lua index 2d19ad1..be10a56 100644 --- a/lua/lsp/config/clangd.lua +++ b/lua/lsp/config/clangd.lua @@ -16,10 +16,10 @@ return { cmd = { - 'clangd', - '--clang-tidy', - '--enable-config', - '--log=verbose' + "clangd", + "--clang-tidy", + "--enable-config", + "--log=verbose", }, single_file_support = true, -} \ No newline at end of file +} diff --git a/lua/lsp/config/cmake.lua b/lua/lsp/config/cmake.lua index cf35636..cbaa666 100644 --- a/lua/lsp/config/cmake.lua +++ b/lua/lsp/config/cmake.lua @@ -15,9 +15,9 @@ ]] return { - cmd = { 'cmake-language-server' }, + cmd = { "cmake-language-server", }, single_file_support = true, init_options = { - buildDirectory = "build" - } + buildDirectory = "build", + }, } diff --git a/lua/lsp/config/diagnosticls.lua b/lua/lsp/config/diagnosticls.lua index 9e2be37..c4bcd21 100644 --- a/lua/lsp/config/diagnosticls.lua +++ b/lua/lsp/config/diagnosticls.lua @@ -15,162 +15,162 @@ ]] return { - cmd = { 'diagnostic-languageserver', '--stdio' }, + cmd = { "diagnostic-languageserver", "--stdio", }, single_file_support = true, -- For more info see https://github.com/iamcco/diagnostic-languageserver init_options = { - filetypes = { python = 'flake8', lua = 'luaFormatter' }, + filetypes = { python = "flake8", lua = "luaFormatter", }, linters = { -- some help from this: -- https://github.com/creativenull/diagnosticls-configs-nvim/blob/main/lua/diagnosticls-configs/linters/flake8.lua flake8 = { - command = 'flake8', + command = "flake8", args = { - '--config', - 'tox.ini', - '--format', - '%(row)d,%(col)d,%(code).1s,%(code)s: %(text)s', - '-' + "--config", + "tox.ini", + "--format", + "%(row)d,%(col)d,%(code).1s,%(code)s: %(text)s", + "-", }, - rootPatterns = { 'Pipfile', '.git', 'tox.ini' }, + rootPatterns = { "Pipfile", ".git", "tox.ini", }, isStdout = true, isStderr = false, debounce = 100, offsetLine = 0, offsetColumn = 0, - sourceName = 'flake8', + sourceName = "flake8", formatLines = 1, formatPattern = { [[(\d+),(\d+),([A-Z]),(.*)(\r|\n)*$]], - { line = 1, column = 2, security = 3, message = { 4 } } + { line = 1, column = 2, security = 3, message = { 4, }, }, }, securities = { -- Available securities are { 'error', 'warning', 'hint', 'info' } - E = 'error', - W = 'warning', - B = 'hint', - F = 'error', - D = 'info' - } - } + E = "error", + W = "warning", + B = "hint", + F = "error", + D = "info", + }, + }, }, formatFiletypes = { - python = { 'black', 'isort' }, - lua = { 'luaFormatter' }, - sh = { 'shfmt' } + python = { "black", "isort", }, + lua = { "luaFormatter", }, + sh = { "shfmt", }, }, formatters = { black = { - sourceName = 'black', - command = 'black', + sourceName = "black", + command = "black", args = { - '--stdin-filename', - '%filename', - '-t', - 'py39', - '--quiet', - '-' + "--stdin-filename", + "%filename", + "-t", + "py39", + "--quiet", + "-", }, - rootPatterns = { 'Pipfile', '.git', 'tox.ini' }, + rootPatterns = { "Pipfile", ".git", "tox.ini", }, isStdout = true, isStderr = false, - ignoreExitCode = false + ignoreExitCode = false, }, isort = { - sourceName = 'isort', - command = 'isort', - args = { '--quiet', '-' }, - rootPatterns = { 'Pipfile', '.git', 'tox.ini' }, + sourceName = "isort", + command = "isort", + args = { "--quiet", "-", }, + rootPatterns = { "Pipfile", ".git", "tox.ini", }, isStdout = true, isStderr = false, - ignoreExitCode = false + ignoreExitCode = false, }, luaFormatter = { - sourceName = 'luaFormatter', - command = 'lua-format', + sourceName = "luaFormatter", + command = "lua-format", isStdout = true, isStderr = false, ignoreExitCode = false, args = { - '--column-limit', - '80', -- Column limit of one line - '--indent-width', - '4', -- Number of spaces used for indentation + "--column-limit", + "80", -- Column limit of one line + "--indent-width", + "4", -- Number of spaces used for indentation -- '--use-tab', -- Use tab for indentation - '--no-use-tab', -- Do not use tab for indentation - '--tab-width', - '4', -- Number of spaces used per tab - '--continuation-indent-width', - '4', -- Indent width for continuations line - '--spaces-before-call', - '1', -- Space on function calls - '--keep-simple-control-block-one-line', -- Keep block in one line + "--no-use-tab", -- Do not use tab for indentation + "--tab-width", + "4", -- Number of spaces used per tab + "--continuation-indent-width", + "4", -- Indent width for continuations line + "--spaces-before-call", + "1", -- Space on function calls + "--keep-simple-control-block-one-line", -- Keep block in one line -- '--no-keep-simple-control-block-one-line', -- Do not keep block in one line - '--keep-simple-function-one-line', -- Keep function in one line + "--keep-simple-function-one-line", -- Keep function in one line -- '--no-keep-simple-function-one-line', -- Do not keep function in one line - '--align-args', -- Align the arguments + "--align-args", -- Align the arguments -- '--no-align-args', -- Do not align the arguments - '--break-after-functioncall-lp', -- Break after '(' of function call + "--break-after-functioncall-lp", -- Break after '(' of function call -- '--no-break-after-functioncall-lp', -- Do not break after '(' of function call - '--break-before-functioncall-rp', -- Break before ')' of function call + "--break-before-functioncall-rp", -- Break before ')' of function call -- '--no-break-before-functioncall-rp', -- Do not break before ')' of function call -- '--spaces-inside-functioncall-parens', -- Put spaces on the inside of parens in function calls - '--no-spaces-inside-functioncall-parens', -- Do not put spaces on the inside of parens in function calls + "--no-spaces-inside-functioncall-parens", -- Do not put spaces on the inside of parens in function calls -- '--spaces-inside-functiondef-parens', -- Put spaces on the inside of parens in function headers - '--no-spaces-inside-functiondef-parens', -- Do not put spaces on the inside of parens in function headers - '--align-parameter', -- Align the parameters + "--no-spaces-inside-functiondef-parens", -- Do not put spaces on the inside of parens in function headers + "--align-parameter", -- Align the parameters -- '--no-align-parameter', -- Do not align the parameters - '--chop-down-parameter', -- Chop down all parameters + "--chop-down-parameter", -- Chop down all parameters -- '--no-chop-down-parameter', -- Do not chop down all parameters - '--break-after-functiondef-lp', -- Break after '(' of function def + "--break-after-functiondef-lp", -- Break after '(' of function def -- '--no-break-after-functiondef-lp', -- Do not break after '(' of function def - '--break-before-functiondef-rp', -- Break before ')' of function def + "--break-before-functiondef-rp", -- Break before ')' of function def -- '--no-break-before-functiondef-rp', -- Do not break before ')' of function def - '--align-table-field', -- Align fields of table + "--align-table-field", -- Align fields of table -- '--no-align-table-field', -- Do not align fields of table - '--break-after-table-lb', -- Break after '{' of table + "--break-after-table-lb", -- Break after '{' of table -- '--no-break-after-table-lb', -- Do not break after '{' of table - '--break-before-table-rb', -- Break before '}' of table + "--break-before-table-rb", -- Break before '}' of table -- '--no-break-before-table-rb', -- Do not break before '}' of table - '--chop-down-table', -- Chop down any table + "--chop-down-table", -- Chop down any table -- '--no-chop-down-table', -- Do not chop down any table - '--chop-down-kv-table', -- Chop down table if table contains key + "--chop-down-kv-table", -- Chop down table if table contains key -- '--no-chop-down-kv-table', -- Do not chop down table if table contains key - '--table-sep', - ',', -- Character to separate table fields - '--column-table-limit', - '80', -- Column limit of each line of a table + "--table-sep", + ",", -- Character to separate table fields + "--column-table-limit", + "80", -- Column limit of each line of a table -- '--extra-sep-at-table-end', -- Add a extra field separator - '--no-extra-sep-at-table-end', -- Do not add a extra field separator - '--spaces-inside-table-braces', -- Put spaces on the inside of braces in table constructors + "--no-extra-sep-at-table-end", -- Do not add a extra field separator + "--spaces-inside-table-braces", -- Put spaces on the inside of braces in table constructors -- '--no-spaces-inside-table-braces', -- Do not put spaces on the inside of braces in table constructors - '--break-after-operator', -- Put break after operators + "--break-after-operator", -- Put break after operators -- '--no-break-after-operator', -- Do not put break after operators - '--double-quote-to-single-quote', -- Transform string literals to use single quote + "--double-quote-to-single-quote", -- Transform string literals to use single quote -- '--no-double-quote-to-single-quote', -- Do not transform string literals to use single quote -- '--single-quote-to-double-quote', -- Transform string literals to use double - '--no-single-quote-to-double-quote', -- Do not transform string literals to use double - '--spaces-around-equals-in-field', -- Put spaces around the equal sign in key/value fields + "--no-single-quote-to-double-quote", -- Do not transform string literals to use double + "--spaces-around-equals-in-field", -- Put spaces around the equal sign in key/value fields -- '--no-spaces-around-equals-in-field', -- Do not put spaces around the equal sign in key/value fields - '--line-breaks-after-function-body', - '1', -- Line brakes after function body - '--line-separator', - 'input' -- input(determined by the input content), + "--line-breaks-after-function-body", + "1", -- Line brakes after function body + "--line-separator", + "input", -- input(determined by the input content), -- os(Use line ending of the current Operating system), -- lf(Unix style "\n"), -- crlf(Windows style "\r\n"), -- cr(classic Max style "\r") - } + }, }, shfmt = { - sourceName = 'shfmt', - command = 'shfmt', - args = { '-s', '-i', '4', '-ci' }, - rootPatterns = { 'Pipfile', '.git', 'tox.ini' }, + sourceName = "shfmt", + command = "shfmt", + args = { "-s", "-i", "4", "-ci", }, + rootPatterns = { "Pipfile", ".git", "tox.ini", }, isStdout = true, isStderr = false, - ignoreExitCode = false - } - } - } + ignoreExitCode = false, + }, + }, + }, } diff --git a/lua/lsp/config/golangci_lint_ls.lua b/lua/lsp/config/golangci_lint_ls.lua index 6ccef4d..29b4050 100644 --- a/lua/lsp/config/golangci_lint_ls.lua +++ b/lua/lsp/config/golangci_lint_ls.lua @@ -15,8 +15,8 @@ ]] return { - cmd = { "golangci-lint-langserver" }, + cmd = { "golangci-lint-langserver", }, init_options = { - command = { "golangci-lint", "run", "--out-format", "json" } - } -} \ No newline at end of file + command = { "golangci-lint", "run", "--out-format", "json", }, + }, +} diff --git a/lua/lsp/config/gopls.lua b/lua/lsp/config/gopls.lua index 5cd93c8..07cb525 100644 --- a/lua/lsp/config/gopls.lua +++ b/lua/lsp/config/gopls.lua @@ -15,7 +15,7 @@ ]] return { - cmd = { "gopls", "serve" }, + cmd = { "gopls", "serve", }, -- https://github.com/golang/tools/blob/master/gopls/doc/settings.md settings = { gopls = { @@ -27,7 +27,7 @@ return { run_vulncheck_exp = true, tidy = true, upgrade_dependency = true, - vendor = true + vendor = true, }, usePlaceholders = true, analyses = { @@ -77,8 +77,8 @@ return { undeclaredname = true, unusedvariable = true, fillstruct = true, - stubmethods = true - } - } - } -} \ No newline at end of file + stubmethods = true, + }, + }, + }, +} diff --git a/lua/lsp/config/groovyls.lua b/lua/lsp/config/groovyls.lua index baeda9c..0498630 100644 --- a/lua/lsp/config/groovyls.lua +++ b/lua/lsp/config/groovyls.lua @@ -16,8 +16,8 @@ return { cmd = { - 'java', '-jar', - '/usr/share/java/groovy-language-server/groovy-language-server-all.jar' + "java", "-jar", + "/usr/share/java/groovy-language-server/groovy-language-server-all.jar", }, - single_file_support = true -} \ No newline at end of file + single_file_support = true, +} diff --git a/lua/lsp/config/jedi_language_server.lua b/lua/lsp/config/jedi_language_server.lua index 450c178..94734ef 100644 --- a/lua/lsp/config/jedi_language_server.lua +++ b/lua/lsp/config/jedi_language_server.lua @@ -15,7 +15,7 @@ ]] return { - cmd = { 'jedi-language-server' }, + cmd = { "jedi-language-server", }, single_file_support = true, -- For more info see https://github.com/pappasam/jedi-language-server#configurationSources -- and https://github.com/pappasam/coc-jedi#configuration (good descriptions) @@ -41,7 +41,7 @@ return { -- That said, there are situations where IDE developers, -- or some programmers in some code bases, may want to filter some completions by name. -- This flexible interface is provided to accommodate these advanced use cases. - ignorePatterns = {} + ignorePatterns = {}, }, -- Built-in diagnostics seem to be very basic, -- to the point where you are wondering if it's even active. @@ -63,7 +63,7 @@ return { -- When diagnostics are enabled, run on document save (to disk) -- type: boolean -- default: true - didSave = true + didSave = true, }, hover = { -- Enable (or disable) all hover text. @@ -87,17 +87,17 @@ return { -- type: string[] -- default: [] disable = { - class = { all = false, names = {}, fullNames = {} }, + class = { all = false, names = {}, fullNames = {}, }, -- Need to escape lua keyword - ['function'] = { all = false, names = {}, fullNames = {} }, - instance = { all = false, names = {}, fullNames = {} }, - keyword = { all = false, names = {}, fullNames = {} }, - module = { all = false, names = {}, fullNames = {} }, - param = { all = false, names = {}, fullNames = {} }, - path = { all = false, names = {}, fullNames = {} }, - property = { all = false, names = {}, fullNames = {} }, - statement = { all = false, names = {}, fullNames = {} } - } + ["function"] = { all = false, names = {}, fullNames = {}, }, + instance = { all = false, names = {}, fullNames = {}, }, + keyword = { all = false, names = {}, fullNames = {}, }, + module = { all = false, names = {}, fullNames = {}, }, + param = { all = false, names = {}, fullNames = {}, }, + path = { all = false, names = {}, fullNames = {}, }, + property = { all = false, names = {}, fullNames = {}, }, + statement = { all = false, names = {}, fullNames = {}, }, + }, }, jediSettings = { -- Modules that jedi will directly import without analyzing. @@ -117,7 +117,7 @@ return { -- Print jedi debugging messages to stderr. -- type: boolean -- default: false - debug = false + debug = false, }, -- The preferred MarkupKind for all jedi-language-server messages that take MarkupContent. -- type: string @@ -154,18 +154,18 @@ return { -- If you manually set this option, it overrides the default. -- Setting it to an empty array will result in no ignored folders. ignoreFolders = { - '.nox', '.tox', '.venv', '__pycache__', 'venv', - 'artifacts', 'config', '.vscode', '.pytest_cache', - 'build', 'scripts', 'incoax_tests.egg-info', - 'node_modules' + ".nox", ".tox", ".venv", "__pycache__", "venv", + "artifacts", "config", ".vscode", ".pytest_cache", + "build", "scripts", "incoax_tests.egg-info", + "node_modules", }, -- Maximum number of symbols returned by a call to workspace/symbols. -- type: number -- default: 20 -- A value less than or equal to zero removes the maximum -- and allows jedi-language-server to return all workplace symbols found by jedi. - maxSymbols = 20 - } - } - } -} \ No newline at end of file + maxSymbols = 20, + }, + }, + }, +} diff --git a/lua/lsp/config/lemminx.lua b/lua/lsp/config/lemminx.lua index 55e8227..37f7974 100644 --- a/lua/lsp/config/lemminx.lua +++ b/lua/lsp/config/lemminx.lua @@ -15,16 +15,16 @@ ]] return { - cmd = { 'lemminx' }, + cmd = { "lemminx", }, single_file_support = true, init_options = { settings = { xml = { - trace = { server = 'verbose' }, + trace = { server = "verbose", }, catalogs = {}, logs = { client = false, - file = '/home/oscar/lsp4xml.log' + file = "/home/oscar/lsp4xml.log", }, format = { splitAttributes = true, @@ -32,9 +32,9 @@ return { joinContentLines = true, joinCommentLines = false, spaceBeforeEmptyCloseLine = false, - enabled = true - } - } - } - } -} \ No newline at end of file + enabled = true, + }, + }, + }, + }, +} diff --git a/lua/lsp/config/lua_ls.lua b/lua/lsp/config/lua_ls.lua index 2b99810..d5ba781 100644 --- a/lua/lsp/config/lua_ls.lua +++ b/lua/lsp/config/lua_ls.lua @@ -14,34 +14,34 @@ limitations under the License. ]] -local runtime_path = vim.split(package.path, ';') -table.insert(runtime_path, 'lua/?.lua') -table.insert(runtime_path, 'lua/?/init.lua') +local runtime_path = vim.split(package.path, ";") +table.insert(runtime_path, "lua/?.lua") +table.insert(runtime_path, "lua/?/init.lua") -- spec: https://luals.github.io/wiki/settings/ return { - cmd = { 'lua-language-server' }, + cmd = { "lua-language-server", }, single_file_support = true, settings = { Lua = { runtime = { -- Tell the language server which version of Lua you're using (most likely LuaJIT in the case of Neovim) - version = 'LuaJIT', + version = "LuaJIT", -- Setup your lua path - path = runtime_path + path = runtime_path, }, diagnostics = { -- Get the language server to recognize the `vim` global - globals = { 'vim' } + globals = { "vim", }, }, workspace = { -- Make the server aware of Neovim runtime files - library = vim.api.nvim_get_runtime_file('', true), - checkThirdParty = false + library = vim.api.nvim_get_runtime_file("", true), + checkThirdParty = false, }, -- Do not send telemetry data containing a randomized but unique identifier - telemetry = { enable = false } - } - } -} \ No newline at end of file + telemetry = { enable = false, }, + }, + }, +} diff --git a/lua/lsp/config/pylsp.lua b/lua/lsp/config/pylsp.lua index 5b78b42..8e47e4f 100644 --- a/lua/lsp/config/pylsp.lua +++ b/lua/lsp/config/pylsp.lua @@ -15,7 +15,7 @@ ]] return { - cmd = { 'pylsp' }, + cmd = { "pylsp", }, single_file_support = true, -- Reference: https://github.com/python-lsp/python-lsp-server/blob/develop/CONFIGURATION.md settings = { @@ -23,11 +23,11 @@ return { -- configurationSources = { "flake8", "jedi_completion", "jedi_definition", "jedi_hover", "jedi_references", "jedi_signature_help", "jedi_symbols" }, plugins = { flake8 = { - config = 'tox.ini', - enabled = true + config = "tox.ini", + enabled = true, -- executable = "flake8" }, - pyls_isort = { enabled = true }, + pyls_isort = { enabled = true, }, jedi_completion = { enabled = true, include_params = false, @@ -36,26 +36,26 @@ return { eager = true, resolve_at_most = 25, cache_for = { - 'pandas', - 'numpy', - 'tensorflow', - 'matplotlib' - } + "pandas", + "numpy", + "tensorflow", + "matplotlib", + }, }, jedi_definition = { enabled = true, follow_imports = true, - follow_builtin_imports = true + follow_builtin_imports = true, }, - jedi_hover = { enabled = true }, - jedi_references = { enabled = true }, - jedi_signature_help = { enabled = true }, + jedi_hover = { enabled = true, }, + jedi_references = { enabled = true, }, + jedi_signature_help = { enabled = true, }, jedi_symbols = { enabled = true, all_scopes = true, - include_import_symbols = true - } - } - } - } + include_import_symbols = true, + }, + }, + }, + }, } diff --git a/lua/lsp/config/pyright.lua b/lua/lsp/config/pyright.lua index 2502234..f35ee49 100644 --- a/lua/lsp/config/pyright.lua +++ b/lua/lsp/config/pyright.lua @@ -15,7 +15,7 @@ ]] return { - cmd = { 'pyright-langserver', '--stdio' }, + cmd = { "pyright-langserver", "--stdio", }, single_file_support = true, -- see https://github.com/microsoft/pyright/blob/main/docs/configuration.md -- and https://github.com/fannheyward/coc-pyright @@ -26,14 +26,14 @@ return { analysis = { autoImportCompletions = true, autoSearchPaths = true, - diagnosticMode = 'workspace', - stubPath = 'typings', + diagnosticMode = "workspace", + stubPath = "typings", typeschedPaths = {}, diagnosticSeverityOverrides = {}, - typeCheckingMode = 'off', - useLibraryCodeForTypes = true + typeCheckingMode = "off", + useLibraryCodeForTypes = true, }, - completion = { importSupport = true, snippetSupport = true } - } - } + completion = { importSupport = true, snippetSupport = true, }, + }, + }, } diff --git a/lua/lsp/config/rust_analyzer.lua b/lua/lsp/config/rust_analyzer.lua index 0c7f107..4871b39 100644 --- a/lua/lsp/config/rust_analyzer.lua +++ b/lua/lsp/config/rust_analyzer.lua @@ -15,24 +15,24 @@ ]] return { - cmd = { 'rust-analyzer' }, + cmd = { "rust-analyzer", }, settings = { -- https://github.com/rust-lang/rust-analyzer/blob/master/docs/user/generated_config.adoc - ['rust-analyzer'] = { + ["rust-analyzer"] = { cargo = { -- Extra environment variables that will be set when running cargo, rustc -- or other commands within the workspace. Useful for setting RUSTFLAGS. extraEnv = { - OPENSSL_INCLUDE_DIR = '/usr/include/openssl-1.0/', - OPENSSL_LIB_DIR = '/usr/lib/openssl-1.0/' - } - } + OPENSSL_INCLUDE_DIR = "/usr/include/openssl-1.0/", + OPENSSL_LIB_DIR = "/usr/lib/openssl-1.0/", + }, + }, --[[ inlayHints = { closingBraceHints = { -- Whether to show inlay hints after a closing `}` to indicate what item it belongs to. enable = false }, } ]] - } - } + }, + }, } diff --git a/lua/lsp/init.lua b/lua/lsp/init.lua index 021aebd..c50f1ba 100644 --- a/lua/lsp/init.lua +++ b/lua/lsp/init.lua @@ -21,7 +21,7 @@ P._language_servers = nil P.capabilities = {} -P.spec = require('lsp.spec') +P.spec = require("lsp.spec") function P._setup_diagnostic() vim.diagnostic.config({ @@ -35,44 +35,44 @@ function P._setup_diagnostic() -- }, float = { show_header = false, - source = 'if_many', - border = 'rounded', + source = "if_many", + border = "rounded", focusable = false, - format = function(diagnostic) - return string.format('%s', diagnostic.message) - end + format = function (diagnostic) + return string.format("%s", diagnostic.message) + end, }, update_in_insert = false, -- default to false - severity_sort = true -- default to false + severity_sort = true, -- default to false }) -- Change diagnostic icons - vim.fn.sign_define('DiagnosticSignError', { - text = 'E', - texthl = 'DiagnosticSignError', + vim.fn.sign_define("DiagnosticSignError", { + text = "E", + texthl = "DiagnosticSignError", -- culhl = 'DiagnosticSignError', - numhl = 'DiagnosticSignError' + numhl = "DiagnosticSignError", -- linehl = 'LspDiagnosticsUnderlineError' }) - vim.fn.sign_define('DiagnosticSignWarn', { - text = 'W', - texthl = 'DiagnosticSignWarn', + vim.fn.sign_define("DiagnosticSignWarn", { + text = "W", + texthl = "DiagnosticSignWarn", -- culhl = 'DiagnosticSignWarn', - numhl = 'DiagnosticSignWarn' + numhl = "DiagnosticSignWarn", -- linehl = 'LspDiagnosticsUnderlineWarning' }) - vim.fn.sign_define('DiagnosticSignHint', { - text = 'H', - texthl = 'DiagnosticSignHint', + vim.fn.sign_define("DiagnosticSignHint", { + text = "H", + texthl = "DiagnosticSignHint", -- culhl = 'DiagnosticSignHint', - numhl = 'DiagnosticSignHint' + numhl = "DiagnosticSignHint", -- linehl = 'LspDiagnosticsUnderlineHint' }) - vim.fn.sign_define('DiagnosticSignInfo', { - text = 'i', - texthl = 'DiagnosticSignInfo', + vim.fn.sign_define("DiagnosticSignInfo", { + text = "i", + texthl = "DiagnosticSignInfo", -- culhl = 'DiagnosticSignInfo', - numhl = 'DiagnosticSignInfo' + numhl = "DiagnosticSignInfo", -- linehl = 'LspDiagnosticsUnderlineInfo' }) @@ -85,9 +85,9 @@ function P.on_attach(client, bufnr) -- Enable completion triggered by -- Disabled in favor of nvim-cmp -- vim.api.nvim_buf_set_option(bufnr, 'omnifunc', 'v:lua.vim.lsp.omnifunc') - require('lsp_signature').on_attach({ + require("lsp_signature").on_attach({ debug = false, -- set to true to enable debug logging - log_path = vim.fn.stdpath('cache') .. '/lsp_signature.log', -- log dir when debug is on + log_path = vim.fn.stdpath("cache") .. "/lsp_signature.log", -- log dir when debug is on -- default is ~/.cache/nvim/lsp_signature.log verbose = false, -- show debug line number @@ -115,11 +115,11 @@ function P.on_attach(client, bufnr) close_timeout = nil, -- close floating window after ms when laster parameter is entered fix_pos = false, -- set to true, the floating window will not auto-close until finish all parameters hint_enable = false, -- virtual hint enable - hint_prefix = '🐼 ', -- Panda for parameter, NOTE: for the terminal not support emoji, might crash - hint_scheme = 'String', - hi_parameter = 'IncSearch', -- default 'LspSignatureActiveParameter', -- how your parameter will be highlight + hint_prefix = "🐼 ", -- Panda for parameter, NOTE: for the terminal not support emoji, might crash + hint_scheme = "String", + hi_parameter = "IncSearch", -- default 'LspSignatureActiveParameter', -- how your parameter will be highlight handler_opts = { - border = 'none' -- double, rounded, single, shadow, none + border = "none", -- double, rounded, single, shadow, none }, always_trigger = true, -- sometime show signature on new line or in middle of parameter can be confusing, set it to false for #58 @@ -128,80 +128,80 @@ function P.on_attach(client, bufnr) extra_trigger_chars = {}, -- Array of extra characters that will trigger signature completion, e.g., {"(", ","} zindex = 200, -- by default it will be on top of all floating windows, set to <= 50 send it to bottom - padding = '', -- character to pad on left and right of signature can be ' ', or '|' etc + padding = "", -- character to pad on left and right of signature can be ' ', or '|' etc transparency = nil, -- disabled by default, allow floating win transparent value 1~100 shadow_blend = 36, -- if you using shadow as border use this set the opacity - shadow_guibg = 'Black', -- if you using shadow as border use this set the color e.g. 'Green' or '#121315' + shadow_guibg = "Black", -- if you using shadow as border use this set the color e.g. 'Green' or '#121315' timer_interval = 200, -- default timer check interval set to lower value if you want to reduce latency - toggle_key = '', -- toggle signature on and off in insert mode, e.g. toggle_key = '' + toggle_key = "", -- toggle signature on and off in insert mode, e.g. toggle_key = '' select_signature_key = nil, -- cycle to next signature, e.g. '' function overloading - move_cursor_key = '' -- imap, use nvim_set_current_win to move cursor between current win and floating + move_cursor_key = "", -- imap, use nvim_set_current_win to move cursor between current win and floating }, bufnr) -- Mappings. -- See `:help vim.lsp.*` for documentation on any of the below functions - local opts = { noremap = true, silent = true } - vim.api.nvim_buf_set_keymap(bufnr, 'n', 'L', - 'lua vim.diagnostic.open_float()', opts) - vim.api.nvim_buf_set_keymap(bufnr, 'n', '[d', - 'lua vim.diagnostic.goto_prev()', opts) - vim.api.nvim_buf_set_keymap(bufnr, 'n', ']d', - 'lua vim.diagnostic.goto_next()', opts) - vim.api.nvim_buf_set_keymap(bufnr, 'n', 'll', - 'lua vim.diagnostic.setloclist()', opts) - vim.api.nvim_buf_set_keymap(bufnr, 'n', 'gD', - 'lua vim.lsp.buf.declaration()', opts) - vim.api.nvim_buf_set_keymap(bufnr, 'n', 'gd', - 'lua vim.lsp.buf.definition()', opts) - vim.api.nvim_buf_set_keymap(bufnr, 'n', 'K', - 'lua vim.lsp.buf.hover()', opts) - vim.api.nvim_buf_set_keymap(bufnr, 'n', 'gi', - 'lua vim.lsp.buf.implementation()', + local opts = { noremap = true, silent = true, } + vim.api.nvim_buf_set_keymap(bufnr, "n", "L", + "lua vim.diagnostic.open_float()", opts) + vim.api.nvim_buf_set_keymap(bufnr, "n", "[d", + "lua vim.diagnostic.goto_prev()", opts) + vim.api.nvim_buf_set_keymap(bufnr, "n", "]d", + "lua vim.diagnostic.goto_next()", opts) + vim.api.nvim_buf_set_keymap(bufnr, "n", "ll", + "lua vim.diagnostic.setloclist()", opts) + vim.api.nvim_buf_set_keymap(bufnr, "n", "gD", + "lua vim.lsp.buf.declaration()", opts) + vim.api.nvim_buf_set_keymap(bufnr, "n", "gd", + "lua vim.lsp.buf.definition()", opts) + vim.api.nvim_buf_set_keymap(bufnr, "n", "K", + "lua vim.lsp.buf.hover()", opts) + vim.api.nvim_buf_set_keymap(bufnr, "n", "gi", + "lua vim.lsp.buf.implementation()", opts) - vim.api.nvim_buf_set_keymap(bufnr, 'n', 's', - 'lua vim.lsp.buf.signature_help()', + vim.api.nvim_buf_set_keymap(bufnr, "n", "s", + "lua vim.lsp.buf.signature_help()", opts) - vim.api.nvim_buf_set_keymap(bufnr, 'n', 'wa', - 'lua vim.lsp.buf.add_workspace_folder()', + vim.api.nvim_buf_set_keymap(bufnr, "n", "wa", + "lua vim.lsp.buf.add_workspace_folder()", opts) - vim.api.nvim_buf_set_keymap(bufnr, 'n', 'wr', - 'lua vim.lsp.buf.remove_workspace_folder()', + vim.api.nvim_buf_set_keymap(bufnr, "n", "wr", + "lua vim.lsp.buf.remove_workspace_folder()", opts) - vim.api.nvim_buf_set_keymap(bufnr, 'n', 'wl', - 'lua print(vim.inspect(vim.lsp.buf.list_workspace_folders()))', + vim.api.nvim_buf_set_keymap(bufnr, "n", "wl", + "lua print(vim.inspect(vim.lsp.buf.list_workspace_folders()))", opts) - vim.api.nvim_buf_set_keymap(bufnr, 'n', 'gt', - 'lua vim.lsp.buf.type_definition()', + vim.api.nvim_buf_set_keymap(bufnr, "n", "gt", + "lua vim.lsp.buf.type_definition()", opts) - vim.api.nvim_buf_set_keymap(bufnr, 'n', 'rn', - 'lua vim.lsp.buf.rename()', opts) - vim.api.nvim_buf_set_keymap(bufnr, 'n', 'ca', - 'lua vim.lsp.buf.code_action()', opts) - vim.api.nvim_buf_set_keymap(bufnr, 'n', 'gr', - 'lua vim.lsp.buf.references()', opts) - vim.api.nvim_buf_set_keymap(bufnr, 'n', 'lf', - 'lua vim.lsp.buf.format({async = true})', + vim.api.nvim_buf_set_keymap(bufnr, "n", "rn", + "lua vim.lsp.buf.rename()", opts) + vim.api.nvim_buf_set_keymap(bufnr, "n", "ca", + "lua vim.lsp.buf.code_action()", opts) + vim.api.nvim_buf_set_keymap(bufnr, "n", "gr", + "lua vim.lsp.buf.references()", opts) + vim.api.nvim_buf_set_keymap(bufnr, "n", "lf", + "lua vim.lsp.buf.format({async = true})", opts) -- if client.server_capabilities.document_range_formatting then - vim.api.nvim_buf_set_keymap(bufnr, 'v', 'lf', - 'lua vim.lsp.buf.format({async = true})', + vim.api.nvim_buf_set_keymap(bufnr, "v", "lf", + "lua vim.lsp.buf.format({async = true})", opts) -- end -- The below command will highlight the current variable and its usages in the buffer. if client.server_capabilities.document_highlight then - vim.fn.execute('hi! link LspReferenceRead Visual') - vim.fn.execute('hi! link LspReferenceText Visual') - vim.fn.execute('hi! link LspReferenceWrite Visual') - vim.api.nvim_create_augroup('lsp_document_highlight', { clear = true }) - vim.api.nvim_create_autocmd('CursorHold', { + vim.fn.execute("hi! link LspReferenceRead Visual") + vim.fn.execute("hi! link LspReferenceText Visual") + vim.fn.execute("hi! link LspReferenceWrite Visual") + vim.api.nvim_create_augroup("lsp_document_highlight", { clear = true, }) + vim.api.nvim_create_autocmd("CursorHold", { buffer = bufnr, - callback = vim.lsp.buf.document_highlight + callback = vim.lsp.buf.document_highlight, }) - vim.api.nvim_create_autocmd('CursorMoved', { + vim.api.nvim_create_autocmd("CursorMoved", { buffer = bufnr, - callback = vim.lsp.buf.clear_references + callback = vim.lsp.buf.clear_references, }) end -- Auto show current line diagnostics after 300 ms @@ -223,11 +223,11 @@ function P.reload_server_buf(self, name) end for _, bufnr in ipairs(vim.api.nvim_list_bufs()) do if vim.api.nvim_buf_is_loaded(bufnr) then - local buf_ft = vim.api.nvim_get_option_value('filetype', { buf = bufnr }) + local buf_ft = vim.api.nvim_get_option_value("filetype", { buf = bufnr, }) if ft_map[buf_ft] then vim.api.nvim_buf_call( bufnr, - function() vim.cmd('e') end + function () vim.cmd("e") end ) end end @@ -263,9 +263,9 @@ function P.language_servers(self) end function P.setup_server(self, server) - local lspconfig = require('lspconfig') + local lspconfig = require("lspconfig") local server_spec = self.spec[server] - local cfg = require('lsp.config.' .. server) + local cfg = require("lsp.config." .. server) cfg.filetypes = server_spec.filetypes cfg.root_dir = lspconfig.util.find_git_ancestor cfg.capabilities = self.capabilities @@ -275,12 +275,12 @@ end function P.setup(self) self._setup_diagnostic() - P.capabilities = require('cmp_nvim_lsp').default_capabilities() + P.capabilities = require("cmp_nvim_lsp").default_capabilities() require("mason-lspconfig").setup_handlers({ - function(name) + function (name) self:setup_server(name) self:reload_server_buf(name) - end + end, }) end diff --git a/lua/lsp/spec.lua b/lua/lsp/spec.lua index c962740..df12687 100644 --- a/lua/lsp/spec.lua +++ b/lua/lsp/spec.lua @@ -17,71 +17,71 @@ return { clangd = { filetypes = { - 'c', - 'cpp', - 'objc', - 'objcpp', - 'cuda', - 'proto', - } + "c", + "cpp", + "objc", + "objcpp", + "cuda", + "proto", + }, }, cmake = { filetypes = { - 'cmake' - } + "cmake", + }, }, diagnosticls = { filetypes = { - 'python', - 'lua', - 'sh', - } + "python", + "lua", + "sh", + }, }, lua_ls = { filetypes = { - 'lua' - } + "lua", + }, }, lemminx = { filetypes = { - 'xml', - 'xsd', - 'xsl', - 'xslt', - 'svg', - } + "xml", + "xsd", + "xsl", + "xslt", + "svg", + }, }, bashls = { filetypes = { - 'sh' - } + "sh", + }, }, groovyls = { filetypes = { - 'groovy' - } + "groovy", + }, }, rust_analyzer = { filetypes = { - 'rust' - } + "rust", + }, }, gopls = { filetypes = { "go", - "gomod" - } + "gomod", + }, }, golangci_lint_ls = { filetypes = { "go", - "gomod" - } + "gomod", + }, }, jedi_language_server = { filetypes = { - 'python' - } + "python", + }, }, -- pyright = { 'python' }, -- pylsp = { 'python' }, diff --git a/lua/plugins.lua b/lua/plugins.lua index f1821cf..7d94e93 100644 --- a/lua/plugins.lua +++ b/lua/plugins.lua @@ -18,43 +18,43 @@ vim.loader.enable() local plugins = { { - 'Mofiqul/vscode.nvim', + "Mofiqul/vscode.nvim", priority = 1000, lazy = false, - config = function() require('config.vscode') end + config = function () require("config.vscode") end, }, { - 'rafamadriz/friendly-snippets', + "rafamadriz/friendly-snippets", }, { - 'L3MON4D3/LuaSnip', - config = function() require('config.luasnip') end, + "L3MON4D3/LuaSnip", + config = function () require("config.luasnip") end, -- dependencies = { 'rafamadriz/friendly-snippets' }, -- comment out on windows and install jsregexp manually build = "make install_jsregexp", version = "2.*", }, { - 'windwp/nvim-autopairs', - config = function() require('config.nvim-autopairs') end + "windwp/nvim-autopairs", + config = function () require("config.nvim-autopairs") end, }, { - 'saadparwaiz1/cmp_luasnip', + "saadparwaiz1/cmp_luasnip", }, { - 'hrsh7th/cmp-buffer', + "hrsh7th/cmp-buffer", }, { - 'hrsh7th/cmp-path', + "hrsh7th/cmp-path", }, { - 'hrsh7th/cmp-cmdline', + "hrsh7th/cmp-cmdline", }, { - 'onsails/lspkind-nvim', + "onsails/lspkind-nvim", }, { - 'hrsh7th/nvim-cmp', + "hrsh7th/nvim-cmp", -- dependencies = { -- 'L3MON4D3/LuaSnip', -- 'windwp/nvim-autopairs', @@ -64,33 +64,33 @@ local plugins = { -- 'hrsh7th/cmp-cmdline', -- 'onsails/lspkind-nvim', -- }, - config = function() require('config.nvim-cmp') end + config = function () require("config.nvim-cmp") end, }, { - 'hrsh7th/cmp-nvim-lsp', + "hrsh7th/cmp-nvim-lsp", -- dependencies = { -- 'hrsh7th/nvim-cmp' -- }, }, { "williamboman/mason.nvim", - config = function() require('config.mason') end + config = function () require("config.mason") end, }, { - 'williamboman/mason-lspconfig.nvim', - config = function() require('config.mason-lspconfig') end, + "williamboman/mason-lspconfig.nvim", + config = function () require("config.mason-lspconfig") end, -- dependencies = { 'williamboman/mason.nvim' }, }, { - 'ray-x/lsp_signature.nvim', + "ray-x/lsp_signature.nvim", event = "VeryLazy", - config = function() require('config.lsp_signature') end + config = function () require("config.lsp_signature") end, }, { - 'neovim/nvim-lspconfig', - config = function() require('lsp'):setup() end, + "neovim/nvim-lspconfig", + config = function () require("lsp"):setup() end, lazy = true, - ft = require('lsp'):filetypes(), + ft = require("lsp"):filetypes(), -- dependencies = { -- 'williamboman/mason-lspconfig.nvim', -- 'ray-x/lsp_signature.nvim', @@ -98,110 +98,110 @@ local plugins = { -- }, }, { - 'nvim-treesitter/nvim-treesitter', - config = function() require('config.nvim-treesitter') end, + "nvim-treesitter/nvim-treesitter", + config = function () require("config.nvim-treesitter") end, lazy = true, - event = 'VimEnter', - build = ':TSUpdate' + event = "VimEnter", + build = ":TSUpdate", }, { - 'mfussenegger/nvim-dap', - config = function() require('config.nvim-dap') end, + "mfussenegger/nvim-dap", + config = function () require("config.nvim-dap") end, lazy = true, - ft = require('lsp'):filetypes(), + ft = require("lsp"):filetypes(), }, { - 'rcarriga/nvim-dap-ui', + "rcarriga/nvim-dap-ui", -- dependencies = { 'mfussenegger/nvim-dap' }, - config = function() require('config.nvim-dap-ui') end + config = function () require("config.nvim-dap-ui") end, }, { - 'kyazdani42/nvim-web-devicons' + "kyazdani42/nvim-web-devicons", }, { - 'tpope/vim-fugitive', - config = function() require('config.fugitive') end, + "tpope/vim-fugitive", + config = function () require("config.fugitive") end, lazy = true, - event = 'VimEnter' + event = "VimEnter", }, { - 'rbong/vim-flog', + "rbong/vim-flog", -- dependencies = { 'tpope/vim-fugitive' }, - config = function() require('config.flog') end + config = function () require("config.flog") end, }, { - 'nvim-lualine/lualine.nvim', + "nvim-lualine/lualine.nvim", -- dependencies = { 'kyazdani42/nvim-web-devicons', 'vim-fugitive' }, - config = function() require('config.lualine') end, + config = function () require("config.lualine") end, lazy = true, - event = 'VimEnter' + event = "VimEnter", }, { - 'akinsho/bufferline.nvim', + "akinsho/bufferline.nvim", -- dependencies = { 'kyazdani42/nvim-web-devicons' }, - config = function() require('config.bufferline') end, + config = function () require("config.bufferline") end, lazy = true, - event = 'VimEnter' + event = "VimEnter", }, { - 'nvim-lua/plenary.nvim' + "nvim-lua/plenary.nvim", }, { - 'lewis6991/gitsigns.nvim', + "lewis6991/gitsigns.nvim", -- dependencies = { 'nvim-lua/plenary.nvim' }, - config = function() require('config.gitsigns') end, + config = function () require("config.gitsigns") end, lazy = true, - event = 'VimEnter' + event = "VimEnter", }, { - 'nvim-telescope/telescope.nvim', + "nvim-telescope/telescope.nvim", -- dependencies = { 'nvim-lua/plenary.nvim' }, - config = function() require('config.telescope') end, + config = function () require("config.telescope") end, lazy = true, - event = 'VimEnter' + event = "VimEnter", }, { - 'numToStr/Comment.nvim', - config = function() require('config.comment') end, + "numToStr/Comment.nvim", + config = function () require("config.comment") end, lazy = true, - event = 'VimEnter' + event = "VimEnter", }, { - 'Yggdroot/indentLine', - config = function() require('config.indentLine') end, + "Yggdroot/indentLine", + config = function () require("config.indentLine") end, lazy = true, - event = 'VimEnter' + event = "VimEnter", }, { - 'simeji/winresizer', - config = function() require('config.winresizer') end, + "simeji/winresizer", + config = function () require("config.winresizer") end, lazy = true, - keys = { 'r' } + keys = { "r", }, }, { - 'sindrets/winshift.nvim', - config = function() require('config.winshift') end, + "sindrets/winshift.nvim", + config = function () require("config.winshift") end, lazy = true, - keys = { 'm' } + keys = { "m", }, }, { - 'martinda/Jenkinsfile-vim-syntax', + "martinda/Jenkinsfile-vim-syntax", lazy = true, - ft = { 'jenkinsfile', 'Jenkinsfile' } + ft = { "jenkinsfile", "Jenkinsfile", }, }, { - 'kyazdani42/nvim-tree.lua', - config = function() require('config.nvim-tree') end + "kyazdani42/nvim-tree.lua", + config = function () require("config.nvim-tree") end, }, { - 'dstein64/vim-startuptime', + "dstein64/vim-startuptime", lazy = true, - event = 'VimEnter' + event = "VimEnter", }, { - 'stevearc/aerial.nvim', - config = function() require('config.aerial') end - } + "stevearc/aerial.nvim", + config = function () require("config.aerial") end, + }, } local opts = { @@ -210,4 +210,4 @@ local opts = { -- } } -require('lazy').setup(plugins, opts) +require("lazy").setup(plugins, opts) diff --git a/lua/pytest.lua b/lua/pytest.lua index 2250f8b..41157eb 100644 --- a/lua/pytest.lua +++ b/lua/pytest.lua @@ -14,7 +14,7 @@ limitations under the License. ]] -local utils = require('utils') +local utils = require("utils") M = {} @@ -22,40 +22,40 @@ local env_ok = false local dap = nil local function check_env() - local debugpy = utils.exec('python -m debugpy --version') - assert(debugpy.rc == 0, 'Python module debugpy is required') - local pytest = utils.exec('python -m pytest --version') - assert(pytest.rc == 0, 'Python module pytest is required') + local debugpy = utils.exec("python -m debugpy --version") + assert(debugpy.rc == 0, "Python module debugpy is required") + local pytest = utils.exec("python -m pytest --version") + assert(pytest.rc == 0, "Python module pytest is required") env_ok = true end local function load_dap() - local ok, dap = pcall(require, 'dap') - assert(ok, 'nvim-dap is required') + local ok, dap = pcall(require, "dap") + assert(ok, "nvim-dap is required") return dap end function M.run(args) - assert(type(args) == 'table', 'Args not specified or of wrong type') + assert(type(args) == "table", "Args not specified or of wrong type") if not env_ok then check_env() end if not dap then dap = load_dap() dap.adapters.python = { - type = 'executable'; - command = 'python'; - args = { '-m', 'debugpy.adapter' }; - cwd = vim.fn.getcwd(); + type = "executable", + command = "python", + args = { "-m", "debugpy.adapter", }, + cwd = vim.fn.getcwd(), } end local config = { - name = 'pytest ' .. table.concat(args, ' '), - type = 'python', - request = 'launch', + name = "pytest " .. table.concat(args, " "), + type = "python", + request = "launch", -- pythonPath = vim.fn.getcwd() .. '/.venv/bin/python', - module = 'pytest', + module = "pytest", -- python = 'python'; -- program = vim.fn.getcwd() .. '/.venv/bin/pytest'; args = args, @@ -66,8 +66,8 @@ function M.run(args) dap.run(config) -- List of events described at https://microsoft.github.io/debug-adapter-protocol/specification#Events -- Also see :h dap-extensions - dap.listeners.after['event_initialized']['pytest.lua'] = function(session, body) - dap.set_exception_breakpoints({ 'userUnhandled' }) + dap.listeners.after["event_initialized"]["pytest.lua"] = function (session, body) + dap.set_exception_breakpoints({ "userUnhandled", }) end end diff --git a/lua/utils.lua b/lua/utils.lua index 7b27954..d492dfe 100644 --- a/lua/utils.lua +++ b/lua/utils.lua @@ -29,7 +29,7 @@ function M.exec(cmd) local out = vim.fn.system(cmd) local rc = vim.v.shell_error - return { out = out, rc = rc } + return { out = out, rc = rc, } end function M.get_color(group, attr) @@ -39,8 +39,8 @@ end function M.get_hl(name) local ok, hl = pcall(vim.api.nvim_get_hl_by_name, name, true) if not ok then return end - for _, key in pairs({ 'foreground', 'background', 'special' }) do - if hl[key] then hl[key] = string.format('#%06x', hl[key]) end + for _, key in pairs({ "foreground", "background", "special", }) do + if hl[key] then hl[key] = string.format("#%06x", hl[key]) end end return hl end @@ -79,7 +79,7 @@ end --- @param exes table: Array of exes function M.assert_any_available(exes) if not M.any_available(exes) then - error('At least one of the following is required:\n' .. table.concat(exes, ', ')) + error("At least one of the following is required:\n" .. table.concat(exes, ", ")) end end