mirror of
https://github.com/neovim/neovim.git
synced 2025-09-06 03:18:16 +00:00
doc
This commit is contained in:
@@ -8,7 +8,7 @@ low-risk/isolated tasks:
|
|||||||
|
|
||||||
- Merge a [Vim patch].
|
- Merge a [Vim patch].
|
||||||
- Try a [complexity:low] issue.
|
- Try a [complexity:low] issue.
|
||||||
- Fix [clang-scan], [coverity](#coverity), and [PVS](#pvs-studio) warnings.
|
- Fix bugs found by [clang-scan], [coverity](#coverity), and [PVS](#pvs-studio).
|
||||||
|
|
||||||
Developer guidelines
|
Developer guidelines
|
||||||
--------------------
|
--------------------
|
||||||
@@ -115,8 +115,7 @@ QuickBuild uses this invocation:
|
|||||||
### Coverity
|
### Coverity
|
||||||
|
|
||||||
[Coverity](https://scan.coverity.com/projects/neovim-neovim) runs against the
|
[Coverity](https://scan.coverity.com/projects/neovim-neovim) runs against the
|
||||||
master build. If you want to view the defects, just request access at the
|
master build. To view the defects, just request access; you will be approved.
|
||||||
_Contributor_ level. An Admin will grant you permission.
|
|
||||||
|
|
||||||
Use this commit-message format for coverity fixes:
|
Use this commit-message format for coverity fixes:
|
||||||
|
|
||||||
@@ -126,8 +125,9 @@ where `<id>` is the Coverity ID (CID). For example see [#804](https://github.com
|
|||||||
|
|
||||||
### PVS-Studio
|
### PVS-Studio
|
||||||
|
|
||||||
Run `scripts/pvscheck.sh` to check the codebase with [PVS
|
View the [PVS analysis report](https://neovim.io/doc/reports/pvs/) to see bugs
|
||||||
Studio](https://www.viva64.com/en/pvs-studio/).
|
found by [PVS Studio](https://www.viva64.com/en/pvs-studio/).
|
||||||
|
You can run `scripts/pvscheck.sh` locally to run PVS on your machine.
|
||||||
|
|
||||||
Reviewing
|
Reviewing
|
||||||
---------
|
---------
|
||||||
|
47
README.md
47
README.md
@@ -8,13 +8,13 @@
|
|||||||
|
|
||||||
[](https://travis-ci.org/neovim/neovim)
|
[](https://travis-ci.org/neovim/neovim)
|
||||||
[](https://ci.appveyor.com/project/neovim/neovim/branch/master)
|
[](https://ci.appveyor.com/project/neovim/neovim/branch/master)
|
||||||
[](https://waffle.io/neovim/neovim)
|
|
||||||
[](https://coveralls.io/r/neovim/neovim)
|
[](https://coveralls.io/r/neovim/neovim)
|
||||||
[](https://scan.coverity.com/projects/2227)
|
[](https://scan.coverity.com/projects/2227)
|
||||||
[](https://neovim.io/doc/reports/clang)
|
[](https://neovim.io/doc/reports/clang)
|
||||||
[](https://neovim.io/doc/reports/pvs)
|
[](https://neovim.io/doc/reports/pvs)
|
||||||
|
|
||||||
<a href="https://buildd.debian.org/neovim"><img src="https://www.debian.org/logos/openlogo-nd-25.png" width="13" height="15">Debian</a>
|
<a href="https://buildd.debian.org/neovim"><img src="https://www.debian.org/logos/openlogo-nd-25.png" width="13" height="15">Debian</a>
|
||||||
|
[](https://github.com/neovim/neovim/releases/)
|
||||||
|
|
||||||
Neovim is a project that seeks to aggressively refactor Vim in order to:
|
Neovim is a project that seeks to aggressively refactor Vim in order to:
|
||||||
|
|
||||||
@@ -39,34 +39,41 @@ See [the wiki](https://github.com/neovim/neovim/wiki/Building-Neovim) for detail
|
|||||||
Install from package
|
Install from package
|
||||||
--------------------
|
--------------------
|
||||||
|
|
||||||
Packages are in [Homebrew], [Debian], [Ubuntu], [Fedora], [Arch Linux], and
|
Pre-built packages for Windows, macOS, and Linux are found at the
|
||||||
[more](https://github.com/neovim/neovim/wiki/Installing-Neovim).
|
[Releases](https://github.com/neovim/neovim/releases/) page.
|
||||||
|
|
||||||
|
Managed packages are in [Homebrew], [Debian], [Ubuntu], [Fedora], [Arch Linux],
|
||||||
|
and [more](https://github.com/neovim/neovim/wiki/Installing-Neovim)!
|
||||||
|
|
||||||
Project layout
|
Project layout
|
||||||
--------------
|
--------------
|
||||||
|
|
||||||
- `ci/`: Build server scripts
|
├─ ci/ Build server scripts
|
||||||
- `cmake/`: Build scripts
|
├─ cmake/ Build scripts
|
||||||
- `runtime/`: Application files
|
├─ runtime/ User plugins/docs
|
||||||
- [`src/`](src/nvim/README.md): Application source code
|
├─ src/ Source code
|
||||||
- `third-party/`: CMake sub-project to build third-party dependencies (if the
|
├─ third-party/ CMake subproject to build dependencies
|
||||||
`USE_BUNDLED_DEPS` flag is undefined or `USE_BUNDLED` CMake option is false).
|
└─ test/ Test code
|
||||||
- [`test/`](test/README.md): Test files
|
|
||||||
|
|
||||||
What's been done so far
|
- `third-party/` is activated if `USE_BUNDLED_DEPS` is undefined or the
|
||||||
-----------------------
|
`USE_BUNDLED` CMake option is true.
|
||||||
|
- [Source README](src/nvim/README.md)
|
||||||
|
- [Test README](test/README.md)
|
||||||
|
|
||||||
- RPC API based on [MessagePack](https://msgpack.org)
|
Features
|
||||||
- Embedded [terminal emulator](https://neovim.io/doc/user/nvim_terminal_emulator.html)
|
--------
|
||||||
|
|
||||||
|
- Modern [GUIs](https://github.com/neovim/neovim/wiki/Related-projects#gui)
|
||||||
|
- [API](https://github.com/neovim/neovim/wiki/Related-projects#api-clients)
|
||||||
|
access from any language including clojure, lisp, go, haskell, lua,
|
||||||
|
javascript, perl, python, ruby, rust.
|
||||||
|
- Embedded, scriptable [terminal emulator](https://neovim.io/doc/user/nvim_terminal_emulator.html)
|
||||||
- Asynchronous [job control](https://github.com/neovim/neovim/pull/2247)
|
- Asynchronous [job control](https://github.com/neovim/neovim/pull/2247)
|
||||||
- [Shared data (shada)](https://github.com/neovim/neovim/pull/2506) among multiple editor instances
|
- [Shared data (shada)](https://github.com/neovim/neovim/pull/2506) among multiple editor instances
|
||||||
- [XDG base directories](https://github.com/neovim/neovim/pull/3470) support
|
- [XDG base directories](https://github.com/neovim/neovim/pull/3470) support
|
||||||
- [libuv](https://github.com/libuv/libuv/)-based platform/OS layer
|
- Compatible with most Vim plugins, including Ruby and Python plugins.
|
||||||
- [Pushdown automaton](https://github.com/neovim/neovim/pull/3413) input model
|
|
||||||
- 1000s of new tests
|
|
||||||
- Legacy tests converted to Lua tests
|
|
||||||
|
|
||||||
See [`:help nvim-features`][nvim-features] for a comprehensive list.
|
See [`:help nvim-features`][nvim-features] for the full list!
|
||||||
|
|
||||||
License
|
License
|
||||||
-------
|
-------
|
||||||
@@ -97,7 +104,7 @@ See `LICENSE` for details.
|
|||||||
[license-commit]: https://github.com/neovim/neovim/commit/b17d9691a24099c9210289f16afb1a498a89d803
|
[license-commit]: https://github.com/neovim/neovim/commit/b17d9691a24099c9210289f16afb1a498a89d803
|
||||||
[nvim-features]: https://neovim.io/doc/user/vim_diff.html#nvim-features
|
[nvim-features]: https://neovim.io/doc/user/vim_diff.html#nvim-features
|
||||||
[Roadmap]: https://neovim.io/roadmap/
|
[Roadmap]: https://neovim.io/roadmap/
|
||||||
[advanced UIs]: https://github.com/neovim/neovim/wiki/Related-projects#gui-projects
|
[advanced UIs]: https://github.com/neovim/neovim/wiki/Related-projects#gui
|
||||||
[Homebrew]: https://github.com/neovim/homebrew-neovim#installation
|
[Homebrew]: https://github.com/neovim/homebrew-neovim#installation
|
||||||
[Debian]: https://packages.debian.org/testing/neovim
|
[Debian]: https://packages.debian.org/testing/neovim
|
||||||
[Ubuntu]: http://packages.ubuntu.com/search?keywords=neovim
|
[Ubuntu]: http://packages.ubuntu.com/search?keywords=neovim
|
||||||
|
@@ -85,9 +85,9 @@ Working intuitively and consistently is a major goal of Nvim. Examples:
|
|||||||
ARCHITECTURE ~
|
ARCHITECTURE ~
|
||||||
|
|
||||||
External plugins run in separate processes. |remote-plugin| This improves
|
External plugins run in separate processes. |remote-plugin| This improves
|
||||||
stability and allows those plugins to perform tasks without blocking the
|
stability and allows those plugins to work without blocking the editor. Even
|
||||||
editor. Even "legacy" Python and Ruby plugins which use the old Vim interfaces
|
"legacy" Python and Ruby plugins which use the old Vim interfaces (|if_py| and
|
||||||
(|if_py| and |if_ruby|) run out-of-process.
|
|if_ruby|) run out-of-process.
|
||||||
|
|
||||||
|
|
||||||
FEATURES ~
|
FEATURES ~
|
||||||
|
Reference in New Issue
Block a user