| Commit message (Collapse) | Author | Age |
|\
| |
| | |
[WIP] "abstract_ui" fixes and improvements
|
| | |
|
| |
| |
| |
| |
| | |
Before sending a resize command to the UIs, flush the current output buffer to
ensure no redraw commands for a screen with invalid size are processed.
|
| |
| |
| |
| |
| | |
By calling ui_write directly, the internal screen isn't updated and invalid
bytes aren't handled, which breaks the abstract UI model.
|
| |
| |
| |
| |
| | |
ui_linefeed will scroll the screen when it becomes full. This can happen when
executing external commands.
|
| | |
|
| |
| |
| |
| |
| | |
This is required to send redraw notifications while a msgpack-rpc call is being
performed by another channel.
|
| |
| |
| |
| |
| |
| | |
- Remove suspend method from the UI protocol
- Handle `:suspend` by disconnecting the last channel that sent a request to
nvim.
|
| | |
|
| | |
|
| |
| |
| |
| | |
When set to false, nvim will send cterm color numbers with `highlight_set`.
|
| |
| |
| |
| |
| | |
This prevents a race condition when a UI attaches early in the program and can
receive redraw commands for a invalid screen
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
Ignoring invalid key sequences simplifies input handling in UIs. The only
downside is having to use "<lt>" everytime a "<" is needed on functional tests.
|
| | |
|
| | |
|
| |
| |
| |
| | |
Also don't defer attach_ui handling
|
| |
| |
| |
| |
| | |
t_colors should not be checked when abstract_ui is active, because nvim UI is
not limited to a terminal.
|
| |
| |
| |
| |
| | |
This code is required for screen.c to set a vertical scroll region, which is a
great optimization when scrolling vertically split windows.
|
| | |
|
| |
| |
| |
| |
| | |
It is necessary to notify the UI when the default background/foreground colors
change in order to render correctly.
|
| |
| |
| |
| |
| | |
It should only clear to the end of the current scroll region(this is the
behavior expected by nvim)
|
|\ \
| | |
| | | |
Misc. improvements to job control & msgpack rpc docs [ci skip]
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
- Rewrote a few sentences for clarity/brevity
- Various spelling/grammar fixes
- Mention exact time before SIGKILL (mentioned in /src/nvim/os/job.c)
- Reflowed all changed paragraphs accordingly
- Standardize indentation level
- Remove trailing whitespace
- Job control example:
- Don't buffer output (echo -n); just print a new line for every
update.
- Use single quotes around jobsend() arguments to allow for proper
interpretation of newline characters.
- Sleep 1 second between updates instead of 2; 10 seconds is plenty of
time for such a simple example.
|
|/ /
| |
| |
| |
| |
| | |
- Remove note about how {channel} is rpcstop's only argument; just
mention {channel} at the beginning like the other descriptions.
- Small grammar fixes
|
|\ \
| |/
|/| |
Some suggested cleanup after #1788.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
At 31c8440fee0bd694093d83af5dee20e3c3dc876c, some variables were changed
from int to long, to avoid -Wconversion errors. Long type was the
appropiate one because getdigits() was returning a long.
Now that we have get_int_digits() and get_long_digits(), we can revert
mentioned variables to int, and use get_int_digits() without having
-Wconversion warnings.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem : getdigits() currently returns a long, but at most places,
return value is casted (unsafely) into an int. Making casts
safe would introduce a lot of fuss in the form of assertions
checking for limits.
Note : We cannot just change return type to int, because, at some
places, legitimate long values are used. For example, in
diff.c, for line numbers.
Solution : Introduce new functions:
- get_digits() : Gets an intmax_t from a string.
- get_int_digits() : Wrapper for ints.
- get_long_digits() : Wrapper for longs.
And replace getdigits() invocations by the appropiate
wrapper invocations.
|
| | |
|
| | |
|
| | |
|
|/
|
|
|
| |
Assert will fail on first loop iteration (in that case,
prtpos.bytes_printed is 0).
|
|\
| |
| | |
Speed up garbage collection (Issue 1687).
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
For garbage collection all lists are kept in first_list, a list of all
lists.
free_unref_items() searches through first_list and removes unreferenced
lists from it (by calling list_free(..., FALSE)). But after a list was
removed, the search continues from the beginning of first_list (not sure
how many lists were really removed and where to continue in first_list).
This is not necessary anymore since vim-patch 7.0.135, because a call to
list_free(...,FALSE) makes sure, that no other lists (and dictionaries)
are freed. So we always know, that the next list in first_list is
still valid (allocated or NULL) and can be used to continue the search.
Likewise for dictionaries.
Original patch by Ariya Mizutani
https://groups.google.com/forum/#!searchin/vim_dev/GC/vim_dev/DBYOdHQWvqY/1WH04_dwETIJ
|
|\ \
| | |
| | | |
Remove project-specific integer types: long_u. (4)
|
| | |
| | |
| | |
| | |
| | | |
get_long_from_buf() seems not to be used anywhere, and is the only place
where instances of long_u remain at term.c.
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
- <color_related_stuff>: long_u --> uint32_t
Everywhere long_u was used to hold a color value.
Color values are supposed to be 32 bits at most.
Supported architectures have 32 bits ints, so we could have used plain
ints. But this wouldn't be future-proof, and would be wasteful if a
future architecture has ints bigger than 32 bits.
So, uint32_t is perfect to achieve optimal packing no matter the
architecture.
- bytes_to_print/bytes_printed: long_u --> size_t
Seems like the correct thing, and gets rid of some casts.
|
|/ / |
|
|\ \ |
|
|/ / |
|
|\ \
| | |
| | | |
Fix coverity issues. (2)
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem : Out-of-bound read from a buffer.
Diagnostic : False positive.
Rationale : nv_max_linear should always be less than nv_cmd_idx size
(NV_CMDS_SIZE).
Resolution : Assert rationale.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem : Out-of-bounds-write to a buffer.
Diagnostic : False positive.
Diagnostic : Suggested error location is under isupper(c) condition,
which makes suggested error impossible. Coverity just fails
to take isupper() postcondition into account.
Resolution : Assert isupper() postcondition.
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| | |
Problem : Out-of-bounds read from a buffer.
Diagnostic : False positive.
Rationale : Suggested error path implies isupper(*str) being true,
which makes error vanish. Coverity just fails to take into
account isupper() postcondition.
Resolution : Assert isupper() postcondition.
|