aboutsummaryrefslogtreecommitdiff
path: root/runtime/lua/vim/tty.lua
diff options
context:
space:
mode:
authorLewis Russell <lewis6991@gmail.com>2026-09-24 13:30:07 +0100
committerLewis Russell <me@lewisr.dev>2026-09-25 10:28:19 +0100
commitd7af8707026968887ea4ee3a4e6fa51fd4372033 (patch)
tree19cae6c571311bbd5af56575dcc710485568f7b8 /runtime/lua/vim/tty.lua
parentf6aac851ddd82db5241a56ddfb9cc9a9aec8f7e5 (diff)
downloadrneovim-d7af8707026968887ea4ee3a4e6fa51fd4372033.tar.gz
rneovim-d7af8707026968887ea4ee3a4e6fa51fd4372033.tar.bz2
rneovim-d7af8707026968887ea4ee3a4e6fa51fd4372033.zip
fix(lua): enable nil-safety diagnostics in runtime code
Enable EmmyLua's need-check-nil diagnostic and resolve nullable values through more precise types, explicit invariants, and guards for missing runtime state. Keep analyzer-specific workarounds local and update the affected API documentation. Exclude the bundled re.lua from analysis so its nil-check warnings do not fail CI. AI-assisted
Diffstat (limited to 'runtime/lua/vim/tty.lua')
-rw-r--r--runtime/lua/vim/tty.lua10
1 files changed, 5 insertions, 5 deletions
diff --git a/runtime/lua/vim/tty.lua b/runtime/lua/vim/tty.lua
index d9c2a119e9..97bf24e9c3 100644
--- a/runtime/lua/vim/tty.lua
+++ b/runtime/lua/vim/tty.lua
@@ -139,11 +139,11 @@ function M.query(caps, opts, on_response)
local seq ---@type string?
if rest:match('^=%x+$') then
- seq = vim.text
- .hexdecode(rest:sub(2))
- :gsub('\\E', '\027')
- :gsub('%%p%d', '')
- :gsub('\\(%d+)', string.char)
+ seq = vim.text.hexdecode(rest:sub(2))
+ if not seq then
+ return -- Ignore malformed responses and leave the capability pending.
+ end
+ seq = seq:gsub('\\E', '\027'):gsub('%%p%d', ''):gsub('\\(%d+)', string.char)
end
on_response(cap, true, seq)