about summary refs log tree commit diff stats
path: root/src/command
diff options
context:
space:
mode:
authorMarcoPolo-PasTonMolo <marcopolopastonmolo@protonmail.com>2023-04-02 22:06:17 +0300
committerMarcoPolo-PasTonMolo <marcopolopastonmolo@protonmail.com>2023-04-02 22:06:17 +0300
commit24ba431ed7996737ad8f2b818fb07f0add8639a4 (patch)
treec321942d3b8cfb4d10fdd72a2ff98e75304ccb58 /src/command
parentf2c83fa8ceea29e295509c8b964f1e9ccda2f0e4 (diff)
downloadprofani-tty-24ba431ed7996737ad8f2b818fb07f0add8639a4.tar.gz
Add autocomplete for the /reconnect command
After typing `/reconnect ` and pressing tab nothing appeared where in
reality, it should have been autocompleted to `/reconnect now`
Diffstat (limited to 'src/command')
-rw-r--r--src/command/cmd_ac.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/command/cmd_ac.c b/src/command/cmd_ac.c
index 0fc8f224..8654a07b 100644
--- a/src/command/cmd_ac.c
+++ b/src/command/cmd_ac.c
@@ -101,6 +101,7 @@ static char* _wintitle_autocomplete(ProfWin* window, const char* const input, gb
 static char* _inpblock_autocomplete(ProfWin* window, const char* const input, gboolean previous);
 static char* _time_autocomplete(ProfWin* window, const char* const input, gboolean previous);
 static char* _receipts_autocomplete(ProfWin* window, const char* const input, gboolean previous);
+static char* _reconnect_autocomplete(ProfWin* window, const char* const input, gboolean previous);
 static char* _help_autocomplete(ProfWin* window, const char* const input, gboolean previous);
 static char* _wins_autocomplete(ProfWin* window, const char* const input, gboolean previous);
 static char* _tls_autocomplete(ProfWin* window, const char* const input, gboolean previous);
@@ -232,6 +233,7 @@ static Autocomplete time_format_ac;
 static Autocomplete resource_ac;
 static Autocomplete inpblock_ac;
 static Autocomplete receipts_ac;
+static Autocomplete reconnect_ac;
 #ifdef HAVE_LIBGPGME
 static Autocomplete pgp_ac;
 static Autocomplete pgp_log_ac;
@@ -886,6 +888,9 @@ cmd_ac_init(void)
     autocomplete_add(receipts_ac, "send");
     autocomplete_add(receipts_ac, "request");
 
+    reconnect_ac = autocomplete_new();
+    autocomplete_add(reconnect_ac, "now");
+
 #ifdef HAVE_LIBGPGME
     pgp_ac = autocomplete_new();
     autocomplete_add(pgp_ac, "keys");
@@ -1573,6 +1578,7 @@ cmd_ac_reset(ProfWin* window)
     autocomplete_reset(resource_ac);
     autocomplete_reset(inpblock_ac);
     autocomplete_reset(receipts_ac);
+    autocomplete_reset(reconnect_ac);
 #ifdef HAVE_LIBGPGME
     autocomplete_reset(pgp_ac);
     autocomplete_reset(pgp_log_ac);
@@ -1752,6 +1758,7 @@ cmd_ac_uninit(void)
     autocomplete_free(resource_ac);
     autocomplete_free(inpblock_ac);
     autocomplete_free(receipts_ac);
+    autocomplete_free(reconnect_ac);
 #ifdef HAVE_LIBGPGME
     autocomplete_free(pgp_ac);
     autocomplete_free(pgp_log_ac);
@@ -2048,6 +2055,7 @@ _cmd_ac_complete_params(ProfWin* window, const char* const input, gboolean previ
     g_hash_table_insert(ac_funcs, "/inpblock", _inpblock_autocomplete);
     g_hash_table_insert(ac_funcs, "/time", _time_autocomplete);
     g_hash_table_insert(ac_funcs, "/receipts", _receipts_autocomplete);
+    g_hash_table_insert(ac_funcs, "/reconnect", _reconnect_autocomplete);
     g_hash_table_insert(ac_funcs, "/wins", _wins_autocomplete);
     g_hash_table_insert(ac_funcs, "/tls", _tls_autocomplete);
     g_hash_table_insert(ac_funcs, "/titlebar", _titlebar_autocomplete);
@@ -3551,6 +3559,14 @@ _receipts_autocomplete(ProfWin* window, const char* const input, gboolean previo
 }
 
 static char*
+_reconnect_autocomplete(ProfWin* window, const char* const input, gboolean previous)
+{
+    char* result = NULL;
+    result = autocomplete_param_with_ac(input, "/reconnect", reconnect_ac, TRUE, previous);
+    return result;
+}
+
+static char*
 _alias_autocomplete(ProfWin* window, const char* const input, gboolean previous)
 {
     char* result = NULL;