aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/api/vim.c
Commit message (Collapse)AuthorAge
...
* API: TRY_WRAP() for "abort-causing non-exception errors"Justin M. Keyes2019-08-28
| | | | | | | | - Introduce TRY_WRAP() until we have an *architectural* solution. - TODO: bfredl idea: prepare error-handling at "top level" (nv_event). - nvim_paste(): Revert luaeval() hack (see parent commit). - With TRY_WRAP() in nvim_put(), 'nomodifiable' error now correctly "bubbles up".
* paste: handle 'nomodifiable'Justin M. Keyes2019-08-27
| | | | | | | | - nvim_paste(): Marshal through luaeval() instead of nvim_execute_lua() because the latter seems to hide some errors. - Handle 'nomodifiable' in `nvim_put()` explicitly. - Require explicit `false` from `vim.paste()` in order to "cancel", otherwise assume true ("continue").
* paste: make vim.paste() "public"Justin M. Keyes2019-08-27
|
* paste: handle vim.paste() failureJustin M. Keyes2019-08-27
| | | | | | | | - Show error only once per "paste stream". - Drain remaining chunks until phase=3. - Lay groundwork for "cancel". - Constrain semantics of "cancel" to mean "client must stop"; it is unrelated to presence of error(s).
* paste: tickle cursorJustin M. Keyes2019-08-27
| | | | | | | | | | HACK: The cursor does not get repositioned after the paste completes. Scheduling a dummy event seems to fix it. Test case: 0. Revert this commit. 1. Paste some text in Normal-mode. 2. Notice the cursor is still in the cmdline area.
* paste: implement redo (AKA dot-repeat)Justin M. Keyes2019-08-27
| | | | | | - Normal-mode redo idiom(?): prepend "i" and append ESC. - Insert-mode only needs AppendToRedobuffLit(). - Cmdline-mode: only paste the first line.
* API: nvim_pasteJustin M. Keyes2019-08-27
|
* API: nvim_put: "follow" parameterJustin M. Keyes2019-08-27
|
* API: nvim_put: always PUT_CURSENDJustin M. Keyes2019-08-27
| | | | | | | | | Fixes strange behavior where sometimes the buffer contents of a series of paste chunks (vim._paste) would be out-of-order. Now the tui_spec.lua screen-tests are much more reliable. But they still sometimes fail because of off-by-one cursor (caused by "typeahead race" resulting in wrong mode; fixed later in this patch-series).
* API: nvim_put: Avoid "N more lines" messageJustin M. Keyes2019-08-27
|
* paste: edge-case: handle EOL at end-of-bufferJustin M. Keyes2019-08-27
| | | | This is "readfile()-style", see also ":help channel-lines".
* API: nvim_put #6819Justin M. Keyes2019-08-27
|
* API: nvim_put #6819: try to fix Insert, VisualBjörn Linse2019-08-27
|
* API: nvim_put #6819Björn Linse2019-08-27
|
* API: fix nvim_command_output buffer overflow (#10830)Abdelhakeem Osama2019-08-22
| | | Fixes https://github.com/neovim/neovim/issues/10829.
* api: nvim_win_open() style="minimal" should disable 'foldcolumn'Björn Linse2019-08-14
|
* API: Context: save/restoreAbdelhakeem2019-07-27
|
* API: ContextJustin M. Keyes2019-07-27
|
* api/window: add style="minimal" flag to nvim_open_win()Björn Linse2019-07-07
|
* rename: FUNC_API_ASYNC => FUNC_API_FASTBjörn Linse2019-06-30
|
* api: make nvim__inspect_cell support multiple gridsBjörn Linse2019-06-25
|
* api/buffer: create new buffers in the "opened" stateBjörn Linse2019-06-03
| | | | | | | Otherwise vim will think that ml_append() needs to "enter" the buffer, which emits unexpected autocommands. ref https://github.com/vim-airline/vim-airline/issues/1930
* doc #10017Justin M. Keyes2019-05-25
| | | | | - gen_vimdoc.py: fancy "bullet" - rework `:help channel-callback` - rename `:help buffered` to `:help channel-buffered`
* API/nvim_set_keymap: minor cleanupJustin M. Keyes2019-05-12
| | | | ref #9924
* API: nvim_set_keymap, nvim_del_keymap #9924Yilin Yang2019-05-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | closes #9136 - Treat empty {rhs} like <Nop> - getchar.c: Pull "repl. MapArg termcodes" into func The "preprocessing code" surrounding the replace_termcodes calls needs to invoke replace_termcodes, and also check if RHS is equal to "<Nop>". To reduce code duplication, factor this out into a helper function. Also add an rhs_is_noop flag to MapArguments; buf_do_map_explicit expects an empty {rhs} string for "<Nop>", but also needs to distinguish that from something like ":map lhs<cr>" where no {rhs} was provided. - getchar.c: Use allocated buffer for rhs in MapArgs Since the MAXMAPLEN limit does not apply to the RHS of a mapping (or else an RHS that calls a really long autoload function from a plugin would be incorrectly rejected as being too long), use an allocated buffer for RHS rather than a static buffer of length MAXMAPLEN + 1. - Mappings LHS and RHS can contain literal space characters, newlines, etc. - getchar.c: replace_termcodes in str_to_mapargs It makes sense to do this; str_to_mapargs is, intuitively, supposed to take a "raw" command string and parse it into a totally "do_map-ready" struct. - api/vim.c: Update lhs, rhs len after replace_termcodes Fixes a bug in which replace_termcodes changes the length of lhs or rhs, but the later search through the mappings/abbreviations hashtables still uses the old length value. This would cause the search to fail erroneously and throw 'E31: No such mapping' errors or 'E24: No such abbreviation' errors. - getchar: Create new map_arguments struct So that a string of map arguments can be parsed into a more useful, more portable data structure. - getchar.c: Add buf_do_map function Exactly the same as the old do_map, but replace the hardcoded references to the global `buf_T* curbuf` with a function parameter so that we can invoke it from nvim_buf_set_keymap. - Remove gettext calls in do_map error handling
* docJustin M. Keyes2019-05-11
|
* gen_vimdoc.py: support <pre> preformatted text [ci skip]Justin M. Keyes2019-05-01
|
* doc [ci skip]Justin M. Keyes2019-05-01
| | | | ref #9886
* doc/API #9916Pedro Bortolli2019-04-27
|
* Merge pull request #9898 from bfredl/floatwidthBjörn Linse2019-04-14
|\ | | | | windows: float config changes
| * windows: float config changesBjörn Linse2019-04-14
| | | | | | | | | | | | | | | | | | | | - 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.
* | chdir: remove unused argument #9901Marco Hinz2019-04-14
| |
* | options: properly reset directories on 'autochdir' (#9894)Marco Hinz2019-04-13
|/ | | Fixes https://github.com/neovim/neovim/issues/9892
* doc, lintJustin M. Keyes2019-03-26
|
* doc [ci skip]Justin M. Keyes2019-03-26
| | | | closes #9719
* doc #9751Aman2019-03-20
| | | closes #9750
* api: refactor FloatRelative usageMarco Hinz2019-03-16
|
* api: numerous small fixesMarco Hinz2019-03-16
|
* api: add width/height to FloatConfigMarco Hinz2019-03-16
|
* docs: floating windows introductionBjörn Linse2019-03-12
|
* window: simplify logic for entering new floatBjörn Linse2019-03-12
|
* buffer: use aucmd_prepbuf() instead of switch_to_win_for_buf()Björn Linse2019-03-05
|
* floats: implement floating windowsBjörn Linse2019-03-02
| | | | Co-Author: Dongdong Zhou <dzhou121@gmail.com>
* API: nvim_create_buf: add `scratch` parameterJustin M. Keyes2019-02-17
| | | | | Creating a scratch buffer is a chore/ritual, and would be more useful/common if formally exposed.
* api: add nvim_create_buf to create a new empty buffer.Björn Linse2019-02-09
| | | | | | | | | | | | 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
* 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>
* ui: multigrid mouse supportBjörn Linse2019-01-20
|
* API: nvim_set_vvar(): set v: variables #9395jin cong2019-01-14
| | | | closes #9349
* api: select items in popupmenuBjörn Linse2019-01-09
|
* API: don't directly call update_screen() in API functionsBjörn Linse2019-01-08
| | | | | | | | | 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.