Last active
January 16, 2025 10:03
-
-
Save oz123/d01c5d5f67d77e03c551a08c19d672c8 to your computer and use it in GitHub Desktop.
My lunar vim config- ~/.config/lvim/config.lua
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
-- Read the docs: https://www.lunarvim.org/docs/configuration | |
-- Example configs: https://github.com/LunarVim/starter.lvim | |
-- Video Tutorials: https://www.youtube.com/watch?v=sFA9kX-Ud_c&list=PLhoH5vyxr6QqGu0i7tt_XoVK9v-KvZ3m6 | |
-- Forum: https://www.reddit.com/r/lunarvim/ | |
-- Discord: https://discord.com/invite/Xb9B4Ny | |
-- | |
lvim.plugins = { | |
{ "lunarvim/colorschemes" }, | |
{ "HiPhish/rainbow-delimiters.nvim" } | |
} | |
-- add `pyright` to `skipped_servers` list | |
vim.list_extend(lvim.lsp.automatic_configuration.skipped_servers, { "pyright", "mypy"}) | |
-- remove `jedi_language_server` from `skipped_servers` list | |
lvim.lsp.automatic_configuration.skipped_servers = vim.tbl_filter(function(server) | |
-- return server ~= "jedi_language_server" | |
return server ~= "pylsp" | |
end, lvim.lsp.automatic_configuration.skipped_servers) | |
require("lvim.lsp.manager").setup("pylsp", { | |
settings = { | |
pylsp = { | |
enabled = true, | |
plugins = { | |
pyflakes = { | |
enabled = false | |
} | |
} | |
} | |
}, | |
}) | |
-- Setup Ruff LSP | |
require("lvim.lsp.manager").setup("ruff", { | |
settings = { | |
ruff = { | |
enabled = true, | |
-- Add any specific settings for ruff here | |
} | |
}, | |
}) | |
vim.diagnostic.config({ | |
virtual_text = { | |
prefix = '', -- Explicitly add a prefix | |
source = true, -- Try 'true' instead of 'always' | |
}, | |
float = { | |
header = false, -- Optional: removes the "Diagnostics:" header | |
source = true, -- Again, try 'true' | |
} | |
}) | |
-- Disable line numbers by default | |
vim.opt.number = false | |
vim.opt.relativenumber = false | |
-- Autocommands to enable line numbers only in the active window | |
vim.api.nvim_create_autocmd({"WinEnter", "BufEnter"}, { | |
callback = function() | |
vim.wo.number = true -- Show absolute line numbers | |
vim.wo.relativenumber = false -- Show relative line numbers | |
end, | |
}) | |
vim.api.nvim_create_autocmd({"WinLeave"}, { | |
callback = function() | |
vim.wo.number = false | |
vim.wo.relativenumber = false | |
end, | |
}) | |
lvim.builtin.treesitter = { | |
ensure_installed = { | |
"python", | |
-- other languages... | |
}, | |
pyfold = { | |
enable = true, | |
custom_foldtext = true | |
}, | |
matchup = { | |
enable = true | |
}, | |
rainbow = { | |
enable = true | |
}, | |
} | |
-- Add these global folding settings | |
vim.opt.foldmethod = "expr" | |
vim.opt.foldexpr = "nvim_treesitter#foldexpr()" | |
vim.opt.foldenable = true |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment