Thiago de Arruda
dc18fa256f
test: Add more functional test to cover new code
...
- emulate gui_running and terminal colors
- scrolling/clearing regions
- mouse wheel scrolling
- setting icon/title
- :stop/:suspend
- screen resize
2015-01-15 09:01:25 -03:00
Thiago de Arruda
c51c0950d3
screen: Fix screen_resize to consider minimum screen size
2015-01-15 09:01:16 -03:00
Thiago de Arruda
361c2290b6
input: Fix check for mouse coordinates
...
Must check for EOF which will result in row/col being uninitialized.
2015-01-15 09:00:38 -03:00
Thiago de Arruda
7b537ffda9
input: Read row/col position when processing mouse wheel
2015-01-14 16:59:54 -03:00
Thiago de Arruda
8596776bf6
ui: Implement set_{title,icon}
2015-01-14 08:31:20 -03:00
Thiago de Arruda
ea771ac559
test: Add Screen.debug for inspecting screens of hanging tests
2015-01-13 21:21:20 -03:00
Thiago de Arruda
8bff79d3fd
term: Fix shell_resized for abstract_ui
2015-01-13 21:21:20 -03:00
Thiago de Arruda
6f7db326cb
screen: Fix highlight reset for abstract_ui
2015-01-13 21:21:20 -03:00
Thiago de Arruda
3e9c55b51b
main: Fix color schemes for abstract_ui
...
- Set 't_Co' to 256 at startup. The value can be changed by the user for
compatibility with terminals that are less capable.
- `has('gui_running')` will return 1 if at least one rgb UI is attached.
Even though these changes are hacky, they are necessary to make the transition
to the new UI architecture smoother.
2015-01-13 21:21:20 -03:00
Thiago de Arruda
8f3e61a043
syntax: Refresh UI when the color scheme changes
2015-01-13 21:21:20 -03:00
Thiago de Arruda
784bda0704
ui: Fix redraw bug caused by race conditions with remote clients
...
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.
2015-01-13 21:21:20 -03:00
Thiago de Arruda
f3666e55a4
shell: When executing command, use screen functions to display output
...
By calling ui_write directly, the internal screen isn't updated and invalid
bytes aren't handled, which breaks the abstract UI model.
2015-01-13 21:21:20 -03:00
Thiago de Arruda
dac1cee907
ui: Use ui_linefeed to handle line breaks correctly
...
ui_linefeed will scroll the screen when it becomes full. This can happen when
executing external commands.
2015-01-13 21:21:20 -03:00
Thiago de Arruda
b4f516a36a
ui: Fix out_flush/ui_write behavior to always flush for abstract_ui
2015-01-13 21:21:19 -03:00
Thiago de Arruda
df1f62194e
channel: Make pending_requests a field of the Channel type
...
This is required to send redraw notifications while a msgpack-rpc call is being
performed by another channel.
2015-01-13 21:21:19 -03:00
Thiago de Arruda
2db4049274
ui: Fix :suspend
command for remote UIs
...
Forward the command to the remote UI and flush immediately. The
semantics/handling is UI-specific.
2015-01-13 21:21:06 -03:00
Thiago de Arruda
a282d06a67
ui: Don't parse abstract_ui codes if there are no attached UIs
2015-01-13 11:54:52 -03:00
Thiago de Arruda
5d2f923fcf
channel: Free channels created from libuv streams
2015-01-13 11:54:52 -03:00
Thiago de Arruda
29bc6dfabd
ui: Add 'rgb' parameter to ui_attach
...
When set to false, nvim will send cterm color numbers with `highlight_set`.
2015-01-13 11:54:52 -03:00
Thiago de Arruda
631099d02a
syntax: Take rgb fg/bg when allocating cterm attr number
2015-01-13 11:54:52 -03:00
Thiago de Arruda
46b4764f7a
ui: Merge standout and reverse into one attribute
2015-01-13 11:54:52 -03:00
Thiago de Arruda
3e83e44792
input: Ignore invalid "<" key sequences
...
Ignoring invalid key sequences simplifies input handling in UIs. The only
downside is having to use "<lt>" everytime a "<" is needed on functional tests.
2015-01-13 11:54:51 -03:00
Thiago de Arruda
17b211d288
test: Remove unnecessary command from highlight_spec
2015-01-13 11:54:51 -03:00
Thiago de Arruda
926503c84e
ui: Fix ui resizing and change some method names
2015-01-13 11:54:28 -03:00
Thiago de Arruda
8c12292a61
remote_ui: Move handler registration to remote_ui.c
...
Also disable deferral of attach_ui
2015-01-13 11:53:27 -03:00
Thiago de Arruda
f0a944d3cf
ui: Add mising T_CSV code to abstract_ui termcap
...
This code is required for screen.c to set a vertical scroll region, which is a
great optimization when scrolling vertically split windows.
2015-01-13 11:53:27 -03:00
Thiago de Arruda
6c447848bb
ui: Increase cursor row when text being rendered would cross its limit
2015-01-13 11:53:27 -03:00
Thiago de Arruda
fc8f768690
ui: Add update_fg/update_bg methods
...
It is necessary to notify the UI when the default background/foreground colors
change in order to render correctly.
2015-01-13 11:53:27 -03:00
Thiago de Arruda
1ccbd94bee
test: Fix clear/eol_clear in screen.lua
...
These functions need to operate on the current the scroll region.
2015-01-13 11:53:27 -03:00
Justin M. Keyes
9b4f6fbd33
Merge pull request #1782 from fwalch/small-patches
...
vim-patch: Multiple small patches
2015-01-13 09:38:19 -05:00
Justin M. Keyes
a99d33ad9a
Merge pull request #1801 from Pyrohh/qnx_cleanup
...
Remove QNX/pterm remnants
2015-01-13 00:46:17 -05:00
Justin M. Keyes
9c090e9329
Merge pull request #1792 from fwalch/clint_remove-rand_r
...
Linting: Recommend os_* instead of POSIX functions.
2015-01-12 23:50:08 -05:00
Justin M. Keyes
9d0be9604e
Merge pull request #1804 from neovim/revert-1657-abstract-ui-fixes
...
Revert "[WIP] "abstract_ui" fixes and improvements"
2015-01-12 10:15:13 -05:00
Justin M. Keyes
d7e18b5c95
Revert "[WIP] "abstract_ui" fixes and improvements"
2015-01-12 10:14:52 -05:00
Justin M. Keyes
4c55c34efa
Merge pull request #1657 from tarruda/abstract-ui-fixes
...
[WIP] "abstract_ui" fixes and improvements
2015-01-12 10:13:51 -05:00
Thiago de Arruda
62c1daffe0
syntax: Refresh UI when the color scheme changes
2015-01-12 10:28:32 -03:00
Thiago de Arruda
a16cd73ead
ui: Fix redraw bug caused by race conditions with remote clients
...
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.
2015-01-12 09:47:42 -03:00
Thiago de Arruda
418a49f7f1
shell: When executing command, use screen functions to display output
...
By calling ui_write directly, the internal screen isn't updated and invalid
bytes aren't handled, which breaks the abstract UI model.
2015-01-12 09:47:41 -03:00
Thiago de Arruda
7703fd328c
ui: Use ui_linefeed to handle line breaks correctly
...
ui_linefeed will scroll the screen when it becomes full. This can happen when
executing external commands.
2015-01-12 09:47:41 -03:00
Thiago de Arruda
e1da130ca9
ui: Fix out_flush/ui_write behavior to always flush for abstract_ui
2015-01-12 09:47:41 -03:00
Thiago de Arruda
e3b2907f2f
channel: Make pending_requests a field of the Channel type
...
This is required to send redraw notifications while a msgpack-rpc call is being
performed by another channel.
2015-01-12 09:47:41 -03:00
Thiago de Arruda
d992213678
ui: Reimplement :suspend
command for remote UIs.
...
- Remove suspend method from the UI protocol
- Handle `:suspend` by disconnecting the last channel that sent a request to
nvim.
2015-01-12 09:47:41 -03:00
Thiago de Arruda
abc147a977
ui: Don't parse abstract_ui codes if there are no attached UIs
2015-01-12 09:47:41 -03:00
Thiago de Arruda
cba9162215
channel: Free channels created from libuv streams
2015-01-12 09:47:41 -03:00
Thiago de Arruda
74c247f75b
ui: Add 'rgb' parameter to ui_attach
...
When set to false, nvim will send cterm color numbers with `highlight_set`.
2015-01-12 09:47:41 -03:00
Thiago de Arruda
a8fe32040b
ui: Dont resize screen if no UIs are attached
...
This prevents a race condition when a UI attaches early in the program and can
receive redraw commands for a invalid screen
2015-01-12 09:47:41 -03:00
Thiago de Arruda
869c734890
screen: Fix bug that causes separator to always be redraw for utf8
2015-01-12 09:47:41 -03:00
Thiago de Arruda
a4525bc523
screen: Remove abstract_ui test in reset_cterm_colors
2015-01-12 09:47:40 -03:00
Thiago de Arruda
4a28785c6e
runtime: Fix plugin/matchparen.vim for abstract_ui
2015-01-12 09:47:40 -03:00
Thiago de Arruda
c1252a5615
syntax: Take rgb fg/bg when allocating cterm attr number
2015-01-12 09:47:40 -03:00