aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/map.h
Commit message (Collapse)AuthorAge
* provider: New module used to expose extension points for core servicesThiago de Arruda2014-07-17
| | | | | | | | | | | | | | | | | Introducing the concept of providers: co-processes that talk with the editor through the remote API and provide implementation for one or more core services. The `provider_register` function and it's API wrapper can be used by channels that want to self-register as a service provider. Some old builtin vim features will be re-implemented as providers. The `provider_has_feature` function is used to check if a provider implementing a certain feature is available(It will be called by the `has` vimscript function to check for features in a vim-compatible way) This implements the provider module without exposing any extension points, which will be done in future commits.
* 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.
* Refactor: Redefine `Map(T)` as a more generic `Map(T, U)` macroThiago de Arruda2014-05-30
| | | | | To replace `Map(T)`, a new macro `PMap(T)` was defined as `Map(T, ptr_t)` for writing maps that store pointers with less boilerplate
* API: Refactor: Implement api/handle moduleThiago de Arruda2014-05-23
| | | | | This module will be used to implement remote management of objects through the API. Object types to be registered must have a `uint64_t` field named 'handle'.
* Improve map module: Refactor vim_to_object_recThiago de Arruda2014-05-19
| | | | Now the map.c module is used to implement the 'lookup set' for that function
* Improve map module: Refactor into a macro libraryThiago de Arruda2014-05-19
| | | | | | The map_* declarations and definitions are now created by a macro invocation with a key type parameter. Also refactored server module to use the updated version.
* Improve map module: Change scopesThiago de Arruda2014-05-19
| | | | | | | - Move `Map` structure definition to `map_defs.h` - Use `KHASH_DECLARE` on map_defs.h to declare khash function prototypes. - Redefine `map_foreach` into a macro - Refactor server.c module to use the new `map_foreach` macro.
* Improve map module: Add to clint and CONV_SRCSThiago de Arruda2014-05-19
|
* Introduce nvim namespace: Fix define guards.Eliseo Martínez2014-05-15
| | | | | | Change define guards from NEOVIM_XXX_H to NVIM_XXX_H: - Change header files. - Change clint correct guard name calculation.
* 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.