aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/api
Commit message (Collapse)AuthorAge
...
* fix(docs): duplicate tag, wrong formattingJustin M. Keyes2021-10-05
| | | | | | | Fixes build error: cd /usr/home/build/neovim/build/runtime && /usr/local/bin/cmake -E remove doc/* && /usr/local/bin/cmake -E copy_directory /usr/home/build/neovim/runtime/doc doc && /usr/home/build/neovim/build/bin/nvim -u NONE -i NONE -e --headless -c helptags\ ++t\ doc -c quit Error detected while processing command line: E154: Duplicate tag "vim.register_keystroke_callback()" in file doc/lua.txt
* feat(api): named marks set, get, delete #15346Javier Lopez2021-10-05
| | | | | | | | | | | | | | | | | | | | | | | Adds the following API functions. - nvim_buf_set_mark(buf, name, line, col) * Set marks in a buffer. - nvim_buf_del_mark(buf, name) * Delete a mark that belongs to buffer. - nvim_del_mark(name) * Delete a global mark. - nvim_get_mark(name) * Get a global mark. Tests: - Adds test to all the new api functions, and adds more for the existing nvim_buf_get_mark. * Tests include failure cases. Documentation: - Adds documentation for all the new functions, and improves the existing fucntion docs.
* docs: fix typoAditya Kurdunkar2021-10-04
|
* Merge pull request #15901 from bfredl/apiorgBjörn Linse2021-10-04
|\ | | | | refactor(api): re-organanize public and private API functions
| * refactor(api): move window config related functions to own fileBjörn Linse2021-10-04
| |
| * refactor(api): make export of functions opt-in, not opt-outBjörn Linse2021-10-03
| |
* | refactor: remove redundant char casts #15888dundargoc2021-10-04
|/
* Merge pull request #15516 from bfredl/keysetBjörn Linse2021-10-03
|\ | | | | refactor(api): Represent option dicts as a structs in C and reduce conversion overhead from lua
| * refactor(api): handle option dicts properlyBjörn Linse2021-10-03
| | | | | | | | | | | | | | 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
* | fix(nvim_open_win): crash if autocmds delete buffer/window #15549Sean Dewar2021-10-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | win_set_buf can trigger autocmds if noautocmd=false. If they close the window, code afterwards will dereference the freed win_T* wp pointer. This interaction became possible after commit 1def3d1542d6a65f057e743faea39a760b50db87. The reason deleting curbuf crashes, and not the buf passed to `nvim_open_win`, is because the float initially edits curbuf (`win_init`) until it's later set to edit buf (windows from `:new` and `:split <buf>` behave similiarly: approx. `:split`, then `:buffer <buf>`). `do_buffer` closes windows when their edited buffer is deleted (unless it's the only window; N/A for floats), so the float closes when curbuf is deleted, so we need to check `win_valid` after `win_set_buf` too. Closes #15548
* | fix(float)!: always anchor to corner of window including border #15832zeertzjq2021-10-02
|/ | | | | | | | | | N, W, S, E are all inclusive, i.e., always anchor to the exact corner of the window (including border). This line may also need change in this case (change 0 to -1): This is most consistent and easiest to reason about, especially with GUIs whose border do not need to have width/height of 1/1 in cell units. Fix #15789
* Refactor/uncrustify (#15790)dundargoc2021-09-29
| | | | | | | | | | | | | * refactor: format with uncrustify * fixup(dundar): fix functions comments * fixup(dundar): remove space between variable and ++/-- * fixup(dundar): better workaround for macro attributes This is done to be able to better use uncrustify rules for macros * fixup(justin): make preprocessors follow neovim style guide
* feat(decorations): support virtual lines (for now: only one block at a time)Björn Linse2021-09-26
|
* fix(api): fix crash after set_option_value_for() #15390gmntroll2021-09-25
| | | | | | | | | | | | | | | | | | | | | Problem: This crashes Nvim: tabedit call nvim_win_set_option(1000, 'statusline', 'status') split wincmd J wincmd j Solution: - Change `no_display` parameter value to be the same as in matching `restore_win_noblock` call. In case of different values `topframe` isn't restored to `curtab->tp_topframe`. - Call `restore_win_noblock` if `switch_win_noblock` returns `FAIL` (`switch_win` must always have matching `restore_win`) - Change `switch_win`/`restore_win` to `_noblock` versions to allow autocommands. fixes #14097 fixes #13577
* refactor: format #15702dundargoc2021-09-18
|
* refactor(runtime): always use DIP_START when searching for runtime filesBjörn Linse2021-09-18
| | | | | | | | Now remove the addition of "start/*" packages in 'packpath' as explicit items in 'runtimepath'. This avoids 'runtimepath' from becoming very long when using a lot of plugins as packages. To get the effective search path as a list, use |nvim_list_runtime_paths()|
* feat(api): convert Blobs to API stringsSean Dewar2021-09-15
| | | | Note that these are not NUL-terminated; the API supports this.
* vim-patch:8.1.0735: cannot handle binary dataSean Dewar2021-09-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Cannot handle binary data. Solution: Add the Blob type. (Yasuhiro Matsumoto, closes vim/vim#3638) https://github.com/vim/vim/commit/6e5ea8d2a995b32bbc5972edc4f827b959f2702f Nvim-specific Blob conversions are implemented in future commits. Refactor write_blob() to use a FileDescriptor, as f_writefile() was refactored to use one (does not apply to read_blob()). Use var_check_lock() in f_add() for Blobs from v8.1.0897. Add a modeline to test_blob.vim and fix some doc typos. Include if_perl.txt's VIM::Blob() documentation. Interestingly, this function already worked before this port, as it just returns a Blob string literal, not an actual Blob object. N/A patches for version.c: vim-patch:8.1.0741: viminfo with Blob is not tested Problem: Viminfo with Blob is not tested. Solution: Extend the viminfo test. Fix reading a blob. Fixed storing a special variable value. https://github.com/vim/vim/commit/8c8b8bb56c724cc1bfc3d8520eec33f2d399697c vim-patch:8.1.1022: may use NULL pointer when out of memory Problem: May use NULL pointer when out of memory. (Coverity) Solution: Check for blob_alloc() returning NULL. https://github.com/vim/vim/commit/e142a9467a7f6845a426d8db6efedf246d3c13ac
* feat(api): win_viewport also sends line_count #15613Yatao Li2021-09-10
|
* docs: extmarks indexing #15311Justin M. Keyes2021-09-10
| | | | ref #11456
* docs: extmarks indexing #15311Javier López2021-09-10
| | | | fix #11456
* docs: extmark indexing #12742Patrice Peterson2021-09-10
| | | | | | | Extmarks mostly use api-indexing, except for nvim_buf_get_extmarks(), which uses api-indexing with inclusive ranges. ref #11456
* feat(api): nvim_get_chan_info: include "argv" for jobs #15537Justin M. Keyes2021-09-01
| | | ref #15440
* perf(api): avoid spurious allocations when converting small objectsBjörn Linse2021-08-28
| | | | | | | Converter functions use a heap-allocated stack to handle complex nested objects. However, these are often called with simple, primitive values like integers or bools wrapped in an Object. Avoid the memory allocation in this case using kvec_withinit_t
* Merge #15293 Vimscript "method" syntaxJustin M. Keyes2021-08-26
|\ | | | | Port VimL's method call syntax - vim-patch:8.1.{1638,1800,1803,1807,1809,1816,1820,1821,1828,1834,1835,1861,1863,1878,1879,1888,1909,1911,1912}
| * vim-patch:8.1.1800: function call functions have too many argumentsSean Dewar2021-08-12
| | | | | | | | | | | | | | | | | | | | Problem: Function call functions have too many arguments. Solution: Pass values in a funcexe_T struct. https://github.com/vim/vim/commit/c6538bcc1cdd1fb83732f22fdc69bd9bb66f968a Use FUNCEXE_INIT to initialize funcexe_T instances. call_callback() and other Vim listener related stuff is N/A.
* | refactor(map): remove extra-allocating map_new/map_free functionsBjörn Linse2021-08-22
| | | | | | | | | | | | | | | | | | | | Note: the reason for removing them is not that there after this refactor is no use of them, but rather that having them available is an anti-pattern: they manange an _extra_ heap allocation which has nothing to do with the functionality of the map itself (khash manages the real buffers internally). In case there happens to be a reason to allocate the map structure itself later, this should be made explicit using xcalloc/xfree calls.
* | refactor(api): remove unneccesary indirection around handlesBjörn Linse2021-08-22
| | | | | | | | | | These things are just maps to pointers, no need to perform a huge song and dance around it.
* | refactor(map): get rid of spurious subsystem_init() functions due to mapsBjörn Linse2021-08-22
|/
* Merge pull request #15336 from bfredl/plinesBjörn Linse2021-08-11
|\ | | | | refactor(plines): move "plines" (size of printed lines) family of function to own file
| * refactor(plines): remove implicit curwin plines() functionBjörn Linse2021-08-10
| |
* | refactor(api): remove redundant api_set_errorJavier López2021-08-10
|/ | | | This error is already handled by 'find_buffer_by_handle'
* refactor: remove remaining references to nvim_buf_set_virtual_textGregory Anders2021-08-03
|
* refactor: PVS/V501: removed duplicate sub-expression 'chunk.size > 2'Dundar Göc2021-07-30
|
* feat(decorations): deprecate nvim_buf_set_virtual_textBjörn Linse2021-07-29
| | | | Full virt_text functionality is provided by nvim_buf_set_extmark
* refactor(decorations): merge the two different code paths for virt_textBjörn Linse2021-07-29
| | | | | | test(bufhl): CHANGE of tested behaviour (inb4 a proper priority mechanism) test(decoration): change of test; previous behavior was buggy (ghost buffer text)
* feat(decorations): allow more than one stacked highlight in a virt_textBjörn Linse2021-07-29
|
* fix: fix incorrect call sites of xcallocGregory Anders2021-07-24
| | | | The number of elements comes first and the size of each element second.
* chore: use codespell to spell check #15016dundargoc2021-07-07
|
* clang/'Dead initialization': don't assign unused value to variable "string" ↵dundargoc2021-07-07
| | | | #15015
* Merge pull request #14864 from seandewar/get-config-zindexBjörn Linse2021-07-02
|\ | | | | fix(api/win_get_config): include z-index
| * fix(api/win_get_config): include z-indexSean Dewar2021-06-19
| |
* | [RDY] Add buffer information to tabline_update (#12481)John Gehrig2021-06-27
|/ | | | | | | | | | * Add buffer information to tabline_update Most terminal implementations of the tabline display buffer and tab information. Many neovim-qt users disable GuiTabline because it lacks functionality provided in the terminal implementation. The tabline_update event should include buffer information too, so client GUIs can display rich useful tabs.
* perf(extmarks): allow ephemeral extmarks past EOFThomas Vigouroux2021-06-16
|
* feat(float): add rounded borders presetChristian Clason2021-06-14
| | | | | | | | Add `borders = "rounded"` preset for `nvim_open_win`, equivalent to border = {"╭", "─", "╮", "│", "╯", "─", "╰", "│"} Also add undocumented "solid" preset to docs.
* api:get_config: don't add border="none" (inactive default)Björn Linse2021-06-10
|
* fix linter errorsCorey Williamson2021-06-10
|
* api: include border in nvim_win_get_configCorey Williamson2021-06-10
|
* Merge pull request #14717 from notomo/add-win-call-apiBjörn Linse2021-06-10
|\ | | | | api: add nvim_win_call
| * api: add nvim_win_callnotomo2021-06-10
| |