/ nvim / lua / config / options.lua
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