| Commit message (Collapse) | Author | Age |
... | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
- Add xterm/iterm sequences for changing cursor shape(with tmux wrapping).
Enabled by setting the NVIM_TUI_ENABLE_CURSOR_SHAPE environment variable.
- Remove nvim_override parameter from unibi_out. In the future another way of
overriding the terminal strings will be added.
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
Inspired by the vim-bracketed-paste plugin but adapted for the new TUI. Also
initialize some variables of type `Error` that were uninitialized
|
| | |
| | |
| | |
| | |
| | | |
Moving the cursor to the status line(to set the title) requires a different
sequence for xterm than the one used by urxvt.
|
|/ /
| |
| |
| |
| | |
Some terminals will perform clearing functions using the current attributes.
Ensure the default attributes are set before clearing.
|
| | |
|
|\ \ |
|
| | |
| | |
| | |
| | | |
TabClosed is triggered when a tab page closes.
|
| | |
| | |
| | |
| | | |
TabNewEntered is triggered after vim has entered a buffer in new tab.
|
|/ /
| |
| |
| |
| | |
TabNew triggers when entering a new tab page, but not when entering an
already created one.
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | | |
- The syntax `gui=` is invalid when setting properties of highlight group.
- Wait for the initial "-- More --" prompt before continuing. Required to avoid
a race condition
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
Now the attrentry_T structure will store all attributes in separate fields for
cterm and rgb UIs.
|
| | |
| | |
| | |
| | |
| | | |
Now all terminal-handling code was moved to src/nvim/tui, which implements a
new terminal UI based on libtermkey and unibilium
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
- Remove abstract_ui global, now it is always active
- Remove some terminal handling code
- Remove unused functions
- Remove HAVE_TGETENT/TERMINFO/TERMIOS/IOCTL #ifdefs
- Remove tgetent/terminfo from version.c
- Remove curses/terminfo dependencies
- Only start/stop termcap when starting/exiting the program
- msg_use_printf will return true if there are no attached UIs(
messages will be written to stdout)
- Remove `ex_winpos`(implement `:winpos` with `ex_ni`)
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The input buffer is only used for data that really came from another process and
is only visible to os/input.c. Remove the input_buffer_{save,restore} functions,
they are not necessary(Also can result in problems if data comes while the
typeahead is saved).
|
| | |
| | |
| | |
| | | |
Ignore all keys that aren't prefixed with KS_EXTRA.
|
| | |
| | |
| | |
| | | |
This is required to correctly handle certain keys such as <delete>
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | | |
Some screen tests such as system/ctrl+c(viml_system_spec.lua) can take some time
to respond(default kill timeout is 2 seconds for an interrupted job) and fail
when running under a slow environment such as travis.
|
| | |
| | |
| | |
| | |
| | |
| | | |
The `system` function is never executed with these tests because the ctrl+c is
queued with the input string that calls it(The `process_interrupts` function
will destroy all previous input when a ctrl+c is found).
|
| | |
| | |
| | |
| | |
| | | |
Without waiting for the 'gg' command to be processed, its possible that the
following assertion will fail.
|
|/ /
| |
| |
| |
| | |
The `wait` function will only return after all input has been processed by nvim.
It is useful to time assertions correctly.
|
| |
| |
| |
| | |
Closes #1902
|
|\ \ |
|
| | | |
|
|/ / |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
Problem: It is not possible to have feedkeys() insert characters.
Solution: Add the 'i' flag.
https://code.google.com/p/vim/source/detail?r=v7-4-601
|
| | |
|
|\ \
| | |
| | | |
Discard exceptions once they are converted to API errors
|
|/ /
| |
| |
| | |
Fixes: #1976
|
|\ \
| | |
| | | |
Fix an fs_spec test under FreeBSD and a symlinked home directory.
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| | |
It turns out the FreeBSD 10 VM has a symlink for the home directory to
/usr/home. Unfortunately, this breaks the test as arg[0] may not have
the symlink resolved, but the path returned from the exe() call will.
As a result, the comparison fails, even though the result is correct.
Let's fix this by running the absolute path through exe() too, and then
comparing the results.
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem : Out-of-bounds access @ 5815.
Diagnostic : False positive.
Rationale : Error occurs when event_name2nr() returns NUM_EVENTS, which
means an event with that name was not found. That cannot
happen, as previous check using find_end_event() @ 5744
ensures event name exists.
Resolution : Assert event_name2nr() result is less thatn NUM_EVENTS.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem : Read from pointer after free @ {242, 391}.
Diagnostic : Real issues.
Rationale : Channel gets indeed freed on error case, producing
incorrect accesses to freed pointer later on.
Resolution : Implement reference counting mechanism to know when to free
channel.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem : Resource leak @ 3324.
Diagnostic : Real issue.
Rationale : Stack is not being freed on error cases.
Resolution : Free stack before invoking EMSG_RET_NULL.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem : Out-of-bounds read @ 9514.
Diagnostic : Real issue.
Rationale : PFD_NOTSPECIAL (253) is defined as the maximum not-special
value a prefix can have. But stack (and other) arrays are
defined as having MAXWLEN (250) items.
Resolution : Define MAXWLEN = 254.
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem : Out-of-bounds read @ 2213.
Diagnostic : Real issue.
Rationale : Error occurs if cmap == ARRAY_SIZE(prt_ps_mbfonts),
but code takes the `if (prt_out_mbyte)` branch. That's it,
if a matching encoding is found but not a matching charset.
In that case, the first matching encoding is used.
Resolution : Remember the value of cmap for the first matching encoding.
Reset cmap to that value if first matching encoding is
going to be used.
|
|\ \ |
|
|/ /
| |
| |
| | |
Also update libtermkey version and fix the pkg-config search scripts.
|
|\ \
| | |
| | |
| | |
| | | |
jszakmeister/fix-unittest-header-parsing-on-freebsd
unittests: define _Thread_local to be nothing
|
| |/
| |
| |
| |
| | |
This helps the LuaJIT ffi module to parse the header correctly.
Otherwise, the whole suite of tests fail.
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | | |
The new version sets a custom panic function that prints the lua traceback
before exiting.
|