1
0
mirror of https://github.com/weechat/weechat.git synced 2026-06-25 20:36:38 +02:00
Commit Graph

2565 Commits

Author SHA1 Message Date
Sébastien Helleu 66571a0b63 core: add configuration version, add API function config_set_version 2023-03-16 20:42:18 +01:00
Sébastien Helleu a5aa3304a4 doc/api: add hashtable methods in function string_eval_expression 2023-03-10 21:04:34 +01:00
Sébastien Helleu 7cda6cfd49 core: update translations (issue #1888) 2023-03-10 20:52:53 +01:00
Sébastien Helleu 188583256e doc/user: make XDG directory fallback more clear in table 2023-02-16 21:39:02 +01:00
Sébastien Helleu 3466c716ae doc/user: move "Upgrade" chapter after "Running WeeChat" 2023-02-10 19:00:01 +01:00
Sébastien Helleu 30fa647700 irc: add command /rules (closes #1864) 2023-01-31 18:43:07 +01:00
Sébastien Helleu 9f5ca3b1a9 irc: add command /knock (closes #7) 2023-01-31 18:37:27 +01:00
Andrew Potter 4f0b6115a1 irc: add server option "registered_mode" (closes #1625)
Two new fields are added in IRC server structure:

- "authentication_method", possible values:
    0: not authenticated
    1: authenticated with SASL
    2: authenticated with other method
- "sasl_mechanism_used", possible values: see enum t_irc_sasl_mechanism
  in src/plugins/irc/irc-sasl.h
2023-01-29 16:50:57 +01:00
Sébastien Helleu fd746a04d6 core: force ctrl keys to lower case when they are added (closes #1875) 2023-01-29 12:41:28 +01:00
Sébastien Helleu 48c1aebb83 tests: add tests on gui key functions (issue #1875) 2023-01-29 12:41:11 +01:00
Sébastien Helleu efe4aa29fc core: update translations and auto-generated doc files (issue #1872) 2023-01-28 15:19:41 +01:00
Sébastien Helleu c724032a22 core: make function gui_buffer_match_list case sensitive (issue #1872) 2023-01-28 15:14:06 +01:00
Sébastien Helleu d71c3b0f21 doc/api: add priority in function config_new (issue #1872) 2023-01-28 15:13:40 +01:00
Sébastien Helleu 37e8599443 irc: add option join in command /autojoin 2023-01-24 20:58:17 +01:00
Sébastien Helleu 0e1d3618ee doc: update auto-generated files with hdata 2023-01-24 20:55:28 +01:00
Sébastien Helleu 7668e7ea55 fset: fix typo in French translation of /help fset.look.condition_catch_set 2023-01-14 20:56:06 +01:00
Sébastien Helleu 754ab33946 core: remove build with autotools
CMake is now the only way to build WeeChat.
2023-01-08 14:19:41 +01:00
Sébastien Helleu 0ce0fa9f1f api: add Curl options for versions 7.64.0 to 7.87.0 2023-01-03 23:21:44 +01:00
Sébastien Helleu 7526776f4e plugins: change priority of scripting plugins
Use a step of 10 between each scripting plugin priority.
2023-01-03 20:20:21 +01:00
Sébastien Helleu 33bba784c3 core: update copyright dates 2023-01-01 14:54:35 +01:00
Sébastien Helleu d878d2023a core: fix French translation of "read marker" 2022-12-29 12:05:21 +01:00
Sébastien Helleu fce2fcba4f core: add option weechat.look.chat_space_right (issue #1862) 2022-12-29 12:00:28 +01:00
Sébastien Helleu 45638dca23 core: allow value "0" in buffer property "unread" to remove read marker from buffer 2022-12-26 01:27:45 +01:00
Sébastien Helleu 56055de12e doc/api: fix formatting of return value in char/string comparison functions 2022-12-26 00:55:30 +01:00
Sébastien Helleu 41fd26fe79 core: move /input buffer switch/zoom actions to command /buffer
Actions moved:

* `/input switch_active_buffer` -> `/buffer switch`
* `/input switch_active_buffer_previous` -> `/buffer switch -previous`
* `/input zoom_merged_buffer` -> `/buffer zoom`
2022-12-25 22:47:18 +01:00
Sébastien Helleu 0c29d4c5b6 core: move /input set_unread actions to commands /allbuf and /buffer set
Actions moved:

* `/input set_unread` -> `/allbuf /buffer set unread`
* `/input set_unread_current_buffer` -> `/buffer set unread`
2022-12-25 21:44:27 +01:00
Sébastien Helleu 2c238e08ff core: add command /allbuf 2022-12-25 21:23:14 +01:00
Sébastien Helleu 2ad6f2f3d5 api: do not check hotlist add conditions when adding buffer in hotlist with function buffer_set 2022-12-25 20:35:10 +01:00
Sébastien Helleu a9094fd2fa core: add option add in command /hotlist 2022-12-25 19:40:57 +01:00
Sébastien Helleu babe1e7a42 core: move /input hotlist actions to new command /hotlist
Actions moved to command `/hotlist`:

* `/input hotlist_clear` -> `/hotlist clear`
* `/input hotlist_remove_buffer` -> `/hotlist remove`
* `/input hotlist_restore_buffer` -> `/hotlist restore`
* `/input hotlist_restore_all` -> `/hotlist restore -all`
2022-12-25 18:50:57 +01:00
Sébastien Helleu c9796a3141 core: move /input jump actions to command /buffer jump
Actions moved to command `/buffer jump`:

* `/input jump_smart` -> `/buffer jump smart`
* `/input jump_previously_visited_buffer` -> `/buffer jump prev_visited`
* `/input jump_next_visited_buffer` -> `/buffer jump next_visited`
* `/input jump_last_buffer_displayed` -> `/buffer jump last_displayed`
2022-12-25 17:00:37 +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 0dd1d4133b doc/api: mention "UTF-8" in char/string comparison functions 2022-12-24 17:52:31 +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 91149f0acc core: fix typo in French translation of /help input 2022-12-22 20:56:50 +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
Trygve Aaberge dc8a35796a doc/api: Improve python example for config_new_section
This updates the Python examples to include all the possible return
values for the callbacks in config_new_section, like it is done in the C
example. It also aligns the order of the values with the C example.
2022-12-11 15:33:11 +01:00
Trygve Aaberge abdabb3ae4 doc/api: Fix return values for callback_read in config_new_section
These return values were wrong in the description and C example. As can
be seen on lines 2835 and 2873-2903 of src/core/wee-config-file.c the
callback_read function should return the same as the function
config_file_option_set plus the value
WEECHAT_CONFIG_OPTION_SET_OPTION_NOT_FOUND (which is also the same as
the possible return values of config_file_option_set_with_string).

The Python example was already correct and the C example was already
correct in the other languages apart from English.

These errors were introduced in commit 02e2b21d3 and commit 5210ff1ae.
2022-12-11 15:33:11 +01:00
Trygve Aaberge ebc63d1b83 scripts: Send null values to config section callbacks
The callback_read and callback_create_option functions in the scripting
APIs always get the value as a string, never as null. This means that if
the value is null, there is no way for the script to distinguish this
from an empty string for string options. This makes it impossible to
properly make options with fallback values, like the irc server and
server_default options, as far as I can see.

All the scripting languages except Tcl use that language's equivalent
for null. For JavaScript which has both null and undefined, null is
used. For Tcl, the magic null string defined in commit 197a7a01e is used
and the documentation is updated to describe that.

I tested this with these scripts:
https://gist.github.com/trygveaa/2d49c609addf9773d2ed16e15d1e3447

You can load all of those scripts and see the result with this command
(assuming you have the scripts in the current directory):

    weechat -t -r "/filter add script * * script; /script load $(echo script_config.*)"
2022-12-11 15:13:31 +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 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 baab9cc7c5 core: add option unicode in command /debug 2022-11-21 20:45:41 +01:00
Sébastien Helleu bab73cfaa5 core: add identifier in buffer lines (closes #901)
For buffers with formatted content, the "id" starts to 0 on each buffer and is
incremented on each new line displayed (it is reset to 0 if reaching INT_MAX).

For buffers with free content, the "id" is set to the same value as "y" (ie the
line number, starting to 0).
2022-11-11 09:42:20 +01:00
Sébastien Helleu 8c44dc53eb doc/api: add missing note after list of signals 2022-11-09 08:15:30 +01:00
Sébastien Helleu 70998a53de doc/user: add missing supported format for trigger regex 2022-11-09 08:12:54 +01:00
Sébastien Helleu 24665ae878 core: add signals "buffer_user_{input|closing}_xxx" for buffers created with /buffer add (closes #1848) 2022-11-08 20:34:04 +01:00