summaryrefslogtreecommitdiffstatshomepage
path: root/runtime/lua/vim/_core/options.lua
AgeCommit message (Collapse)AuthorFiles
2026-04-18docs: misc #39045Justin M. Keyes1
2026-03-18fix(options): vim.opt fails for 'fillchars' #37141Juan Pablo Briones1
Problem: When `to_vim_value[info.metatype](info, value)` is called, a list value such as `{'eob:a'}` is treated like a map, which generates `1:eob:a`. Note: commands like `:lua vim.opt.wildmode={'longest:full'}` are not an issue because only cases harcoded in `key_value_options` have metatype `map`. Solution: Check for array type and use the same logic as in array metatypes.
2026-03-12refactor: integer functions, optimize asserts #34112Lewis Russell1
refactor(lua): add integer coercion helpers Add vim._tointeger() and vim._ensure_integer(), including optional base support, and switch integer-only tonumber()/assert call sites in the Lua runtime to use them. This also cleans up related integer parsing in LSP, health, loader, URI, tohtml, and Treesitter code. supported by AI
2025-12-30build: ship "_core/*" as bytecode (built-into Nvim binary)Justin M. Keyes1
Problem: We want to encourage implementing core features in Lua instead of C, but it's clumsy because: - Core Lua code (built into `nvim` so it is available even if VIMRUNTIME is missing/invalid) requires manually updating CMakeLists.txt, or stuffing it into `_editor.lua`. - Core Lua modules are not organized similar to C modules, `_editor.lua` is getting too big. Solution: - Introduce `_core/` where core Lua code can live. All Lua modules added there will automatically be included as bytecode in the `nvim` binary. - Move these core modules into `_core/*`: ``` _defaults.lua _editor.lua _options.lua _system.lua shared.lua ``` TODO: - Move `_extui/ => _core/ui2/`