diff options
author | Gregory Anders <greg@gpanders.com> | 2024-05-30 19:57:47 -0500 |
---|---|---|
committer | Gregory Anders <greg@gpanders.com> | 2024-05-31 08:25:35 -0500 |
commit | 4cff4185647c17b1a397c4c26ff7d8b0738f6396 (patch) | |
tree | 1a4b6afbb4133e2c2846a5902a6ec1bfdcb5e71c /runtime/lua/vim/text.lua | |
parent | d24f3d055ae7b3e9e47e9eb53a1dafb3ad44760c (diff) | |
download | rneovim-4cff4185647c17b1a397c4c26ff7d8b0738f6396.tar.gz rneovim-4cff4185647c17b1a397c4c26ff7d8b0738f6396.tar.bz2 rneovim-4cff4185647c17b1a397c4c26ff7d8b0738f6396.zip |
fix(vim.text): remove assert from vim.text.hexdecode
Instead, return nil plus an error message if the input is invalid.
Diffstat (limited to 'runtime/lua/vim/text.lua')
-rw-r--r-- | runtime/lua/vim/text.lua | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/runtime/lua/vim/text.lua b/runtime/lua/vim/text.lua index bc90d490aa..0be3396464 100644 --- a/runtime/lua/vim/text.lua +++ b/runtime/lua/vim/text.lua @@ -18,15 +18,19 @@ end --- Hex decode a string. --- --- @param enc string String to decode ---- @return string : Decoded string +--- @return string? : Decoded string +--- @return string? : Error message, if any function M.hexdecode(enc) - assert(#enc % 2 == 0, 'string must have an even number of hex characters') + if #enc % 2 ~= 0 then + return nil, 'string must have an even number of hex characters' + end + local str = {} ---@type string[] for i = 1, #enc, 2 do local n = assert(tonumber(enc:sub(i, i + 1), 16)) str[#str + 1] = string.char(n) end - return table.concat(str) + return table.concat(str), nil end return M |