From 74048e84050b8ab034e65035f032cccbddce571e Mon Sep 17 00:00:00 2001 From: lucy Date: Fri, 3 Apr 2026 17:04:39 +0200 Subject: [PATCH] go back to base16-nvim for bufferline styling --- init.lua | 258 +++++++++++++++++++++++--------------------- nvim-pack-lock.json | 20 ++++ 2 files changed, 157 insertions(+), 121 deletions(-) diff --git a/init.lua b/init.lua index a9d7522..f42de96 100644 --- a/init.lua +++ b/init.lua @@ -1,34 +1,3 @@ --- add plugins -vim.pack.add({ - "https://github.com/folke/snacks.nvim", - "https://github.com/nvim-lualine/lualine.nvim", - "https://github.com/RRethy/base16-nvim", - "https://github.com/akinsho/bufferline.nvim", - "https://github.com/nvimdev/lspsaga.nvim", - "https://github.com/neovim/nvim-lspconfig", - "https://github.com/nvim-treesitter/nvim-treesitter", -}) - - -require('lualine').setup() -require('bufferline').setup() -require('snacks').setup({ - notifier = { enabled = true }, - statuscolumn = { enabled = true }, - picker = {} -}) -require('lspsaga').setup({ - symbol_in_winbar = { enable = true }, - lightbulb = { - enable = true, - sign = false, - }, - hover = { - max_width = 0.6, - open_link = "gx", - open_browser = "!google-chrome", - } -}) -- general options local opt = vim.opt vim.g.mapleader = " " @@ -43,49 +12,107 @@ opt.signcolumn = "yes" vim.lsp.inlay_hint.enable = true opt.tabstop = 8 vim.opt.expandtab = true -vim.g.tinted_background_transparent = 1 +vim.g.tinted_background_transparent = 0 opt.shiftwidth = 8 vim.diagnostic.config({ - virtual_text = { - spacing = 4, - source = true, - }, + virtual_text = { + spacing = 4, + source = true, + }, }) --- setup lualine -require('lualine').setup({ - options = { - component_separators = { left = "", right = "" }, - section_separators = { left = "", right = "" }, - }, - sections = { - lualine_a = { "mode" }, - lualine_b = { "diagnostics" }, - lualine_c = { "filename", "branch", "navic" }, - lualine_x = { "lsp_status", "filetype" }, - lualine_y = { "progress" }, - lualine_z = { "location" }, - }, +-- add plugins +vim.pack.add({ + "https://github.com/folke/snacks.nvim", + "https://github.com/nvim-lualine/lualine.nvim", + "https://github.com/RRethy/base16-nvim", + "https://github.com/akinsho/bufferline.nvim", + "https://github.com/nvimdev/lspsaga.nvim", + "https://github.com/neovim/nvim-lspconfig", + "https://github.com/nvim-treesitter/nvim-treesitter", + "https://github.com/vyfor/cord.nvim", + "https://github.com/mason-org/mason-lspconfig.nvim.git", + "https://github.com/mason-org/mason.nvim.git", + "https://github.com/nvim-tree/nvim-web-devicons", }) - +vim.lsp.config("qmlls", { + cmd = { "qmlls6" }, +}) +require("mason").setup() +require("mason-lspconfig").setup() +require("bufferline").setup({ + options = { + themable = true, + numbers = "ordinal", + indicator = { + style = "underline", + }, + }, +}) +require("lualine").setup() +require("snacks").setup({ + notifier = { enabled = true }, + statuscolumn = { enabled = true }, + picker = {}, +}) +require("lspsaga").setup({ + symbol_in_winbar = { enable = true }, + lightbulb = { + enable = true, + sign = false, + }, + hover = { + max_width = 0.6, + open_link = "gx", + open_browser = "!google-chrome", + }, +}) +require("cord").setup({ + display = { + theme = "atom", + }, + editor = { tooltip = "ur gay x3" }, +}) +require("lualine").setup({ + options = { + component_separators = { left = "", right = "" }, + section_separators = { left = "", right = "" }, + }, + sections = { + lualine_a = { "mode" }, + lualine_b = { "diagnostics" }, + lualine_c = { "filename", "branch", "navic" }, + lualine_x = { "lsp_status", "filetype" }, + lualine_y = { "progress" }, + lualine_z = { "location" }, + }, +}) -- keymaps local map = vim.keymap.set map("n", "ff", function() - Snacks.picker.files() + Snacks.picker.files() end) map("n", "lg", function() - Snacks.picker.grep() + Snacks.picker.grep() end) +map("n", "", "h") +map("n", "", "j") +map("n", "", "k") +map("n", "", "l") +map("n", "", ":vertical resize -5", { silent = true }) +map("n", "", ":vertical resize +5", { silent = true }) +map("n", "", ":resize +5", { silent = true }) +map("n", "", ":resize -5", { silent = true }) -- lsp keybinds map("n", "K", " Lspsaga hover_doc") map("n", "go", " Lspsaga goto_definition") map("n", "gr", " Lspsaga finder") map("n", "qf", " Lspsaga code_action") map("n", "", function() - vim.lsp.buf.format() + vim.lsp.buf.format() end) -- bufferline keybinds map("n", "", " BufferLineGoToBuffer 1 ") @@ -106,100 +133,89 @@ map("n", "", "Lspsaga term_toggle") map("t", "", "") map("i", "", vim.lsp.completion.get, { desc = "trigger autocompletion" }) -- lsp setup -vim.lsp.config('*', { - on_attach = function(client, bufnr) - vim.lsp.completion.enable(true, client.id, bufnr, { - autotrigger = true, - convert = function(item) - return { abbr = item.label:gsub("%b()", "") } - end, - }) - vim.keymap.set("i", "", vim.lsp.completion.get, { desc = "trigger autocompletion" }) - end +vim.lsp.config("*", { + on_attach = function(client, bufnr) + vim.lsp.completion.enable(true, client.id, bufnr, { + autotrigger = true, + convert = function(item) + return { abbr = item.label:gsub("%b()", "") } + end, + }) + vim.keymap.set("i", "", vim.lsp.completion.get, { desc = "trigger autocompletion" }) + end, }) -vim.lsp.config('qmlls', { - cmd = { "qmlls6" }, -}) -vim.lsp.enable('lua_ls') -vim.lsp.enable('qmlls') -vim.lsp.enable('clangd') - -vim.o.complete = ".,o" -- use buffer and omnifunc +vim.o.complete = ".,o" -- use buffer and omnifunc vim.o.completeopt = "fuzzy,menuone,noselect" -- add 'popup' for docs (sometimes) vim.o.autocomplete = true vim.o.pumheight = 7 -- setup autocomplete vim.api.nvim_create_autocmd("LspAttach", { - callback = function(ev) - vim.lsp.completion.enable(true, ev.data.client_id, ev.buf, { - -- Optional formating of items - convert = function(item) - -- Remove leading misc chars for abbr name, - -- and cap field to 25 chars - --local abbr = item.label - --abbr = abbr:match("[%w_.]+.*") or abbr - --abbr = #abbr > 25 and abbr:sub(1, 24) .. "…" or abbr - -- - -- Remove return value - --local menu = "" + callback = function(ev) + vim.lsp.completion.enable(true, ev.data.client_id, ev.buf, { + -- Optional formating of items + convert = function(item) + -- Remove leading misc chars for abbr name, + -- and cap field to 25 chars + --local abbr = item.label + --abbr = abbr:match("[%w_.]+.*") or abbr + --abbr = #abbr > 25 and abbr:sub(1, 24) .. "…" or abbr + -- + -- Remove return value + --local menu = "" - -- Only show abbr name, remove leading misc chars (bullets etc.), - -- and cap field to 15 chars - local abbr = item.label - abbr = abbr:gsub("%b()", ""):gsub("%b{}", "") - abbr = abbr:match("[%w_.]+.*") or abbr - abbr = #abbr > 15 and abbr:sub(1, 14) .. "…" or abbr + -- Only show abbr name, remove leading misc chars (bullets etc.), + -- and cap field to 15 chars + local abbr = item.label + abbr = abbr:gsub("%b()", ""):gsub("%b{}", "") + abbr = abbr:match("[%w_.]+.*") or abbr + abbr = #abbr > 15 and abbr:sub(1, 14) .. "…" or abbr - -- Cap return value field to 15 chars - local menu = item.detail or "" - menu = #menu > 15 and menu:sub(1, 14) .. "…" or menu + -- Cap return value field to 15 chars + local menu = item.detail or "" + menu = #menu > 15 and menu:sub(1, 14) .. "…" or menu - return { abbr = abbr, menu = menu } - end, - }) - end, + return { abbr = abbr, menu = menu } + end, + }) + end, }) - - - - -- tinty function local default_theme = "base16-oceanicnext" local function get_tinty_theme() - local theme_name = vim.fn.system("cat ~/.local/share/tinted-theming/tinty/current_scheme") + local theme_name = vim.fn.system("cat /home/lucy/.local/share/tinted-theming/tinty/current_scheme") - if vim.v.shell_error ~= 0 then - return default_theme - else - return vim.trim(theme_name) - end + if vim.v.shell_error ~= 0 then + return default_theme + else + return vim.trim(theme_name) + end end local function handle_focus_gained() - local new_theme_name = get_tinty_theme() - local current_theme_name = vim.g.colors_name + local new_theme_name = get_tinty_theme() + local current_theme_name = vim.g.colors_name - if current_theme_name ~= new_theme_name then - vim.cmd("colorscheme " .. new_theme_name) - require("lualine").setup() - end - require("lualine").setup() + if current_theme_name ~= new_theme_name then + vim.cmd("colorscheme " .. new_theme_name) + require("lualine").setup() + end + require("lualine").setup() end local function main() - vim.o.termguicolors = true - vim.g.tinted_colorspace = 256 - local current_theme_name = get_tinty_theme() + vim.o.termguicolors = true + vim.g.tinted_colorspace = 256 + local current_theme_name = get_tinty_theme() - vim.cmd("colorscheme " .. current_theme_name) + vim.cmd("colorscheme " .. current_theme_name) - vim.api.nvim_create_autocmd("FocusGained", { - callback = handle_focus_gained, - }) + vim.api.nvim_create_autocmd("FocusGained", { + callback = handle_focus_gained, + }) end main() diff --git a/nvim-pack-lock.json b/nvim-pack-lock.json index c2b10e0..e77dc2f 100644 --- a/nvim-pack-lock.json +++ b/nvim-pack-lock.json @@ -8,6 +8,10 @@ "rev": "655133c3b4c3e5e05ec549b9f8cc2894ac6f51b3", "src": "https://github.com/akinsho/bufferline.nvim" }, + "cord.nvim": { + "rev": "283e4a5bdafd0d6187f28e5b739cccab6b4c9c64", + "src": "https://github.com/vyfor/cord.nvim" + }, "lspsaga.nvim": { "rev": "562d9724e3869ffd1801c572dd149cc9f8d0cc36", "src": "https://github.com/nvimdev/lspsaga.nvim" @@ -16,6 +20,14 @@ "rev": "47f91c416daef12db467145e16bed5bbfe00add8", "src": "https://github.com/nvim-lualine/lualine.nvim" }, + "mason-lspconfig.nvim": { + "rev": "25f609e7fca78af7cede4f9fa3af8a94b1c4950b", + "src": "https://github.com/mason-org/mason-lspconfig.nvim.git" + }, + "mason.nvim": { + "rev": "44d1e90e1f66e077268191e3ee9d2ac97cc18e65", + "src": "https://github.com/mason-org/mason.nvim.git" + }, "nvim-lspconfig": { "rev": "8e2084bf5e40c79c1f42210a6ef96a0a4793a763", "src": "https://github.com/neovim/nvim-lspconfig" @@ -24,9 +36,17 @@ "rev": "c82bf96f0a773d85304feeb695e1e23b2207ac35", "src": "https://github.com/nvim-treesitter/nvim-treesitter" }, + "nvim-web-devicons": { + "rev": "40e9d5a6cc3db11b309e39593fc7ac03bb844e38", + "src": "https://github.com/nvim-tree/nvim-web-devicons" + }, "snacks.nvim": { "rev": "ad9ede6a9cddf16cedbd31b8932d6dcdee9b716e", "src": "https://github.com/folke/snacks.nvim" + }, + "tinted-vim": { + "rev": "19b03f63f58ffc63aa8e26159a370d6514735581", + "src": "https://github.com/tinted-theming/tinted-vim" } } }