aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/api/vim.c
Commit message (Collapse)AuthorAge
...
* Add vim_feedkeys API functionRui Abreu Ferreira2014-07-07
| | | | | | | | | | | - New API function to push data to the typeahead buffer - this should equivalent to the vimscript feedkeys() function - In Vim there was a --remote-send command to insert input into a Vim server instance. Besides accepting key sequences it also translated special keys such as <CR> or <Leader>, backslash notation is ignored. This commit backports the original Vim handler for --remote-send as a bool option for vim_feedkeys() - vim-patch:0
* channel/msgpack_rpc: Refactor msgpack_rpc_notification/serialize_eventThiago de Arruda2014-06-24
| | | | | | | | | | - Generalize some argument names(event type -> event name, event data -> event arg) - Rename serialize_event to serialize_message - Rename msgpack_rpc_notification to msgpack_rpc_message - Extract the message type out of msgpack_rpc_message - Add 'id' parameter to msgpack_rpc_message/serialize_message to create messages that are not notifications
* api: Rename find_{buffer,window,tabpage}Thiago de Arruda2014-06-18
| | | | | They were renamed to find_{buffer,window,tabpage}_by_handle to avoid conflicts with existing functions of the same name.
* Prevent null-pointer deference during vim_eval #785Andrew Chin2014-06-10
| | | | | If the eval_expr call in vim_eval returns NULL, a null-pointer deference would happen a few frames down, in vim_to_object_rec
* api: remove some redundant string copiesNicolas Hillegeer2014-06-08
| | | | | Now that incoming Pascal strings are NULL-terminated by default, we can skip some spurious copies.
* text: remove useless arg from mb_string2cellsNicolas Hillegeer2014-06-08
| | | | | | | | | | | | | | | | | | mb_string2cells was always called like mb_string2cells(..., -1) so that was the only codepath that was tested. @tarruda was the first to try to input an actual length, after which valgrind detected that funny business was going on. It's not even possible to do the right thing with the current text codec infrastructure: they all assume to be working with C strings. Meaning that if there is no NUL-terminator, they will happily keep on reading past the end of Pascal strings. Ergo, passing the length parameter is moot. The condition in the for-loop was wrong as well (but that's no longer relevant). Also change the return value to size_t, by analogy with strlen. ref: https://github.com/neovim/neovim/commit/677d30d7966dd2766bbf20665791c568dacc427a
* Add automatic generation of headersZyX2014-06-02
| | | | | | | | | | | | | | | | | - The 'stripdecls.py' script replaces declarations in all headers by includes to generated headers. `ag '#\s*if(?!ndef NEOVIM_).*((?!#\s*endif).*\n)*#ifdef INCLUDE_GENERATED'` was used for this. - Add and integrate gendeclarations.lua into the build system to generate the required includes. - Add -Wno-unused-function - Made a bunch of old-style definitions ANSI This adds a requirement: all type and structure definitions must be present before INCLUDE_GENERATED_DECLARATIONS-protected include. Warning: mch_expandpath (path.h.generated.h) was moved manually. So far it is the only exception.
* Move documentation from function declarations to definitionsZyX2014-06-02
| | | | Uses a perl script to move it (scripts/movedocs.pl)
* API: Events: Add functions for {un}subscribing to broadcasted eventsThiago de Arruda2014-05-28
|
* API: Refactor: Use macro for initializing all arraysThiago de Arruda2014-05-23
|
* API: Refactor: Return handles instead of indexesThiago de Arruda2014-05-23
| | | | | | | - Define specialized arrays for each remote object type - Implement msgpack_rpc functions for dealing with the new types - Refactor all functions dealing with buffers, windows and tabpages to return/accept handles instead of list indexes.
* API: Refactor: Change the integer type of remote objects to uint64_tThiago de Arruda2014-05-23
|
* API: Refactor: Move non-public files to private subdirectoryThiago de Arruda2014-05-23
|
* API: Bugfix: Terminate directory string in vim_change_directoryThiago de Arruda2014-05-23
| | | | Also check that the string length is not equal or greater than MAXPATHL.
* API: Bugfix: Use 0-terminated string in vim_strwidthThiago de Arruda2014-05-23
| | | | | | | While the mb_string2cells function accepts a length parameter, it only seems to work properly with 0-terminated strings, since valgrind reports a conditional jump that depends on uninitialized values(means it reads after the string boundaries which could result in overflows or wrong results)
* API: Bugfix: Fix loop condition in vim_list_runtime_pathsThiago de Arruda2014-05-23
|
* Enable -Wconversion for API files and fix errorsThiago de Arruda2014-05-17
|
* Use more descriptive names for API primitive typesThiago de Arruda2014-05-17
| | | | | | | | | Instead of exposing native C types to a public API that can be consumed by other platforms, we are now using the following translation: int64_t -> Integer double -> Float bool -> Boolean
* Introduce nvim namespace: Fix project-local includes.Eliseo Martínez2014-05-15
| | | | Prepend 'nvim/' in all project-local (non-system) includes.
* Introduce nvim namespace: Fix relative includes.Eliseo Martínez2014-05-15
| | | | | | | | | | Problem: Some newly introduced files used includes relative to the current file, both of the form `include "../XXX.h"` and `include "XXX.h"`. Preferred form is relative to include root (src/ in our case). Solution: Change includes to preferred form. Note: This is also done to ease next commit (prepend 'nvim/ to all project-local includes).
* Introduce nvim namespace: Move files.Eliseo Martínez2014-05-15
Move files from src/ to src/nvim/. - src/nvim/ becomes the new root dir for nvim executable sources. - src/libnvim/ is planned to become root dir of the neovim library.