From ba48867642d950f31fdefe6de7284c722430d6bb Mon Sep 17 00:00:00 2001 From: winston Date: Mon, 12 Jun 2023 05:46:16 +0200 Subject: [PATCH] refactor(nvim): global border styles --- home/apps/neovim/lua/config/options.lua | 64 ++++++++++++++++++--- home/apps/neovim/lua/config/plugins.lua | 2 +- home/apps/neovim/lua/lsp/init.lua | 13 ++++- home/apps/neovim/lua/plugins/bufferline.lua | 2 +- home/apps/neovim/lua/plugins/catppuccin.lua | 15 ----- home/apps/neovim/lua/plugins/notify.lua | 2 +- home/apps/neovim/lua/plugins/nvim-tree.lua | 2 +- home/apps/neovim/lua/plugins/telescope.lua | 16 +++--- home/apps/neovim/lua/plugins/which-key.lua | 2 +- 9 files changed, 80 insertions(+), 38 deletions(-) diff --git a/home/apps/neovim/lua/config/options.lua b/home/apps/neovim/lua/config/options.lua index 8d6af18..6b8250a 100644 --- a/home/apps/neovim/lua/config/options.lua +++ b/home/apps/neovim/lua/config/options.lua @@ -36,15 +36,63 @@ vim.o.expandtab = true vim.o.signcolumn = "yes:1" -- hide search notices, intro vim.opt.shortmess:append("sI") --- double box drawing characters for splits + +local borderchars = { + single = { + style = "single", + vert = "│", + vertleft = "┤", + vertright = "├", + horiz = "─", + horizup = "┴", + horizdown = "┬", + verthoriz = "┼", + topleft = "┌", + topright = "┐", + botleft = "└", + botright = "┘", + }, + double = { + style = "double", + vert = "║", + vertleft = "╣", + vertright = "╠", + horiz = "═", + horizup = "╩", + horizdown = "╦", + verthoriz = "╬", + topleft = "╔", + topright = "╗", + botleft = "╚", + botright = "╝", + }, + rounded = { + style = "rounded", + vert = "│", + vertleft = "┤", + vertright = "├", + horiz = "─", + horizup = "┴", + horizdown = "┬", + verthoriz = "┼", + topleft = "╭", + topright = "╮", + botleft = "╰", + botright = "╯", + }, +} + +-- my custom borderchars +vim.g.bc = borderchars.rounded +-- drawing characters for splits vim.opt.fillchars:append({ - horiz = "═", - horizup = "╩", - horizdown = "╦", - vert = "║", - vertright = "╠", - vertleft = "╣", - verthoriz = "╬", + horiz = vim.g.bc.horiz, + horizup = vim.g.bc.horizup, + horizdown = vim.g.bc.horizdown, + vert = vim.g.bc.vert, + vertright = vim.g.bc.vertright, + vertleft = vim.g.bc.vertleft, + verthoriz = vim.g.bc.verthoriz, }) if vim.g.neovide then diff --git a/home/apps/neovim/lua/config/plugins.lua b/home/apps/neovim/lua/config/plugins.lua index 76817c0..0352d3c 100644 --- a/home/apps/neovim/lua/config/plugins.lua +++ b/home/apps/neovim/lua/config/plugins.lua @@ -65,7 +65,7 @@ M.setup = function(plugins) start = " ", task = " ", }, - border = "double", + border = vim.g.bc.style, }, }) end diff --git a/home/apps/neovim/lua/lsp/init.lua b/home/apps/neovim/lua/lsp/init.lua index 4de535b..d75d624 100644 --- a/home/apps/neovim/lua/lsp/init.lua +++ b/home/apps/neovim/lua/lsp/init.lua @@ -13,10 +13,19 @@ vim.lsp.set_log_level("error") -- border style require("lspconfig.ui.windows").default_options.border = "double" vim.lsp.handlers["textDocument/hover"] = vim.lsp.with(vim.lsp.handlers.hover, { - border = "double", + border = vim.g.bc.style, }) local cmp_borders = { - border = { "╔", "═", "╗", "║", "╝", "═", "╚", "║" }, + border = { + vim.g.bc.topleft, + vim.g.bc.horiz, + vim.g.bc.topright, + vim.g.bc.vert, + vim.g.bc.botright, + vim.g.bc.horiz, + vim.g.bc.botleft, + vim.g.bc.vert, + }, winhighlight = "Normal:CmpPmenu,FloatBorder:CmpBorder,CursorLine:PmenuSel,Search:None", } diff --git a/home/apps/neovim/lua/plugins/bufferline.lua b/home/apps/neovim/lua/plugins/bufferline.lua index e470e58..7ad7751 100644 --- a/home/apps/neovim/lua/plugins/bufferline.lua +++ b/home/apps/neovim/lua/plugins/bufferline.lua @@ -22,7 +22,7 @@ return { filetype = "NvimTree", text = "  neovim " .. vStr, text_align = "left", - separator = "║", + separator = vim.g.bc.vert, }, }, left_mouse_command = "buffer %d", diff --git a/home/apps/neovim/lua/plugins/catppuccin.lua b/home/apps/neovim/lua/plugins/catppuccin.lua index 77cd040..ec89389 100644 --- a/home/apps/neovim/lua/plugins/catppuccin.lua +++ b/home/apps/neovim/lua/plugins/catppuccin.lua @@ -77,22 +77,7 @@ return { FidgetTask = { fg = colors.subtext0 }, } end, - -- mocha = function(colors) - -- return { - -- Selection = { bg = "#121212", fg = colors.text }, - -- Comment = { fg = colors.surface2, style = { "italic" } }, - -- InlayHint = { fg = colors.surface0, style = { "italic" } }, - -- WinSeparator = { fg = colors.surface2 }, - -- } - -- end, }, - -- color_overrides = { - -- mocha = { - -- base = "#000000", - -- crust = "#010101", - -- mantle = "#020202", - -- }, - -- }, }) vim.cmd.colorscheme("catppuccin") diff --git a/home/apps/neovim/lua/plugins/notify.lua b/home/apps/neovim/lua/plugins/notify.lua index 8e1f81f..61ac053 100644 --- a/home/apps/neovim/lua/plugins/notify.lua +++ b/home/apps/neovim/lua/plugins/notify.lua @@ -12,7 +12,7 @@ return { function(...) local opts = stages[1](...) if opts then - opts.border = "double" + opts.border = vim.g.bc.style end return opts end, diff --git a/home/apps/neovim/lua/plugins/nvim-tree.lua b/home/apps/neovim/lua/plugins/nvim-tree.lua index 902163e..5c34fb0 100644 --- a/home/apps/neovim/lua/plugins/nvim-tree.lua +++ b/home/apps/neovim/lua/plugins/nvim-tree.lua @@ -14,7 +14,7 @@ return { actions = { file_popup = { open_win_config = { - border = "double", + border = vim.g.bc.style, }, }, }, diff --git a/home/apps/neovim/lua/plugins/telescope.lua b/home/apps/neovim/lua/plugins/telescope.lua index c6cd93a..e20d382 100644 --- a/home/apps/neovim/lua/plugins/telescope.lua +++ b/home/apps/neovim/lua/plugins/telescope.lua @@ -16,14 +16,14 @@ return { defaults = { selection_caret = "▶ ", borderchars = { - "═", - "║", - "═", - "║", - "╔", - "╗", - "╝", - "╚", + vim.g.bc.horiz, + vim.g.bc.vert, + vim.g.bc.horiz, + vim.g.bc.vert, + vim.g.bc.topleft, + vim.g.bc.topright, + vim.g.bc.botright, + vim.g.bc.botleft, }, }, extensions = { diff --git a/home/apps/neovim/lua/plugins/which-key.lua b/home/apps/neovim/lua/plugins/which-key.lua index 73a6af7..204c819 100644 --- a/home/apps/neovim/lua/plugins/which-key.lua +++ b/home/apps/neovim/lua/plugins/which-key.lua @@ -14,7 +14,7 @@ return { [""] = "⎋ ", }, window = { - border = "double", + border = vim.g.bc.style, margin = { 0, 0, 0, 0 }, }, })