Vim-fork focused on extensibility and usability
Go to file
ZyX ba2f615cd4 functests: Test for error conditions
During testing found the following bugs:

1. msgpack-gen.lua script is completely unprepared for Float values either in 
   return type or in arguments. Specifically:

   1. At the time of writing relevant code FLOAT_OBJ did not exist as well as 
      FLOATING_OBJ, but it would be used by msgpack-gen.lua should return type 
      be Float. I added FLOATING_OBJ macros later because did not know that 
      msgpack-gen.lua uses these _OBJ macros, otherwise it would be FLOAT_OBJ.
   2. msgpack-gen.lua should use .data.floating in place of .data.float. But it 
      did not expect that .data subattribute may have name different from 
      lowercased type name.

2. vim_replace_termcodes returned its argument as-is if it receives an empty 
   string (as well as _vim_id*() functions did). But if something in returned 
   argument lives in an allocated memory such action will cause double free: 
   once when freeing arguments, then when freeing return value. It did not cause 
   problems yet because msgpack bindings return empty string as {NULL, 0} and 
   nothing was actually allocated.
3. New code in msgpack-gen.lua popped arguments in reversed order, making lua 
   bindings’ signatures be different from API ones.
2017-03-27 00:11:28 +03:00
.ci ci: Better core dump checking 2017-02-14 00:33:52 +03:00
cmake cmake: USE_BUNDLED_X instead of X_USE_BUNDLED (#6357) 2017-03-25 23:02:20 +01:00
config build: Do not check for obsolete <termio.h> 2016-12-24 17:41:06 +01:00
contrib contrib/ycm_extra_conf.py (#6257) 2017-03-11 15:37:21 +01:00
man tui: Enable mode-sensitive cursor by default. 2017-01-20 15:48:41 +01:00
runtime man.vim: call s:error in man#read_page (#6362) 2017-03-25 22:43:25 +01:00
scripts functests: Test for error conditions 2017-03-27 00:11:28 +03:00
src functests: Test for error conditions 2017-03-27 00:11:28 +03:00
test functests: Test for error conditions 2017-03-27 00:11:28 +03:00
third-party build: Do not ref libuv CMake target if USE_BUNDLED_LIBUV=OFF. (#6363) 2017-03-26 00:22:15 +01:00
unicode Update unicode files 2016-09-24 14:03:22 -04:00
.editorconfig add .editorconfig 2016-02-23 18:03:27 +09:00
.gitignore .gitignore: Do not ignore *.rej 2017-03-21 12:19:16 +01:00
.travis.yml ci: MIN_LOG_LEVEL=2 (#6169) 2017-02-24 11:03:56 +01:00
appveyor.yml win/CI: Cache dependencies. 2017-02-16 16:23:18 +01:00
BACKERS.md Update backer URL 2015-11-11 19:50:33 -08:00
CMakeLists.txt eval: Add luaeval function 2017-03-27 00:11:24 +03:00
CONTRIBUTING.md doc: QuickBuild 2017-01-31 08:58:43 +01:00
ISSUE_TEMPLATE.md doc: precision, concision, elision 2016-06-03 17:11:10 -04:00
LICENSE LICENSE: add LuaJIT notice. #899 2014-06-30 13:59:56 -04:00
Makefile build: Makefile: Try other cmake names, or override. #6163 2017-02-27 14:28:15 +01:00
README.md doc: eval.txt fixup, README.md 2017-03-13 15:50:50 +01:00

Neovim

Wiki | Documentation | Twitter | Community | Gitter Chat

Travis Build Status AppVeyor Build status Pull requests waiting for review Coverage Status Coverity Scan Build Clang Scan Build Debian

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

See the wiki and Roadmap for more information.

Throughput Graph

Install from source

make CMAKE_BUILD_TYPE=RelWithDebInfo
sudo make install

See the wiki for details.

Install from package

Packages are in Homebrew, Debian, Ubuntu, Fedora, Arch Linux, and more.

Project layout

  • .ci/: Build server scripts
  • cmake/: Build scripts
  • runtime/: Application files
  • src/: Application source code
  • third-party/: CMake sub-project to build third-party dependencies (if the USE_BUNDLED_DEPS flag is undefined or USE_BUNDLED CMake option is false).
  • test/: Test files

What's been done so far

See :help nvim-features for a comprehensive list.

License

Neovim is licensed under the terms of the Apache 2.0 license, except for parts that were contributed under the Vim license.

  • Contributions committed before b17d96 remain under the Vim license.

  • Contributions committed after b17d96 are licensed under Apache 2.0 unless those contributions were copied from Vim (identified in the commit logs by the vim-patch token).

See LICENSE for details.

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.