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

137 Commits

Author SHA1 Message Date
Sébastien Helleu ec671fe447 core: fix code style (issue #1503) 2023-03-26 20:30:17 +02:00
Sébastien Helleu e6b1905679 core: revert keys meta-r (delete line) and meta-R (delete input) (issue #1503) 2023-03-26 20:30:12 +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
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
Robin Jarry 9b9ec62a8e core: allow /input move_next_word going to the end of line
When the input buffer contains non word characters at the end, /input
move_next_word will stop moving at the end of the last word. This is
a bit confusing and not in line with what readline does (think bash).

When there are no words left in the input buffer, make /input
move_next_word go to the end of line.

Signed-off-by: Robin Jarry <robin@jarry.cc>
2023-02-10 18:56:43 +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 33bba784c3 core: update copyright dates 2023-01-01 14:54:35 +01:00
Sébastien Helleu 727c465911 core: check that buffer is not NULL in function gui_input_clipboard_copy 2023-01-01 14:39:38 +01:00
Sébastien Helleu 73bac5491b core: move function gui_input_move_to_buffer to gui-buffer.c 2022-12-31 10:40:00 +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 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 dd9ae79204 core: remove unused argument "pos" from function gui_input_insert_string, add tests on function 2022-12-18 14:13:14 +01:00
Sébastien Helleu f03384d124 core: simplify gui input functions by returning immediately if condition not met 2022-12-17 22:22:15 +01: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 fbbed9fbf7 core: add function gui_buffer_new_props (issue #1759)
This function allows to create a buffer and set properties via a hashtable,
before the signal "buffer_opened" is sent.
2022-03-13 10:35:29 +01:00
Sébastien Helleu c44b79dce7 core: update copyright dates 2022-01-17 18:41:06 +01:00
Sébastien Helleu 12be3b8c33 core: add options in command /input and new keys to remove/restore buffers in hotlist
New options in command /input:

- hotlist_remove_buffer
- hotlist_restore_buffer
- hotlist_restore_all

New keys:

- alt+h, alt+c: clear the whole hotlist (former key: alt+h)
- alt+h, alt+m: mark the current buffer as read by removing it from the hotlist
- alt+h, alt+r: restore latest hotlist removed in the current buffer
- alt+h, alt+shift+R: restore latest hotlist removed in all buffers
2021-08-31 22:32:38 +02:00
Sébastien Helleu efc7a588d6 core: update copyright dates 2021-01-02 21:34:16 +01:00
Sébastien Helleu d1a427b67f api: return integer in function gui_completion_search (issue #1484) 2020-04-28 10:46:49 +02:00
Sébastien Helleu d3020976d5 api: add functions completion_new, completion_search and completion_free (issue #1484) 2020-04-27 22:15:42 +02:00
Sébastien Helleu feb6258910 core: update copyright dates 2020-01-04 10:41:26 +01:00
Sébastien Helleu 2f37de9148 core: make "input_commands_allowed" work with /wait and /repeat commands (issue #928) 2019-03-28 18:45:22 +01:00
Sébastien Helleu 2b0057239b core: update copyright dates 2019-01-01 15:40:51 +01:00
Sébastien Helleu 4712d0bb06 core: use https for links to GNU GPL license 2018-11-29 23:16:07 +01:00
Sébastien Helleu 438313d331 core: replace call to strncpy by memcpy
This fixes a gcc warning: "warning: ‘strncpy’ output truncated before
terminating nul copying as many bytes from a string as its length
[-Wstringop-truncation]".
2018-10-21 08:54:04 +02:00
Sébastien Helleu 8abd05fe3d core: replace "long unsigned int" by "unsigned long" 2018-10-01 22:21:25 +02:00
Sébastien Helleu 2026545aaa core: fix delete of previous/next word (keys Ctrl+w and Alt+d) (closes #1195) 2018-05-22 22:26:00 +02:00
Sébastien Helleu 7ee88fb46c core: fix some styles 2018-01-07 09:11:45 +01:00
Sébastien Helleu ed4837b2f6 core: update copyright dates 2018-01-05 00:54:18 +01:00
Sébastien Helleu db0bdc2ac6 core: add flag "input_get_empty" in buffer
The default value is 0 (legacy behavior).
When it is set to 1, an empty input (just by pressing Return with nothing in
input) is sent to the input callback, which receives an empty string.
2017-08-21 07:41:28 +02:00
Sébastien Helleu 9df72e5d53 core: remove dead assignment in function gui_input_history_next 2017-05-10 21:00:09 +02:00
Sébastien Helleu 705d86e684 core: update copyright dates 2017-01-01 11:32:04 +01:00
Sébastien Helleu 485aff59c4 core: fix realloc in function gui_input_optimize_size (issue #809)
This could cause crash in case of memory allocation error
(but WeeChat would probably crash or have problems anyway if there's not
enough memory for the input line).
2016-10-08 12:46:34 +02:00
Sébastien Helleu e0c5507a7f core: replace "clipboard" by "internal clipboard" in /help input and user's guide 2016-09-08 21:21:44 +02:00
Sébastien Helleu a01ecb276f core: add optional argument "lowest", "highest" or level mask in command /input hotlist_clear 2016-08-16 21:22:28 +02:00
Sébastien Helleu 3330724574 core: update copyright dates 2016-01-01 11:09:53 +01:00
Sébastien Helleu 5c5df1b068 core: factorize functions to search text in window 2015-07-26 19:49:35 +02:00
Sébastien Helleu 8e6f525b59 Merge remote-tracking branch 'origin/pr/393' 2015-07-26 11:30:03 +02:00
Sébastien Helleu b99a630705 core: allow execution of command "/input return" on a buffer which is not displayed in a window 2015-07-25 08:20:18 +02:00
Sébastien Helleu 4ecd8a505f api: fix type of value returned by functions utf8_prev_char, utf8_next_char and utf8_add_offset 2015-07-04 08:39:55 +02:00
Simmo Saan b87c52240b core: add more intuitive buffer searching (closes #76) 2015-04-12 10:25:09 +03:00
Sébastien Helleu b2a68af077 core: add options weechat.look.word_chars_{highlight|input} (closes #55, task #9459) 2015-04-11 18:53:44 +02:00
Sébastien Helleu a020c28ea6 core: update copyright dates 2015-01-01 09:23:23 +01:00
Sébastien Helleu 1ef3237b6b api: return value in function command(), remove WeeChat error after command callback if return code is WEECHAT_RC_ERROR 2014-11-22 08:14:29 +01:00
Sébastien Helleu c1aa51fa9c core: fix crash on buffer close when option weechat.look.hotlist_remove is set to "merged" (closes #199) 2014-09-24 21:45:01 +02:00
Sébastien Helleu c7ce05d5ec core: add hidden buffers, add options hide/unhide in command /buffer 2014-04-05 16:30:13 +02:00
Sébastien Helleu 0e561104fa core: add non-active merged buffers with activity in hotlist (if another merged buffer is zoomed) (task #12845)
There was a bug with "num_displayed" in buffers when they are merged and
that one buffer is zoomed: now the num_displayed is > 0 for the active buffer,
and it is set to 0 for all merged non-active buffers (only in case of zoom).

A variable "zoomed" has been added in buffers to know if a buffer with this
number is zoomed or not (possibly another buffer).
2014-03-31 10:31:56 +02:00
Sebastien Helleu db000cd3b0 core: add text search in buffers with free content (task #13051) 2014-03-29 17:06:36 +01:00