Add: moonfly theme. Upgrade lsp-zero too v4

This commit is contained in:
2026-04-23 20:03:49 -05:00
parent 92e6109ab6
commit 3d16375b54
6 changed files with 77 additions and 43 deletions
+31 -11
View File
@@ -1,26 +1,46 @@
local lsp_zero = require('lsp-zero')
lsp_zero.on_attach(function(client, bufnr)
-- see :help lsp-zero-keybindings
-- to learn the available actions
-- Attach keybindings on LSP connection
local lsp_attach = function(client, bufnr)
lsp_zero.default_keymaps({
buffer = bufnr
})
end)
end
lsp_zero.set_sign_icons({
error = '',
warn = '',
hint = '',
info = '»'
lsp_zero.extend_lspconfig({
lsp_attach = lsp_attach,
capabilities = require('cmp_nvim_lsp').default_capabilities()
})
-- Configure diagnostic signs natively for Neovim v0.11+
vim.diagnostic.config({
signs = {
text = {
[vim.diagnostic.severity.ERROR] = '',
[vim.diagnostic.severity.WARN] = '',
[vim.diagnostic.severity.HINT] = '',
[vim.diagnostic.severity.INFO] = '»'
}
}
})
-- to learn how to use mason.nvim
-- read this: https://github.com/VonHeikemen/lsp-zero.nvim/blob/v3.x/doc/md/guide/integrate-with-mason-nvim.md
require('mason').setup({})
require('mason-lspconfig').setup({
ensure_installed = {'lua_ls', 'ts_ls', 'eslint', 'gopls', 'rust_analyzer'},
handlers = {function(server_name)
-- Map legacy server names to their modern equivalents
if server_name == 'tsserver' then
server_name = 'ts_ls'
end
-- Verify the server configuration is accessible to prevent indexing errors
local has_config, _ = pcall(function()
return require('lspconfig')[server_name]
end)
if has_config then
require('lspconfig')[server_name].setup({})
else
vim.notify("LSP configuration not accessible for: " .. server_name, vim.log.levels.WARN)
end
end}
})
+1
View File
@@ -1,6 +1,7 @@
{
"LuaSnip": { "branch": "master", "commit": "a62e1083a3cfe8b6b206e7d3d33a51091df25357" },
"cmp-nvim-lsp": { "branch": "main", "commit": "cbc7b02bb99fae35cb42f514762b89b5126651ef" },
"flexoki": { "branch": "main", "commit": "c3e2251e813d29d885a7cbbe9808a7af234d845d" },
"lazy.nvim": { "branch": "main", "commit": "85c7ff3711b730b4030d03144f6db6375044ae82" },
"lsp-zero.nvim": { "branch": "v3.x", "commit": "77550f2f6cbf0959ef1583d845661af075f3442b" },
"mason-lspconfig.nvim": { "branch": "main", "commit": "0a3b42c3e503df87aef6d6513e13148381495c3a" },
+1 -2
View File
@@ -1,5 +1,4 @@
require("cole.remap")
require("cole.lazy")
require("cole.set")
require("cole.filetype")
require("cole.lazy")
+10 -6
View File
@@ -1,16 +1,20 @@
require("lazy").setup({ -- Fuzzy finder
{
require("lazy").setup({{
"bluz71/vim-moonfly-colors",
name = "moonfly",
lazy = false,
priority = 1000
}, {
'nvim-telescope/telescope.nvim',
tag = '0.1.5',
dependencies = {'nvim-lua/plenary.nvim'}
}, -- syntax highlighting
}, -- Fuzzy finder
{
'nvim-treesitter/nvim-treesitter',
build = ':TSUpdate'
}, -- LSP support
}, -- syntax highlighting
{
'VonHeikemen/lsp-zero.nvim',
branch = 'v3.x',
branch = 'v4.x',
dependencies = {{'williamboman/mason.nvim'}, {'williamboman/mason-lspconfig.nvim'}, {'neovim/nvim-lspconfig'},
{'hrsh7th/nvim-cmp'}, {'hrsh7th/cmp-nvim-lsp'}, {'L3MON4D3/LuaSnip'}}
{'hrsh7th/nvim-cmp'}, {'hrsh7th/cmp-nvim-lsp'}, {'L3MON4D3/LuaSnip'}} -- LSP support
}})
+14 -5
View File
@@ -17,7 +17,7 @@ vim.opt.incsearch = true
vim.opt.scrolloff = 8 -- Always 8 lines above
-- Color scheme
vim.cmd.colorscheme("habamax")
vim.cmd.colorscheme("moonfly")
-- Diff: Muted Red on Crimson
vim.api.nvim_set_hl(0, "DiffAdd", {
@@ -45,11 +45,17 @@ vim.api.nvim_create_autocmd("VimEnter", {
return
end
-- Calculate the longest display-width line in the left (current) buffer.
local lines = vim.api.nvim_buf_get_lines(0, 0, -1, false)
-- Defer execution to unblock the initial UI render
vim.schedule(function()
-- Limit the line check to the first 2000 lines to prevent long startup times on large files
local max_lines_to_check = 2000
local line_count = vim.api.nvim_buf_line_count(0)
local limit = math.min(line_count, max_lines_to_check)
local lines = vim.api.nvim_buf_get_lines(0, 0, limit, false)
local max_len = 0
for _, line in ipairs(lines) do
local len = vim.fn.strdisplaywidth(line)
local len = vim.api.nvim_strwidth(line)
if len > max_len then
max_len = len
end
@@ -63,7 +69,9 @@ vim.api.nvim_create_autocmd("VimEnter", {
if vim.wo.signcolumn ~= "no" then
gutter = gutter + 2
end
gutter = gutter + vim.wo.foldcolumn
local fold_col = tonumber(vim.wo.foldcolumn) or 0
gutter = gutter + fold_col
local desired = max_len + gutter + 1 -- +1 for the right edge padding
@@ -72,5 +80,6 @@ vim.api.nvim_create_autocmd("VimEnter", {
local width = math.min(desired, half)
vim.api.nvim_win_set_width(0, width)
end)
end
})
+1
View File
@@ -0,0 +1 @@
.DS_Store