aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/window.c
Commit message (Collapse)AuthorAge
...
* refactor: migrate comment style (#20012)Lewis Russell2022-09-02
| | | | | | | | | Done automatically using the following perl command: perl -pi -0777pe 's#\n\K */\*\n(.+?)\s*\*/\n#join("\n", map { $_ =~ s:^\s*\K \*://:; $_ } split("\n", $1)) . "\n"#sge' src/nvim/**/*.c Co-authored-by: zeertzjq <zeertzjq@outlook.com> Co-authored-by: zeertzjq <zeertzjq@outlook.com>
* Merge pull request #20026 from dundargoc/refactor/char_u/7bfredl2022-09-02
|\ | | | | refactor: replace char_u with char 7: remove `vim_strnsave`
| * refactor: replace char_u with charDundar Göc2022-09-01
| | | | | | | | Work on https://github.com/neovim/neovim/issues/459
* | vim-patch:9.0.0342: ":wincmd =" equalizes in two directionszeertzjq2022-09-01
|/ | | | | | | Problem: ":wincmd =" equalizes in two directions. Solution: Make ":vertical wincmd =" equalize vertically only and ":horizontal wincmd =" equalize horizontally only. https://github.com/vim/vim/commit/21c3a80a7fd6b7fc250ce5dc287963511f54b86f
* refactor: replace char_u with charDundar Göc2022-08-31
| | | | Work on https://github.com/neovim/neovim/issues/459
* vim-patch:8.1.2037: can call win_gotoid() in cmdline window (#20015)zeertzjq2022-08-31
| | | | | Problem: Can call win_gotoid() in cmdline window. Solution: Disallow switching windows. (Yasuhiro Matsumoto, closes vim/vim#4940) https://github.com/vim/vim/commit/a046b37c22bcabdea5f0fd6d21ca4bd0aa4c768e
* refactor: replace char_u with char 4 (#19987)dundargoc2022-08-30
| | | | | | | * refactor: replace char_u with char Work on https://github.com/neovim/neovim/issues/459
* fix(redraw): handle switching to a tabpage with larger p_ch valuebfredl2022-08-29
|
* refactor: replace char_u with charDundar Göc2022-08-29
| | | | Work on https://github.com/neovim/neovim/issues/459
* fix(events): triggered WinScrolled when only skipcol changed (#19972)zeertzjq2022-08-29
| | | | | | | | | fix(events): trigger WinScrolled when only skipcol changed vim-patch:9.0.0304: WinScrolled is not triggered when only skipcol changes Problem: WinScrolled is not triggered when only skipcol changes. Solution: Add w_last_skipcol and use it. (closes vim/vim#10998) https://github.com/vim/vim/commit/670ab0334b536e12d84810de88e73b7bcb01346d
* refactor: change FALSE/TRUE to false/trueLewis Russell2022-08-26
| | | | Co-authored-by: zeertzjq <zeertzjq@outlook.com>
* refactor: replace char_u with charDundar Goc2022-08-25
| | | | Work on https://github.com/neovim/neovim/issues/459
* refactor: pre-incr to post-incrLewis Russell2022-08-25
|
* fix(path): path_is_url returns false for "foo:/" #19797sigmaSd2022-08-23
| | | | | | | | | | | | | | | Problem: path_to_url() returns false for single-slash URIs ("foo:/" vs "foo://"). This is not compliant with the URI spec. https://url.spec.whatwg.org/#url-representation LSP in particular allows single-slash URIs. Solution: Relax path_to_url() to accept single-slash URIs. This is not fully compliant (only ":" is required by the spec), but it is hopefully good enough without causing false-positives in typical text files. ref https://url.spec.whatwg.org/#windows-drive-letter ref https://github.com/neovim/neovim/pull/19773 ref https://github.com/neovim/neovim/pull/19773#issuecomment-1214763769
* vim-patch:9.0.0206: redraw flags are not named specifically (#19913)zeertzjq2022-08-23
| | | | | Problem: Redraw flags are not named specifically. Solution: Prefix "UPD_" to the flags, for UPDate_screen(). https://github.com/vim/vim/commit/a4d158b3c839e96ed98ff87c7b7124ff4518c4ff
* vim-patch:8.1.2045: the option.c file is too big (#19854)zeertzjq2022-08-20
| | | | | | | | | | | Problem: The option.c file is too big. Solution: Split off the code dealing with strings. (Yegappan Lakshmanan, closes vim/vim#4937) https://github.com/vim/vim/commit/dac1347b4d9c1a1aef6aa73fdea08a9d1077d6ea Cherry-pick set_string_option_direct_in_win() from patch 8.1.1405. Cherry-pick shift_line() comment change from patch 8.1.2096. Move 'clipboard' default parsing to didset_string_options(). Reorder option flags to put Nvim-only flags at the end.
* vim-patch:8.1.1966: some code in options.c fits better elsewhere (#19840)zeertzjq2022-08-19
| | | | | | Problem: Some code in options.c fits better elsewhere. Solution: Move functions from options.c to other files. (Yegappan Lakshmanan, closes vim/vim#4889) https://github.com/vim/vim/commit/e677df8d93772a705f40a94f3c871aee78fe4d99
* vim-patch:8.1.2057: the screen.c file is much too bigLewis Russell2022-08-19
| | | | | | | | | | | | | | | Problem: The screen.c file is much too big. Solution: Split it in three parts. (Yegappan Lakshmanan, closes vim/vim#4943) https://github.com/vim/vim/commit/7528d1f6b5422750eb778dfb550cfd0b0e540964 This is an approximation vim-patch 8.1.2057. Applying the patch directly isn't feasible since our version of screen.c has diverged too much, however we still introduce drawscreen.c and drawline.c: - screen.c is now a much smaller file used for low level screen functions - drawline.c contains everything needed for win_line() - drawscreen.c contains everything needed for update_screen() Co-authored-by: zeertzjq <zeertzjq@outlook.com>
* feat(ui): allow to set the highlight namespace per windowbfredl2022-08-17
| | | | | - reimplement 'winhl' in terms of highlight namespaces - check for EOF in screen tests (to indicate a likely crash)
* refactor: remove some unused includes (#19820)zeertzjq2022-08-17
| | | Replace grid.h in screen.h and screen.h in buffer.h with grid_defs.h
* vim-patch:9.0.0191: messages test fails; window size incorrectShougo Matsushita2022-08-17
| | | | | | | | | | | | | | | | | | Problem: Messages test fails; window size incorrect when 'cmdheight' is made smaller. Solution: Properly cleanup after test with cmdheight zero. Resize windows correctly when 'cmdheight' gets smaller. https://github.com/vim/vim/commit/d4cf9fc53e0b1d36e84d28ecd5595a6f102f325e N/A patches for version.c: vim-patch:9.0.0192: possible invalid memory access when 'cmdheight' is zero Problem: Possible invalid memory access when 'cmdheight' is zero. (Martin Tournoij) Solution: Avoid going over the end of w_lines[] when w_height is Rows. (closes vim/vim#10882) https://github.com/vim/vim/commit/fdc5d17d58cc9c9edc9fb2816e1afaabc531bf1e
* vim-patch:9.0.0190: the way 'cmdheight' can be made zero is inconsistentShougo Matsushita2022-08-17
| | | | | | | Problem: The way 'cmdheight' can be made zero is inconsistent. Solution: Only make 'cmdheight' zero when setting it explicitly, not when resizing windows. (closes vim/vim#10890) https://github.com/vim/vim/commit/f797e309caff48f7a56c73b16e62ff67c4dcbdd6
* refactor: change pre-decrement/increment to post (#19799)Lewis Russell2022-08-16
| | | Co-authored-by: zeertzjq <zeertzjq@outlook.com>
* vim-patch:8.1.1869: code for the argument list is spread out (#19791)zeertzjq2022-08-16
| | | | | | Problem: Code for the argument list is spread out. Solution: Put argument list code in arglist.c. (Yegappan Lakshmanan, closes vim/vim#4819) https://github.com/vim/vim/commit/4ad62155a1015751a6645aaecd94b02c94c8934b
* fix(winbar): do not always assume cursor is valid. fixes #19458bfredl2022-08-13
|
* refactor: replace char_u with charDundar Goc2022-08-12
| | | | Work on https://github.com/neovim/neovim/issues/459
* refactor: use CLEAR_FIELD and CLEAR_POINTER macros (#19709)zeertzjq2022-08-11
| | | | | | | vim-patch:8.2.0559: clearing a struct is verbose Problem: Clearing a struct is verbose. Solution: Define and use CLEAR_FIELD() and CLEAR_POINTER(). https://github.com/vim/vim/commit/a80faa8930ed5a554beeb2727762538873135e83
* fix(ui): set redraw_cmdline when setting window height (#19630)zeertzjq2022-08-03
|
* fix(tabpage): check if ROWS_AVAIL changed for resize (#19620)zeertzjq2022-08-02
| | | | | | | | | N/A patches for version.c: vim-patch:9.0.0135: comment about tabpage line above the wrong code Problem: Comment about tabpage line above the wrong code. Solution: Move the comment. (closes vim/vim#10836) https://github.com/vim/vim/commit/0b0ccbbfb014e1c9682b86a7a41ff2837b0b8047
* vim-patch:9.0.0124: code has more indent than neededzeertzjq2022-08-01
| | | | | | Problem: Code has more indent than needed. Solution: Use continue and return statements. (closes vim/vim#10824) https://github.com/vim/vim/commit/101d57b34b72f4fbc7df1b6edfd64c64a6be14fc
* Merge pull request #19437 from dundargoc/refactor/char_u-to-charbfredl2022-07-31
|\ | | | | refactor: replace char_u with char
| * refactor: replace char_u with charDundar Goc2022-07-31
| | | | | | | | Work on https://github.com/neovim/neovim/issues/459
* | vim-patch:9.0.0115: when 'cmdheight' is zero pressing ':' may scroll a windowShougo Matsushita2022-07-31
| | | | | | | | | | | | Problem: When 'cmdheight' is zero pressing ':' may scroll a window. Solution: Add the made_cmdheight_nonzero flag and set 'scrolloff' to zero. https://github.com/vim/vim/commit/6747cf1671bd41cddee77c65b3f9a70509f968db
* | vim-patch:9.0.0114: the command line takes up space even when not usedShougo Matsushita2022-07-31
| | | | | | | | | | | | | | | | | | | | | | Problem: The command line takes up space even when not used. Solution: Allow for 'cmdheight' to be set to zero. (Shougo Matsushita, closes vim/vim#10675, closes vim/vim#940) https://github.com/vim/vim/commit/f39cfb72629f3e7fefaf578a3faa2619cd0654f8 Omit win_redr_ruler() change: winbar may still need redraw. Omit win_update() changes: Nvim doesn't use `Rows` there. Omit redraw_asap(): removed.
* | cmdheight=0: fix bugs part2 (#19185)Shougo2022-07-31
|/
* vim-patch:9.0.0094: cursor restored unexpected with nested autocommandzeertzjq2022-07-28
| | | | | | | Problem: Cursor restored unexpected with nested autocommand. Solution: Do not restore the cursor when it was moved intentionally. (closes vim/vim#10780) https://github.com/vim/vim/commit/3d6ee8bda0550a01346f5992bbce09c0eb6d7569
* vim-patch:partial:9.0.0077: wrong restored cursor position when switching ↵zeertzjq2022-07-28
| | | | | | | | | | | window in autocmd Problem: When switching window in autocmd the restored cursor position may be wrong. Solution: Do not restore the cursor if it was not set. (closes vim/vim#10775) https://github.com/vim/vim/commit/b03950fafa07e8b8d975eeb345ad08b8b62e67ce This patch cannot be fully ported because it depends on patch 8.2.3518.
* vim-patch:9.0.0061: ml_get error with nested autocommandzeertzjq2022-07-28
| | | | | | Problem: ml_get error with nested autocommand. Solution: Also check line numbers for a nested autocommand. (closes vim/vim#10761) https://github.com/vim/vim/commit/5fa9f23a63651a8abdb074b4fc2ec9b1adc6b089
* refactor: enable -Wconversion warning for window.c (#19537)dundargoc2022-07-27
| | | Work on https://github.com/neovim/neovim/issues/567
* fix(options): properly free string options (#19510)zeertzjq2022-07-27
|
* revert: "vim-patch:9.0.0061: ml_get error with nested autocommand" (#19509)zeertzjq2022-07-26
| | | | | This reverts commit 6cee15da7235b6ba9c428ee43346415fe6a64e6c. Port this again when https://github.com/vim/vim/issues/10780 is fixed.
* vim-patch:9.0.0061: ml_get error with nested autocommandzeertzjq2022-07-23
| | | | | | Problem: ml_get error with nested autocommand. Solution: Also check line numbers for a nested autocommand. (closes vim/vim#10761) https://github.com/vim/vim/commit/5fa9f23a63651a8abdb074b4fc2ec9b1adc6b089
* vim-patch:8.2.5035: when splitting a window the changelist position moveszeertzjq2022-07-23
| | | | | | | | Problem: When splitting a window the changelist position moves. Solution: Set the changelist index a bit later. (closes vim/vim#10493) https://github.com/vim/vim/commit/e6f13b473cf2c270e4eab214e09be9825320c11b Cherry-pick Test_nv_hat_count() change from patch 8.2.1593.
* vim-patch:8.1.1933: the eval.c file is too big (#19462)zeertzjq2022-07-22
| | | | | | | | Problem: The eval.c file is too big. Solution: Move code related to variables to evalvars.c. (Yegappan Lakshmanan, closes vim/vim#4868) https://github.com/vim/vim/commit/0522ba0359c96a8c2a4fc8fca0d3b58e49dda759 Name the new file eval/vars.c instead.
* fix: local winbar with tabsFamiu Haque2022-07-20
| | | | Closes #19396
* vim-patch:8.2.1061: insufficient testing for src/window.c (#19384)zeertzjq2022-07-16
| | | | | | | Problem: Insufficient testing for src/window.c. Solution: Add more tests. (Yegappan Lakshmanan, closes vim/vim#6345) https://github.com/vim/vim/commit/5d3c9f8c2a0fc29ba4ac8e0f052378b64d9e3dd3 Cherry-pick test_tagjump.vim changes from patch 8.1.2373.
* vim-patch:8.2.0921: CTRL-W T in cmdline window causes troublezeertzjq2022-07-14
| | | | | | | | | | Problem: CTRL-W T in cmdline window causes trouble. Solution: Disallow CTRL-W T in the cmdline window. Add more tests. (Naruhiko Nishino, closes vim/vim#6219) https://github.com/vim/vim/commit/4fdb8bd0546ac8d90560a4fad359a48667089d43 Test already passes in Nvim because of later patches. Move Test_cmdwin_jump_to_win() to the right place.
* fix(float): fix mouse drag position if float window turned to a splitzeertzjq2022-07-10
|
* fix(float): fix glitch when making float window with border a splitzeertzjq2022-07-10
|
* fix(float): fix float window with winbar cannot have screen heightzeertzjq2022-07-10
|