aboutsummaryrefslogtreecommitdiff
path: root/modules/textadept/keys.lua
diff options
context:
space:
mode:
authormitchell <70453897+667e-11@users.noreply.github.com>2010-10-13 21:28:11 -0400
committermitchell <70453897+667e-11@users.noreply.github.com>2010-10-13 21:28:11 -0400
commitf6b7e710829962be40236494a175a09224bac7c2 (patch)
tree2598ec05e0f0495ad3b6912bad29bca4d425636a /modules/textadept/keys.lua
parentfbc722360864470cfe5fc2afafd148e874f40c71 (diff)
downloadtextadept-f6b7e710829962be40236494a175a09224bac7c2.tar.gz
textadept-f6b7e710829962be40236494a175a09224bac7c2.zip
Think before clearing key command statusbar updates; modules/textadept/keys.lua
Diffstat (limited to 'modules/textadept/keys.lua')
-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