summaryrefslogtreecommitdiffstatshomepage
path: root/runtime/lua/vim/_init_packages.lua
AgeCommit message (Collapse)AuthorFiles
2025-12-30build: move shared.lua to _core/Justin M. Keyes1
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/`
2025-07-10docs: move vim.system to own sectionLewis Russell1
2025-06-06fix: type fixesLewis Russell1
Type fixes caught by emmylua
2024-03-06refactor(types): more fixesLewis Russell1
2024-02-15fix: type warnings in shared.luaLewis Russell1
2024-02-03refactor: create function for deferred loadingdundargoc1
The benefit of this is that users only pay for what they use. If e.g. only `vim.lsp.buf_get_clients()` is called then they don't need to load all modules under `vim.lsp` which could lead to significant startuptime saving. Also `vim.lsp.module` is a bit nicer to user compared to `require("vim.lsp.module")`. This isn't used for some nested modules such as `filetype` as it breaks tests with error messages such as "attempt to index field 'detect'". It's not entirely certain the reason for this, but it is likely it is due to filetype being precompiled which would imply deferred loading isn't needed for performance reasons.
2023-12-30refactor: fix luals warningsdundargoc1
2023-12-22refactor(lsp): move glob parsing to util (#26519)Steven Arcangeli1
refactor(lsp): move glob parsing to vim.glob Moving the logic for using vim.lpeg to create a match pattern from a glob into `vim.glob`. There are several places in the LSP spec that use globs, and it's very useful to have glob matching as a generally-available utility.
2023-11-16feat: add vim.text module (#26069)Gregory Anders1
2023-04-27refactor(build): include lpeg as a librarybfredl1
2023-04-25refactor(iter): move helper functions under vim.iterGregory Anders1
vim.iter is now both a function and a module (similar to vim.version).
2023-04-04test: replace lfs with luv and vim.fsdundargoc1
test: replace lfs with luv luv already pretty much does everything lfs does, so this duplication of dependencies isn't needed.
2023-03-06refactor(vim.version): cleanupJustin M. Keyes1
- version.cmp(): assert valid version - add test for loading vim.version (the other tests use shared.lua in the test runner) - reduce test scopes, reword test descriptions
2023-03-06feat(lua): add semver apiKelly Lin1
2023-01-31feat(lua): low-level interpreter mode (nvim -ll)bfredl1
2022-12-17feat: `vim.inspect_pos`, `vim.show_pos`, `:Inspect`Folke Lemaitre1
2022-10-09fix(lua): properly configure luacheck and remove `local vim = ...` lines ↵Folke Lemaitre1
(#20551)
2022-05-09chore: format runtime with styluaChristian Clason1
2022-03-07refactor(lua): make vim submodule lazy loading declarativebfredl1
This will allow us to also use the same logic for lua threads and processes, later.
2022-03-04refactor(lua): move only runtime lua file in src/ to runtime/luabfredl1
reorganize so that initialization is done in lua