diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/nvim/auevents.lua | 8 | ||||
| -rw-r--r-- | src/nvim/eval.c | 6 | 
2 files changed, 9 insertions, 5 deletions
diff --git a/src/nvim/auevents.lua b/src/nvim/auevents.lua index 3d8a75febd..7624dd2303 100644 --- a/src/nvim/auevents.lua +++ b/src/nvim/auevents.lua @@ -77,8 +77,9 @@ return {      'TabNew',                 -- when creating a new tab      'TabNewEntered',          -- after entering a new tab      'TermChanged',            -- after changing 'term' -    'TermResponse',           -- after setting "v:termresponse" +    'TermClose',              -- after the processs exits      'TermOpen',               -- after opening a terminal buffer +    'TermResponse',           -- after setting "v:termresponse"      'TextChanged',            -- text was modified      'TextChangedI',           -- text was modified in Insert mode      'User',                   -- user defined autocommand @@ -98,9 +99,10 @@ return {    -- List of neovim-specific events or aliases for the purpose of generating     -- syntax file    neovim_specific = { +    TabClosed=true,      TabNew=true,      TabNewEntered=true, -    TabClosed=true, -    TermEnter=true, +    TermClose=true, +    TermOpen=true,    },  } diff --git a/src/nvim/eval.c b/src/nvim/eval.c index e1fa76c526..9581b81456 100644 --- a/src/nvim/eval.c +++ b/src/nvim/eval.c @@ -21781,8 +21781,10 @@ static void on_process_exit(Process *proc, int status, void *d)    TerminalJobData *data = d;    if (data->term && !data->exited) {      data->exited = true; -    terminal_close(data->term, -        _("\r\n[Program exited, press any key to close]")); +    char msg[22]; +    snprintf(msg, sizeof msg, "\r\n[Process exited %d]", proc->status); +    terminal_close(data->term, msg); +    apply_autocmds(EVENT_TERMCLOSE, NULL, NULL, false, curbuf);    }    if (data->status_ptr) {  | 
