aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/lib
Commit message (Collapse)AuthorAge
* tui: "backpressure": Drop messages to avoid flooding.Justin M. Keyes2016-12-09
| | | | | | | | | Closes #1234 multiqueue: - Implement multiqueue_size() - Rename MultiQueueItem.parent to MultiQueueItem.parent_item, to avoid confusion with MultiQueue.parent.
* kvec: Do not bother with making capacity a power of 2ZyX2016-06-24
| | | This avoids gcc warnings about undefined behaviour.
* *: Also fix the adjacent errorsZyX2016-06-11
|
* *: Fix errors from new linter checksZyX2016-06-11
|
* kvec,typval_encode: Add new vector: the one with preallocated arrayZyX2016-05-30
|
* Merge pull request #4843 from ZyX-I/refactor-queueJustin M. Keyes2016-05-30
|\ | | | | lib/queue: Refactor queue.h
| * lib/queue: Actually remove all _QUEUE macrosZyX2016-05-30
| |
| * lib/queue: Refactor queue.hZyX2016-05-30
| | | | | | | | | | | | | | | | | | | | | | | | Changes: 1. Linter finds no errors now. 2. Most of macros changed to `static inline … FUNC_ATTR_ALWAYS_INLINE` functions (that was the purpose: they are easier to debug). 3. Queue is now not a pair of void* pointers, but a struct with two QUEUE pointers, next and prev. This should not affect anything, except that _QUEUE private macros can really be avoided without reducing readability and they do not need any casts.
* | lib/kvec: Fix remaining linter errorsZyX2016-05-30
| |
* | lib/kvec: Make code cleanerZyX2016-05-30
| |
* | lib/kvec: Do not use kv_init unless neededZyX2016-05-30
| |
* | lib/kvec: Remove useless type argument from kv_push macrosZyX2016-05-30
|/
* eval: Add jsondecode() functionZyX2016-04-18
|
* bufhl: fix unittests and lintBjörn Linse2016-02-23
| | | | msgpack_rpc_dispatch doesn't exist anymore
* bufhl: new mechanism for plugins to add highlights to a bufferBjörn Linse2016-02-23
|
* *: Fix lint errors found in new code in previously ignored filesZyX2015-10-08
|
* shada: Fix linter errorsZyX2015-10-08
|
* shada: Allocate all hashes on stackZyX2015-10-08
|
* shada: Add support for merging everything like described in the docZyX2015-10-08
|
* shada: Add support for dumping/restoring bufs changes and win jumpsZyX2015-10-08
|
* shada: Initial support for merging historyZyX2015-10-08
| | | | Currently only merges history when reading ShaDa file. No tests yet.
* lib: Include libuv circularly linked listThiago de Arruda2015-08-13
| | | | | This is simpler and more efficient than klist.h for implementing queues that support insertion or removal at arbitrary positions.
* job: Replace by a better process abstraction layerThiago de Arruda2015-07-17
| | | | | | | | | | | | | - New libuv/pty process abstraction with simplified API and no globals. - Remove nvim/os/job*. Jobs are now a concept that apply only to programs spawned by vimscript job* functions. - Refactor shell.c/channel.c to use the new module, which brings a number of advantages: - Simplified API, less code - No slots in the user job table are used - Not possible to acidentally receive data from vimscript - Implement job table in eval.c, which is now a hash table with unilimited job slots and unique job ids.
* klib: Improve klist.hThiago de Arruda2015-07-01
| | | | | | | | | | | - Add `kl_shift_at` macro and backing function. This can be used to shift elements at arbitrary positions. `kl_shift` is now defined on top of the new macro. - Change shift/push API, now `kl_push` accepts an object as parameter and `kl_shift` returns the object instead of a status. An assertion against shifting at the end of a list(or empty lists) was added. - Add `kl_iter` and `kl_iter_at` macros. `kl_iter_at` is for starting the iteration at arbitrary positions.
* memory: Add `free` wrapper and refactor project to use itThiago de Arruda2015-04-13
| | | | | | We already use wrappers for allocation, the new `xfree` function is the equivalent for deallocation and provides a way to fully replace the malloc implementation used by Neovim.
* eval: Defer execution of JobActivity autocommandsThiago de Arruda2014-10-21
| | | | | | JobActivity autocommands run vimscript and must be executed on Nvim main loop. Since the previous commit removed automatic calls to `event_push` on RStream/Job callbacks, this adds it back, but in eval.c where job control is implemented.
* memory.h: don't include vim.h in header filesNicolas Hillegeer2014-07-16
| | | | | Also include stdint.h in khash.h. It was transitively included by vim.h via memory.h before. khash.h accidentally relied on that.
* Remove stdbool.h from files which don't need itPavel Platto2014-07-11
| | | | | | | Done by manual inspection of the output of this script: grep -r -l -w "bool\|true\|false" * | grep 'c$\|h$' > has_bool grep -r -l "stdbool.h" * | grep 'c$\|h$' > has_include grep -F -x -v -f has_bool has_include
* api: Enable usage of Arrays and Dictionaries as [k]vectorsThiago de Arruda2014-06-18
| | | | | - Rename a/n/m to items/size/capactity in kvec.h - Add capactity field to Arrays/Dictionaries
* Add REAL_FATTR_ macros to func_attr.h, use them in lib/k*ZyX2014-06-02
| | | | Otherwise FUNC_ATTR_* macros may appear empty
* Move memory.h include above func_attr.h includeZyX2014-06-02
|
* Fix some stylesZyX2014-06-02
|
* Surround nvim/func_attr.h includes with define/undef DEFINE_FUNC_ATTRIBUTESZyX2014-06-02
| | | | Required for FUNC_ATTR_UNUSED to work in lib/k*
* Add kvec.h macro libraryThiago de Arruda2014-05-28
|
* Remove OOM error handling in khash.hPavel Platto2014-05-20
|
* Merge klib upstream.Justin M. Keyes2014-05-19
| | | | | | | | Silence -Wstrict-prototypes and static analyser warnings Using "(void)" provides an explicit there-are-no-arguments prototype. Using the exact type in "malloc(...sizeof)" is clearer and silences warnings from clang's static analyzer. (John Marshall)
* Enable -Wconversion for API files and fix errorsThiago de Arruda2014-05-17
|
* Introduce nvim namespace: Fix project-local includes.Eliseo Martínez2014-05-15
| | | | Prepend 'nvim/' in all project-local (non-system) 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.