Vim-fork focused on extensibility and usability
Go to file
Justin M. Keyes cc7285823c eval_clear: free profile data
Memory leak exposed by new test added in #7444.

==38771==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 2400 byte(s) in 1 object(s) allocated from:
    0 0x51163d in realloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x51163d)
    1 0xfda51c in xrealloc /home/travis/build/neovim/neovim/src/nvim/memory.c:169:15
    2 0xda6802 in ga_grow /home/travis/build/neovim/neovim/src/nvim/garray.c:98:14
    3 0xb67ccd in script_line_start /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:3286:11
    4 0xb62885 in getsourceline /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:3110:5
    5 0xb5fbfd in do_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2951:15
    6 0xb5c484 in cmd_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2710:14
    7 0xb5c5b0 in ex_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2691:3
    8 0xb950b9 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2242:5
    9 0xb737e1 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:609:20
    10 0xb79ac5 in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:280:10
    11 0xed8a7b in exe_commands /home/travis/build/neovim/neovim/src/nvim/main.c:1684:5
    12 0xec6602 in main /home/travis/build/neovim/neovim/src/nvim/main.c:521:5
    13 0x2ae968600f44 in __libc_start_main /build/eglibc-SvCtMH/eglibc-2.19/csu/libc-start.c:287
2017-10-30 08:37:59 +01:00
busted/outputHandlers test/busted: eager-flushing TAP.lua handler 2017-07-29 23:50:29 +02:00
ci ci/travis: ignore pip3 failure 2017-09-10 14:14:00 +02:00
cmake cmake,bsd: Fix mandir to saner defaults. (#7417) 2017-10-21 02:36:26 +02:00
config build: linux does not always have execinfo.h (#7101) 2017-07-30 23:02:41 +02:00
contrib cmake: Remove custom "Dev" build-type. (#6932) 2017-06-29 09:29:40 +02:00
man 'guicursor': Empty means "block cursor in all modes". 2017-04-01 23:14:05 +02:00
runtime rpc: Don't delay notifications when request is pending (#6544) 2017-10-29 03:06:53 +01:00
scripts vim-patch.sh: Exclude testdir/ files from src/ file pruning 2017-09-27 08:20:43 -04:00
src eval_clear: free profile data 2017-10-30 08:37:59 +01:00
test rpc: Don't delay notifications when request is pending (#6544) 2017-10-29 03:06:53 +01:00
third-party third-party: Bump win32yank to v0.0.4 and install arch-specific binary 2017-07-14 16:11:52 -04:00
unicode Update unicode files 2017-06-29 17:46:29 -04:00
.editorconfig editorconfig: handle Vim help files (#7354) 2017-10-04 09:18:03 +02:00
.gitignore gitignore: cmake-build-debug (#7359) 2017-10-08 18:26:44 +02:00
.travis.yml travis: Move TSAN to last stage and allow failure 2017-08-13 10:01:39 -04:00
appveyor.yml ci/appveyor: modify compression options for cache 2017-10-01 12:17:26 +02:00
BACKERS.md Update backer URL 2015-11-11 19:50:33 -08:00
BSDmakefile build: show a hint for BSD make (#7275) 2017-09-16 10:54:49 +02:00
CMakeLists.txt build: set MIN_LOG_LEVEL correctly (#7419) 2017-10-21 02:30:21 +02:00
codecov.yml ci: Rename .codecov.yml → codecov.yml 2017-08-15 12:03:45 -04:00
CONTRIBUTING.md doc: how to enable ASan/UBSan 2017-07-29 18:51:54 +02:00
ISSUE_TEMPLATE.md doc: ISSUE_TEMPLATE.md 2017-07-08 14:59:06 +02:00
LICENSE LICENSE: add LuaJIT notice. #899 2014-06-30 13:59:56 -04:00
Makefile ci: Also lint lua code in src/nvim/lua 2017-05-25 16:50:06 +03:00
README.md doc: debian badge 2017-10-27 19:34:02 +02:00

Neovim

Wiki | Documentation | Twitter | Community | Gitter Chat

Travis Build Status AppVeyor Build status codecov Coverity Scan Build Clang Scan Build PVS-studio Check

Debian CI Downloads

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

Pre-built packages for Windows, macOS, and Linux are found at the Releases page.

Managed packages are in Homebrew, Debian, Ubuntu, Fedora, Arch Linux, Gentoo, and more!

Project layout

├─ ci/              build automation
├─ cmake/           build scripts
├─ runtime/         user plugins/docs
├─ src/             application source code (see src/nvim/README.md)
│  ├─ api/          API subsystem
│  ├─ eval/         VimL subsystem
│  ├─ event/        event-loop subsystem
│  ├─ generators/   code generation (pre-compilation)
│  ├─ lib/          generic data structures
│  ├─ lua/          lua subsystem
│  ├─ msgpack_rpc/  RPC subsystem
│  ├─ os/           low-level platform code
│  └─ tui/          built-in UI
├─ third-party/     cmake subproject to build dependencies
└─ test/            tests (see test/README.md)
  • To disable third-party/ specify USE_BUNDLED_DEPS=NO or USE_BUNDLED=NO (CMake option).

Features

See :help nvim-features for the full 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.