Commit Graph

8903 Commits

Author SHA1 Message Date
Jonathan de Boyne Pollard
5b07ca1dfd tui: Use what scrolling PuTTY has.
PuTTY does not implement DECLRMM or DECSLRM, but it does implement DECSTBM.
So allow using PuTTY terminal scrolling when the scroll rectangle is the
full width of the terminal.
2017-06-03 18:53:27 +01:00
Jonathan de Boyne Pollard
dbc25f5a87 tui: Optimize cursor motions
Instead of emitting CUP in several places each with their own poor local
optimizations, funnel all cursor motion through a central place.

This central function performs the same optimization for every place that
needs to move the cursor, and implements a better set of optimizations:

* Emit CUU/CUD/CUF/CUB instad of CUP when they are likely shorter.
* Use BS and LF when they are shorter than CUB and CUD.
* Use CR for quick returns to column zero.
* If printing the next few characters is shorter than a rightwards motion,
  then just write out the characters.
2017-06-03 18:53:27 +01:00
Jonathan de Boyne Pollard
d711bb84e6 tui: Eliminate superfluous SGR resets.
Track whether the terminal is in no attribute mode, assuming that it starts
this way, and do not attempt to reset back to that mode if already in it.
2017-06-03 18:53:27 +01:00
Jonathan de Boyne Pollard
5e5914655b tui: document fix_terminfo()'s several tasks 2017-06-03 18:53:27 +01:00
Jonathan de Boyne Pollard
7821eef258 Separate 16- and 256- colour control sequences and tidy up some redundancy. 2017-06-03 18:53:27 +01:00
Jonathan de Boyne Pollard
d5468d3cde Change TUI resize to use an extended terminal capability.
... rather than hardwiring the string and testing the terminal
type every time the screen is re-sized.
2017-06-03 18:53:27 +01:00
Björn Linse
3f553ac0b9 lint: fix indentation of FUNC_ATTR lines 2017-06-03 08:17:22 +02:00
Björn Linse
f3d8502115 clint: check FUNC_ATTR lines to have 2-space indent 2017-06-03 08:17:22 +02:00
Jonas Stein
fd07250e6c doc: README.md (#6839) 2017-06-02 23:45:32 +02:00
Jonathan de Boyne Pollard
838277e28a test: fix bashisms (#6791) 2017-06-01 00:46:00 +02:00
Justin M. Keyes
133f8bc628 Merge #4700 from AdnoC/keep-default-register 2017-05-31 23:43:40 +02:00
Jan Viljanen
c1026ff4b3 build: LuaRocks 2.4.2 #6059
LuaRocks 2.3 and onwards changed the /P option to no longer include the
version number which made newer releases of LuaRocks fail when compiling
on Windows.
2017-05-31 23:13:47 +02:00
AdnoC
2f2eeb19ba shada: Add default value for is_unnamed 2017-05-31 13:31:06 -04:00
AdnoC
745bac562d eval.c: Ignore unnamed register error in f_setreg
The error case is already handled and an appropriate error message is
already printed.
2017-05-31 13:31:06 -04:00
AdnoC
5908f562df test: Fix and add cases for unnamed register
Also:

Add ru to shada tests with all keys

Add test for unset unnamed and register 0
2017-05-31 13:31:05 -04:00
AdnoC
0c3dea5c4d style/lint 2017-05-31 13:31:01 -04:00
AdnoC
336412e1db shada/linting: Moved some code out of shada_write.
shada_write was too long (over 500 lines) and caused a linting error.
Register initialization was moved to its own function in order to save lines.
2017-05-31 13:19:09 -04:00
AdnoC
beca4dc16c eval/shada: Add testing for unnamed register with setreg and startup 2017-05-31 13:19:08 -04:00
AdnoC
9a91ce4fa6 eval: Add ability to set the unnamed register with setreg 2017-05-31 13:19:08 -04:00
AdnoC
a00b03d03f shada: Set the unnamed register to the previous unnamed register on startup 2017-05-31 13:18:59 -04:00
Justin M. Keyes
fcc9d99967 channel_write: fix compiler warning 2017-05-31 14:10:04 +02:00
Matthew Malcomson
033b1cb7d9 'pastetoggle': Revert support for multi-key value (#6724)
Reverts commit 337b6179df

Closes #6716 at the expense of not being able to use a
multi-key 'pastetoggle' manually.

Multi-key 'pastetoggle' can still be used when inserting the entire
option into the typebuffer at once (though the use here is
questionable).

Also remove those tests to do with waiting for the completion of
'pastetoggle' and mention in the documentation that 'pastetoggle'
doesn't wait for timeout.
2017-05-31 13:20:06 +02:00
James McCoy
43f40b8e1a Merge pull request #6740 from oni-link/fix.snprintf
if_cscope: Fix truncation of formated output
2017-05-30 00:47:27 +00:00
Björn Linse
1b7a9bf4d2 Merge pull request #6594 from bfredl/sockopen
connect to socket (RPC only for the moment)
2017-05-29 20:33:00 +02:00
Björn Linse
5a151555c8 sockets: don't deadlock when connecting to own pipe address 2017-05-29 19:02:49 +02:00
Björn Linse
6a75938758 channels: implement sockopen() to connect to socket
Helped-By: oni-link <knil.ino@gmail.com>
2017-05-29 19:02:49 +02:00
ZyX
cab3a248b2 doc: Clarify documentation 2017-05-28 23:55:51 +03:00
ZyX
a409fa2b3f lua: Use automatic determining of suffixes only for package.cpath 2017-05-28 23:55:51 +03:00
James McCoy
9cc185dc6d Merge pull request #6680 from mhinz/listen/localhost
Use uv_getaddrinfo() for servers
2017-05-28 13:26:06 +00:00
James McCoy
62d020aba1
socket_watcher_start: Silence conversion warning for sin(6)_port
Although in_port_t is a typedef for uint16_t, GCC in Ubuntu 12.04
complains about potential loss of data due to converting int to
uint16_t.  Since we know this isn't possible, silence the warning to
avoid breaking QB until it gets upgraded to a newer Ubuntu.
2017-05-28 07:14:49 -04:00
James McCoy
6c135b89ee
eval: serverstart: Return finalized address to user
In the process of setting up the socket watcher, the address may be
changed (e.g., adding the OS-selected port).
2017-05-28 07:14:49 -04:00
Daniel Hahler
eb71bbb1da vim-patch:8.0.0605 (#6821)
Problem:    The buffer that quickfix caches for performance may become
            invalid. (Daniel Hahler)
Solution:   Reset qf_last_bufref in qf_init_ext(). (Daniel Hahler,
            closes vim/vim#1728, closes vim/vim#1676)

6dd4a53502
2017-05-28 13:01:46 +02:00
Justin M. Keyes
1cf377f23a Merge #6777 from justinmk/bsd 2017-05-28 02:37:07 +02:00
James McCoy
3f85c2e43a
Server: Call uv_getaddrinfo with NULL service when no port
When using serverstart("ip.ad.d.r:") to listen on a random port, we need
to abide by getaddrinfo()'s API and pass in a NULL service, rather than
an empty string.

When given an empty string, getaddrinfo() is free to search for a
service by the given name (since the string isn't a number) which will
fail.  At least FreeBSD does perform this lookup.
2017-05-27 20:27:33 -04:00
Justin M. Keyes
a84926763f install: bsd: install manpages to /usr/local/man
https://svnweb.freebsd.org/ports/head/editors/neovim/Makefile?revision=428479&view=markup#l28

Closes #6771
2017-05-27 21:42:10 +02:00
Justin M. Keyes
023f67cad8 terminal: Do not change 'number', 'relativenumber' (#6796)
Showing the 'number' column in terminal buffers is a bit silly because
of 'scrollback'. But it's mostly harmless and technically works as
expected.

The least surprising thing is to leave the user's settings alone. Since
there are tradeoffs in both cases, we choose inertia.

We still disable 'relativenumber' in *terminal-mode* (as opposed to
normal-mode) because it is totally broken: the Nvim cursor (not terminal
cursor) is always on the last line.
2017-05-27 15:08:38 +02:00
raichoo
967e892cb6 man.vim: feature-test section (-s) flag #6815
Different implementations of `man` might be using different
flags for sections.
2017-05-26 00:30:40 +02:00
ZyX
58f6ef50a8 ci: Also lint lua code in src/nvim/lua 2017-05-25 16:50:06 +03:00
ZyX
5b84c21182 cmake: Rename RunTestsLint to RunLuacheck 2017-05-25 16:34:04 +03:00
ZyX
643d620164 doc: Add example plugin 2017-05-25 16:27:40 +03:00
ZyX
97602371e6 lua: Add paths from &runtimepath to package.path and package.cpath 2017-05-25 16:27:40 +03:00
Justin M. Keyes
7a1a3a1258 build: Default BUSTED_OUTPUT_TYPE to "nvim" (#6811) 2017-05-25 14:51:53 +02:00
TJ DeVries
45626de63f get_keymap API (#6236)
* Add api function get keymap

nvim_get_keymap(mode)
nvim_buf_get_keymap(buffer, mode)
2017-05-25 12:41:53 +02:00
James McCoy
2dc27a8a78 shada: Remember whether "0 or "1 was the unnamed register
Ref #4645
2017-05-24 14:17:19 -04:00
Justin M. Keyes
f4fddbfb77 Merge #6799 from justinmk/tui-dtterm 2017-05-24 02:00:27 +02:00
Jonathan de Boyne Pollard
133ae5eeef tui: Improve scrolling mechanism.
Respect the BGE flag from terminfo rather than guessing that it is
always off. Emit DECLRMM and DECSLRM (or equivalent) to properly define
the scroll rectangle.
2017-05-23 21:55:15 +02:00
Jonathan de Boyne Pollard
0de7b17d03 tui: Reset the scroll region when resizing.
DECSLPP is explicitly documented as not affecting the scroll region. The
dtterm extension is not as well documented, but it is safer than not to
assume that it operates similarly.

This also eliminates a pointlessly repeated test from tui_scroll(). It
additionally uses a non-parameterized DECSTBM sequence when attempting
to reset back to whole-screen scrolling.
2017-05-23 15:35:47 +02:00
Jonathan de Boyne Pollard
593af64943 tui: resize: use an extended terminal capability
... rather than hardwiring the string and testing the terminal
type every time the screen is re-sized.
2017-05-23 15:35:16 +02:00
Jonathan de Boyne Pollard
36d1fd0602 tui: Only use dtterm's extension where supported.
This limits the use of dtterm's extension to DECSLPP to only those
terminal types where it is known to be supported.
Because it can be potentially understood as genuine DECSLPP
sequence, setting the number of lines to a number larger than 25,
which of course can cause confusion (especially if it is the width
parameter that results in this) only use it on terminals that are
known to support the dtterm extension.

rxvt (Unicode) also understands dtterm's extension.
2017-05-23 15:24:34 +02:00
James McCoy
c4a8950281 Merge pull request #6790 from justinmk/oldtest
oldtests: Mark Test_lambda_with_timer as flaky
2017-05-22 22:05:56 -04:00