aboutsummaryrefslogtreecommitdiffstats
path: root/lua
diff options
context:
space:
mode:
Diffstat (limited to 'lua')
-rw-r--r--lua/menus/colors.lua17
-rw-r--r--lua/menus/oil.lua101
-rw-r--r--lua/pi/completition/blink.lua0
-rw-r--r--lua/pi/completition/init.lua240
-rw-r--r--lua/pi/completition/init_new.lua0
-rw-r--r--lua/pi/dap/configs/javascript.lua28
-rw-r--r--lua/pi/lsp/default.lua1
-rw-r--r--lua/pi/lsp/servers/clangd.lua2
-rw-r--r--lua/pi/lsp/servers/emmet_ls.lua2
-rw-r--r--lua/plugins/close-buffer.lua2
-rw-r--r--lua/plugins/codecompanion.lua260
-rw-r--r--lua/plugins/colorscheme.lua176
-rw-r--r--lua/plugins/completition.lua115
-rw-r--r--lua/plugins/dap.lua15
-rw-r--r--lua/plugins/database.lua26
-rw-r--r--lua/plugins/deadcolumn.lua5
-rw-r--r--lua/plugins/dressing.lua228
-rw-r--r--lua/plugins/duck.lua12
-rw-r--r--lua/plugins/easy-align.lua4
-rw-r--r--lua/plugins/llm.lua55
-rw-r--r--lua/plugins/markview.lua3
-rw-r--r--lua/plugins/menu.lua45
-rw-r--r--lua/plugins/minty.lua10
-rw-r--r--lua/plugins/orgmode.lua17
-rw-r--r--lua/plugins/vimtex.lua17
25 files changed, 656 insertions, 725 deletions
diff --git a/lua/menus/colors.lua b/lua/menus/colors.lua
new file mode 100644
index 0000000..a2f5553
--- /dev/null
+++ b/lua/menus/colors.lua
@@ -0,0 +1,17 @@
+return {
+ {
+ name = "Shades (explorar paletas)",
+ cmd = function()
+ vim.cmd("Shades")
+ end,
+ rtxt = "Shades",
+ },
+
+ {
+ name = "Huefy (selector de color)",
+ cmd = function()
+ require("minty.huefy").open()
+ end,
+ rtxt = "Huefy",
+ },
+}
diff --git a/lua/menus/oil.lua b/lua/menus/oil.lua
new file mode 100644
index 0000000..5c7594c
--- /dev/null
+++ b/lua/menus/oil.lua
@@ -0,0 +1,101 @@
+return {
+ {
+ name = "Abrir Oil en cwd",
+ cmd = function()
+ vim.cmd.Oil()
+ end,
+ rtxt = ":Oil",
+ },
+
+ {
+ name = "Abrir Oil flotante",
+ cmd = function()
+ local oil = require("oil")
+ oil.open_float()
+ end,
+ rtxt = "float",
+ },
+
+ { name = "separator" },
+
+ {
+ name = "Refrescar",
+ cmd = function()
+ require("oil.actions").refresh.callback()
+ end,
+ rtxt = "gr",
+ },
+
+ {
+ name = "Padre (-)",
+ cmd = function()
+ require("oil.actions").parent.callback()
+ end,
+ rtxt = "-",
+ },
+
+ {
+ name = "Toggle ocultos",
+ cmd = function()
+ require("oil.actions").toggle_hidden.callback()
+ end,
+ rtxt = "g.",
+ },
+
+ { name = "separator" },
+
+ {
+ name = "Nueva carpeta",
+ cmd = function()
+ require("oil.actions").create.callback()
+ end,
+ rtxt = "+d",
+ },
+ {
+ name = "Renombrar",
+ cmd = function()
+ require("oil.actions").rename.callback()
+ end,
+ rtxt = "rn",
+ },
+ {
+ name = "Eliminar",
+ cmd = function()
+ require("oil.actions").delete.callback()
+ end,
+ rtxt = "dd",
+ },
+
+ { name = "separator" },
+
+ {
+ name = "Abrir en split",
+ cmd = function()
+ require("oil.actions").select_split.callback()
+ end,
+ rtxt = "<C-h>",
+ },
+ {
+ name = "Abrir en vsplit",
+ cmd = function()
+ require("oil.actions").select_vsplit.callback()
+ end,
+ rtxt = "<C-s>",
+ },
+ {
+ name = "Abrir en tab",
+ cmd = function()
+ require("oil.actions").select_tab.callback()
+ end,
+ rtxt = "<C-t>",
+ },
+
+ { name = "separator" },
+
+ {
+ name = "Terminal aquí",
+ cmd = function()
+ require("oil.actions").open_terminal.callback()
+ end,
+ },
+}
diff --git a/lua/pi/completition/blink.lua b/lua/pi/completition/blink.lua
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/lua/pi/completition/blink.lua
diff --git a/lua/pi/completition/init.lua b/lua/pi/completition/init.lua
index 73f13d1..4f93269 100644
--- a/lua/pi/completition/init.lua
+++ b/lua/pi/completition/init.lua
@@ -1,238 +1,2 @@
-local cmp = require "cmp"
-local lspkind = require "lspkind"
-local luasnip = require "luasnip"
-local cmp_autopairs = require "nvim-autopairs.completion.cmp"
-local compare = require "cmp.config.compare"
-
-cmp.event:on("confirm_done", cmp_autopairs.on_confirm_done { map_char = { tex = "" } })
-
-cmp.setup {
- window = {
- completion = {
- border = "rounded",
- -- winhighlight = 'Normal:Pmenu,FloatBorder:Pmenu,CursorLine:PmenuSel,Search:None',
- -- winblend = vim.o.pumblend,
- -- scrolloff = 0,
- -- col_offset = 0,
- -- side_padding = 1,
- -- scrollbar = true,
- },
- documentation = {
- -- max_height = math.floor(WIDE_HEIGHT * (WIDE_HEIGHT / vim.o.lines)),
- -- max_width = math.floor((WIDE_HEIGHT * 2) * (vim.o.columns / (WIDE_HEIGHT * 2 * 16 / 9))),
- border = "rounded",
- -- winhighlight = 'FloatBorder:NormalFloat',
- -- winblend = vim.o.pumblend,
- },
- },
- mapping = {
- ["<C-d>"] = cmp.mapping.scroll_docs(-4),
- ["<C-f>"] = cmp.mapping.scroll_docs(4),
- ["<C-e>"] = cmp.mapping(function(fallback)
- if cmp.visible() then
- cmp.close()
- elseif luasnip.expand_or_jumpable() then
- luasnip.expand_or_jump()
- else
- fallback()
- end
- end, { "i", "s" }),
- ["<C-n>"] = cmp.mapping(function(fallback)
- if cmp.visible() then
- cmp.select_next_item()
- elseif luasnip.choice_active() then
- luasnip.change_choice(1)
- else
- fallback()
- end
- end, { "i", "s" }),
- ["<C-p>"] = cmp.mapping.select_prev_item(),
- ["<C-l>"] = cmp.mapping.select_next_item(),
- ["<C-y>"] = cmp.mapping.confirm {
- behavior = cmp.ConfirmBehavior.Insert,
- select = true,
- },
- ["<c-space>"] = cmp.mapping.complete(),
- },
- sources = {
- { name = "dictionary", keyword_length = 2 },
- { name = "nvim_lua" },
- { name = "nvim_lsp" },
- { name = "path" },
- { name = "luasnip" },
- { name = "copilot" },
- { name = "vimtex" },
- -- { name = 'cmp_ai' },
- {
- name = "html-css",
- option = {
- spa = {
- enable = false, -- SPA mode is disabled by default
- entry_file = "index.html", -- if entry_file is omitted, it defaults to index.html in root dir
- },
- max_count = {}, -- not ready yet
- enable_on = { "html", "css" }, -- set the file types you want the plugin to work on
- file_extensions = { "css", "sass", "less" }, -- set the local filetypes from which you want to derive classes
- style_sheets = {
- -- example of remote styles, only css no js for now
- "https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css",
- "https://cdn.jsdelivr.net/npm/bulma@0.9.4/css/bulma.min.css",
- },
- },
- },
- {
- name = "buffer",
- keyword_length = 4,
- option = {
- get_bufnrs = function()
- local bufs = {}
- for _, win in ipairs(vim.api.nvim_list_wins()) do
- local bufnr = vim.api.nvim_win_get_buf(win)
- local buftype = vim.api.nvim_get_option_value("buftype", { buf = bufnr })
- if buftype ~= "terminal" then
- bufs[bufnr] = true
- end
- end
- return vim.tbl_keys(bufs)
- end,
- },
- },
- },
-
- snippet = {
- expand = function(args)
- require("luasnip").lsp_expand(args.body)
- end,
- },
-
- formatting = {
- format = function(entry, vim_item)
- if entry.source.name == "html-css" then
- source_mapping["html-css"] = "[" .. entry.completion_item.provider .. "]" or "[html-css]"
- end
- local KIND_ICONS = {
- Tailwind = "󰹞󰹞󰹞󰹞󰹞󰹞󰹞󰹞",
- Copilot = "",
- CodeCompanion = "",
- Ollama = "",
- Text = "󰉿",
- Method = "󰆧",
- Function = "󰊕",
- Constructor = "",
- Field = "󰜢",
- Variable = "󰀫",
- Class = "󰠱",
- Interface = "",
- Module = "",
- Property = "󰜢",
- Unit = "󰑭",
- Value = "󰎠",
- Enum = "",
- Keyword = "󰌋",
- Snippet = "",
- Color = "󰏘",
- File = "󰈙",
- Reference = "󰈇",
- Folder = "󰉋",
- EnumMember = "",
- Constant = "󰏿",
- Struct = "󰙅",
- Event = "",
- Operator = "󰆕",
- Codeium = "",
- TypeParameter = "󰜅",
- OpenAI = "",
- TinyLlama = "󱝊",
- LlamaCPP = "",
- }
-
- if vim_item.kind == "Color" and entry.completion_item.documentation then
- local _, _, r, g, b =
- ---@diagnostic disable-next-line: param-type-mismatch
- string.find(entry.completion_item.documentation, "^rgb%((%d+), (%d+), (%d+)")
-
- if r and g and b then
- local color = string.format("%02x", r) .. string.format("%02x", g) .. string.format("%02x", b)
- local group = "Tw_" .. color
-
- if vim.api.nvim_call_function("hlID", { group }) < 1 then
- vim.api.nvim_command("highlight" .. " " .. group .. " " .. "guifg=#" .. color)
- end
-
- vim_item.kind = KIND_ICONS.Tailwind
- vim_item.kind_hl_group = group
-
- return vim_item
- end
- end
-
- vim_item.kind = KIND_ICONS[vim_item.kind] or vim_item.kind
- -- Add maxwidth and ellipsis_char in the middle
- local maxwidth = 50
- local ellipsis_char = "..."
- if #vim_item.abbr > maxwidth then
- local half_width = math.floor((maxwidth - #ellipsis_char) / 2)
- vim_item.abbr = string.sub(vim_item.abbr, 1, half_width)
- .. ellipsis_char
- .. string.sub(vim_item.abbr, -half_width)
- end
- return vim_item
- end,
- },
-
- sorting = {
- priority_weight = 2,
- comparators = {
- compare.kind,
- compare.sort_text,
- },
- },
-
- experimental = {
- native_menu = false,
-
- ghost_text = false,
- },
-}
-
-vim.api.nvim_set_hl(0, "CmpItemKindCopilot", { fg = "#3426C3" })
-vim.api.nvim_set_hl(0, "CmpItemKindCodeium", { fg = "#2ACDBA" })
-vim.api.nvim_set_hl(0, "CmpItemKindOllama", { fg = "#FDFEFF" })
-vim.api.nvim_set_hl(0, "CmpItemKindOpenAI", { fg = "#080808" })
-vim.api.nvim_set_hl(0, "CmpItemKindTinyLlama", { fg = "#DF468C" })
-vim.api.nvim_set_hl(0, "CmpItemKindLlamaCPP", { fg = "#FF8235" })
-
--- Set configuration for specific filetype.
-cmp.setup.filetype("gitcommit", {
- sources = cmp.config.sources({
- { name = "cmp_git" }, -- You can specify the `cmp_git` source if you were installed it.
- }, {
- { name = "buffer" },
- }),
-})
-
--- Use buffer source for `/` (if you enabled `native_menu`, this won't work anymore).
-cmp.setup.cmdline("/", {
- mapping = cmp.mapping.preset.cmdline(),
- sources = {
- { name = "buffer" },
- },
-})
-
--- Use cmdline & path source for ':' (if you enabled `native_menu`, this won't work anymore).
-cmp.setup.cmdline(":", {
- mapping = cmp.mapping.preset.cmdline(),
- sources = cmp.config.sources({
- { name = "path" },
- }, {
- { name = "cmdline" },
- }),
-})
-
-cmp.setup.filetype({ "sql", "mysql", "plsql" }, {
- sources = cmp.config.sources({
- { name = "vim-dadbod-completion" },
- }, {
- { name = "buffer" },
- }),
-})
+-- Load blink.cmp configuration
+require "pi.completition.blink"
diff --git a/lua/pi/completition/init_new.lua b/lua/pi/completition/init_new.lua
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/lua/pi/completition/init_new.lua
diff --git a/lua/pi/dap/configs/javascript.lua b/lua/pi/dap/configs/javascript.lua
index ef616f1..30388ac 100644
--- a/lua/pi/dap/configs/javascript.lua
+++ b/lua/pi/dap/configs/javascript.lua
@@ -1,22 +1,22 @@
-local dap = require('dap')
+local dap = require "dap"
dap.adapters.firefox = {
- type = 'executable',
- command = 'firefox-debug-adapter',
+ type = "executable",
+ command = "firefox-debug-adapter",
}
-for _, language in ipairs({ "typescript", "javascript", "javascriptreact", "typescriptreact" }) do
+for _, language in ipairs { "typescript", "javascript", "javascriptreact", "typescriptreact" } do
dap.configurations[language] = {
{
- name = 'Debug with Firefox',
- type = 'firefox',
- request = 'launch',
- reAttach = true,
- url = 'http://localhost:5173',
- webRoot = '${workspaceFolder}',
- firefoxExecutable = '/home/elvis/.local/bin/firefox',
- -- firefoxArgs = {'-start-debugger-server', '--new-instance'},
- enableCRAWorkaround = true,
- liftAccessorsFromPrototypes = 3,
+ name = "Debug with Firefox",
+ type = "firefox",
+ request = "launch",
+ reAttach = true,
+ url = "http://localhost:3000",
+ webRoot = "${workspaceFolder}",
+ firefoxExecutable = "/home/elvis/App/firefox/firefox",
+ -- firefoxArgs = {'-start-debugger-server', '--new-instance'},
+ enableCRAWorkaround = true,
+ liftAccessorsFromPrototypes = 3,
},
}
end
diff --git a/lua/pi/lsp/default.lua b/lua/pi/lsp/default.lua
index b2020db..01e4d73 100644
--- a/lua/pi/lsp/default.lua
+++ b/lua/pi/lsp/default.lua
@@ -38,6 +38,7 @@ return {
return vim.tbl_deep_extend("force", {
on_attach = require"pi.lsp.attach",
flags = require "pi.lsp.flags",
+ capabilities = require("blink.cmp").get_lsp_capabilities(vim.lsp.protocol.make_client_capabilities()),
}, options)
end,
}
diff --git a/lua/pi/lsp/servers/clangd.lua b/lua/pi/lsp/servers/clangd.lua
index 87633cd..e989cf6 100644
--- a/lua/pi/lsp/servers/clangd.lua
+++ b/lua/pi/lsp/servers/clangd.lua
@@ -2,7 +2,7 @@ local lsp_attach = require "pi.lsp.attach"
local lsp_flags = require "pi.lsp.flags"
return function(ops)
- local capabilities = require("cmp_nvim_lsp").default_capabilities(vim.lsp.protocol.make_client_capabilities())
+ local capabilities = require("blink.cmp").get_lsp_capabilities(vim.lsp.protocol.make_client_capabilities())
local config = {
on_attach = lsp_attach,
flags = lsp_flags,
diff --git a/lua/pi/lsp/servers/emmet_ls.lua b/lua/pi/lsp/servers/emmet_ls.lua
index 717edf8..e79a052 100644
--- a/lua/pi/lsp/servers/emmet_ls.lua
+++ b/lua/pi/lsp/servers/emmet_ls.lua
@@ -2,7 +2,7 @@ local lsp_attach = require "pi.lsp.attach"
local lsp_flags = require "pi.lsp.flags"
return function(ops)
- local capabilities = require("cmp_nvim_lsp").default_capabilities(vim.lsp.protocol.make_client_capabilities())
+ local capabilities = require("blink.cmp").get_lsp_capabilities(vim.lsp.protocol.make_client_capabilities())
return vim.tbl_extend("force", {
on_attach = lsp_attach,
flags = lsp_flags,
diff --git a/lua/plugins/close-buffer.lua b/lua/plugins/close-buffer.lua
index 947f31a..64a6a82 100644
--- a/lua/plugins/close-buffer.lua
+++ b/lua/plugins/close-buffer.lua
@@ -6,7 +6,7 @@ return {
event = "VeryLazy",
opts = {
-- if a buffer has been inactive for this many minutes, close it
- retirementAgeMins = 30,
+ retirementAgeMins = 120,
},
},
}
diff --git a/lua/plugins/codecompanion.lua b/lua/plugins/codecompanion.lua
index e5f087f..ddd209b 100644
--- a/lua/plugins/codecompanion.lua
+++ b/lua/plugins/codecompanion.lua
@@ -1,27 +1,3 @@
--- Choose default model from a list of preferred models. Fall back to first
--- available.
-local function preferred_model_picker(preferred)
- return function(self)
- if self == nil then
- -- Debug:render() calls Adapter.schema.model.default() but doesn't pass
- -- in `self`. Just return an empty string in this case.
- return ""
- end
-
- local choices = self.schema.model.choices(self)
-
- for _, best in ipairs(preferred) do
- for _, choice in ipairs(choices) do
- if choice:find(best, 1, true) then
- return choice
- end
- end
- end
-
- return choices[1]
- end
-end
-
local IS_DEV = false
return {
{
@@ -53,148 +29,112 @@ return {
opts = {
log_level = "TRACE", -- or "DEBUG"
adapters = {
- ollama = function()
- return require("codecompanion.adapters").extend("ollama", {
- name = "tinyllama",
- env = {
- url = "http://127.0.0.1:11434",
- -- api_key = "",
- },
- headers = {
- ["Content-Type"] = "application/json",
- -- ["Authorization"] = "Bearer ${api_key}",
- },
- parameters = {
- sync = true,
- },
- schema = {
- model = {
- default = preferred_model_picker {
- "qwen2.5-coder:14b",
- "qwen2.5-coder:7b",
- "qwen2.5-coder:3b",
- "qwen2.5-coder:1.5b",
- "qwen2.5-coder:0.5b",
+ http = {
+ ollama = function()
+ return require("codecompanion.adapters").extend("ollama", {
+ name = "tinyllama",
+ env = {
+ url = "http://127.0.0.1:11434",
+ -- api_key = "",
+ },
+ headers = {
+ ["Content-Type"] = "application/json",
+ -- ["Authorization"] = "Bearer ${api_key}",
+ },
+ parameters = {
+ sync = true,
+ },
+ schema = {
+ model = {
+ default = "qwen2.5-coder:0.5b",
},
},
- },
- })
- end,
- anthropic = function()
- return require("codecompanion.adapters").extend("anthropic", {
- env = {
- api_key = "cmd:echo $ANTHROPIC_API_KEY",
- },
- schema = {
- model = {
- default = "claude-3-opus-20240229",
+ })
+ end,
+ anthropic = function()
+ return require("codecompanion.adapters").extend("anthropic", {
+ env = {
+ api_key = "cmd:echo $ANTHROPIC_API_KEY",
},
- },
- })
- end,
- copilot = function()
- return require("codecompanion.adapters").extend("copilot", {
- schema = {
- model = {
- default = "gpt-4.1",
+ schema = {
+ model = {
+ default = "claude-3-opus-20240229",
+ },
},
- },
- })
- end,
- gemini = function()
- return require("codecompanion.adapters").extend("gemini", {
- env = {
- api_key = "cmd:op read op://personal/Gemini_API/credential --no-newline",
- },
- })
- end,
- openai = function()
- return require("codecompanion.adapters").extend("openai", {
- env = {
- api_key = "cmd:echo $OPENAI_API_KEY",
- chat_url = "/v1/chat/completions",
- url = "https://api.openai.com",
- },
- schema = {
- model = {
- default = function()
- return "gpt-4o-mini"
- end,
+ })
+ end,
+ copilot = function()
+ return require("codecompanion.adapters").extend("copilot", {
+ schema = {
+ model = {
+ default = "gpt-4.1",
+ },
},
- },
- })
- end,
- openai_compatible = function()
- return require("codecompanion.adapters").extend("openai_compatible", {
- env = {
- api_key = "cmd:echo $OPENAI_API_KEY",
- chat_url = "/v1/chat/completions",
- url = "http://127.0.0.1:8012",
- },
- headers = {
- ["Content-Type"] = "application/json",
- },
- schema = {
- model = {
- default = function()
- return "davinci"
- end,
+ })
+ end,
+ gemini = function()
+ return require("codecompanion.adapters").extend("gemini", {
+ env = {
+ api_key = "cmd:op read op://personal/Gemini_API/credential --no-newline",
},
- },
- })
- end,
- xai = function()
- return require("codecompanion.adapters").extend("xai", {
- env = {
- api_key = "cmd:op read op://personal/xAI_API/credential --no-newline",
- },
- })
- end,
- deepseek = function()
- return require("codecompanion.adapters").extend("openai_compatible", {
- env = {
- api_key = "cmd:echo $AZ_DS_API_KEY",
- url = "https://DeepSeek-R1-ajfsk.eastus2.models.ai.azure.com",
- },
- schema = {
- model = {
- default = "deepseek-chat",
+ })
+ end,
+ openai = function()
+ return require("codecompanion.adapters").extend("openai", {
+ env = {
+ api_key = "cmd:echo $OPENAI_API_KEY",
+ chat_url = "/v1/chat/completions",
+ url = "https://api.openai.com",
},
- },
- })
- end,
- -- deepseek = function()
- -- return require("codecompanion.adapters").extend("deepseek", {
- -- env = {
- -- api_key = "cmd:echo $OPENAI_API_KEY",
- -- chat_url = "/v1/chat/completions",
- -- url = "http://127.0.0.1:8012",
- -- },
- -- headers = {
- -- ["Content-Type"] = "application/json",
- -- },
- -- schema = {
- -- model = {
- -- default = function()
- -- return "davinci"
- -- end,
- -- },
- -- },
- -- })
- -- end,
- azure_openai = function()
- return require("codecompanion.adapters").extend("azure_openai", {
- env = {
- api_key = "cmd:echo $AZ_DS_API_KEY",
- endpoint = "https://DeepSeek-R1-nphob.eastus2.models.ai.azure.com",
- },
- schema = {
- model = {
- default = "DeepSeek-R1-nphob",
+ schema = {
+ model = {
+ default = function()
+ return "gpt-4o-mini"
+ end,
+ },
},
- },
- })
- end,
+ })
+ end,
+ openai_compatible = function()
+ return require("codecompanion.adapters").extend("openai_compatible", {
+ env = {
+ api_key = "cmd:echo $OPENAI_API_KEY",
+ chat_url = "/v1/chat/completions",
+ url = "http://127.0.0.1:8012",
+ },
+ headers = {
+ ["Content-Type"] = "application/json",
+ },
+ schema = {
+ model = {
+ default = function()
+ return "davinci"
+ end,
+ },
+ },
+ })
+ end,
+ xai = function()
+ return require("codecompanion.adapters").extend("xai", {
+ env = {
+ api_key = "cmd:op read op://personal/xAI_API/credential --no-newline",
+ },
+ })
+ end,
+ azure_openai = function()
+ return require("codecompanion.adapters").extend("azure_openai", {
+ env = {
+ api_key = "cmd:echo $AZ_DS_API_KEY",
+ endpoint = "https://DeepSeek-R1-nphob.eastus2.models.ai.azure.com",
+ },
+ schema = {
+ model = {
+ default = "DeepSeek-R1-nphob",
+ },
+ },
+ })
+ end,
+ },
},
display = {
diff = {
@@ -208,11 +148,15 @@ return {
},
inline = { adapter = "copilot" },
agent = { adapter = "copilot" },
+ cmd = { adapter = "copilot" },
},
},
config = function(_, options)
require("codecompanion").setup(options)
require("codecompanion").setup {
+ opts = {
+ language = "English",
+ },
extensions = {
mcphub = {
callback = "mcphub.extensions.codecompanion",
diff --git a/lua/plugins/colorscheme.lua b/lua/plugins/colorscheme.lua
index 376feee..aaae1db 100644
--- a/lua/plugins/colorscheme.lua
+++ b/lua/plugins/colorscheme.lua
@@ -4,78 +4,142 @@ return {
priority = 1000,
opts = {},
config = function()
-
- -- Colorscheme Solarized Osaka by Takuya Matsuyama (https://github.com/craftzdog/solarized-osaka.nvim)
+ -- =====================================================
+ -- Solarized Osaka Colorscheme Configuration
+ -- Enhanced setup with better customization
+ -- =====================================================
+
require("solarized-osaka").setup({
- -- your configuration comes here
- -- or leave it empty to use the default settings
- transparent = true, -- Enable this to disable setting the background color
- terminal_colors = true, -- Configure the colors used when opening a `:terminal` in [Neovim](https://github.com/neovim/neovim)
+ -- ========== Core Settings ==========
+ transparent = true, -- Enable transparent background
+ terminal_colors = true, -- Configure terminal colors
+
+ -- ========== Syntax Highlighting Styles ==========
styles = {
- -- Style to be applied to different syntax groups
- -- Value is any valid attr-list value for `:help nvim_set_hl`
comments = { italic = true },
- keywords = { italic = true },
- functions = { italic = true },
- variables = { bold = true},
- -- Background styles. Can be "dark", "transparent" or "normal"
- sidebars = "dark", -- style for sidebars, see below
- floats = "dark", -- style for floating windows
+ 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"
},
- sidebars = { "qf", "help" }, -- Set a darker background on sidebar-like windows. For example: `["qf", "vista_kind", "terminal", "packer"]`
- day_brightness = 0.3, -- Adjusts the brightness of the colors of the **Day** style. Number between 0 and 1, from dull to vibrant colors
- hide_inactive_statusline = false, -- Enabling this option, will hide inactive statuslines and replace them with a thin border instead. Should work with the standard **StatusLine** and **LuaLine**.
- dim_inactive = false, -- dims inactive windows
- lualine_bold = true, -- When `true`, section headers in the lualine theme will be bold
+ 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,
- --- You can override specific color groups to use other groups or a hex color
- --- function will be called with a ColorScheme table
+ -- ========== Color Customization ==========
---@param colors ColorScheme
- on_colors = function(colors) end,
+ 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,
- --- You can override specific highlights to use other groups or a hex color
- --- function will be called with a Highlights and ColorScheme table
+ -- ========== 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"
- hl.TelescopeNormal = {
- bg = c.bg_dark,
- fg = c.fg_dark,
- }
- hl.TelescopeBorder = {
- bg = c.bg_dark,
- fg = c.bg_dark,
- }
- hl.TelescopePromptNormal = {
- bg = prompt,
- }
- hl.TelescopePromptBorder = {
- bg = prompt,
- fg = prompt,
- }
- hl.TelescopePromptTitle = {
- bg = prompt,
- fg = prompt,
- }
- hl.TelescopePreviewTitle = {
- bg = c.bg_dark,
- fg = c.bg_dark,
- }
- hl.TelescopeResultsTitle = {
- bg = c.bg_dark,
- fg = c.bg_dark,
- }
+ 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 }
+ h