Sébastien Helleu
db177de204
core: make configuration files, sections and options case sensitive (issue #1872 )
2023-01-28 15:13:45 +01:00
Sébastien Helleu
72f4596fb2
core: add function config_file_get_configs_by_priority (issue #1872 )
2023-01-28 15:13:43 +01:00
Sébastien Helleu
0dd1d1be1c
core: sort configuration files by name, reload them by priority (issue #1872 )
2023-01-28 15:13:36 +01:00
Sébastien Helleu
347c3f3214
core: move function hook_get_priority_and_name to wee-string.c (issue #1872 )
2023-01-28 15:13:18 +01:00
Sébastien Helleu
51d0a6f402
tests: add tests on string comparison functions
2023-01-14 21:44:19 +01:00
Sébastien Helleu
33bba784c3
core: update copyright dates
2023-01-01 14:54:35 +01:00
Sébastien Helleu
21f3575016
api: add functions string_strcmp and string_strncmp
2022-12-24 18:29:35 +01:00
Sébastien Helleu
a67556907d
api: rename char comparison functions "utf8_char*" to "string_char*"
2022-12-24 17:33:22 +01:00
Sébastien Helleu
083032972d
api: return arithmetic difference between chars in string comparison functions
...
Return code is changed for the following functions:
- string_strcasecmp
- string_strcasecmp_range
- string_strncasecmp
- string_strncasecmp_range
- string_strcmp_ignore_chars
- utf8_charcmp
- utf8_charcasecmp
- utf8_charcasecmp_range
2022-12-24 16:25:20 +01:00
Sébastien Helleu
5fc656a1b8
api: fix function strcmp_ignore_chars with case sensitive comparison and wide chars starting with the same byte
2022-12-23 23:20:29 +01:00
Sébastien Helleu
68b510517e
core: improve case convert and insensitive char comparisons ( closes #258 )
...
All lowercase letters are now properly converted to uppercase letters (and vice
versa), via functions `towupper` and `towlower`.
Functions `string_tolower`, `string_toupper` and `utf8_charcasecmp` have been
optimized to be faster when there are ASCII chars (< 128); functions are about
25-40% faster with mixed chars (both ASCII and multi-bytes).
Function `utf8_wide_char` has been removed, `utf8_char_int` can be used
instead.
2022-12-21 20:49:09 +01:00
Sébastien Helleu
40339b288a
api: return newly allocated string in functions string_tolower and string_toupper
2022-12-18 14:28:58 +01:00
Sébastien Helleu
eb6cc0bc2a
core: return number of bytes for UTF-8 char in function utf8_int_string
2022-12-18 14:13:14 +01:00
Sébastien Helleu
18c9ade580
core: add whole string information in /debug unicode
2022-12-10 17:32:09 +01:00
Sébastien Helleu
5b9b1e175b
core: add color attributes "blink" and "dim" (half bright) ( closes #1855 )
2022-12-10 16:37:03 +01:00
Sébastien Helleu
ef842c5e62
core: fix function string_cut when there are non printable chars in suffix
2022-12-10 16:05:14 +01:00
Sébastien Helleu
f1cfd6f73f
core: do not display non printable chars, fix function utf8_char_size_screen
...
Now the function utf8_char_size_screen can return -1 when the char is not
printable.
It has a specific behavior for some chars:
- U+0009: value of option weechat.look.tab_width
- U+0001 to U+001F (except U+0009): 1
- U+00AD (soft hyphen): -1
- U+200B (zero width space): -1
2022-12-10 16:05:14 +01:00
Sébastien Helleu
71ae8f1907
api: add function utf8_strncpy
2022-12-10 16:05:14 +01:00
Sébastien Helleu
e5cbbd781d
core: optimize and fix function utf8_strlen_screen with non printable chars
...
When there non printable chars, the return of the function was 1.
For example utf8_strlen_screen("abc\x01") now returns 4 instead of 1.
In addition the function has been optimized to not use the `mbstowcs` function
which is slow; result is up to 15% faster.
2022-12-10 16:05:14 +01:00
Sébastien Helleu
0e6677fbcb
core: add result of utf8_char_size_screen in /debug unicode
2022-12-10 16:05:14 +01:00
Sébastien Helleu
55569c182a
core: display hex codepoint before integer codepoint in /debug unicode
2022-12-03 10:15:18 +01:00
Sébastien Helleu
bbd0f5d26b
tests: define constants with UTF-8 strings, add tests on functions returning size on screen
2022-11-27 12:29:36 +01:00
Sébastien Helleu
baab9cc7c5
core: add option unicode in command /debug
2022-11-21 20:45:41 +01:00
Sébastien Helleu
3b674a5e16
tests: add another test on function string_translate_chars
2022-11-05 22:34:39 +01:00
Sébastien Helleu
196a051141
core: add range of chars in evaluation of expressions with chars:xxx
2022-11-05 22:34:38 +01:00
Sébastien Helleu
bc2fb071e2
api: add function string_translate_chars
2022-11-05 22:34:38 +01:00
Trygve Aaberge
fdb1ff3781
tests: Use LONGS_EQUAL for version number tests
...
util_version_number returns an int, but BYTES_EQUAL only compares the
last byte of the int, so it wouldn't test the rest of the int.
I see other tests for functions returning an int use LONGS_EQUAL, so
that seems correct to use.
2022-10-08 18:13:00 +02:00
Sébastien Helleu
e7b6e8c60f
api: restrict number to integer in function string_parse_size
2022-09-27 15:50:43 +02:00
Sébastien Helleu
4d74a89cfc
api: add function string_parse_size
2022-09-27 15:50:43 +02:00
Sébastien Helleu
01cf98e8fb
core: add key alt+backspace, change behavior of key ctrl+w ( closes #559 )
...
The key ctrl+w now deletes one word until whitespace.
The new key alt+backspace deletes one word (same behavior as ctrl+w in previous
releases).
2022-09-18 23:26:49 +02:00
Sébastien Helleu
0090695f7d
api: add function crypto_hash_file
2022-08-16 21:33:50 +02:00
Sébastien Helleu
06b6f457d9
tests: add tests on dynamic string functions with NULL string
2022-08-13 14:38:08 +02:00
Sébastien Helleu
b7441bd7a3
api: add arguments "index_start" and "index_end" in function string_rebuild_split_string
2022-07-20 13:16:35 +02:00
Sébastien Helleu
62e68f965f
api: rename function string_build_with_split_string to string_rebuild_split_string
2022-07-20 12:14:40 +02:00
Sébastien Helleu
51ed9ec93e
core: add case conversion in evaluation of expressions ( closes #1778 )
2022-04-18 13:46:16 +02:00
Sébastien Helleu
5d809df6ed
tests: move include of tests/tests.h outside of extern "C"
2022-03-10 21:12:46 +01:00
Sébastien Helleu
7051c0fc2b
tests: add tests on function string_strndup
2022-02-19 16:33:49 +01:00
Sébastien Helleu
c44b79dce7
core: update copyright dates
2022-01-17 18:41:06 +01:00
Sébastien Helleu
305608ce89
tests: split tests on functions string_tolower and string_toupper
2022-01-14 21:43:06 +01:00
Sébastien Helleu
f8915129bf
core: rename argument "length" to "bytes" in function string_strndup
2022-01-14 21:41:25 +01:00
Sébastien Helleu
15f5bc7944
tests: add missing include of stdio.h
2021-11-21 16:37:23 +01:00
Sébastien Helleu
5ddd72c0e9
tests: add extra tests on functions string_strcmp_ignore_chars and string_convert_escaped_chars
2021-11-09 20:41:23 +01:00
Sébastien Helleu
4c9e7ed09e
tests: fix allocation of test_ptr_1_hashtable_dyn in hdata tests
2021-11-07 18:13:03 +01:00
Sébastien Helleu
12043622e6
tests: add tests on UTF-8 string functions
2021-11-07 14:39:48 +01:00
Sébastien Helleu
2da2172593
api: add parameters pointers, extra_vars and options in function hdata_search
2021-11-06 15:59:18 +01:00
Sébastien Helleu
14c6ef3d83
tests: add missing include of string.h
2021-11-05 20:21:17 +01:00
Sébastien Helleu
9c5837d143
core: add unit tests on hdata
2021-11-05 20:04:10 +01:00
Sébastien Helleu
ad5fa7c99f
core: add command /toggle
2021-10-01 22:55:38 +02:00
Sébastien Helleu
a6826af796
core: add creation of user variables in evaluated expressions with ${define:name,value}
2021-09-20 21:15:28 +02:00
Sébastien Helleu
5b3929b321
api: add split of string and shell arguments in evaluation of expressions
...
Split of string: ${split:number,separators,flags,xxx}
Split of shell arguments: ${split_shell:number,xxx}
2021-09-06 13:32:04 +02:00