Commit Graph

2873 Commits

Author SHA1 Message Date
Thiago de Arruda
25ceadab37 tui: Remove support for overriding escape sequences with nvim options
- 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.
2015-02-18 10:46:20 -03:00
Thiago de Arruda
761ccba86f tui: Fix use after free(reported by clang static analyzer) 2015-02-18 10:31:36 -03:00
Thiago de Arruda
59fb8f8172 tui: Add support bracketed paste
Inspired by the vim-bracketed-paste plugin but adapted for the new TUI. Also
initialize some variables of type `Error` that were uninitialized
2015-02-18 09:07:16 -03:00
Thiago de Arruda
26371f4ccc tui: Fix to_status_line terminfo sequence for xterm
Moving the cursor to the status line(to set the title) requires a different
sequence for xterm than the one used by urxvt.
2015-02-17 23:09:36 -03:00
Thiago de Arruda
7ea91de054 tui: Fix background clear for some terminals
Some terminals will perform clearing functions using the current attributes.
Ensure the default attributes are set before clearing.
2015-02-17 23:09:36 -03:00
Justin M. Keyes
66a03a7385 fix rebase hiccup #1911 2015-02-17 01:10:49 -05:00
Justin M. Keyes
662b7227b5 Merge #1717 'TabNew, TabNewEntered, TabClosed' 2015-02-16 23:24:31 -05:00
Felipe Morales
3ffc5d81c3 Add TabClosed event
TabClosed is triggered when a tab page closes.
2015-02-16 23:24:31 -05:00
Felipe Morales
66d94869a0 Add TabNewEntered
TabNewEntered is triggered after vim has entered a buffer in new tab.
2015-02-16 23:24:30 -05:00
Felipe Morales
817be96be5 Add TabNew event
TabNew triggers when entering a new tab page, but not when entering an
already created one.
2015-02-16 23:24:30 -05:00
Thiago de Arruda
0429857689 Merge PR #1820 'Reimplement builtin terminal UI with termkey/unibilium' 2015-02-16 23:42:25 -03:00
Thiago de Arruda
40b7990553 test: Fix 051_highlight_spec.lua
- 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
2015-02-16 23:17:39 -03:00
Thiago de Arruda
419da839e0 cleanup: Remove unused functions and builtin termcaps 2015-02-16 23:17:39 -03:00
Thiago de Arruda
d8f3458ec7 syntax: Refactor to store all term and gui attributes independently
Now the attrentry_T structure will store all attributes in separate fields for
cterm and rgb UIs.
2015-02-16 23:17:39 -03:00
Thiago de Arruda
9a2dd7c498 ui: Rewrite the builtin terminal UI
Now all terminal-handling code was moved to src/nvim/tui, which implements a
new terminal UI based on libtermkey and unibilium
2015-02-16 23:17:39 -03:00
Thiago de Arruda
e0e41b30c6 ui: Remove/adapt some old code for a big UI refactor
- 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`)
2015-02-16 23:17:39 -03:00
Thiago de Arruda
6383ea6e8e ui: Remove redundant cursor_goto calls 2015-02-16 23:17:38 -03:00
Thiago de Arruda
d225349dc6 input: Remove input_buffer_{save,restore}
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).
2015-02-16 23:17:38 -03:00
Thiago de Arruda
e17f92eb29 input: Fix handle_mouse_event function
Ignore all keys that aren't prefixed with KS_EXTRA.
2015-02-16 23:17:38 -03:00
Thiago de Arruda
2b6ffa61bf input: Prefer keycodes in input_enqueue key translation
This is required to correctly handle certain keys such as <delete>
2015-02-16 23:17:38 -03:00
Thiago de Arruda
8f31ebc4f7 macro: Add MAX macro and rename min to MIN 2015-02-16 23:17:38 -03:00
Thiago de Arruda
98dca8a827 test: Increase default_screen_timeout when running on travis
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.
2015-02-16 23:17:38 -03:00
Thiago de Arruda
291e15c60a test: Remove unnecessary tests from viml_system_spec.lua
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).
2015-02-16 23:17:38 -03:00
Thiago de Arruda
e974b00283 test: Fix race condition in window_spec.lua
Without waiting for the 'gg' command to be processed, its possible that the
following assertion will fail.
2015-02-16 23:17:38 -03:00
Thiago de Arruda
e6208df73e test: Add synchronization helper for functional tests
The `wait` function will only return after all input has been processed by nvim.
It is useful to time assertions correctly.
2015-02-16 23:17:38 -03:00
Michael Reed
af46564dd6 Remove 'edcompatible' #1911
Closes #1902
2015-02-16 21:00:30 -05:00
Justin M. Keyes
3bb77befe5 Merge #1981 'treat NULL initialized vimscript string as api type String' 2015-02-16 20:13:55 -05:00
Björn Linse
f4f0f646c3 api: always return empty string as api type String 2015-02-16 20:13:54 -05:00
Björn Linse
f56d1dc838 test: NULL-initialized vimscript strings should eval to empty strings 2015-02-16 20:13:53 -05:00
Seth Woodworth
fd636fc6dc runtime: make the spellfile creation use .nvim folder #1990 2015-02-15 12:19:55 -05:00
Justin M. Keyes
1b055c54a0 FEAT_SIGNS: restore :signs wildmenu, and add test. 2015-02-15 02:49:59 -05:00
Felipe Morales
6e992876ea shadow previously set signs #1893 2015-02-13 14:56:43 -05:00
Justin M. Keyes
2d22e1f035 vim-patch:7.4.601 #1950
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
2015-02-12 23:21:09 -05:00
Justin M. Keyes
5483cb4e62 api/vim.c: use FOR_ALL_* sugar #1963 2015-02-12 23:00:57 -05:00
Thiago de Arruda
ec2c2994e6 Merge pull request #1977 from jakerr/api-exception
Discard exceptions once they are converted to API errors
2015-02-12 09:16:55 -03:00
Jake Kerr
9330579dcf Discard exceptions once they are converted to API errors
Fixes: #1976
2015-02-12 20:06:54 +09:00
John Szakmeister
f1f1f711c7 Merge pull request #1965 from jszakmeister/fix-fs-spec-test-for-freebsd
Fix an fs_spec test under FreeBSD and a symlinked home directory.
2015-02-11 19:45:26 -05:00
Eliseo Martínez
e177357fc8 Merge #1947: Fix coverity issues. (4) 2015-02-11 19:47:43 +01:00
Eliseo Martínez
bbfaa78dcd coverity/102149: Out-of-bounds access: FP.
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.
2015-02-11 19:10:36 +01:00
Thiago de Arruda
81d27d4c6b coverity/{68484,68485}: Read from pointer after free: RI.
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.
2015-02-11 19:10:36 +01:00
Eliseo Martínez
77ace65bdc coverity/13773: Resource leak: RI.
Problem    : Resource leak @ 3324.
Diagnostic : Real issue.
Rationale  : Stack is not being freed on error cases.
Resolution : Free stack before invoking EMSG_RET_NULL.
2015-02-11 19:10:36 +01:00
Eliseo Martínez
d7038127ca coverity/13764: Out-of-bounds read: RI.
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.
2015-02-11 19:10:36 +01:00
Eliseo Martínez
cf8e175cf5 coverity/13762: Out-of-bounds read: RI.
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.
2015-02-11 19:10:36 +01:00
Thiago de Arruda
5976251bb9 Merge PR #1966 'Remove libtickit as a project dependency' 2015-02-11 13:19:54 -03:00
Thiago de Arruda
9e75b2e18b deps: Remove libtickit as a project dependency
Also update libtermkey version and fix the pkg-config search scripts.
2015-02-11 12:40:50 -03:00
John Szakmeister
dd12238329 Merge pull request #1958 from jszakmeister/fix-unittest-header-parsing-on-freebsd
unittests: define _Thread_local to be nothing
2015-02-11 04:04:54 -05:00
Thiago de Arruda
710af834d6 Merge PR #1973 'Add Luajit compilation flags to improve debugging' 2015-02-10 11:20:46 -03:00
Thiago de Arruda
daba57c512 deps: Update lua-client
The new version sets a custom panic function that prints the lua traceback
before exiting.
2015-02-10 10:57:15 -03:00
Thiago de Arruda
4c92a0baca deps: Add Luajit compilation flags to improve debugging 2015-02-10 09:57:24 -03:00
John Szakmeister
b0044fa5c3 Merge pull request #1922 from jszakmeister/fix-build-under-opensuse-x64
Fix #1920: Unable to build on openSUSE 13.2 x64
2015-02-10 05:46:05 -05:00