aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/api/ui.c
Commit message (Collapse)AuthorAge
...
* perf(ui): eliminate spurious memory allocations for hl_attr_define eventbfredl2022-07-18
|
* perf(ui): reduce allocation overhead when encoding "redraw" eventsbfredl2022-06-20
| | | | | | | | | | | | | | | | | Note for external UIs: Nvim can now emit multiple "redraw" event batches before a final "flush" event is received. To retain existing behavior, clients should make sure to update visible state at an explicit "flush" event, not just the end of a "redraw" batch of event. * Get rid of copy_object() blizzard in the auto-generated ui_event layer * Special case "grid_line" by encoding screen state directly to msgpack events with no intermediate API events. * Get rid of the arcane notion of referring to the screen as the "shell" * Array and Dictionary are kvec_t:s, so define them as such. * Allow kvec_t:s, such as Arrays and Dictionaries, to be allocated with a predetermined size within an arena. * Eliminate redundant capacity checking when filling such kvec_t:s with values.
* refactor(uncrustify): set maximum number of consecutive newlines to 2 (#18695)dundargoc2022-05-25
|
* refactor: move more grid functions to grid.c. Clean up some variablesbfredl2022-05-18
|
* refactor: replace char_u variables and functions with charDundar Goc2022-05-07
| | | | Work on https://github.com/neovim/neovim/issues/459
* refactor: replace char_u variables and functions with charDundar Goc2022-05-04
| | | | Work on https://github.com/neovim/neovim/issues/459
* feat(api/ui): win_extmarksYatao Li2022-05-03
|
* fix(coverity): use xstrndup() instead of vim_strsave() (#18363)zeertzjq2022-05-03
|
* refactor(ui): simplify stdin handlingbfredl2022-05-02
|
* refactor(uncrustify): change rules to better align with the style guideDundar Goc2022-04-29
| | | | | | | | | | | | | Add space around arithmetic operators '+' and '-'. Remove space between back-to-back parentheses, i.e. ')(' vs. ') ('. Remove space between '((' or '))' of control statements. Add space between ')' and '{' of control statements. Remove space between function name and '(' on function declaration. Collapse empty blocks between '{' and '}'. Remove newline at the end of the file. Remove newline between 'enum' and '{'. Remove newline between '}' and ')' in a function invocation. Remove newline between '}' and 'while' of 'do' statement.
* feat(api): ui options relevant for remote TUIhlpr982022-04-17
|
* refactor(api): make export of functions opt-in, not opt-outBjörn Linse2021-10-03
|
* refactor: format #15702dundargoc2021-09-18
|
* refactor(map): get rid of spurious subsystem_init() functions due to mapsBjörn Linse2021-08-22
|
* chore: use codespell to spell check #15016dundargoc2021-07-07
|
* decoration: split out "decoration" from "extmark" moduleBjörn Linse2020-11-07
| | | | | Decorations will only grow more complex. move the to a separate file, so that extmark.c remains about extmarks.
* api/ui: simplify popup menu position get/set logic; fix testYatao Li2020-04-28
|
* api/ui: allow set bounds row and col to be less than 0; ui_pum_get_pos: ↵Yatao Li2020-04-28
| | | | return first extui bounds information instead of reducing
* external pum: use floating point geometry; typval: add tv_dict_add_floatYatao Li2020-04-28
|
* ui_pum_get_pos: return internal pum position if external pum pos not foundYatao Li2020-04-28
|
* API/UI: Allow UI to set PUM position and size, and pass the position to ↵Yatao Li2020-04-28
| | | | CompleteChanged
* UIAttach, UIDetachJustin M. Keyes2019-09-12
| | | | | doc: ginit.vim, gvimrc fix #3656
* UIAttach, UIDetachRui Abreu Ferreira2019-09-12
|
* doc: nvim_ui_pum_set_height [ci skip]Daniel Hahler2019-09-10
|
* Add nvim_ui_pum_set_height to apierw72019-09-08
|
* screen: use dedicated message gridBjörn Linse2019-09-01
| | | | | | | | add proper msg_set_pos event, delet win_scroll_over_* make compositor click through unfocusable grids add MsgArea attribute for the message/cmdline area, and add docs and tests
* highlight: expose builtin highlight groups using hl_group_set eventBjörn Linse2019-07-14
|
* docJustin M. Keyes2019-05-11
|
* UI/nvim_ui_attach(): add `override` optionJustin M. Keyes2019-05-09
| | | | | | | | | | | | | | | | | | | | Before now, Nvim always degrades UI capabilities to the lowest-common denominator. For example, if any connected UI has `ext_messages=false` then `ext_messages=true` requested by any other connected UI is ignored. Now `nvim_ui_attach()` supports `override=true`, which flips the behavior: if any UI requests an `ext_*` UI capability then the capability is enabled (and the legacy behavior is disabled). Legacy UIs will be broken while a `override=true` UI is connected, but it's useful for debugging: you can type into the TUI and observe the UI events from another connected (UI) client. And the legacy UI will "recover" after the `override=true` UI disconnects. Example using pynvim: >>> n.ui_attach(2048, 2048, rgb=True, override=True, ext_multigrid=True, ext_messages=True, ext_popupmenu=True) >>> while True: n.next_message();
* doc: UIJustin M. Keyes2019-04-22
|
* doc [ci skip]Justin M. Keyes2019-03-26
| | | | closes #9719
* Allow using internal popupmenu or ext_popupmenu for wildmenuBjörn Linse2019-03-16
| | | | | Deprecate ext_wildmenu. ext_popupmenu already contains more state (anchor position), and will allow further expansion (info about items).
* floats: implement floating windowsBjörn Linse2019-03-02
| | | | Co-Author: Dongdong Zhou <dzhou121@gmail.com>
* ui: implement ext_messagesBjörn Linse2019-02-10
| | | | Co-Author: Dongdong Zhou <dzhou121@gmail.com>
* UI: implement 'pumblend' option for semi-transparent popupmenuBjörn Linse2019-02-07
| | | | | | | | | | | | | 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.
* UI: always use contrete colors for default_colors_setBjörn Linse2019-02-05
| | | | | But add an escape hatch needed for external TUI, so it still can use terminal emulator defaults.
* ui/compositor: add redraws needed due to intersected doublewidth chars.Björn Linse2019-02-02
|
* UI: add "compositor" layer to merge grids for TUI use in a correct wayBjörn Linse2019-02-02
| | | | | | | | Initially we will use this for the popupmenu, floating windows will follow soon NB: writedelay + compositor is weird, we need more flexible redraw introspection.
* doc [ci skip] #9478Justin M. Keyes2019-01-26
| | | | | | | | | | | | - 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>
* multigrid: API version bumpBjörn Linse2018-12-31
|
* multigrid: reorganize types and global varaiblesBjörn Linse2018-12-31
|
* multigrid: Add multigrid documentationUtkarsh Maheshwari2018-12-31
|
* multigrid: Fix lint errorsUtkarsh Maheshwari2018-12-31
|
* multigrid: Put everything on default_grid if not ext_multigridUtkarsh Maheshwari2018-12-31
|
* multigrid: Allow UIs to set grid size different from window sizeUtkarsh Maheshwari2018-12-31
|
* ui: reserve the right to split a screen redraw into multiple batches.Björn Linse2018-10-02
|
* ui: rename ext_newgrid to ext_linegridBjörn Linse2018-10-01
|
* func_attr.h: FUNC_ATTR_PRINTFMichael Hoffmann2018-09-23
|
* startup: always wait for UI with --embed, unless --headless also is suppliedBjörn Linse2018-09-22
|
* tui: Hint wrapped lines to terminals.Ricky Zhou2018-09-03
| | | | | | | | | | | | | | | | Previously, when neovim would wrap a line across multiple lines, terminal emulators could not detect that the lines represent a single wrapped line as opposed to several separate lines. As a result, many terminals' selection/copying functionality would treat a wrapped line as several newline-delimited lines. Fix this by reenabling a "special trick" from Vim. When a line is wrapped, write the last character of that line followed by the first character of the next line to the terminal. This hints to the terminal that the next line is a continuation of the current line. Extends the raw_line event with a "wrap" parameter which controls when to do wrap hinting.