aboutsummaryrefslogtreecommitdiff
path: root/modules/textadept/command_entry.lua
diff options
context:
space:
mode:
Diffstat (limited to 'modules/textadept/command_entry.lua')
-rw-r--r--modules/textadept/command_entry.lua11
1 files changed, 10 insertions, 1 deletions
diff --git a/modules/textadept/command_entry.lua b/modules/textadept/command_entry.lua
index b4f63458..64f92c1f 100644
--- a/modules/textadept/command_entry.lua
+++ b/modules/textadept/command_entry.lua
@@ -178,7 +178,16 @@ keys.lua_command = {['\t'] = complete_lua, ['\n'] = {M.finish_mode, run_lua}}
-- Configure the command entry's default properties.
events.connect(events.INITIALIZED, function()
- if not arg then return end -- no need to reconfigure on reset
+ if not arg then
+ -- The buffers in `_BUFFERS` do not get wiped out during a reset. However,
+ -- `ui.command_entry` is not a normal buffer and does get wiped out. When
+ -- resetting, re-emit `events.BUFFER_NEW` in order to re-add buffer
+ -- functions like `set_lexer()`.
+ local buffer = _G.buffer
+ _G.buffer = M -- make event handlers believe M is the global buffer for now
+ events.emit(events.BUFFER_NEW)
+ _G.buffer = buffer
+ end
M.h_scroll_bar, M.v_scroll_bar = false, false
M.margin_width_n[0], M.margin_width_n[1], M.margin_width_n[2] = 0, 0, 0
end)