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/lualine.lua | |
| 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/lualine.lua')
| -rw-r--r-- | lua/plugins/lualine.lua | 232 |
1 files changed, 0 insertions, 232 deletions
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 - } |