Commit Graph

90 Commits

Author SHA1 Message Date
zeertzjq
f92e74900f fix(api): nvim_win_set_cursor() redraw for cursorline and statusline 2022-02-15 11:53:12 +08:00
Rom Grk
85ae04dbfd fix: close floating windows when calling win_close() 2022-02-10 15:26:40 +00:00
Sean Dewar
452b46fcf7 fix(api/nvim_win_call): share common win_execute logic
We have to be sure that the bugs fixed in the previous patches also apply to
nvim_win_call.

Checking v8.1.2124 and v8.2.4026 is especially important as these patches were
only applied to win_execute, but nvim_win_call is also affected by the same
bugs. A lot of win_execute's logic can be shared with nvim_win_call, so factor
it out into a common macro to reduce the possibility of this happening again.
2022-02-03 15:03:08 +00:00
Sean Dewar
f326c9a77d vim-patch:8.2.4018: ml_get error when win_execute redraws with Visual selection
Problem:    ml_get error when win_execute redraws with Visual selection.
Solution:   Disable Visual area temporarily. (closes vim/vim#9479)
18f4740f04

{switch_to/restore}_win_for_buf is N/A (marked as such in v8.0.0860; currently
only used in Vim's if_py).

Add a modeline to test_execute_func.vim.
2022-02-03 15:02:57 +00:00
dundargoc
08616571f4 chore: fix typos (#16506)
Co-authored-by: Gregory Anders <8965202+gpanders@users.noreply.github.com>
Co-authored-by: Evgeni Chasnovski <evgeni.chasnovski@gmail.com>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
Co-authored-by: Christoph Hasse <hassec@users.noreply.github.com>
Co-authored-by: Alef Pereira <ealefpereira@gmail.com>
Co-authored-by: AusCyber <willp@outlook.com.au>
Co-authored-by: kylo252 <59826753+kylo252@users.noreply.github.com>
2021-12-28 18:15:16 +01:00
Björn Linse
22e4a2a286 refactor(api): move window config related functions to own file 2021-10-04 19:23:00 +02:00
Björn Linse
32565922ef refactor(api): handle option dicts properly
Do not copy a lot of lua strings (dict keys) to just strequal() them
Just compare them directly to a dedicated hash function.

feat(generators): HASHY McHASHFACE
2021-10-03 10:46:57 +02:00
dundargoc
51a98aa0c2 refactor: format #15702 2021-09-18 09:34:23 -07:00
dundargoc
4547137aaf chore: use codespell to spell check #15016 2021-07-07 15:28:44 -07:00
Sean Dewar
5f1b728621 fix(api/win_get_config): include z-index 2021-06-19 17:17:17 +01:00
Björn Linse
7b519cd11c api:get_config: don't add border="none" (inactive default) 2021-06-10 10:41:50 +02:00
Corey Williamson
38d6452899 fix linter errors 2021-06-10 10:41:50 +02:00
Corey Williamson
8021c5a531 api: include border in nvim_win_get_config 2021-06-10 10:41:49 +02:00
notomo
1a9eb7a987 api: add nvim_win_call 2021-06-10 09:34:29 +02:00
Sean Dewar
802f8429d5 api(nvim_open_win): add "noautocmd" option
This option, when set, stops nvim_open_win() from potentially firing
buffer-related autocmd events
(BufEnter, BufLeave and BufWinEnter in the case of nvim_open_win()).
2021-06-01 03:05:04 +01:00
Jan Edmund Lazo
7af26e5116 Revert "api/window: use the "noblock" variants in nvim_win_set_buf"
This reverts commit 1def3d1542.

Plugins may depend on catching the following events
when creating windows:
- BufWinEnter
- BufEnter
- BufLeave

Risky to introduce this breaking change on 0.5 release
when 0.5 release should be out by now.

https://github.com/asvetliakov/vscode-neovim/issues/632#issuecomment-837201224
2021-05-10 18:32:26 -04:00
Jan Edmund Lazo
5165513198 Merge pull request #13664 from ivechan/win_exectute
vim-patch:8.1.{1418,1425,1832,2124},8.2.{0137, 2340}
2021-05-07 08:34:28 -04:00
jing
1def3d1542 api/window: use the "noblock" variants in nvim_win_set_buf
after commit 92c6383cdca977("vim-patch:8.1.1425: win_execute() does not set window pointers properly"),
nvim_win_set_buf can use switch_win_noblock and restore_win_noblock.
It makes nvim_win_set_buf don't block autocmds so that it will be more
"without side-effects" as said in help text.

Signed-off-by: jing <lhchenjw@gmail.com>
2021-05-06 23:45:16 +08:00
Julian Berman
ef81999f4e fix: make nvim_win_get_number() return win number (#14470)
Closes https://github.com/neovim/neovim/issues/14467
2021-05-01 16:57:05 +02:00
Corey Williamson
3fbd9ed4ab api: clarify difference between win_hide and win_close 2021-03-10 13:29:01 -06:00
Corey Williamson
3a342f9cc9 api: add vim.api.nvim_win_hide 2021-03-09 22:51:56 -06:00
notomo
356319f356 api: add textlock check 2020-12-15 20:24:33 +09:00
Björn Linse
b1ef6de620 api: move deprecated functions to separate files
Most these are just calls to non-deprecated variants, and take up
unnecessary space and search hits in the other files.
2020-12-05 14:34:17 +01:00
Björn Linse
c146eddc8b api: add API for themes
co-author: hlpr98 <hlpr98@gmail.com> (dict2hlattrs function)

orange is sus??

NOVEMBER DAWN

erase the lie that is redraw_later()
2020-11-01 19:14:56 +01:00
Justin M. Keyes
06bfb07e35 doc
fix #10127
fix #5972
2019-09-11 00:10:27 -07:00
Justin M. Keyes
456f1d4bdd doc: |api-fast| [ci skip] 2019-09-09 10:52:12 -07:00
Björn Linse
d5162afa2a anchor float to buffer position
vim-patch:8.1.1645: cannot use a popup window for a balloon
2019-09-04 23:57:02 +02:00
Björn Linse
67664c74f8 api/window: disallow closing non-current window in cmdwin state 2019-08-10 17:41:31 +02:00
R. Simon
5f243fc68a API: nvim_win_close: Fix closing cmdline-window #10087 2019-08-10 13:41:35 +02:00
Björn Linse
ef3e32d57e api/window: add style="minimal" flag to nvim_open_win() 2019-07-07 20:52:15 +02:00
KillTheMule
52215f5752 doc/API: document indexing behavior #10058
close #10058
2019-05-26 16:15:20 +02:00
Björn Linse
c8acbe3b62 windows: float config changes
- Allow floating windows of width 1. #9846
- For a new floating window the size must be specified. Later on we
  might try to calculate a reasonable size by buffer contents
- Remember the configured size of a window, just like its position.
- Make get_config and set_config more consistent. Handle relative='' properly in set_config.
  get_config doesn't return keys that don't make sense for a non-floating window.
- Don't use width=0 for non-changed width, just omit the key.
2019-04-14 10:12:09 +02:00
Björn Linse
344c69b66b api/window: validate cursor in nvim_win_set_buf
validate_cursor() is called regularly, but only for the current window.
When changing the buffer for a non-current window, we need to invoke it
in the context of that window.
2019-04-08 12:39:08 +02:00
Justin M. Keyes
fbaee922d1 doc [ci skip]
closes #9719
2019-03-26 19:55:33 +01:00
Marco Hinz
073ab7cda8 api: refactor FloatRelative usage 2019-03-16 15:34:16 +01:00
Marco Hinz
86992a7bb1 api: numerous small fixes 2019-03-16 15:02:56 +01:00
Marco Hinz
27c4b6b9bd api: update doc 2019-03-16 12:35:59 +01:00
Marco Hinz
96edbe7b1d api: add width/height to FloatConfig 2019-03-16 12:35:58 +01:00
Marco Hinz
3c88bbecb8 api: nvim_win_config() -> nvim_win_set_config() 2019-03-16 12:35:58 +01:00
Marco Hinz
98391cd6ab api: refactor FloatAnchor usage 2019-03-16 12:35:57 +01:00
Marco Hinz
cfed9a4123 api: add nvim_win_get_config() 2019-03-16 12:35:52 +01:00
Björn Linse
c8f310825c api: add nvim_win_close() to close window by id 2019-03-03 13:09:43 +01:00
Björn Linse
9a1675b065 floats: implement floating windows
Co-Author: Dongdong Zhou <dzhou121@gmail.com>
2019-03-02 16:29:50 +01:00
Björn Linse
9452532036 API: don't directly call update_screen() in API functions
There is no need to call update_screen() directly in an API function,
mode input processing invokes update_screen() as needed. And if the API
call is done in a context where redraw is disabled, then redraw is
disabled for a reason. A lot of API functions are of equal semantical
strength (nvim_call_function and nvim_execute_lua can also do whatever,
nvim_command is not special), this inconsistency has no purpose.
2019-01-08 23:31:48 +01:00
Justin M. Keyes
b1aaa0a881 API: Implement nvim_win_set_buf() #9100
closes #9100
2018-11-25 16:27:10 +01:00
David Hotham
cc0d50a2c2 Improved version of #8613
This one behaves correctly eg in the presence of unicode
2018-06-25 13:44:02 +01:00
David Hotham
1cbc830189 API: nvim_win_set_cursor: set curswant #8613
Fixes #8591
2018-06-25 02:14:55 +02:00
b-r-o-c-k
7170de1971 api: Make nvim_set_option() update :verbose set ...
Make `:verbose set ...` show when an option was last modified by an
API client or Lua script/chunk. In the case of an API client, the
channel ID is displayed.
2018-05-03 21:05:20 -05:00
Björn Linse
3f553ac0b9 lint: fix indentation of FUNC_ATTR lines 2017-06-03 08:17:22 +02:00
ZyX
85bf64da0a api/window: Fix memory leak in nvim_win_set_cursor 2017-05-08 20:55:00 +03:00