diff options
| author | Elvis Claros Castro <elvis@claros.ar> | 2025-08-31 09:55:39 -0300 |
|---|---|---|
| committer | Elvis Claros Castro <elvis@claros.ar> | 2025-08-31 09:55:39 -0300 |
| commit | 0b4280dec8fec6ef2e2281ec3616918e7b78d275 (patch) | |
| tree | 7d29fcbd561a75cdd4ad2ba3720c3681013e3aff /lua/plugins | |
| parent | ec011dd9c8d4372f4f8566b87981ecc178675adf (diff) | |
| download | nvim-conf-0b4280dec8fec6ef2e2281ec3616918e7b78d275.tar.gz nvim-conf-0b4280dec8fec6ef2e2281ec3616918e7b78d275.zip | |
feat(ui): reemplaza solarized-osaka y lualine.nvim por esquema de color y barra de estado nativos
- Se eliminaron los plugins externos para el esquema de color (solarized-osaka) y la barra de estado (lualine.nvim).
- Se agregó una implementación nativa inspirada en Solarized Osaka en `config.native-colorscheme`.
- Se agregó una barra de estado nativa en `config.native-statusline` para mejorar el rendimiento y la personalización.
- Se actualizó la configuración para cargar la interfaz nativa y establecer opciones relacionadas desde el inicio.
- Motivación: Reducir dependencias de plugins, mejorar el tiempo de inicio y permitir una personalización más profunda de los elementos de la interfaz.
Diffstat (limited to 'lua/plugins')
| -rw-r--r-- | lua/plugins/colorscheme.lua | 145 | ||||
| -rw-r--r-- | lua/plugins/lualine.lua | 232 |
2 files changed, 0 insertions, 377 deletions
diff --git a/lua/plugins/colorscheme.lua b/lua/plugins/colorscheme.lua deleted file mode 100644 index aaae1db..0000000 --- a/lua/plugins/colorscheme.lua +++ /dev/null @@ -1,145 +0,0 @@ -return { - "craftzdog/solarized-osaka.nvim", - lazy = false, - priority = 1000, - opts = {}, - config = function() - -- ===================================================== - -- Solarized Osaka Colorscheme Configuration - -- Enhanced setup with better customization - -- ===================================================== - - require("solarized-osaka").setup({ - -- ========== Core Settings ========== - transparent = true, -- Enable transparent background - terminal_colors = true, -- Configure terminal colors - - -- ========== Syntax Highlighting Styles ========== - styles = { - comments = { italic = true }, - keywords = { italic = true, bold = false }, - functions = { italic = false, bold = true }, - variables = { bold = false }, - conditionals = { italic = true }, - loops = { italic = true }, - constants = { bold = true }, - strings = { italic = false }, - types = { bold = true }, - - -- ========== UI Element Styles ========== - sidebars = "dark", -- Sidebar style: "dark", "transparent", "normal" - floats = "dark", -- Floating window style - }, - - -- ========== UI Configuration ========== - sidebars = { - "qf", "help", "vista_kind", "terminal", - "packer", "spectre_panel", "toggleterm", - "Trouble", "NvimTree", "neo-tree" - }, - day_brightness = 0.4, -- Better brightness for day variant - hide_inactive_statusline = false, - dim_inactive = true, -- Dim inactive windows for better focus - lualine_bold = true, - - -- ========== Color Customization ========== - ---@param colors ColorScheme - on_colors = function(colors) - -- Enhance base colors for better readability - colors.bg_dark = "#16161e" - colors.bg_float = "#1a1a23" - colors.border = "#27a1b9" - colors.comment = "#565f89" - colors.gitSigns = { - add = "#449dab", - change = "#6183bb", - delete = "#f7768e", - } - end, - - -- ========== Highlight Customization ========== - ---@param highlights Highlights - ---@param colors ColorScheme - on_highlights = function(hl, c) - -- ========== Indent Guides ========== - hl.IblIndent = { fg = c.base03, nocombine = true } - hl.IndentBlanklineChar = { fg = c.blue, nocombine = true } - hl.IndentBlanklineContextChar = { fg = c.orange500, nocombine = true } - - -- ========== Telescope Enhanced Styling ========== - local prompt = "#2d3149" - local results = "#1f2335" - local preview = "#24283b" - - hl.TelescopeNormal = { bg = c.bg_dark, fg = c.fg_dark } - hl.TelescopeBorder = { bg = c.bg_dark, fg = c.border } - hl.TelescopePromptNormal = { bg = prompt } - hl.TelescopePromptBorder = { bg = prompt, fg = c.border } - hl.TelescopePromptTitle = { bg = c.blue, fg = c.bg_dark, bold = true } - hl.TelescopePreviewTitle = { bg = c.green, fg = c.bg_dark, bold = true } - hl.TelescopeResultsTitle = { bg = c.purple, fg = c.bg_dark, bold = true } - hl.TelescopeSelection = { bg = "#364A82", fg = c.fg } - hl.TelescopeSelectionCaret = { fg = c.red } - - -- ========== Enhanced UI Elements ========== - -- Better cursor line - hl.CursorLine = { bg = "#1e202a" } - hl.CursorLineNr = { fg = c.orange, bold = true } - - -- Improved visual selection - hl.Visual = { bg = "#33467c" } - - -- Better search highlights - hl.Search = { bg = c.yellow, fg = c.bg_dark } - hl.IncSearch = { bg = c.orange, fg = c.bg_dark } - - -- Enhanced diagnostics - hl.DiagnosticError = { fg = c.red } - hl.DiagnosticWarn = { fg = c.yellow } - hl.DiagnosticInfo = { fg = c.blue } - hl.DiagnosticHint = { fg = c.cyan } - - -- ========== Plugin-specific Highlights ========== - -- Neo-tree - hl.NeoTreeNormal = { bg = c.bg_dark } - hl.NeoTreeNormalNC = { bg = c.bg_dark } - - -- Which-key - hl.WhichKey = { fg = c.blue } - hl.WhichKeyGroup = { fg = c.purple } - hl.WhichKeyDesc = { fg = c.fg } - - -- Notify - hl.NotifyBackground = { bg = c.bg_dark } - - -- GitSigns - hl.GitSignsAdd = { fg = c.green } - hl.GitSignsChange = { fg = c.yellow } - hl.GitSignsDelete = { fg = c.red } - end, - }) - - -- ===================================================== - -- Apply Colorscheme - -- ===================================================== - vim.cmd.colorscheme("solarized-osaka") - - -- ===================================================== - -- Additional UI Enhancements - -- ===================================================== - -- Better cursor visibility - vim.opt.guicursor = "n-v-c:block,i-ci-ve:ver25,r-cr:hor20,o:hor50" - - -- Enhanced visual feedback - vim.opt.cursorline = true - vim.opt.number = true - vim.opt.relativenumber = true - vim.opt.signcolumn = "yes" - - -- Better terminal colors - if vim.fn.has("termguicolors") == 1 then - vim.opt.termguicolors = true - end - - end, -} diff --git a/lua/plugins/lualine.lua b/lua/plugins/lualine.lua deleted file mode 100644 index 5873598..0000000 --- a/lua/plugins/lualine.lua +++ /dev/null @@ -1,232 +0,0 @@ -return { - 'nvim-lualine/lualine.nvim', - dependencies = { 'nvim-tree/nvim-web-devicons' }, - config = function() - - local colors = require("solarized-osaka.colors").setup({ transform = true }) - local config = require("solarized-osaka.config").options - - local solarized_osaka = { - normal = { - a = { bg = colors.base03, fg = colors.blue100 }, - b = { bg = colors.fg, fg = colors.black }, - c = { bg = colors.bg_statusline, fg = colors.fg }, - }, - insert = { - a = { bg = colors.base03, fg = colors.green100 }, - }, - - command = { - a = { bg = colors.base03, fg = colors.yellow100 }, - }, - - visual = { - a = { bg = colors.base03, fg = colors.magenta100 }, - }, - - replace = { - a = { bg = colors.base03, fg = colors.red100 }, - }, - - terminal = { - a = { bg = colors.base03, fg = colors.orange100 }, - }, - - inactive = { - a = { bg = colors.bg_statusline, fg = colors.blue }, - b = { bg = colors.bg_statusline, fg = colors.fg, gui = "bold" }, - c = { bg = colors.bg_statusline, fg = colors.fg }, - } - } - - for _, mode in pairs(solarized_osaka) do - if config.lualine_bold then - mode.a.gui = "bold" - end - end - - -- local empty = require('lualine.component'):extend() - - -- local function jarak() - -- return ' ' - -- end - - local empty = require('lualine.component'):extend() - function empty:draw(default_highlight) - self.status = '' - self.applied_separator = '' - self:apply_highlights(default_highlight) - self:apply_section_separators() - return self.status - end - - local function process_sections(sections) - for name, section in pairs(sections) do - local left = name:sub(9, 10) < 'x' - for pos = 1, name ~= 'lualine_z' and #section or #section - 1 do - table.insert(section, pos * 2, { empty, color = { fg = colors.base03, bg = colors.base03 } }) - end - for id, comp in ipairs(section) do - if type(comp) ~= 'table' then - comp = { comp } - section[id] = comp - end - -- comp.separator = left and { right = '' } or { left = '' } - comp.separator = left and { right = ' ' } or { left = ' '} - -- comp.separator = {left = '' } and { right = '' } - end - end - return sections - end - - local lazy_status = require("lazy.status") - - require('lualine').setup{ - options = - { - theme = solarized_osaka, - -- icons_enabled = true, - -- component_separators = { left = '>', right = '┇' }, - -- section_separators = {left = '', right = '' }, - }, - sections = process_sections { - lualine_a = { - { 'mode', - icons_enabled = true, - icon = { - " ", - color = { fg = colors.base4, bg = colors.base03, gui = 'bold'} - }, - -- color = { fg = colors.base0, bg = colors.green300, gui = 'bold' }, - -- separator = { left = '', right = '' }, - -- left_padding = 2, right_padding = 0, - }, - }, - -- lualine_b = { 'filename', 'branch' }, - lualine_b = { - { - 'branch', - -- separator = { left = '', right = '' }, - -- left_padding = 0, right_padding = 2, - icon = { - "", - -- align = 'left', - color = { fg = colors.orange100, bg = colors.base03, gui = 'bold'}, - -- -- separator = {left = '', right = ''} - }, - -- left_padding = 0, - color = { fg = colors.orange100, bg = colors.base03, gui = 'bold' }, - }, - { - 'diff', - -- separator = { right = '',left = ''}, - colored = true, - symbols = { added = " " , modified = " " , removed = " " }, - diff_color = { - added = { fg = colors.green300, bg = colors.base03, gui = 'bold' }, - modified = { fg = colors.yellow300, bg = colors.base03, gui = 'bold' }, - removed = { fg = colors.red300, bg = colors.base03, gui = 'bold' }, - } - }, - }, - lualine_c = { - { - 'filename', - on_click = function() - require('telescope.builtin').find_files() - -- print('file name clicked') - end, - icon = ' ', - color = { fg = colors.yellow100, bg = colors.base03, gui = 'bold'}, - path = 4, - file_status = false, - -- separator = { right = '┇', left = '┇'}, - }, - }, - lualine_x = { - { - 'diagnostics', - on_click = function() - require('telescope.builtin').diagnostics() - end, - -- separator = { left = '' }, - sources = { 'nvim_diagnostic'}, - sections = { 'error', 'warn', 'info', 'hint' }, - - diagnostics_color = { - error = { fg = colors.red300, bg = colors.base03 , gui = 'bold'}, -- Changes diagnostics' error color. - added = { fg = colors.green300, bg = colors.base03, gui = 'bold'}, - warn = { fg = colors.yellow300, bg = colors.base03, gui = 'bold' }, -- Changes diagnostics' warn color. - info = { fg = colors.blue300, bg = colors.base03, gui = 'bold' }, -- Changes diagnostics' info color. - hint = { fg = colors.cyan300, bg = colors.base03, gui = 'bold' }, -- Changes diagnostics' hint color. - }, - symbols = { error = " ", warn = " ", hint = " ", info = " " }, - colored = true, -- Displays diagnostics status in color if set to true. - update_in_insert = true, -- Update diagnostics in insert mode. default = false - always_visible = false, -- Show diagnostics even if there are none. - }, - { - lazy_status.updates, - cond = lazy_status.has_updates, - color = {fg=colors.orange300}, - }, - { - -- code from https://github.com/nvim-lualine/lualine.nvim/blob/566b7036f717f3d676362742630518a47f132fff/examples/evil_lualine.lua - -- Lsp server name . - function() - local msg = 'No LSP' - local buf_ft = vim.api.nvim_get_option_value("filetype", { buf = 0 }) - local clients = vim.lsp.get_clients() - if next(clients) == nil then - return msg - end - for _, client in ipairs(clients) do - local filetypes = client.config.filetypes - if filetypes and vim.fn.index(filetypes, buf_ft) ~= -1 then - return client.name - end - end - return msg - end, - -- icon = ' LSP:', - -- icon = {' ', color = {bg = colors.base03, fg = colors.red100}}, - -- separator = { left = '', right = ''}, - -- separator = { left = ' ', right = ' '}, - color = { fg = colors.base4, gui = 'bold', bg = colors.base03 }, - }, - - { - 'filetype', - color = {bg = colors.base03, fg = colors.magenta100, gui = 'bold'} - -- separator = { left = '', right = ' ' }, - } - }, - lualine_y = { - { - 'progress', left_padding = 0, - color = {bg = colors.base03, fg = colors.cyan100, gui = 'bold'} - } - }, - lualine_z = { - { - -- 'location', - -- function() - -- return "Ln:%l Col:%c" - -- end - -- separator = { right = '' }, left_padding = 2 }, - } - }, - }, - inactive_sections = { - lualine_a = {}, - lualine_b = {}, - lualine_c = {'filename'}, - lualine_x = {'location'}, - lualine_y = {}, - lualine_z = {}, - }, - tabline = {}, - extensions = {}, - } - end - } |