Even when this was finally removed 6 months ago in b2b920f, it had
already been disabled for a while. Due to this, just remove all remnants
of the option as opposed to putting a placeholder like what was done for
'shortname'and 'cryptmethod'.
Instead of using classic cterm color numbers and attributes, treat "abstract_ui"
as a GUI: Pass rgb color numbers and gui attributes when the "highlight_set" UI
method is called. The terminal UI will have to translate RGB color information
to an appropriate color number, and the "term"/"cterm" :highlight keys will
eventually be deprecated.
This is how Nvim behaves when the "abstract_ui" termcap is activated:
- No data is written/read to stdout/stdin by default.
- Instead of sending data to stdout, ui_write will parse the termcap codes
and invoke dispatch functions in the ui.c module.
- The dispatch functions will forward the calls to all attached UI
instances(each UI instance is an implementation of the UI layer and is
registered with ui_attach).
- Like with the "builtin_gui" termcap, "abstract_ui" does not contain any key
sequences. Instead, vim key strings(<cr>, <esc>, etc) are parsed directly by
input_enqueue and the translated strings are pushed to the input buffer.
With this new input model, its not possible to send mouse events yet. Thats
because mouse sequence parsing happens in term.c/check_termcodes which must
return early when "abstract_ui" is activated.
- Improved wording in a few places for clarity
- Various capitalization/grammar fixes
- Change references to Neovim as 'editor' to 'Nvim'
- Be consistent regarding utilization of vim's documentation features,
e.g. unnamedclip -> |unnamedclip|
- Reflowed all changed paragraphs accordingly
- Add spaces before parentheses
- Remove trailing whitespace
- Standardize single spaces after periods. Vim's docs use two for the
most part, but Nvim's use one mainly, so just follow Nvim's conventions
Problem : Dereference of null pointer @ 179.
Diagnostic : False positive.
Rationale : Error occurs if `s` paramater is null, which should not
happen.
Resolution : Declare parameter as non null.
Problem : Dereference of null pointer @ 3247.
Diagnostic : Multithreading issue.
Rationale : Problem only occurs if global `ctrl_x_mode` is modified
while calling function is executing.
Solution : Use local copy instead of global.
Shell command output was broken in @8a5a8db, which refactored nvim to no longer
switch to cooked mode(linefeeds are processed differently).
Fix the problem by refactoring write_output to accept to extra arguments that
control the flushing behavior and where data will be written to: buffer or
directly to the screen.