options.lua
1 -- Options loaded from init.lua. User overrides at the end take precedence. 2 3 local home = vim.env.HOME or vim.fn.expand('~') 4 5 -- Runtime path (portable: macOS + Linux) 6 vim.opt.rtp:append(home .. '/.dotfiles/lua_modules/share/lua/5.4') 7 vim.opt.rtp:append(home .. '/.dotfiles/lua_modules/lib/lua/5.4') 8 vim.opt.rtp:append(home .. '/.dotfiles/lua_modules/share/lua/5.4/?.lua') 9 vim.opt.rtp:append(home .. '/.dotfiles/lua_modules/lib/lua/5.4/?.so') 10 11 -- LazyVim-style defaults (add new defaults above the "User overrides" section) 12 vim.opt.autowrite = true 13 vim.opt.clipboard = (vim.env.SSH_CONNECTION and vim.env.SSH_CONNECTION ~= '') and '' or 'unnamedplus' 14 vim.opt.completeopt = 'menu,menuone,noselect' 15 vim.opt.conceallevel = 2 16 vim.opt.confirm = true 17 vim.opt.cursorline = true 18 vim.opt.expandtab = true 19 vim.opt.fillchars = { 20 foldopen = '', 21 foldclose = '', 22 fold = ' ', 23 foldsep = ' ', 24 diff = '╱', 25 eob = ' ', 26 } 27 vim.opt.foldmethod = 'indent' 28 vim.opt.foldtext = '' 29 vim.opt.formatoptions = 'jcroqlnt' 30 vim.opt.grepformat = '%f:%l:%c:%m' 31 vim.opt.grepprg = 'rg --vimgrep' 32 vim.opt.ignorecase = true 33 vim.opt.inccommand = 'nosplit' 34 vim.opt.jumpoptions = 'view' 35 vim.opt.linebreak = true 36 vim.opt.list = true 37 vim.opt.mouse = 'a' 38 vim.opt.number = true 39 vim.opt.relativenumber = true 40 vim.opt.pumblend = 10 41 vim.opt.pumheight = 10 42 vim.opt.ruler = false 43 vim.opt.sessionoptions = { 'buffers', 'curdir', 'tabpages', 'winsize', 'help', 'globals', 'skiprtp', 'folds' } 44 vim.opt.shiftround = true 45 vim.opt.shortmess:append({ W = true, I = true, c = true, C = true }) 46 vim.opt.showmode = false 47 vim.opt.sidescrolloff = 8 48 vim.opt.signcolumn = 'yes' 49 vim.opt.smartcase = true 50 vim.opt.smartindent = true 51 vim.opt.smoothscroll = true 52 vim.opt.splitbelow = true 53 vim.opt.splitkeep = 'screen' 54 vim.opt.splitright = true 55 vim.opt.tabstop = 2 56 vim.opt.termguicolors = true 57 vim.opt.timeoutlen = 300 58 vim.opt.undofile = true 59 vim.opt.undolevels = 10000 60 vim.opt.virtualedit = 'block' 61 vim.opt.wildmode = 'longest:full,full' 62 vim.opt.winminwidth = 5 63 vim.opt.wrap = false 64 vim.g.markdown_recommended_style = 0 65 66 -- User overrides (keep these; they take precedence over defaults above) 67 vim.o.foldcolumn = '1' 68 vim.o.foldenable = true 69 vim.o.foldlevel = 99 70 vim.o.foldlevelstart = -1 71 vim.o.swapfile = false 72 vim.opt.guicursor = '' 73 vim.opt.textwidth = 120 74 vim.opt.shiftwidth = 0 75 vim.opt.spelllang = 'en_us' 76 vim.opt.spell = false 77 vim.opt.backup = false 78 vim.opt.undodir = home .. '/.vim/undodir' 79 vim.opt.hlsearch = true 80 vim.opt.incsearch = true 81 vim.o.laststatus = 3 82 vim.o.showtabline = 2 83 vim.g.snacks_animate = false 84 vim.o.winborder = 'rounded' 85 vim.opt.scrolloff = 8 86 vim.opt.isfname:append('@-@') 87 vim.opt.updatetime = 50 88 vim.lsp.handlers['textDocument/inlayHint'] = nil 89 vim.g.loaded_netrwPlugin = 1