aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--modules/textadept/keys.lua10
1 files changed, 9 insertions, 1 deletions
diff --git a/modules/textadept/keys.lua b/modules/textadept/keys.lua
index 8cda6fb0..87c82a28 100644
--- a/modules/textadept/keys.lua
+++ b/modules/textadept/keys.lua
@@ -625,7 +625,15 @@ local function keypress(code, shift, control, alt)
for i = SCOPES_ENABLED and 1 or 2, #order do
status = run_key_command(order[i][1] and lexer, order[i][2] and scope)
if status > 0 then -- CHAIN or HALT
- if status == HALT then clear_key_sequence() end
+ if status == HALT then
+ -- Clear the key sequence, but keep any status messages from the key
+ -- command itself.
+ keychain = {}
+ if not (gui.statusbar_text == locale.INVALID or
+ gui.statusbar_text:find('^'..locale.KEYCHAIN)) then
+ gui.statusbar_text = ''
+ end
+ end
return true
end
success = success or status ~= -1