aboutsummaryrefslogtreecommitdiff
path: root/runtime/doc/develop.txt
diff options
context:
space:
mode:
authorJustin M. Keyes <justinkz@gmail.com>2018-06-28 00:48:17 +0200
committerGitHub <noreply@github.com>2018-06-28 00:48:17 +0200
commit166aaf178cce457381e80f0e5230a0f941f0e17c (patch)
treefff0bc2f99751c2e26c44481746674541f2744d1 /runtime/doc/develop.txt
parentb40f87cdf50e6a76a7964bbecab51ab49856e336 (diff)
downloadrneovim-166aaf178cce457381e80f0e5230a0f941f0e17c.tar.gz
rneovim-166aaf178cce457381e80f0e5230a0f941f0e17c.tar.bz2
rneovim-166aaf178cce457381e80f0e5230a0f941f0e17c.zip
doc (#8652)
Diffstat (limited to 'runtime/doc/develop.txt')
-rw-r--r--runtime/doc/develop.txt22
1 files changed, 9 insertions, 13 deletions
diff --git a/runtime/doc/develop.txt b/runtime/doc/develop.txt
index 689f720583..b3b60cbab8 100644
--- a/runtime/doc/develop.txt
+++ b/runtime/doc/develop.txt
@@ -262,26 +262,22 @@ C project source, too. https://github.com/libmpack/libmpack/
EXTERNAL UI *dev-ui*
-Compatibility ~
External UIs should be aware of the |api-contract|. In particular, future
versions of Nvim may add new items to existing events. The API is strongly
-backwards-compatible, but clients must not break if new fields are added to
-existing events.
+backwards-compatible, but clients must not break if new (optional) fields are
+added to existing events.
-Common Features ~
External UIs are expected to implement these common features:
-- Cursor style (shape, color) should respond to the 'guicursor' properties
+- Cursor style (shape, color) should conform to the 'guicursor' properties
delivered with the mode_info_set UI event.
- Send the ALT/META ("Option" on macOS) key as a |<M-| chord.
- Send the "super" key (Windows key, Apple key) as a |<D-| chord.
-- Avoid mappings that conflict with Nvim defaults. GUIs have many new chords
- like <C-,> <C-Enter> <C-S-x> <D-x> and patterns like "shift shift", which
- don't conflict with typical Nvim mappings.
-
-Implementation ~
-- UI-related options ('guifont', 'ambiwidth', …) are published in the
- "option_set" |ui-global| event. The event is triggered when the UI first
- connects to Nvim and whenever an option is changed by the user or a plugin.
+- Avoid mappings that conflict with the Nvim keymap-space; GUIs have many new
+ chords (<C-,> <C-Enter> <C-S-x> <D-x>) and patterns ("shift shift") that do
+ not potentially conflict with Nvim defaults, plugins, etc.
+- Consider the "option_set" |ui-global| event as a hint for other GUI
+ behaviors. UI-related options ('guifont', 'ambiwidth', …) are published in
+ this event.
vim:tw=78:ts=8:ft=help:norl: