diff options
Diffstat (limited to '.config/nvim/lua')
-rw-r--r-- | .config/nvim/lua/cfg/barbar/init.lua | 27 | ||||
-rw-r--r-- | .config/nvim/lua/cfg/dashboard/init.lua | 11 | ||||
-rw-r--r-- | .config/nvim/lua/cfg/galaxyline/init.lua | 106 | ||||
-rw-r--r-- | .config/nvim/lua/cfg/neoformat/init.lua | 29 | ||||
-rw-r--r-- | .config/nvim/lua/cfg/telescope/init.lua | 2 | ||||
-rw-r--r-- | .config/nvim/lua/cfg/themes/dark.lua (renamed from .config/nvim/lua/cfg/themes/spacegray.lua) | 68 | ||||
-rw-r--r-- | .config/nvim/lua/cfg/utils/init.lua | 20 | ||||
-rw-r--r-- | .config/nvim/lua/cfg/vimtex/init.lua | 10 | ||||
-rw-r--r-- | .config/nvim/lua/cfg/which-key/init.lua | 47 | ||||
-rw-r--r-- | .config/nvim/lua/default-config.lua | 3 | ||||
-rw-r--r-- | .config/nvim/lua/keymappings.lua | 27 | ||||
-rw-r--r-- | .config/nvim/lua/plugins.lua | 41 | ||||
-rw-r--r-- | .config/nvim/lua/settings.lua | 71 |
13 files changed, 271 insertions, 191 deletions
diff --git a/.config/nvim/lua/cfg/barbar/init.lua b/.config/nvim/lua/cfg/barbar/init.lua new file mode 100644 index 0000000..5257de5 --- /dev/null +++ b/.config/nvim/lua/cfg/barbar/init.lua @@ -0,0 +1,27 @@ +vim.api.nvim_set_keymap("n", "<TAB>", ":BufferNext<CR>", { noremap = true, silent = true }) +vim.api.nvim_set_keymap("n", "<S-TAB>", ":BufferPrevious<CR>", { noremap = true, silent = true }) +vim.api.nvim_set_keymap("n", "<S-x>", ":BufferClose<CR>", { noremap = true, silent = true }) + +O.user_which_key["b"] = { + name = "Buffers", + j = { "<cmd>BufferPick<cr>", "jump to buffer" }, + f = { "<cmd>Telescope buffers<cr>", "Find buffer" }, + w = { "<cmd>BufferWipeout<cr>", "wipeout buffer" }, + e = { + "<cmd>BufferCloseAllButCurrent<cr>", + "close all but current buffer", + }, + h = { "<cmd>BufferCloseBuffersLeft<cr>", "close all buffers to the left" }, + l = { + "<cmd>BufferCloseBuffersRight<cr>", + "close all BufferLines to the right", + }, + D = { + "<cmd>BufferOrderByDirectory<cr>", + "sort BufferLines automatically by directory", + }, + L = { + "<cmd>BufferOrderByLanguage<cr>", + "sort BufferLines automatically by language", + }, +} diff --git a/.config/nvim/lua/cfg/dashboard/init.lua b/.config/nvim/lua/cfg/dashboard/init.lua index bac9081..770bb5a 100644 --- a/.config/nvim/lua/cfg/dashboard/init.lua +++ b/.config/nvim/lua/cfg/dashboard/init.lua @@ -1,4 +1,3 @@ - local M = {} M.config = function() @@ -17,15 +16,15 @@ M.config = function() description = { " Recently Used Files" }, command = "Telescope oldfiles", }, + -- c = { + -- description = { " Load Last Session " }, + -- command = "SessionLoad", + -- }, c = { - description = { " Load Last Session " }, - command = "SessionLoad", - }, - d = { description = { " Find Word " }, command = "Telescope live_grep", }, - e = { + d = { description = { " Settings " }, command = ":e " .. CONFIG_PATH .. "/config.lua", }, diff --git a/.config/nvim/lua/cfg/galaxyline/init.lua b/.config/nvim/lua/cfg/galaxyline/init.lua index 536144d..c59d4f4 100644 --- a/.config/nvim/lua/cfg/galaxyline/init.lua +++ b/.config/nvim/lua/cfg/galaxyline/init.lua @@ -1,23 +1,30 @@ -local gl = require('galaxyline') +-- if not package.loaded['galaxyline'] then +-- return +-- end +local status_ok, gl = pcall(require, "galaxyline") +if not status_ok then + return +end -- get my theme in galaxyline repo +-- local colors = require('galaxyline.theme').default local colors = { - bg = '#080808', - yellow = '#DCDCAA', - dark_yellow = '#D7BA7D', - cyan = '#4EC9B0', - green = '#608B4E', - light_green = '#B5CEA8', - string_orange = '#CE9178', - orange = '#FF8800', - purple = '#C586C0', - magenta = '#D16D9E', - grey = '#858585', - blue = '#569CD6', - vivid_blue = '#4FC1FF', - light_blue = '#9CDCFE', - red = '#D16969', - error_red = '#F44747', - info_yellow = '#FFCC66' + bg = "#0A0A0A", + yellow = "#DCDCAA", + dark_yellow = "#D7BA7D", + cyan = "#4EC9B0", + green = "#608B4E", + light_green = "#B5CEA8", + string_orange = "#CE9178", + orange = "#FF8800", + purple = "#C586C0", + magenta = "#D16D9E", + grey = "#858585", + blue = "#569CD6", + vivid_blue = "#4FC1FF", + light_blue = "#9CDCFE", + red = "#D16969", + error_red = "#F44747", + info_yellow = "#FFCC66", } local condition = require "galaxyline.condition" @@ -51,8 +58,9 @@ table.insert(gls.left, { t = colors.blue, } vim.api.nvim_command("hi GalaxyViMode guifg=" .. mode_color[vim.fn.mode()]) - return "▎" + return "▊" end, + separator_highlight = "StatusLineSeparator", highlight = "StatusLineNC", }, }) @@ -108,6 +116,60 @@ table.insert(gls.left, { }, }) +table.insert(gls.left, { + Filler = { + provider = function() + return " " + end, + highlight = "StatusLineGitDelete", + }, +}) +-- get output from shell command +function os.capture(cmd, raw) + local f = assert(io.popen(cmd, "r")) + local s = assert(f:read "*a") + f:close() + if raw then + return s + end + s = string.gsub(s, "^%s+", "") + s = string.gsub(s, "%s+$", "") + s = string.gsub(s, "[\n\r]+", " ") + return s +end +-- cleanup virtual env +local function env_cleanup(venv) + if string.find(venv, "/") then + local final_venv = venv + for w in venv:gmatch "([^/]+)" do + final_venv = w + end + venv = final_venv + end + return venv +end +local PythonEnv = function() + if vim.bo.filetype == "python" then + local venv = os.getenv "CONDA_DEFAULT_ENV" + if venv ~= nil then + return "🅒 (" .. env_cleanup(venv) .. ")" + end + venv = os.getenv "VIRTUAL_ENV" + if venv ~= nil then + return " (" .. env_cleanup(venv) .. ")" + end + return "" + end + return "" +end +table.insert(gls.left, { + VirtualEnv = { + provider = PythonEnv, + highlight = "StatusLineTreeSitter", + event = "BufEnter", + }, +}) + table.insert(gls.right, { DiagnosticError = { provider = "DiagnosticError", @@ -157,7 +219,7 @@ table.insert(gls.right, { }) local get_lsp_client = function(msg) - msg = msg or "No Active LSP Client" + msg = msg or "LSP Inactive" local buf_ft = vim.api.nvim_buf_get_option(0, "filetype") local clients = vim.lsp.get_active_clients() if next(clients) == nil then @@ -173,7 +235,7 @@ local get_lsp_client = function(msg) lsps = client.name else lsps = lsps .. ", " .. client.name - -- print("more", lsps) + -- print("more", lsps) end end end @@ -277,3 +339,5 @@ table.insert(gls.short_line_left, { highlight = "StatusLineNC", }, }) + +--table.insert(gls.short_line_right[1] = {BufferIcon = {provider = 'BufferIcon', highlight = {colors.grey, colors.bg}}}) diff --git a/.config/nvim/lua/cfg/neoformat/init.lua b/.config/nvim/lua/cfg/neoformat/init.lua index eb9596e..9a5ac76 100644 --- a/.config/nvim/lua/cfg/neoformat/init.lua +++ b/.config/nvim/lua/cfg/neoformat/init.lua @@ -1,12 +1,23 @@ -- autoformat if O.format_on_save then - require("cfg.utils").define_augroups { - autoformat = { - { - "BufWritePre", - "*", - [[try | undojoin | Neoformat | catch /^Vim\%((\a\+)\)\=:E790/ | finally | silent Neoformat | endtry]], - }, - }, - } + require("cfg.utils").define_augroups({ + autoformat = { + { + "BufWritePre", + "*", + [[try | undojoin | Neoformat | catch /^Vim\%((\a\+)\)\=:E790/ | finally | silent Neoformat | endtry]], + }, + }, + }) +end + +vim.g.neoformat_run_all_formatters = 0 + +vim.g.neoformat_enabled_python = { "flake8", "black", "docformatter" } +vim.g.neoformat_enabled_javascript = { "prettier" } + +if not O.format_on_save then + vim.cmd([[if exists('#autoformat#BufWritePre') + :autocmd! autoformat + endif]]) end diff --git a/.config/nvim/lua/cfg/telescope/init.lua b/.config/nvim/lua/cfg/telescope/init.lua index 5411c32..9e0c45f 100644 --- a/.config/nvim/lua/cfg/telescope/init.lua +++ b/.config/nvim/lua/cfg/telescope/init.lua @@ -36,7 +36,7 @@ telescope.setup { file_sorter = require("telescope.sorters").get_fzy_sorter, file_ignore_patterns = {}, generic_sorter = require("telescope.sorters").get_generic_fuzzy_sorter, - shorten_path = true, + path_display = {"shorten"}, winblend = 0, border = {}, borderchars = { "─", "│", "─", "│", "╭", "╮", "╯", "╰" }, diff --git a/.config/nvim/lua/cfg/themes/spacegray.lua b/.config/nvim/lua/cfg/themes/dark.lua index 0bb695c..fe2ff03 100644 --- a/.config/nvim/lua/cfg/themes/spacegray.lua +++ b/.config/nvim/lua/cfg/themes/dark.lua @@ -3,46 +3,40 @@ local hsl = lush.hsl local theme = lush(function() local c = { - bg = hsl "#212121", - bg1 = hsl "#2a2a2a", - -- bg2 = hsl("#3a3a3a"), - bg2 = hsl "#383d45", + bg = hsl "#0A0A0A", + bg1 = hsl "#0D0D0D", + bg2 = hsl "#202020", - white = hsl "#c8c9d1", + white = hsl "#f5f5f5", - gray = hsl "#858585", - light_gray = hsl "#c8c9c1", + gray = hsl "#505050", + light_gray = hsl "#D0D0D0", - error_red = hsl "#F44747", - warning_orange = hsl "#ff8800", - info_yellow = hsl "#ffcc66", - hint_blue = hsl "#4fc1ff", + error_red = hsl "#AC4142", + warning_orange = hsl "#F4BF75", + info_yellow = hsl "#F4BF75", + hint_blue = hsl "#A5D6FF", - red = hsl "#b04b57", + red = hsl "#AC4142", - blue = hsl "#5486c0", - gray_blue = hsl "#66899d", + blue = hsl "#A5D6FF", + gray_blue = hsl "#A5D6FF", - -- yellow = hsl("#ffcb6b"), - yellow = hsl "#eeba5a", + yellow = hsl "#F4BF75", - -- orange = hsl("#c98a75"), - orange = hsl "#c6735a", + orange = hsl "#FFA657", - green = hsl "#87b379", - light_green = hsl "#b2d77c", + green = hsl "#A1B56C", + light_green = hsl "#A1B56C", - -- aqua = hsl("#46b1d0"), - aqua = hsl "#65a7c5", + aqua = hsl "#A5D6FF", - purple = hsl "#bf83c1", - pale_purple = hsl "#7199ee", + purple = hsl "#AA759F", + pale_purple = hsl "#A5D6FF", - sign_add = hsl "#587C0C", - sign_change = hsl "#0C7D9D", - sign_delete = hsl "#94151B", - - test = hsl "#ff00ff", + sign_add = hsl "#A1B56C", + sign_change = hsl "#A5D6FF", + sign_delete = hsl "#AC4142", } return { Normal { bg = c.bg, fg = c.white, gui = "NONE" }, -- used for the columns set with 'colorcolumn' @@ -99,7 +93,7 @@ local theme = lush(function() EndOfBuffer { bg = "NONE", fg = c.bg, gui = "NONE" }, NonText { EndOfBuffer }, - String { fg = c.green }, + String { fg = c.blue }, Character { fg = c.light_green }, Constant { fg = c.orange }, Number { fg = c.red }, @@ -107,10 +101,10 @@ local theme = lush(function() Float { fg = c.red }, Identifier { fg = c.white }, - Function { fg = c.yellow }, - Operator { fg = c.gray_blue }, + Function { fg = c.orange }, + Operator { fg = c.orange }, - Type { fg = c.purple }, + Type { fg = c.blue }, StorageClass { Type }, Structure { Type }, Typedef { Type }, @@ -271,8 +265,8 @@ local theme = lush(function() -- BarBar TabLine { bg = c.bg1, fg = c.white, gui = "NONE" }, - TabLineFill { bg = c.bg1, fg = c.white, gui = "NONE" }, - TabLineSel { bg = c.blue, fg = c.bg1, gui = "NONE" }, + TabLineFill { bg = c.bg1, fg = c.gray, gui = "NONE" }, + TabLineSel { bg = c.white, fg = c.bg1, gui = "NONE" }, BufferCurrent { fg = c.fg, bg = c.bg }, BufferCurrentIndex { fg = c.aqua, bg = c.bg }, @@ -340,8 +334,8 @@ local theme = lush(function() TabLineHint { LspDiagnosticsSignHint }, TabLineInformation { LspDiagnosticsSignInformation }, -- which-key.nvim - WhichKey { fg = c.purple }, -- nvim-compe - WhichKeySeperator { fg = c.green }, -- nvim-compe + WhichKey { fg = c.white }, -- nvim-compe + WhichKeySeperator { fg = c.gray }, -- nvim-compe WhichKeyGroup { fg = c.blue }, -- nvim-compe WhichKeyDesc { fg = c.aqua }, -- nvim-compe WhichKeyFloat { bg = c.bg1 }, -- nvim-compe diff --git a/.config/nvim/lua/cfg/utils/init.lua b/.config/nvim/lua/cfg/utils/init.lua index f8ed082..2fe3331 100644 --- a/.config/nvim/lua/cfg/utils/init.lua +++ b/.config/nvim/lua/cfg/utils/init.lua @@ -3,7 +3,7 @@ local utils = {} function utils.reload_config() vim.cmd "source ~/.config/nvim/config.lua" vim.cmd "source ~/.config/nvim/lua/plugins.lua" - vim.cmd "source ~/.config/nvim/lua/neoformat/init.lua" + vim.cmd "source ~/.config/nvim/lua/cfg/neoformat/init.lua" vim.cmd ":PackerCompile" vim.cmd ":PackerInstall" end @@ -54,7 +54,7 @@ utils.define_augroups { "*", "setlocal formatoptions-=c formatoptions-=r formatoptions-=o", }, - { "BufWritePost", "config.lua", "lua require('utils').reload_config()" }, + { "BufWritePost", "config.lua", "lua require('cfg.utils').reload_config()" }, { "VimLeavePre", "*", "set title set titleold=" }, }, -- _solidity = { @@ -74,7 +74,11 @@ utils.define_augroups { }, _auto_resize = { -- will cause split windows to be resized evenly if main window is resized - { "VimResized ", "*", "wincmd =" }, + { "VimResized", "*", "wincmd =" }, + }, + _packer_compile = { + -- will cause split windows to be resized evenly if main window is resized + { "BufWritePost", "plugins.lua", "PackerCompile" }, }, -- _mode_switching = { -- -- will switch between absolute and relative line numbers depending on mode @@ -85,4 +89,14 @@ utils.define_augroups { -- }, } +vim.cmd [[ + function! QuickFixToggle() + if empty(filter(getwininfo(), 'v:val.quickfix')) + copen + else + cclose + endif +endfunction +]] + return utils diff --git a/.config/nvim/lua/cfg/vimtex/init.lua b/.config/nvim/lua/cfg/vimtex/init.lua index 11ed68b..4d7b93b 100644 --- a/.config/nvim/lua/cfg/vimtex/init.lua +++ b/.config/nvim/lua/cfg/vimtex/init.lua @@ -2,6 +2,16 @@ vim.g.vimtex_compiler_method = "latexmk" vim.g.vimtex_view_method = "zathura" vim.g.vimtex_fold_enabled = 0 +O.user_which_key["L"] = { + name = "+Latex", + c = { "<cmd>VimtexCompile<cr>", "Toggle Compilation Mode" }, + f = { "<cmd>call vimtex#fzf#run()<cr>", "Fzf Find" }, + i = { "<cmd>VimtexInfo<cr>", "Project Information" }, + s = { "<cmd>VimtexStop<cr>", "Stop Project Compilation" }, + t = { "<cmd>VimtexTocToggle<cr>", "Toggle Table Of Content" }, + v = { "<cmd>VimtexView<cr>", "View PDF" }, +} + -- Compile on initialization, cleanup on quit vim.api.nvim_exec( [[ diff --git a/.config/nvim/lua/cfg/which-key/init.lua b/.config/nvim/lua/cfg/which-key/init.lua index 2a22c9c..993018c 100644 --- a/.config/nvim/lua/cfg/which-key/init.lua +++ b/.config/nvim/lua/cfg/which-key/init.lua @@ -99,7 +99,7 @@ vim.api.nvim_set_keymap( local mappings = { - ["."] = "LunarConfig", + ["."] = "Config", ["k"] = "Comment", ["c"] = "Close Buffer", ["e"] = "Explorer", @@ -108,29 +108,6 @@ local mappings = { [";"] = "Dashboard", ["v"] = "Vertical Split", ["h"] = "Horizontal Split", - b = { - name = "Buffers", - j = { "<cmd>BufferPick<cr>", "jump to buffer" }, - f = { "<cmd>Telescope buffers<cr>", "Find buffer" }, - w = { "<cmd>BufferWipeout<cr>", "wipeout buffer" }, - e = { - "<cmd>BufferCloseAllButCurrent<cr>", - "close all but current buffer", - }, - h = { "<cmd>BufferCloseBuffersLeft<cr>", "close all buffers to the left" }, - l = { - "<cmd>BufferCloseBuffersRight<cr>", - "close all BufferLines to the right", - }, - D = { - "<cmd>BufferOrderByDirectory<cr>", - "sort BufferLines automatically by directory", - }, - L = { - "<cmd>BufferOrderByLanguage<cr>", - "sort BufferLines automatically by language", - }, - }, p = { name = "Packer", c = { "<cmd>PackerCompile<cr>", "Compile" }, @@ -198,11 +175,6 @@ local mappings = { R = { "<cmd>Telescope registers<cr>", "Registers" }, t = { "<cmd>Telescope live_grep<cr>", "Text" }, }, - S = { - name = "Session", - s = { "<cmd>SessionSave<cr>", "Save Session" }, - l = { "<cmd>SessionLoad<cr>", "Load Session" }, - }, T = { name = "Treesitter", i = { ":TSConfigInfo<cr>", "Info" }, @@ -235,18 +207,6 @@ if O.plugin.telescope_project.active then mappings["P"] = "Projects" end -if O.lang.latex.active then - mappings["L"] = { - name = "+Latex", - c = { "<cmd>VimtexCompile<cr>", "Toggle Compilation Mode" }, - f = { "<cmd>call vimtex#fzf#run()<cr>", "Fzf Find" }, - i = { "<cmd>VimtexInfo<cr>", "Project Information" }, - s = { "<cmd>VimtexStop<cr>", "Stop Project Compilation" }, - t = { "<cmd>VimtexTocToggle<cr>", "Toggle Table Of Content" }, - v = { "<cmd>VimtexView<cr>", "View PDF" }, - } -end - if O.lushmode then mappings["L"] = { name = "+Lush", @@ -257,13 +217,8 @@ if O.lushmode then } end --- for _, v in pairs(O.user_which_key) do --- end for k, v in pairs(O.user_which_key) do mappings[k] = v - -- table.insert(mappings, O.user_which_key[1]) - -- print(k) - -- print(v) end local wk = require "which-key" diff --git a/.config/nvim/lua/default-config.lua b/.config/nvim/lua/default-config.lua index fce3caf..2f5a674 100644 --- a/.config/nvim/lua/default-config.lua +++ b/.config/nvim/lua/default-config.lua @@ -8,10 +8,13 @@ O = { auto_close_tree = 0, auto_complete = true, colorscheme = "lunar", + clipboard = "unnamedplus", hidden_files = true, wrap_lines = false, number = true, relative_number = true, + number_width = 4, + cmdheight = 2, cursorline = true, shell = "zsh", timeoutlen = 100, diff --git a/.config/nvim/lua/keymappings.lua b/.config/nvim/lua/keymappings.lua index 3b6a95a..4dfcbb0 100644 --- a/.config/nvim/lua/keymappings.lua +++ b/.config/nvim/lua/keymappings.lua @@ -4,19 +4,16 @@ vim.api.nvim_set_keymap("n", "<C-j>", "<C-w>j", { silent = true }) vim.api.nvim_set_keymap("n", "<C-k>", "<C-w>k", { silent = true }) vim.api.nvim_set_keymap("n", "<C-l>", "<C-w>l", { silent = true }) --- TODO fix this -- Terminal window navigation -vim.cmd [[ - tnoremap <C-h> <C-\><C-N><C-w>h - tnoremap <C-j> <C-\><C-N><C-w>j - tnoremap <C-k> <C-\><C-N><C-w>k - tnoremap <C-l> <C-\><C-N><C-w>l - inoremap <C-h> <C-\><C-N><C-w>h - inoremap <C-j> <C-\><C-N><C-w>j - inoremap <C-k> <C-\><C-N><C-w>k - inoremap <C-l> <C-\><C-N><C-w>l - tnoremap <Esc> <C-\><C-n> -]] +vim.api.nvim_set_keymap("t", "<C-h>", "<C-\\><C-N><C-w>h", {silent = true, noremap = true}) +vim.api.nvim_set_keymap("t", "<C-j>", "<C-\\><C-N><C-w>j", {silent = true, noremap = true}) +vim.api.nvim_set_keymap("t", "<C-k>", "<C-\\><C-N><C-w>k", {silent = true, noremap = true}) +vim.api.nvim_set_keymap("t", "<C-l>", "<C-\\><C-N><C-w>l", {silent = true, noremap = true}) +vim.api.nvim_set_keymap("i", "<C-h>", "<C-\\><C-N><C-w>h", {silent = true, noremap = true}) +vim.api.nvim_set_keymap("i", "<C-j>", "<C-\\><C-N><C-w>j", {silent = true, noremap = true}) +vim.api.nvim_set_keymap("i", "<C-k>", "<C-\\><C-N><C-w>k", {silent = true, noremap = true}) +vim.api.nvim_set_keymap("i", "<C-l>", "<C-\\><C-N><C-w>l", {silent = true, noremap = true}) +vim.api.nvim_set_keymap("t", "<Esc>", "<C-\\><C-n>", {silent = true, noremap = true}) -- TODO fix this -- resize with arrows @@ -70,9 +67,3 @@ vim.cmd 'vnoremap P "0P' -- Toggle the QuickFix window vim.api.nvim_set_keymap("", "<C-q>", ":call QuickFixToggle()<CR>", { noremap = true, silent = true }) - --- Telescope stuff --- vim.api.nvim_set_keymap("n", "<Leader>fb", "<cmd>lua require'telescope.builtin'.buffers{}<CR>", { noremap = true, silent = true }) -- search open buffers --- vim.api.nvim_set_keymap("n", "<Leader>fl", "<cmd>lua require'telescope.builtin'.current_buffer_fuzzy_find{}<CR>", { noremap = true, silent = true }) -- search lines in current buffer --- vim.api.nvim_set_keymap("n", "<Leader>gg", "<cmd>lua require'telescope.builtin'.live_grep{}<CR>", { noremap = true, silent = true }) -- search all lines in project --- vim.api.nvim_set_keymap("n", "<Leader>fr", "<cmd>lua require'telescope.builtin'.lsp_references{}<CR>", { noremap = true, silent = true }) -- search references to symbol under cursor diff --git a/.config/nvim/lua/plugins.lua b/.config/nvim/lua/plugins.lua index fcd5239..1f9e4a3 100644 --- a/.config/nvim/lua/plugins.lua +++ b/.config/nvim/lua/plugins.lua @@ -22,8 +22,6 @@ packer.init { }, } -vim.cmd "autocmd BufWritePost plugins.lua PackerCompile" - return require("packer").startup(function(use) -- Packer can manage itself as an optional plugin use "wbthomason/packer.nvim" @@ -38,7 +36,7 @@ return require("packer").startup(function(use) use { "nvim-telescope/telescope.nvim", config = [[require('cfg.telescope')]], - event = "BufEnter", + -- event = "BufEnter", } -- Autocomplete @@ -57,7 +55,13 @@ return require("packer").startup(function(use) use { "nvim-treesitter/nvim-treesitter", run = ":TSUpdate" } -- Neoformat - use { "sbdchd/neoformat" } + use { + "sbdchd/neoformat", + config = function() + require "cfg.neoformat" + end, + event = "BufRead", + } use { "kyazdani42/nvim-tree.lua", @@ -71,7 +75,6 @@ return require("packer").startup(function(use) use { "lewis6991/gitsigns.nvim", - config = function() require("cfg.gitsigns").config() end, @@ -79,7 +82,13 @@ return require("packer").startup(function(use) } -- whichkey - use { "folke/which-key.nvim" } + use { + "folke/which-key.nvim", + config = function() + require "cfg.which-key" + end, + event = "BufWinEnter", + } -- Autopairs use { @@ -94,8 +103,7 @@ return require("packer").startup(function(use) -- Comments use { "terrortylor/nvim-comment", - event = "BufRead", - -- cmd = "CommentToggle", + event = "BufWinEnter", config = function() local status_ok, nvim_comment = pcall(require, "nvim_comment") if not status_ok then @@ -112,16 +120,20 @@ return require("packer").startup(function(use) use { "kyazdani42/nvim-web-devicons" } -- Status Line and Bufferline - use { "glepnir/galaxyline.nvim" } + use { + "glepnir/galaxyline.nvim", + config = function() + require "cfg.galaxyline" + end, + -- event = "VimEnter", + } use { "romgrk/barbar.nvim", config = function() - vim.api.nvim_set_keymap("n", "<TAB>", ":BufferNext<CR>", { noremap = true, silent = true }) - vim.api.nvim_set_keymap("n", "<S-TAB>", ":BufferPrevious<CR>", { noremap = true, silent = true }) - vim.api.nvim_set_keymap("n", "<S-x>", ":BufferClose<CR>", { noremap = true, silent = true }) + require "cfg.barbar" end, - -- event = "BufRead", + event = "BufWinEnter", } -- Builtins, these do not load by default @@ -146,10 +158,9 @@ return require("packer").startup(function(use) use { "norcalli/nvim-colorizer.lua", - event = "BufRead", + event = "BufWinEnter", config = function() require "cfg.colorizer" - vim.cmd "ColorizerReloadAllBuffers" end, disable = not O.plugin.colorizer.active, } diff --git a/.config/nvim/lua/settings.lua b/.config/nvim/lua/settings.lua index 371cdb0..914561d 100644 --- a/.config/nvim/lua/settings.lua +++ b/.config/nvim/lua/settings.lua @@ -21,40 +21,41 @@ vim.g.colors_name = O.colorscheme --- SETTINGS --- -opt.backup = false -- creates a backup file -opt.clipboard = "unnamedplus" -- allows neovim to access the system clipboard -opt.cmdheight = 2 -- more space in the neovim command line for displaying messages -opt.colorcolumn = "99999" -- fix indentline for now +opt.backup = false -- creates a backup file +opt.clipboard = O.clipboard -- allows neovim to access the system clipboard +opt.cmdheight = O.cmdheight -- more space in the neovim command line for displaying messages +opt.colorcolumn = "99999" -- fix indentline for now opt.completeopt = { "menuone", "noselect" } -opt.conceallevel = 0 -- so that `` is visible in markdown files -opt.fileencoding = "utf-8" -- the encoding written to a file -opt.guifont = "monospace:h17" -- the font used in graphical neovim applications -opt.hidden = O.hidden_files -- required to keep multiple buffers and open multiple buffers -opt.hlsearch = O.hl_search -- highlight all matches on previous search pattern -opt.ignorecase = O.ignore_case -- ignore case in search patterns -opt.mouse = "a" -- allow the mouse to be used in neovim -opt.pumheight = 10 -- pop up menu height -opt.showmode = false -- we don't need to see things like -- INSERT -- anymore -opt.showtabline = 2 -- always show tabs -opt.smartcase = O.smart_case -- smart case -opt.smartindent = true -- make indenting smarter again -opt.splitbelow = true -- force all horizontal splits to go below current window -opt.splitright = true -- force all vertical splits to go to the right of current window -opt.swapfile = false -- creates a swapfile -opt.termguicolors = true -- set term gui colors (most terminals support this) -opt.timeoutlen = O.timeoutlen -- time to wait for a mapped sequence to complete (in milliseconds) -opt.title = true -- set the title of window to the value of the titlestring -opt.titlestring = "%<%F%=%l/%L - nvim" -- what the title of the window will be set to -opt.undodir = CACHE_PATH .. "/undo" -- set an undo directory -opt.undofile = true -- enable persisten undo -opt.updatetime = 300 -- faster completion -opt.writebackup = false -- if a file is being edited by another program (or was written to file while editing with another program), it is not allowed to be edited -opt.expandtab = true -- convert tabs to spaces -opt.shiftwidth = 4 -- the number of spaces inserted for each indentation +opt.conceallevel = 0 -- so that `` is visible in markdown files +opt.fileencoding = "utf-8" -- the encoding written to a file +opt.guifont = "monospace:h17" -- the font used in graphical neovim applications +opt.hidden = O.hidden_files -- required to keep multiple buffers and open multiple buffers +opt.hlsearch = O.hl_search -- highlight all matches on previous search pattern +opt.ignorecase = O.ignore_case -- ignore case in search patterns +opt.mouse = "a" -- allow the mouse to be used in neovim +opt.pumheight = 10 -- pop up menu height +opt.showmode = false -- we don't need to see things like -- INSERT -- anymore +opt.showtabline = 2 -- always show tabs +opt.smartcase = O.smart_case -- smart case +opt.smartindent = true -- make indenting smarter again +opt.splitbelow = true -- force all horizontal splits to go below current window +opt.splitright = true -- force all vertical splits to go to the right of current window +opt.swapfile = false -- creates a swapfile +opt.termguicolors = true -- set term gui colors (most terminals support this) +opt.timeoutlen = O.timeoutlen -- time to wait for a mapped sequence to complete (in milliseconds) +opt.title = true -- set the title of window to the value of the titlestring +opt.titlestring = "%<%F%=%l/%L - nvim" -- what the title of the window will be set to +opt.undodir = CACHE_PATH .. "/undo" -- set an undo directory +opt.undofile = true -- enable persisten undo +opt.updatetime = 300 -- faster completion +opt.writebackup = false -- if a file is being edited by another program (or was written to file while editing with another program), it is not allowed to be edited +opt.expandtab = true -- convert tabs to spaces +opt.shiftwidth = 4 -- the number of spaces inserted for each indentation opt.shortmess:append "c" -opt.tabstop = 4 -- insert 4 spaces for a tab -opt.cursorline = O.cursorline -- highlight the current line -opt.number = O.number -- set numbered lines -opt.relativenumber = O.relative_number -- set relative numbered lines -opt.signcolumn = "yes" -- always show the sign column, otherwise it would shift the text each time -opt.wrap = O.wrap_lines -- display lines as one long line +opt.tabstop = 4 -- insert 4 spaces for a tab +opt.cursorline = O.cursorline -- highlight the current line +opt.number = O.number -- set numbered lines +opt.relativenumber = O.relative_number -- set relative numbered lines +opt.numberwidth = O.number_width -- set number column width to 2 {default 4} +opt.signcolumn = "yes" -- always show the sign column, otherwise it would shift the text each time +opt.wrap = O.wrap_lines -- display lines as one long line |