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
Justin M. Keyes
4de70f5b95
doc
...
- update standard-plugin-list. closes #8388
2018-11-05 22:45:48 +01:00
Björn Linse
c40f992e10
api: simplify nvim_buf_get_offset function
2018-11-01 22:00:40 +01:00
Björn Linse
281da0dd59
api: implement nvim_buf_get_offset_for_line
...
Like line2byte, but works for any buffer, and uses zero-based
indexing (API conventions).
2018-11-01 15:05:05 +01:00
Björn Linse
bcab880bb6
api/ui: verify compatibility of UI events
2018-10-21 20:36:52 +02:00
Björn Linse
3d84cf6ff4
api: make nvim_buf_set_virtual_text handle invalid chars
...
Clients are supposed to supply only valid text, but if it is
invalid, translate it rather than messing up the screen
2018-10-13 16:37:17 +02:00
Björn Linse
bab3b0ad45
ui: reserve the right to split a screen redraw into multiple batches.
2018-10-02 10:52:37 +02:00
Björn Linse
43823acae2
ui: rename ext_newgrid to ext_linegrid
2018-10-01 21:24:15 +02:00
Michael Hoffmann
197d907e09
func_attr.h: FUNC_ATTR_PRINTF
2018-09-23 10:49:20 +02:00
Björn Linse
4da5cb38d3
startup: always wait for UI with --embed, unless --headless also is supplied
2018-09-22 10:18:28 +02:00
Björn Linse
45f53b370b
buffer: add support for virtual text annotations
2018-09-17 10:41:29 +02:00
Björn Linse
c5790d9189
Merge pull request #8915 from rickyz/line_wrapping
...
Fix terminal line wrapping detection in the TUI.
2018-09-09 12:44:03 +02:00