Vim-fork focused on extensibility and usability
Go to file
Thiago de Arruda 35ff53c6b0 Add msgpack_rpc_dispatch/metadata generator
This adds a lua script which parses the contents of 'api.h'. After the api is
parsed into a metadata table. After that, it will generate:

- A msgpack blob for the metadata table. This msgpack object contains everything
  scripting engines need to generate their own wrappers for the remote API.
- The `msgpack_rpc_dispatch` function, which takes care of validating msgpack
  requests, converting arguments to C types and passing control to the
  appropriate 'api.h' function. The result is then serialized back to msgpack
  and returned to the client.

This approach was used because:

- It automatically modifies `msgpack_rpc_dispatch` to reflect API changes.
- Scripting engines that generate remote call wrappers using the msgpack
  metadata will also adapt automatically to API changes
2014-04-11 14:07:45 -03:00
cmake Add cmake module for finding msgpack 2014-04-11 14:07:44 -03:00
config Use check_symbol_exists() instead of check_function_exists(). 2014-04-03 04:32:27 -04:00
contrib add .vimrc and src/.ycm_extra_conf.py 2014-03-14 20:37:03 -03:00
scripts Add msgpack_rpc_dispatch/metadata generator 2014-04-11 14:07:45 -03:00
src Add msgpack_rpc_dispatch/metadata generator 2014-04-11 14:07:45 -03:00
test port vim_mkdir, mch_rmdir and mch_remove to libuv 2014-04-11 13:31:48 -03:00
third-party Configure cmake option to download/install msgpack 2014-04-11 14:07:44 -03:00
.gitignore Add basic Doxyfile. 2014-03-31 07:36:00 -03:00
.travis.yml Run clint.py in some files 2014-04-08 13:49:45 -03:00
.valgrind.supp Add helpers for debugging with valgrind 2014-04-05 11:05:31 -03:00
BACKERS.md Add some missing backers and remove duplicates 2014-04-08 15:54:13 -03:00
clint-files.txt Fix/add more files with to clint-files.txt 2014-04-08 13:49:45 -03:00
clint.py Added clint check for TRUE/FALSE 2014-04-07 12:15:28 -03:00
CMakeLists.txt Add cmake module for finding msgpack 2014-04-11 14:07:44 -03:00
CONTRIBUTING.md Issue #66 - Add lint tool and uncrustify config. Update contributing documentation on coding style. 2014-03-05 16:50:27 -03:00
Doxyfile Add basic Doxyfile. 2014-03-31 07:36:00 -03:00
Makefile Force the cmake target to re-run the CMake configuration. 2014-03-31 04:41:26 -04:00
neovim.rb Homebrew formula builds dependencies through make 2014-03-19 08:00:15 -03:00
README.md enable coveralls support 2014-04-01 08:06:20 -03:00
uncrustify.cfg Issue #311 - Clean up blowfish.c/h, charset.c/h, diff.c/h, digraph.c/h, garray.c/h, hashtab.c/h, popupmnu.c/h, sha256.c/h, version.c/h. Update uncrustify to move logical operators to the beginning of the line when splitting. Also, clean up arabic.c/h and farsi.c/h 2014-03-16 12:00:41 -03:00
vim-license.txt include a copy of the Vim License 2014-02-22 11:57:44 +00:00

Neovim (bountysource fundraiser)

Build Status Stories in Ready Coverage Status

Neovim is a project that seeks to aggressively refactor Vim in order to:

  • Simplify maintenance and encourage contributions
  • Split the work between multiple developers
  • Enable the implementation of new/modern user interfaces without any modifications to the core source
  • Improve extensibility with a new plugin architecture

For lots more details, see the wiki!

What's been done so far

  • Cleaned up source tree, leaving only core files
  • Removed support for legacy systems and moved to C99
    • Removed tons of FEAT_* macros with unifdef
    • Reduced C code from 300k lines to 170k
  • Enabled modern compiler features and optimizations
  • Formatted entire source with uncrustify
  • Replaced autotools build system with CMake
  • Implemented continuous integration and test coverage
  • Wrote 60+ new unit tests
  • Split large, monolithic files (misc1.c) into logical units (path.c, indent.c, garray.c, keymap.c, ...)

What's being worked on now

  • Porting all IO to libuv
  • Lots of refactoring
  • A VimL => Lua transpiler
  • Formatting with clint.py

How do I get it?

There is a formula for OSX/homebrew, a PKGBUILD for Arch Linux, and detailed instructions for building on other OSes.

See the wiki!

Community

Join the community on IRC in #neovim on Freenode or the mailing list

Contributing

...would be awesome! See the wiki for more details.

License

Vim itself is distributed under the terms of the Vim License. See vim-license.txt for details.

Vim also includes this message:

Vim is Charityware.  You can use and copy it as much as you like, but you are
encouraged to make a donation for needy children in Uganda.  Please see the
kcc section of the vim docs or visit the ICCF web site, available at these URLs:

        http://iccf-holland.org/
        http://www.vim.org/iccf/
        http://www.iccf.nl/

You can also sponsor the development of Vim.  Vim sponsors can vote for
features.  The money goes to Uganda anyway.