diff options
author | Gregory Anders <8965202+gpanders@users.noreply.github.com> | 2023-11-16 12:25:50 -0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-11-16 12:25:50 -0600 |
commit | 2f64546dc1cf0816b032af2ce7ded72ce4e581b3 (patch) | |
tree | 878ee5a8bf4e7ba9eed2cc40821b9d0c905c8cf5 /runtime/lua/vim/_defaults.lua | |
parent | db57df04b6af03ad9dd0447ffc8e881c97a39732 (diff) | |
download | rneovim-2f64546dc1cf0816b032af2ce7ded72ce4e581b3.tar.gz rneovim-2f64546dc1cf0816b032af2ce7ded72ce4e581b3.tar.bz2 rneovim-2f64546dc1cf0816b032af2ce7ded72ce4e581b3.zip |
refactor: use optional base argument of tonumber (#26070)
Diffstat (limited to 'runtime/lua/vim/_defaults.lua')
-rw-r--r-- | runtime/lua/vim/_defaults.lua | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/runtime/lua/vim/_defaults.lua b/runtime/lua/vim/_defaults.lua index 870603c9f3..09d6d43e7a 100644 --- a/runtime/lua/vim/_defaults.lua +++ b/runtime/lua/vim/_defaults.lua @@ -190,14 +190,17 @@ do --- @param c string Color as a string of hex chars --- @return number? Intensity of the color local function parsecolor(c) - local len = #c - assert(len > 0 and len <= 4, 'Invalid hex color string') - if not c:match('^0x') then - c = string.format('0x%s', c) + if #c == 0 or #c > 4 then + return nil end - local max = tonumber(string.format('0x%s', string.rep('f', len))) - return tonumber(c) / max + local val = tonumber(c, 16) + if not val then + return nil + end + + local max = tonumber(string.rep('f', #c), 16) + return val / max end --- Parse an OSC 11 response |