summaryrefslogtreecommitdiff
path: root/src/client_manager.hh
diff options
context:
space:
mode:
authorMaxime Coste <mawww@kakoune.org>2017-08-23 13:22:23 +0700
committerMaxime Coste <mawww@kakoune.org>2017-08-23 13:33:13 +0700
commitf7bed9eb183def6ad1e96df96c13fd22551fbf42 (patch)
treec7d6badd4c15c415bc2b81b179ee7a856bb259bb /src/client_manager.hh
parent3efc406d571d651ed44b751eb798cc79a990c614 (diff)
Support specifying an exit status on `quit` commands
The current client exit status can be specified as an optional parameter, is nothing is given the exit status will be 0. Fixes #1230
Diffstat (limited to 'src/client_manager.hh')
-rw-r--r--src/client_manager.hh5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/client_manager.hh b/src/client_manager.hh
index 35a1376f..f0a3a59d 100644
--- a/src/client_manager.hh
+++ b/src/client_manager.hh
@@ -21,7 +21,8 @@ public:
Client* create_client(std::unique_ptr<UserInterface>&& ui,
EnvVarMap env_vars, StringView init_cmds,
- Optional<BufferCoord> init_coord);
+ Optional<BufferCoord> init_coord,
+ Client::OnExitCallback on_exit);
bool empty() const { return m_clients.empty(); }
size_t count() const { return m_clients.size(); }
@@ -39,7 +40,7 @@ public:
Client* get_client_ifp(StringView name);
Client& get_client(StringView name);
bool validate_client_name(StringView name) const;
- void remove_client(Client& client, bool graceful);
+ void remove_client(Client& client, bool graceful, int status);
using ClientList = Vector<std::unique_ptr<Client>, MemoryDomain::Client>;
using iterator = ClientList::const_iterator;