Skip to content

Instantly share code, notes, and snippets.

@oz123
Last active January 16, 2025 10:03
Show Gist options
  • Save oz123/d01c5d5f67d77e03c551a08c19d672c8 to your computer and use it in GitHub Desktop.
Save oz123/d01c5d5f67d77e03c551a08c19d672c8 to your computer and use it in GitHub Desktop.
My lunar vim config- ~/.config/lvim/config.lua
-- 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