diff options
| author | Lewis Russell <lewis6991@gmail.com> | 2026-03-12 15:04:05 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-03-12 11:04:05 -0400 |
| commit | ce1154048b11cdc402d0e5da352a3adca19afb56 (patch) | |
| tree | 02516c918bd7b47e96b02eb83323b917ec4dd37d /runtime/lua/vim/loader.lua | |
| parent | 2fe07cc9658cfca6dcda1b9b37e5f80e38fd7b19 (diff) | |
| download | rneovim-ce1154048b11cdc402d0e5da352a3adca19afb56.tar.gz rneovim-ce1154048b11cdc402d0e5da352a3adca19afb56.tar.bz2 rneovim-ce1154048b11cdc402d0e5da352a3adca19afb56.zip | |
refactor: integer functions, optimize asserts #34112
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
Diffstat (limited to 'runtime/lua/vim/loader.lua')
| -rw-r--r-- | runtime/lua/vim/loader.lua | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/runtime/lua/vim/loader.lua b/runtime/lua/vim/loader.lua index c5279990d1..6aa79a0244 100644 --- a/runtime/lua/vim/loader.lua +++ b/runtime/lua/vim/loader.lua @@ -174,13 +174,21 @@ local function read_cachefile(cname) --- @type integer[]|{[0]:integer} local header = vim.split(data:sub(1, zero - 1), ',') - if tonumber(header[1]) ~= VERSION then + local version = vim._tointeger(header[1]) + if version ~= VERSION then + return + end + + local size = vim._tointeger(header[2]) + local sec = vim._tointeger(header[3]) + local nsec = vim._tointeger(header[4]) + if not (size and sec and nsec) then return end local hash = { - size = tonumber(header[2]), - mtime = { sec = tonumber(header[3]), nsec = tonumber(header[4]) }, + size = size, + mtime = { sec = sec, nsec = nsec }, } local chunk = data:sub(zero + 1) |