Files
nvim-config/lua/config/options.lua

70 lines
1.9 KiB
Lua

-- Options are automatically loaded before lazy.nvim startup
-- Add any additional options here
local opt = vim.opt
if vim.env.SSH_CONNECTION then
opt.clipboard = ""
opt.timeoutlen = 1000
end
-- General
opt.clipboard = "unnamedplus" -- Sync with system clipboard
opt.confirm = true -- Confirm before closing unsaved buffer
opt.cursorline = true -- Highlight current line
opt.mouse = "a" -- Enable mouse
opt.number = true -- Show line numbers
opt.relativenumber = true -- Relative line numbers
opt.signcolumn = "yes" -- Always show sign column
opt.termguicolors = true -- True color support
opt.wrap = false -- Disable line wrap
-- Indentation
opt.expandtab = true -- Use spaces instead of tabs
opt.shiftwidth = 2 -- Size of indent
opt.tabstop = 2 -- Number of spaces tabs count for
opt.smartindent = true -- Smart indentation
-- Search
opt.ignorecase = true -- Ignore case
opt.smartcase = true -- Don't ignore case with capitals
opt.hlsearch = true -- Highlight search results
opt.incsearch = true -- Show search results as you type
-- Split behavior
opt.splitbelow = true -- Put new windows below current
opt.splitright = true -- Put new windows right of current
-- Undo
opt.undofile = true -- Persistent undo
opt.undolevels = 10000 -- Maximum undo levels
-- Performance
opt.updatetime = 200 -- Faster completion
opt.timeoutlen = 300 -- Faster key sequence completion
-- Completion
opt.completeopt = "menu,menuone,noselect"
-- Folding (using treesitter)
opt.foldmethod = "expr"
opt.foldexpr = "nvim_treesitter#foldexpr()"
opt.foldlevel = 99 -- Start with all folds open
opt.exrc = true
opt.secure = true
vim.diagnostic.config({
virtual_text = {
prefix = "",
},
severity_sort = true,
float = {
border = "rounded",
},
})
-- Python
vim.g.lazyvim_python_lsp = "pyright"
vim.g.lazyvim_python_ruff = "ruff"