From d07a2ca039905e760a91255f7e9bbb7aafc4e5ab Mon Sep 17 00:00:00 2001 From: Szwendacz99 Date: Wed, 21 Dec 2022 18:43:51 +0100 Subject: [PATCH] organize bigger plugins configuration into separate files --- init.vim | 5 +- lua/conf-bufferline.lua | 45 +++++ lua/conf-gitsigns.lua | 80 +++++++++ lua/conf-hlslens.lua | 16 ++ lua/conf-lualine.lua | 47 +++++ lua/conf-mason.lua | 24 +++ lua/conf-nvim-cmp.lua | 66 +++++++ lua/conf-nvim-tree.lua | 71 ++++++++ lua/conf-themes.lua | 19 ++ lua/general.lua | 377 ---------------------------------------- lua/initializer.lua | 13 ++ lua/my-lint.lua | 10 +- lua/my-lspconfig.lua | 2 +- 13 files changed, 388 insertions(+), 387 deletions(-) create mode 100644 lua/conf-bufferline.lua create mode 100644 lua/conf-gitsigns.lua create mode 100644 lua/conf-hlslens.lua create mode 100644 lua/conf-lualine.lua create mode 100644 lua/conf-mason.lua create mode 100644 lua/conf-nvim-cmp.lua create mode 100644 lua/conf-nvim-tree.lua create mode 100644 lua/conf-themes.lua create mode 100644 lua/initializer.lua diff --git a/init.vim b/init.vim index cf79636..ae214f2 100644 --- a/init.vim +++ b/init.vim @@ -3,10 +3,7 @@ " checks for termguicolors set termguicolors " load main lua file with additional configs -lua require("packer-setup") -lua require("general") -lua require("my-lspconfig") -lua require("my-lint") +lua require("initializer") " highlight all .conf files as apache config (:]) autocmd BufEnter *.conf :setlocal filetype=apache diff --git a/lua/conf-bufferline.lua b/lua/conf-bufferline.lua new file mode 100644 index 0000000..98bc489 --- /dev/null +++ b/lua/conf-bufferline.lua @@ -0,0 +1,45 @@ +require('bufferline').setup { + options = { + mode = "buffers", -- set to "tabs" to only show tabpages instead + numbers = "buffer_id", + 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', + }, + buffer_close_icon = '', + modified_icon = '●', + close_icon = '', + left_trunc_marker = '', + right_trunc_marker = '', + max_name_length = 18, + max_prefix_length = 15, -- prefix used when a buffer is de-duplicated + truncate_names = true, -- whether or not tab names should be truncated + tab_size = 18, + diagnostics = "coc", + diagnostics_update_in_insert = false, + -- The diagnostics indicator can be set to nil to keep the buffer name highlight but delete the highlighting + 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 = true, + show_buffer_default_icon = true, -- whether or not an unrecognised filetype should show a default icon + show_close_icon = false, + show_tab_indicators = true, + show_duplicate_prefix = true, -- whether to show duplicate buffer prefix + 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 = "thick", + enforce_regular_tabs = false, + always_show_bufferline = true, + hover = { + enabled = true, + delay = 200, + reveal = { 'close' } + }, + sort_by = 'tabs', + } +} diff --git a/lua/conf-gitsigns.lua b/lua/conf-gitsigns.lua new file mode 100644 index 0000000..f97f2ec --- /dev/null +++ b/lua/conf-gitsigns.lua @@ -0,0 +1,80 @@ +require('gitsigns').setup { + signs = { + add = { hl = 'GitSignsAdd', text = '│', numhl = 'GitSignsAddNr', linehl = 'GitSignsAddLn' }, + change = { hl = 'GitSignsChange', text = '│', numhl = 'GitSignsChangeNr', linehl = 'GitSignsChangeLn' }, + delete = { hl = 'GitSignsDelete', text = '_', numhl = 'GitSignsDeleteNr', linehl = 'GitSignsDeleteLn' }, + topdelete = { hl = 'GitSignsDelete', text = '‾', numhl = 'GitSignsDeleteNr', linehl = 'GitSignsDeleteLn' }, + changedelete = { hl = 'GitSignsChange', text = '~', numhl = 'GitSignsChangeNr', linehl = 'GitSignsChangeLn' }, + untracked = { hl = 'GitSignsAdd', text = '┆', numhl = 'GitSignsAddNr', linehl = 'GitSignsAddLn' }, + }, + signcolumn = true, -- Toggle with `:Gitsigns toggle_signs` + numhl = false, -- Toggle with `:Gitsigns toggle_numhl` + linehl = false, -- Toggle with `:Gitsigns toggle_linehl` + word_diff = false, -- Toggle with `:Gitsigns toggle_word_diff` + watch_gitdir = { + interval = 1000, + follow_files = true + }, + attach_to_untracked = true, + current_line_blame = true, -- Toggle with `:Gitsigns toggle_current_line_blame` + current_line_blame_opts = { + virt_text = true, + virt_text_pos = 'eol', -- 'eol' | 'overlay' | 'right_align' + delay = 1000, + ignore_whitespace = false, + }, + current_line_blame_formatter = ', - ', + sign_priority = 6, + update_debounce = 100, + status_formatter = nil, -- Use default + max_file_length = 40000, -- Disable if file is longer than this (in lines) + preview_config = { + -- Options passed to nvim_open_win + border = 'single', + style = 'minimal', + relative = 'cursor', + row = 0, + col = 1 + }, + yadm = { + enable = false + }, + on_attach = function(bufnr) + local gs = package.loaded.gitsigns + + local function map(mode, l, r, opts) + opts = opts or {} + opts.buffer = bufnr + vim.keymap.set(mode, l, r, opts) + end + + -- Navigation + map('n', ']c', function() + if vim.wo.diff then return ']c' end + vim.schedule(function() gs.next_hunk() end) + return '' + end, { expr = true }) + + map('n', '[c', function() + if vim.wo.diff then return '[c' end + vim.schedule(function() gs.prev_hunk() end) + return '' + end, { expr = true }) + + -- Actions + map({ 'n', 'v' }, 'hs', ':Gitsigns stage_hunk') + map({ 'n', 'v' }, 'hr', ':Gitsigns reset_hunk') + map('n', 'hS', gs.stage_buffer) + map('n', 'hu', gs.undo_stage_hunk) + map('n', 'hR', gs.reset_buffer) + map('n', '', gs.preview_hunk) + map('n', 'hb', function() gs.blame_line { full = true } end) + map('n', 'tb', gs.toggle_current_line_blame) + map('n', 'hd', gs.diffthis) + map('n', 'hD', function() gs.diffthis('~') end) + map('n', 'td', gs.toggle_deleted) + + -- Text object + map({ 'o', 'x' }, 'ih', ':Gitsigns select_hunk') + end +} diff --git a/lua/conf-hlslens.lua b/lua/conf-hlslens.lua new file mode 100644 index 0000000..0f1de67 --- /dev/null +++ b/lua/conf-hlslens.lua @@ -0,0 +1,16 @@ +require('hlslens').setup() + +local kopts = { noremap = true, silent = true } + +vim.api.nvim_set_keymap('n', 'n', + [[execute('normal! ' . v:count1 . 'n')lua require('hlslens').start()]], + kopts) +vim.api.nvim_set_keymap('n', 'N', + [[execute('normal! ' . v:count1 . 'N')lua require('hlslens').start()]], + kopts) +vim.api.nvim_set_keymap('n', '*', [[*lua require('hlslens').start()]], kopts) +vim.api.nvim_set_keymap('n', '#', [[#lua require('hlslens').start()]], kopts) +vim.api.nvim_set_keymap('n', 'g*', [[g*lua require('hlslens').start()]], kopts) +vim.api.nvim_set_keymap('n', 'g#', [[g#lua require('hlslens').start()]], kopts) + +vim.api.nvim_set_keymap('n', 'l', ':noh', kopts) diff --git a/lua/conf-lualine.lua b/lua/conf-lualine.lua new file mode 100644 index 0000000..b3b1bfe --- /dev/null +++ b/lua/conf-lualine.lua @@ -0,0 +1,47 @@ +require('lualine').setup { + options = { + icons_enabled = true, + theme = 'dracula', + component_separators = { left = '', right = '' }, + section_separators = { left = '', right = '' }, + disabled_filetypes = { + statusline = {}, + winbar = {}, + }, + ignore_focus = {}, + always_divide_middle = true, + globalstatus = false, + refresh = { + statusline = 1000, + tabline = 1000, + winbar = 1000, + } + }, + sections = { + lualine_a = { 'mode' }, + lualine_b = { 'branch', 'diff', 'diagnostics' }, + lualine_c = { 'filename' }, + lualine_x = { 'encoding', 'fileformat', 'filetype' }, + lualine_y = { 'progress' }, + lualine_z = { 'tabs' } + }, + inactive_sections = { + lualine_a = {}, + lualine_b = {}, + lualine_c = { 'filename' }, + lualine_x = { 'location' }, + lualine_y = {}, + lualine_z = {} + }, + tabline = {}, + winbar = {}, + inactive_winbar = {}, + extensions = { + 'quickfix', + 'nvim-tree', + 'symbols-outline', + 'fugitive', + 'man' + } + +} diff --git a/lua/conf-mason.lua b/lua/conf-mason.lua new file mode 100644 index 0000000..78c3f68 --- /dev/null +++ b/lua/conf-mason.lua @@ -0,0 +1,24 @@ +require("mason").setup() +require("mason-lspconfig").setup({ + ensure_installed = { + "bashls", + "pyright", + "pylsp", + --"pyre", + "perlnavigator", + "dockerls", + "kotlin_language_server", + "intelephense", + "eslint", + "tsserver", + "cssls", + "cssmodules_ls", + "diagnosticls", + "jsonls", + "sumneko_lua", + "sqlls", + "yamlls", + "lemminx", + "marksman" + } +}) diff --git a/lua/conf-nvim-cmp.lua b/lua/conf-nvim-cmp.lua new file mode 100644 index 0000000..0ad2b1b --- /dev/null +++ b/lua/conf-nvim-cmp.lua @@ -0,0 +1,66 @@ +local cmp = require 'cmp' +local lspkind = require('lspkind') + +cmp.setup({ + snippet = { + -- REQUIRED - you must specify a snippet engine + expand = function(args) + require('luasnip').lsp_expand(args.body) -- For `luasnip` users. + end, + }, + window = { + -- completion = cmp.config.window.bordered(), + -- documentation = cmp.config.window.bordered(), + }, + mapping = cmp.mapping.preset.insert({ + [''] = cmp.mapping.scroll_docs(-4), + [''] = cmp.mapping.scroll_docs(4), + [''] = cmp.mapping.complete(), + [''] = cmp.mapping.abort(), + [''] = cmp.mapping.confirm({ select = false }), -- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items. + }), + sources = cmp.config.sources({ + { name = 'nvim_lsp' }, + --{ name = 'vsnip' }, -- For vsnip users. + { name = 'luasnip' }, -- For luasnip users. + -- { name = 'ultisnips' }, -- For ultisnips users. + -- { name = 'snippy' }, -- For snippy users. + }, { + { name = 'buffer' }, + { name = 'path' }, + }), + formatting = { + format = lspkind.cmp_format({ + --mode = 'symbol', -- 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) + }) + } +}) + +-- Set configuration for specific filetype. +cmp.setup.filetype('gitcommit', { + sources = cmp.config.sources({ + { name = 'cmp_git' }, -- You can specify the `cmp_git` source if you were installed it. + }, { + { name = 'buffer' }, + }) +}) + +-- Use buffer source for `/` and `?` (if you enabled `native_menu`, this won't work anymore). +cmp.setup.cmdline({ '/', '?' }, { + mapping = cmp.mapping.preset.cmdline(), + sources = { + { name = 'buffer' } + } +}) + +-- Use cmdline & path source for ':' (if you enabled `native_menu`, this won't work anymore). +cmp.setup.cmdline(':', { + mapping = cmp.mapping.preset.cmdline(), + sources = cmp.config.sources({ + { name = 'path' } + }, { + { name = 'cmdline' } + }) +}) diff --git a/lua/conf-nvim-tree.lua b/lua/conf-nvim-tree.lua new file mode 100644 index 0000000..f77f98b --- /dev/null +++ b/lua/conf-nvim-tree.lua @@ -0,0 +1,71 @@ +require("nvim-tree").setup({ + hijack_cursor = true, + open_on_setup = true, + open_on_setup_file = true, + sync_root_with_cwd = true, + view = { + adaptive_size = true, + }, + renderer = { + full_name = true, + group_empty = true, + special_files = {}, + symlink_destination = false, + indent_markers = { + enable = true, + }, + icons = { + git_placement = "signcolumn", + show = { + file = true, + folder = true, + folder_arrow = true, + git = true, + }, + }, + }, + update_focused_file = { + enable = true, + update_root = true, + ignore_list = { "help" }, + }, + diagnostics = { + enable = true, + show_on_dirs = true, + }, + filters = { + custom = {}, + dotfiles = false, + }, + actions = { + change_dir = { + enable = false, + restrict_above_cwd = true, + }, + open_file = { + resize_window = true, + }, + remove_file = { + close_window = false, + }, + }, + log = { + enable = false, + truncate = true, + types = { + all = false, + config = false, + copy_paste = false, + diagnostics = false, + git = false, + profile = false, + watcher = false, + }, + }, + git = { + enable = true, + ignore = false, + show_on_dirs = true, + timeout = 400, + }, +}) diff --git a/lua/conf-themes.lua b/lua/conf-themes.lua new file mode 100644 index 0000000..c60a3d0 --- /dev/null +++ b/lua/conf-themes.lua @@ -0,0 +1,19 @@ +--Gruvbox theme settings +-- setup must be called before loading the colorscheme +require("gruvbox").setup({ + undercurl = true, + underline = true, + bold = true, + italic = false, -- default=true + strikethrough = true, + invert_selection = false, + invert_signs = false, + invert_tabline = false, + invert_intend_guides = false, + inverse = true, -- invert background for search, diffs, statuslines and errors + contrast = "", -- can be "hard", "soft" or empty string + palette_overrides = {}, + overrides = {}, + dim_inactive = true, -- default=false + transparent_mode = false, +}) diff --git a/lua/general.lua b/lua/general.lua index 11f93bc..9dbaf84 100644 --- a/lua/general.lua +++ b/lua/general.lua @@ -1,179 +1,5 @@ require("scrollbar").setup() --- hlslens config -require('hlslens').setup() - -local kopts = { noremap = true, silent = true } - -vim.api.nvim_set_keymap('n', 'n', - [[execute('normal! ' . v:count1 . 'n')lua require('hlslens').start()]], - kopts) -vim.api.nvim_set_keymap('n', 'N', - [[execute('normal! ' . v:count1 . 'N')lua require('hlslens').start()]], - kopts) -vim.api.nvim_set_keymap('n', '*', [[*lua require('hlslens').start()]], kopts) -vim.api.nvim_set_keymap('n', '#', [[#lua require('hlslens').start()]], kopts) -vim.api.nvim_set_keymap('n', 'g*', [[g*lua require('hlslens').start()]], kopts) -vim.api.nvim_set_keymap('n', 'g#', [[g#lua require('hlslens').start()]], kopts) - -vim.api.nvim_set_keymap('n', 'l', ':noh', kopts) - --- config gitsigns -require('gitsigns').setup { - signs = { - add = { hl = 'GitSignsAdd', text = '│', numhl = 'GitSignsAddNr', linehl = 'GitSignsAddLn' }, - change = { hl = 'GitSignsChange', text = '│', numhl = 'GitSignsChangeNr', linehl = 'GitSignsChangeLn' }, - delete = { hl = 'GitSignsDelete', text = '_', numhl = 'GitSignsDeleteNr', linehl = 'GitSignsDeleteLn' }, - topdelete = { hl = 'GitSignsDelete', text = '‾', numhl = 'GitSignsDeleteNr', linehl = 'GitSignsDeleteLn' }, - changedelete = { hl = 'GitSignsChange', text = '~', numhl = 'GitSignsChangeNr', linehl = 'GitSignsChangeLn' }, - untracked = { hl = 'GitSignsAdd', text = '┆', numhl = 'GitSignsAddNr', linehl = 'GitSignsAddLn' }, - }, - signcolumn = true, -- Toggle with `:Gitsigns toggle_signs` - numhl = false, -- Toggle with `:Gitsigns toggle_numhl` - linehl = false, -- Toggle with `:Gitsigns toggle_linehl` - word_diff = false, -- Toggle with `:Gitsigns toggle_word_diff` - watch_gitdir = { - interval = 1000, - follow_files = true - }, - attach_to_untracked = true, - current_line_blame = true, -- Toggle with `:Gitsigns toggle_current_line_blame` - current_line_blame_opts = { - virt_text = true, - virt_text_pos = 'eol', -- 'eol' | 'overlay' | 'right_align' - delay = 1000, - ignore_whitespace = false, - }, - current_line_blame_formatter = ', - ', - sign_priority = 6, - update_debounce = 100, - status_formatter = nil, -- Use default - max_file_length = 40000, -- Disable if file is longer than this (in lines) - preview_config = { - -- Options passed to nvim_open_win - border = 'single', - style = 'minimal', - relative = 'cursor', - row = 0, - col = 1 - }, - yadm = { - enable = false - }, - on_attach = function(bufnr) - local gs = package.loaded.gitsigns - - local function map(mode, l, r, opts) - opts = opts or {} - opts.buffer = bufnr - vim.keymap.set(mode, l, r, opts) - end - - -- Navigation - map('n', ']c', function() - if vim.wo.diff then return ']c' end - vim.schedule(function() gs.next_hunk() end) - return '' - end, { expr = true }) - - map('n', '[c', function() - if vim.wo.diff then return '[c' end - vim.schedule(function() gs.prev_hunk() end) - return '' - end, { expr = true }) - - -- Actions - map({ 'n', 'v' }, 'hs', ':Gitsigns stage_hunk') - map({ 'n', 'v' }, 'hr', ':Gitsigns reset_hunk') - map('n', 'hS', gs.stage_buffer) - map('n', 'hu', gs.undo_stage_hunk) - map('n', 'hR', gs.reset_buffer) - map('n', '', gs.preview_hunk) - map('n', 'hb', function() gs.blame_line { full = true } end) - map('n', 'tb', gs.toggle_current_line_blame) - map('n', 'hd', gs.diffthis) - map('n', 'hD', function() gs.diffthis('~') end) - map('n', 'td', gs.toggle_deleted) - - -- Text object - map({ 'o', 'x' }, 'ih', ':Gitsigns select_hunk') - end -} - -require('lualine').setup { - options = { - icons_enabled = true, - theme = 'dracula', - component_separators = { left = '', right = '' }, - section_separators = { left = '', right = '' }, - disabled_filetypes = { - statusline = {}, - winbar = {}, - }, - ignore_focus = {}, - always_divide_middle = true, - globalstatus = false, - refresh = { - statusline = 1000, - tabline = 1000, - winbar = 1000, - } - }, - sections = { - lualine_a = { 'mode' }, - lualine_b = { 'branch', 'diff', 'diagnostics' }, - lualine_c = { 'filename' }, - lualine_x = { 'encoding', 'fileformat', 'filetype' }, - lualine_y = { 'progress' }, - lualine_z = { 'tabs' } - }, - inactive_sections = { - lualine_a = {}, - lualine_b = {}, - lualine_c = { 'filename' }, - lualine_x = { 'location' }, - lualine_y = {}, - lualine_z = {} - }, - tabline = {}, - winbar = {}, - inactive_winbar = {}, - extensions = { - 'quickfix', - 'nvim-tree', - 'symbols-outline', - 'fugitive', - 'man' - } - -} - --- load lsp and dependencies -require("mason").setup() -require("mason-lspconfig").setup({ - ensure_installed = { - "bashls", - "pyright", - "pylsp", - --"pyre", - "perlnavigator", - "dockerls", - "kotlin_language_server", - "intelephense", - "eslint", - "tsserver", - "cssls", - "cssmodules_ls", - "diagnosticls", - "jsonls", - "sumneko_lua", - "sqlls", - "yamlls", - "lemminx", - "marksman" - } -}) - -- setup minimap local codewindow = require('codewindow') codewindow.setup({ @@ -188,208 +14,5 @@ codewindow.setup({ codewindow.apply_default_keybinds() --- Set up nvim-cmp. -local cmp = require 'cmp' -local lspkind = require('lspkind') -cmp.setup({ - snippet = { - -- REQUIRED - you must specify a snippet engine - expand = function(args) - require('luasnip').lsp_expand(args.body) -- For `luasnip` users. - end, - }, - window = { - -- completion = cmp.config.window.bordered(), - -- documentation = cmp.config.window.bordered(), - }, - mapping = cmp.mapping.preset.insert({ - [''] = cmp.mapping.scroll_docs(-4), - [''] = cmp.mapping.scroll_docs(4), - [''] = cmp.mapping.complete(), - [''] = cmp.mapping.abort(), - [''] = cmp.mapping.confirm({ select = true }), -- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items. - }), - sources = cmp.config.sources({ - { name = 'nvim_lsp' }, - --{ name = 'vsnip' }, -- For vsnip users. - { name = 'luasnip' }, -- For luasnip users. - -- { name = 'ultisnips' }, -- For ultisnips users. - -- { name = 'snippy' }, -- For snippy users. - }, { - { name = 'buffer' }, - { name = 'path' }, - }), - formatting = { - format = lspkind.cmp_format({ - --mode = 'symbol', -- 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) - }) - } -}) --- Set configuration for specific filetype. -cmp.setup.filetype('gitcommit', { - sources = cmp.config.sources({ - { name = 'cmp_git' }, -- You can specify the `cmp_git` source if you were installed it. - }, { - { name = 'buffer' }, - }) -}) - --- Use buffer source for `/` and `?` (if you enabled `native_menu`, this won't work anymore). -cmp.setup.cmdline({ '/', '?' }, { - mapping = cmp.mapping.preset.cmdline(), - sources = { - { name = 'buffer' } - } -}) - --- Use cmdline & path source for ':' (if you enabled `native_menu`, this won't work anymore). -cmp.setup.cmdline(':', { - mapping = cmp.mapping.preset.cmdline(), - sources = cmp.config.sources({ - { name = 'path' } - }, { - { name = 'cmdline' } - }) -}) - -require("nvim-tree").setup({ - hijack_cursor = true, - open_on_setup = true, - open_on_setup_file = true, - sync_root_with_cwd = true, - view = { - adaptive_size = true, - }, - renderer = { - full_name = true, - group_empty = true, - special_files = {}, - symlink_destination = false, - indent_markers = { - enable = true, - }, - icons = { - git_placement = "signcolumn", - show = { - file = true, - folder = true, - folder_arrow = true, - git = true, - }, - }, - }, - update_focused_file = { - enable = true, - update_root = true, - ignore_list = { "help" }, - }, - diagnostics = { - enable = true, - show_on_dirs = true, - }, - filters = { - custom = {}, - dotfiles = false, - }, - actions = { - change_dir = { - enable = false, - restrict_above_cwd = true, - }, - open_file = { - resize_window = true, - }, - remove_file = { - close_window = false, - }, - }, - log = { - enable = false, - truncate = true, - types = { - all = false, - config = false, - copy_paste = false, - diagnostics = false, - git = false, - profile = false, - watcher = false, - }, - }, - git = { - enable = true, - ignore = false, - show_on_dirs = true, - timeout = 400, - }, -}) - ---Gruvbox theme settings --- setup must be called before loading the colorscheme -require("gruvbox").setup({ - undercurl = true, - underline = true, - bold = true, - italic = false, -- default=true - strikethrough = true, - invert_selection = false, - invert_signs = false, - invert_tabline = false, - invert_intend_guides = false, - inverse = true, -- invert background for search, diffs, statuslines and errors - contrast = "", -- can be "hard", "soft" or empty string - palette_overrides = {}, - overrides = {}, - dim_inactive = true, -- default=false - transparent_mode = false, -}) - -require('bufferline').setup { - options = { - mode = "buffers", -- set to "tabs" to only show tabpages instead - numbers = "buffer_id", - 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', - }, - buffer_close_icon = '', - modified_icon = '●', - close_icon = '', - left_trunc_marker = '', - right_trunc_marker = '', - max_name_length = 18, - max_prefix_length = 15, -- prefix used when a buffer is de-duplicated - truncate_names = true, -- whether or not tab names should be truncated - tab_size = 18, - diagnostics = "coc", - diagnostics_update_in_insert = false, - -- The diagnostics indicator can be set to nil to keep the buffer name highlight but delete the highlighting - 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 = true, - show_buffer_default_icon = true, -- whether or not an unrecognised filetype should show a default icon - show_close_icon = false, - show_tab_indicators = true, - show_duplicate_prefix = true, -- whether to show duplicate buffer prefix - 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 = "thick", - enforce_regular_tabs = false, - always_show_bufferline = true, - hover = { - enabled = true, - delay = 200, - reveal = { 'close' } - }, - sort_by = 'tabs', - } -} diff --git a/lua/initializer.lua b/lua/initializer.lua new file mode 100644 index 0000000..b58b9e9 --- /dev/null +++ b/lua/initializer.lua @@ -0,0 +1,13 @@ +-- load all modules +require("packer-setup") +require("general") +require("my-lspconfig") +require("my-lint") +require("conf-hlslens") +require("conf-gitsigns") +require("conf-lualine") +require("conf-mason") +require("conf-nvim-cmp") +require("conf-nvim-tree") +require("conf-bufferline") +require("conf-themes") diff --git a/lua/my-lint.lua b/lua/my-lint.lua index 97a2ea0..ca44c7e 100644 --- a/lua/my-lint.lua +++ b/lua/my-lint.lua @@ -23,11 +23,11 @@ require('lint').linters_by_ft = { --'--disable=C0114', -- disable missing module docstring info --} -vim.api.nvim_create_autocmd({ "BufWritePost" }, { - callback = function() - require("lint").try_lint() - end, -}) +--vim.api.nvim_create_autocmd({ "BufWritePost" }, { + --callback = function() + --require("lint").try_lint() + --end, +--}) vim.api.nvim_create_autocmd({ "BufEnter" }, { callback = function() diff --git a/lua/my-lspconfig.lua b/lua/my-lspconfig.lua index 4eab40b..928c10e 100644 --- a/lua/my-lspconfig.lua +++ b/lua/my-lspconfig.lua @@ -9,7 +9,7 @@ vim.keymap.set('n', 'q', vim.diagnostic.setloclist, opts) -- Use an on_attach function to only map the following keys -- after the language server attaches to the current buffer -local on_attach = function(client, bufnr) +local on_attach = function(_, bufnr) -- Enable completion triggered by vim.api.nvim_buf_set_option(bufnr, 'omnifunc', 'v:lua.vim.lsp.omnifunc')