diff options
Diffstat (limited to 'runtime/doc/develop.txt')
-rw-r--r-- | runtime/doc/develop.txt | 48 |
1 files changed, 7 insertions, 41 deletions
diff --git a/runtime/doc/develop.txt b/runtime/doc/develop.txt index cd81236f32..bcf43142ad 100644 --- a/runtime/doc/develop.txt +++ b/runtime/doc/develop.txt @@ -6,19 +6,20 @@ Development of Nvim *development* -Nvim is open source software. Everybody is encouraged to contribute. - https://github.com/neovim/neovim/blob/master/CONTRIBUTING.md +This reference describes design constraints and guidelines, for developing +Nvim applications or Nvim itself. +Architecture and internal concepts are covered in src/nvim/README.md -See src/nvim/README.md for an overview of the source code. +Nvim is free and open source. Everybody is encouraged to contribute. + https://github.com/neovim/neovim/blob/master/CONTRIBUTING.md Type |gO| to see the table of contents. ============================================================================== Design goals *design-goals* -Most important things come first (roughly). - -Note that some items conflict; this is intentional. A balance must be found. +Most important things come first (roughly). Some items conflict; this is +intentional. A balance must be found. NVIM IS... IMPROVED *design-improved* @@ -81,41 +82,6 @@ include the kitchen sink... but it's good for plumbing." Developer guidelines *dev* -JARGON *dev-jargon* - -API client ~ -All external UIs and remote plugins (as opposed to regular Vim plugins) are -"clients" in general; but we call something an "API client" if its purpose is -to abstract or wrap the RPC API for the convenience of other applications -(just like a REST client or SDK such as boto3 for AWS: you can speak AWS REST -using an HTTP client like curl, but boto3 wraps that in a convenient python -interface). For example, the Nvim lua-client is an API client: - https://github.com/neovim/lua-client - -Host ~ -A plugin "host" is both a client (of the Nvim API) and a server (of an -external platform, e.g. python). It is a remote plugin that hosts other -plugins. - -Remote plugin ~ -Arbitrary code registered via |:UpdateRemotePlugins|, that runs in a separate -process and communicates with Nvim via the |api|. - -Window ~ -The word "window" is commonly used for several things: A window on the screen, -the xterm window, a window inside Vim to view a buffer. -To avoid confusion, other items that are sometimes called window have been -given another name. Here is an overview of the related items: - -screen The whole display. -shell The Vim application. This can cover the whole screen (e.g., - when running in a console) or part of it (xterm or GUI). -window View on a buffer. There can be several windows in Vim, - together with the command line, menubar, toolbar, etc. they - fit in the shell. -frame Windows are kept in a tree of frames. Each frame contains - a column, row, or window ("leaf" frame). - PROVIDERS *dev-provider* A goal of Nvim is to allow extension of the editor without special knowledge |