Vim-fork focused on extensibility and usability
Go to file
ZyX a32db8ed19 eval/typval: Add missing includes, also add a script to find them
Contains unfinished attempt to integrate IWYU (ref #549). To finish it different
job should be done, specifically:

- Instead of feeding IWYU with modified file a mirror source tree should be
  created with the help of CMake which will contain modified sources. This
  solves the problem with IWYU thinking that `*.generated.h` headers should be
  included in place of `*` headers.
- Build IWYU as all other third-party utilities.
- Make modified sources avoid problems with `nvim/func_attr.h` includes and
  various related tricks.

Current script may only be used for manual checks like this:

    ./scripts/check-includes.py \
        --generated-includes-dir build/include \
        --generated-includes-dir build/src/nvim/auto \
        --file src/nvim/eval/typval.c \
        -- -Isrc -Ibuild/include -Ibuild/src/nvim/auto \
           -DINCLUDE_GENERATED_DECLARATIONS

(it is also somewhat fine with `--file src/nvim/eval/typval.h`). I have no idea
why (I mean, why developer think that these lines are needed, why they are
suggested is pretty obvious: because there is typedef which mentions them before
structs are defined), but for typval.h it reports, among other things, that it
should add lines

    struct dictvar_S;
    struct listitem_S;
    struct listvar_S;
    struct listwatch_S;
2017-03-29 10:08:06 +03:00
.ci ci: Check that #include "*.h" works as a single include 2017-03-27 13:51:05 +02: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 eval: Remove eval_expr() completely 2017-03-29 10:08:05 +03:00
scripts eval/typval: Add missing includes, also add a script to find them 2017-03-29 10:08:06 +03:00
src eval/typval: Add missing includes, also add a script to find them 2017-03-29 10:08:06 +03:00
test eval: Move copy_tv to eval/typval 2017-03-29 10:08:06 +03:00
third-party build: Rename NEOVIM_* to NVIM_* 2017-03-27 14:27:20 +02: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 api: bump api level to 2 2017-03-15 15:01:06 +01: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 ci: Check that #include "*.h" works as a single include 2017-03-27 13:51:05 +02: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.