Commit Graph

459 Commits

Author SHA1 Message Date
Justin M. Keyes
fbaee922d1 doc [ci skip]
closes #9719
2019-03-26 19:55:33 +01:00
Aman
8698830cbd doc #9751
closes #9750
2019-03-20 12:44:06 +01:00
Marco Hinz
9ef8d0d6b0 Merge pull request #9726 from mhinz/nvim_win_get_config
Closes #9723
2019-03-17 02:34:50 +01:00
Björn Linse
be8ebba325 Allow using internal popupmenu or ext_popupmenu for wildmenu
Deprecate ext_wildmenu. ext_popupmenu already contains more state (anchor
position), and will allow further expansion (info about items).
2019-03-16 19:53:21 +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
4ab0dcc4a9 docs: floating windows introduction 2019-03-12 17:17:58 +01:00
Björn Linse
af966afaa4 window: simplify logic for entering new float 2019-03-12 12:49:11 +01:00
Björn Linse
f5d5da3917 buffer: use aucmd_prepbuf() instead of switch_to_win_for_buf() 2019-03-05 15:05:23 +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
Justin M. Keyes
aee29e51a6 API: nvim_create_buf: add scratch parameter
Creating a scratch buffer is a chore/ritual, and would be more
useful/common if formally exposed.
2019-02-17 06:58:03 +01:00
Björn Linse
51fc54325c ui: implement ext_messages
Co-Author: Dongdong Zhou <dzhou121@gmail.com>
2019-02-10 13:36:46 +01:00
Björn Linse
891ed14f13 api: add nvim_create_buf to create a new empty buffer.
Loading existing files into a buffer is non-trivial and requires a window.
Creating an unnamed emtpy buffer is trivial and safe though, thus worth a
special case.

Change nvim_buf_set_option to use aucmd_prepbuf. This is necessary
to allow some options to be set on a not yet displayed buffer, such
as 'buftype' option.

vim-patch:7.4.1858: Add BLN_NEW to enforce buflist_new creating new buffer
2019-02-09 11:48:45 +01:00
Björn Linse
37f8df8824 UI: implement 'pumblend' option for semi-transparent popupmenu
Why?

- Because we can.
- Because the TUI is just another GUI™
- Because it looks kinda nice, and provides useful context like 1 out of 100
  times

Complies with "don't pay for what you don't use".

Some crashes for resizing were unfolded, add tests for those.
2019-02-07 16:43:51 +01:00
Björn Linse
baf93d9606 UI: always use contrete colors for default_colors_set
But add an escape hatch needed for external TUI, so it still can use
terminal emulator defaults.
2019-02-05 19:41:38 +01:00
Björn Linse
69bdc4f072 ui/compositor: add redraws needed due to intersected doublewidth chars. 2019-02-02 16:31:49 +01:00
Björn Linse
31cbd34d97 UI: add "compositor" layer to merge grids for TUI use in a correct way
Initially we will use this for the popupmenu, floating windows will
follow soon

NB: writedelay + compositor is weird, we need more flexible
redraw introspection.
2019-02-02 16:31:49 +01:00
Justin M. Keyes
c70c8b607f doc [ci skip] #9478
- Lua
- developer guidelines
- MAINTAIN.md
- TUI: cleanup
- TUI: mention Windows terminfo builtins
- cleanup if_pyth, redirect python-bindeval tag

Helped-by: Björn Linse <bjorn.linse@gmail.com>
Helped-by: erw7 <erw7.github@gmail.com>
2019-01-26 20:38:14 +01:00
Björn Linse
a2be9c7218 ui: multigrid mouse support 2019-01-20 10:32:05 +01:00
jin cong
475b97e021 API: nvim_set_vvar(): set v: variables #9395
closes #9349
2019-01-14 00:42:25 +01:00
Justin M. Keyes
0b8c4b995a dict_set_var: check value before checking its container
- When setting a fixed/locked/readonly var, it is more relevant to
  report on the key, not its container dict. If its container dict (v:)
  is readonly, that does not mean the key itself is readonly.
- Allow modifying a "fixed" var. "fixed" only prevents deletion.
2019-01-14 00:42:25 +01:00
Björn Linse
ae218c108f api: select items in popupmenu 2019-01-09 10:17:48 +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
Björn Linse
c72d9ce0a6 multigrid: rename grid->ScreenLines and other grid arrays 2018-12-31 16:24:07 +01:00
Björn Linse
c778c2e107 multigrid: API version bump 2018-12-31 16:24:07 +01:00
Björn Linse
1cec5542a8 multigrid: reorganize types and global varaibles 2018-12-31 16:24:07 +01:00
Utkarsh Maheshwari
47c053cc39 multigrid: Add multigrid documentation 2018-12-31 12:44:22 +01:00
Björn Linse
db14d78e4f multigrid: rename event to win_pos, make grid first 2018-12-31 12:44:22 +01:00
Björn Linse
f6f8f0ee76 multigrid: add msg_scroll_start and msg_scroll_reset events 2018-12-31 12:44:22 +01:00
Björn Linse
c3e2e40e02 multigrid: send win_hide events when changing tabpage 2018-12-31 12:44:22 +01:00
Utkarsh Maheshwari
ba6f9f60ad multigrid: Fix lint errors 2018-12-31 12:44:22 +01:00
Björn Linse
16c3337122 multigrid: use grid-based coordinates for ext_popupmenu 2018-12-31 12:44:22 +01:00
Utkarsh Maheshwari
911b731378 multigrid: Get rid of global ScreenLines and set_screengrid 2018-12-31 12:44:22 +01:00
Utkarsh Maheshwari
0432e1586e multigrid: Put everything on default_grid if not ext_multigrid 2018-12-31 12:44:22 +01:00
Utkarsh Maheshwari
d5754eae02 multigrid: Add win_position event
Throttle win_position events
2018-12-31 12:44:22 +01:00
Utkarsh Maheshwari
01555de2da multigrid: Allow UIs to set grid size different from window size 2018-12-31 12:44:21 +01:00
Utkarsh Maheshwari
f102f50ebe multigrid: Change screen_* functions to grid_* functions 2018-12-31 12:44:21 +01:00
Justin M. Keyes
4ba8266ab1 doc
- CMake features
2018-12-30 21:09:39 +01:00
Justin M. Keyes
857a7312d0 doc (#9288)
- misc
- doc: `:help config`. closes #9329
- cleanup test/README.md
2018-12-09 01:31:34 +01:00
Björn Linse
32405de7df API: rename nvim_buf_clear_highlight to nvim_buf_clear_namespace
We want a single function to clear all namespaced buffer objects. This
will later include extmarks.
2018-11-29 15:15:04 +01:00
Justin M. Keyes
30857030e8 doc
- develop.txt is for design/guidelines; architecture/concepts should
  live elsewhere (currently src/nvim/README.md)
- move dev-jargon to intro.txt
- replace https://neovim.io/community (deprecated) with
  https://neovim.io/#chat
- <Cmd> avoids CmdlineEnter/Leave
  https://github.com/vim/vim/issues/2889
2018-11-28 03:48:06 +01:00
Justin M. Keyes
b1aaa0a881 API: Implement nvim_win_set_buf() #9100
closes #9100
2018-11-25 16:27:10 +01:00
Björn Linse
01dbf0951b api: implement object namespaces
Namespaces is a lightweight concept that should be used to group
objects for purposes of bulk operations and introspection. This is
initially used for highlights and virtual text in buffers, and is
planned to also be used for extended marks. There is no plan use them
for privileges or isolation, neither to introduce nanespace-level
options.
2018-11-24 11:01:37 +01:00
Justin M. Keyes
b96730bc3b doc: API 2018-11-05 22:45:49 +01:00