1
0
mirror of https://github.com/weechat/weechat.git synced 2026-06-26 12:56:37 +02:00
Commit Graph

1704 Commits

Author SHA1 Message Date
Trygve Aaberge c63321bb7a core: Add an option to start multiline input text on a new line
This does the same as the lead_linebreak option in multiline.pl. That
is, when the input contains more than one line, the first line will be
displayed beneath the previous items in the bar. This is practical
because all the lines in the input will be aligned.

Related to #1498
2023-03-26 21:02:19 +02:00
Sébastien Helleu fe41da1506 core: update translations (issue #1503) 2023-03-26 20:30:17 +02:00
Sébastien Helleu ec671fe447 core: fix code style (issue #1503) 2023-03-26 20:30:17 +02:00
Trygve Aaberge 9ac30381fa core: Implement commands for operating on a single input line
This changes the commands delete_beginning_of_line, delete_end_of_line,
delete_line, move_beginning_of_line and move_end_of_line to operate on
the current line instead of the whole input. The commands
delete_beginning_of_input, delete_end_of_input, delete_input,
move_beginning_of_input and move_end_of_input are added with the
previous implementations that the line commands had.

Additionally, the commands move_previous_line and move_next_line are
added which moves the cursor to the previous/next line and keeps the
horizontal position in the line.

The meta-r key is changed from delete_line to delete_input to keep the
behavior, and because you probably want to delete the whole input more
often than the line. The meta-R key is added for delete_line.

The home, end, ctrl-u and ctrl-k keys are kept to the same commands,
which means that they change behaviour. This is because having them
operate on the line is consistent with other applications (vim, zsh),
and I also think it's more practical.

These new bindings are added:

    shift-home:  /input move_beginning_of_input
    shift-end:   /input move_end_of_input
    shift-up:    /input move_previous_line
    shift-down:  /input move_next_line
    meta-R:      /input delete_line
    meta-ctrl-u: /input delete_beginning_of_input
    meta-ctrl-k: /input delete_end_of_input

Relates to #1498
2023-03-26 15:52:19 +02:00
Trygve Aaberge 3e331d3772 core: Increase default value for paste_max_lines to 100
Now that pasting text doesn't cause it to be sent immediately, but
rather inserted in the input line, the paste confirmation isn't really
necessary anymore for small pastes. If you paste by mistake you can just
press ctrl-_ to undo it.

Large pastes may cause weechat to hang for a while, so keep the paste
confirmation for those.

If you don't use bracketed paste you would still want to keep it at 1,
because it's not detected as a paste otherwise, but as far as I know
basically all terminal emulators support bracketed paste, so I think
it's fine to disable the confirmation by default.
2023-03-25 18:53:12 +01:00
Trygve Aaberge d15203dbf5 core: Remove option weechat.look.paste_auto_add_newline
This option existed so that you could edit the last line of a multiline
paste before it was sent. Now that pasting multiple lines don't cause
the lines to be sent immediately anymore, this option isn't useful
anymore since you can always edit pasted text before it's sent.
2023-03-25 18:53:12 +01:00
Sébastien Helleu 94cbed2585 core: fix memory leak in function config_file_read_internal
This was caused by commit 66571a0b63.
2023-03-25 17:56:07 +01:00
Sébastien Helleu 15f0f7e369 core: add option legacy in command /key 2023-03-24 23:07:40 +01:00
Sébastien Helleu cee14f10d6 core: add option rename in command /bar 2023-03-19 18:24:39 +01:00
Sébastien Helleu e4f181beb3 core: display an error with /bar add when the bar already exists 2023-03-19 17:42:12 +01:00
Sébastien Helleu 6bd49dd595 core: add value "name" in completion of /bar set <name> 2023-03-19 17:26:06 +01:00
Sébastien Helleu 0f4ef874ca core: do not call check callback when setting default value of option 2023-03-19 16:47:46 +01:00
Sébastien Helleu ca7da2c961 core: run config hooks only when value or default value is actually changed in set/reset/unset functions 2023-03-19 09:59:33 +01:00
Sébastien Helleu 3e5d77fdff core: optimize commands /reset and /unset with a mask 2023-03-19 08:30:32 +01:00
Sébastien Helleu 0d49ffd053 core: add command /reset to reset options to their default values 2023-03-19 08:02:10 +01:00
Sébastien Helleu 2e82c41c1a core: don't translate the key context (default/search/cursor/mouse) 2023-03-19 07:17:44 +01:00
Sébastien Helleu 99ca276556 core: also display mouse codes with /debug key 2023-03-17 22:49:50 +01:00
Sébastien Helleu 2b1da0d910 core: add note about "shift-" modifier in /help key
The modifier "shift-" can only be used with the key names, not with simple
chars.
2023-03-17 18:52:30 +01:00
Sébastien Helleu d9e084869a core: add modifiers, key names and combos in /help key 2023-03-17 18:52:30 +01:00
Sébastien Helleu 3b8f9d4547 core: check new keys manually added with /set 2023-03-17 18:52:30 +01:00
Sébastien Helleu 8a5a778293 core: remove mention to list of keys being displayed without arguments in /help key
Now when fset plugin is loaded, the keys are displayed in fset buffer.

In core commands like /set or /key, the fset plugin is not mentioned as WeeChat
can run without it.
2023-03-16 20:42:19 +01:00
Sébastien Helleu bf51a081d9 core: display a specific error when trying to bind a key without area in mouse context 2023-03-16 20:42:19 +01:00
Sébastien Helleu a0c3fbbde9 core: display a warning if the config version read is newer than supported version 2023-03-16 20:42:19 +01:00
Sébastien Helleu 03e6d4563f core: move keyboard debug mode from /key debug to /debug key 2023-03-16 20:42:19 +01:00
Sébastien Helleu 55d9989b85 core: add function config_file_option_set_default 2023-03-16 20:42:19 +01:00
Sébastien Helleu 79f7c1cf83 fset: hook command /key
When command /key is called without arguments, and if fset plugin is loaded,
fset displays all key options (filter: `weechat.key*`).
2023-03-16 20:42:19 +01:00
Sébastien Helleu ccc649d06c core: create config options for all keys that can be managed with /set and /fset commands 2023-03-16 20:42:19 +01:00
Sébastien Helleu 5b5c9afa29 core: add key alt-K (alt+shift+k) to grab raw key and its command 2023-03-16 20:42:19 +01:00
Sébastien Helleu 1f5c791c37 core: use new key name in command /key and configuration file
Legacy keys are automatically converted to new names when loading configuration
file `weechat.conf`.

Examples:

  "ctrl-I" => "tab"
  "meta2-1;3A" => "meta-up"
  "meta2-Z" => "shift-tab"
  "meta-wmeta-meta2-A" => "meta-w,meta-up"
  "ctrl-Cb" => "ctrl-c,b"
2023-03-16 20:42:19 +01:00
Sébastien Helleu 5b5ccb236f core: fix display of key with command /key bindctxt <context> <key> 2023-03-16 20:42:18 +01:00
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 7b8e5b36c0 core: simplify function config_file_read_internal 2023-03-16 20:42:18 +01:00
Sébastien Helleu 31bf962bba core: display new key name using aliases in output of /key command 2023-03-16 20:42:18 +01:00
Sébastien Helleu 21910b7050 core: add function to expand raw key code to name with alias, use it in /key debug 2023-03-16 20:42:18 +01:00
Sébastien Helleu 0781f29726 core: add keyboard debug mode with command /key debug 2023-03-16 20:42:18 +01:00
Sébastien Helleu 7ba9f9ac7b core: revert case sensitive Curl constants and options (issue #1872)
This is a partial revert of fca78ca823.
2023-03-12 08:00:51 +01:00
Sébastien Helleu e36eda5404 core: check that parameters are not NULL in URL functions 2023-03-12 07:58:00 +01:00
Sébastien Helleu 5f5535b466 core: simplify /help eval, move examples with the other examples (issue #1888) 2023-03-10 20:52:28 +01:00
Sébastien Helleu f604cf19c7 core: rename variable open_paren to pos_open_paren 2023-03-10 20:19:24 +01:00
Andrew Potter e3f588679c core: allow /eval to get hashtable properties 2023-03-10 20:19:03 +01:00
Sébastien Helleu 7ad4f7b29c core: update description of function hook_command_display_error_unknown 2023-01-30 23:27:25 +01:00
Sébastien Helleu e78d96686c core: inform that commands are case sensitive when another command with different case is found (issue #1877) 2023-01-30 22:09:36 +01:00
Sébastien Helleu 4370f75ce6 core: improve prioritization of commands starting with same chars in similar commands 2023-01-30 21:51:32 +01:00
Sébastien Helleu b02a10aa48 core: display similar command names when a command is unknown (closes #1877) 2023-01-30 21:44:38 +01:00
Sébastien Helleu 69a635412d core: add function string_get_common_bytes_count (issue #1877) 2023-01-30 21:44:03 +01:00
Sébastien Helleu 38ffac78f3 core: add function string_levenshtein (issue #1877) 2023-01-30 21:43:58 +01:00
Sébastien Helleu 269b8fc66e core: properly skip command char when it is a wide char in exec of hook_command_run 2023-01-29 21:20:18 +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 fa6a9bb934 api: readjust string size in function string_dyn_free when string is not freed (issue #1875)
This frees some allocated memory if size_alloc was greater than size in the
dynamic string.
2023-01-29 12:41:19 +01:00
Sébastien Helleu 3e9e1b51bf core, plugins: replace calls to strcmp by string_strcmp when difference matters (issue #1872) 2023-01-28 15:14:26 +01:00