fix: ensure consistent unescaping and space handling

Unescape any character following a backslash. This fixes autocompletion
for names with escaped spaces.
For example: `/msg Thor\ Odinson hello`

Signed-off-by: Michael Vetter <jubalh@iodoru.org>
This commit is contained in:
Michael Vetter
2026-03-30 18:33:59 +02:00
parent bda5b0f844
commit df1f1e5ef1
8 changed files with 92 additions and 2 deletions

View File

@@ -120,6 +120,8 @@ main(int argc, char* argv[])
cmocka_unit_test(autocomplete_complete__returns__null_when_empty),
cmocka_unit_test(autocomplete_reset__updates__after_create),
cmocka_unit_test(autocomplete_complete__returns__null_after_create),
cmocka_unit_test(autocomplete_complete__handles__escaped_spaces),
cmocka_unit_test(autocomplete_complete__handles__escaped_quotes),
cmocka_unit_test(autocomplete_create_list__returns__null_after_create),
cmocka_unit_test(autocomplete_add__updates__one_and_complete),
cmocka_unit_test(autocomplete_complete__returns__first_of_two),
@@ -218,6 +220,7 @@ main(int argc, char* argv[])
cmocka_unit_test(count_tokens__returns__two_tokens_second_quoted),
cmocka_unit_test(count_tokens__returns__two_tokens_both_quoted),
cmocka_unit_test(count_tokens__handles__escapes),
cmocka_unit_test(count_tokens__handles__multiple_spaces),
cmocka_unit_test(get_start__returns__first_of_one),
cmocka_unit_test(get_start__returns__first_of_two),
cmocka_unit_test(get_start__returns__first_two_of_three),
@@ -225,6 +228,7 @@ main(int argc, char* argv[])
cmocka_unit_test(get_start__returns__first_two_of_three_second_quoted),
cmocka_unit_test(get_start__returns__first_two_of_three_first_and_second_quoted),
cmocka_unit_test(get_start__handles__escapes),
cmocka_unit_test(get_start__handles__multiple_spaces),
cmocka_unit_test(parse_options__returns__empty_hashmap_when_none),
cmocka_unit_test(parse_options__returns__error_when_opt1_no_val),
cmocka_unit_test(parse_options__returns__map_when_one),