Commit Graph

365 Commits

Author SHA1 Message Date
David Bürgin
e4c3ac1f82 tests: Convert legacy test29 2015-05-25 16:29:01 -04:00
Nelson Yeung
8ce22c6323 tests: Migrate legacy test 31 #2736 2015-05-25 15:47:12 +03:00
Shougo Matsushita
d9f97e3026 completion: Add v:completed_item feature #2563
Reviewed-by: Michael Reed <m.reed@mykolab.com>
Reviewed-by: Luke Andrew <luke.github@la.id.au>
Reviewed-by: Justin M. Keyes <justinkz@gmail.com>
Reviewed-by: Florian Walch <florian@fwalch.com>
2015-05-24 17:05:12 -04:00
Felipe Morales
b90378dfb0 options: Enable &wildmenu, use "list:longest,full" for &wildmode by default #2677 2015-05-17 15:24:31 -04:00
Björn Linse
d9acfbd471 options: mark nonfunctional &termencoding option as hidden. #2631
Remove related dead code and references in the docs.

Helped-By: Michael Reed <m.reed@mykolab.com>
Helped-By: Shougo Matsushita <Shougo.Matsu@gmail.com>
2015-05-17 18:39:25 +02:00
Justin M. Keyes
64c7a36933 test: v:servername, serverstart(), serverstop() 2015-05-17 02:17:34 -04:00
David Bürgin
af4b0a76a7 vim-patch:7.4.587 #2622
Problem:    Conceal does not work properly with 'linebreak'. (cs86661)
Solution:   Save and restore boguscols. (Christian Brabandt)

https://github.com/vim/vim/commit/v7-4-587
2015-05-13 03:15:52 -04:00
Björn Linse
208013ae39 test/terminal: fix indeterminism in colorcolumn screen test
Previously, the screen test was expecting the screen state to be
identical to the previous screen test in `thelpers.screen_setup()`,
which is indeterministic. (The later screen test can accidentally
still see the previous identical state). The solution is to add a test
for a intermediate different state.
2015-05-10 20:18:46 +02:00
Clinton McKay
89d0e23624 test/ui: Add concealing tests. #2055 2015-05-09 17:21:54 +02:00
David Bürgin
9e91bb461f tests: Migrate legacy test 96 #2220 2015-05-04 23:36:08 -04:00
Scott Prager
1eb3396922 unify jobstart, termopen, and system interfaces
For any of these functions, if {cmd} is a string, execute
"&shell &shellcmdflag '{cmd}'", or simply {cmd} if it's a list.

In termopen(), if the 'name' option is not supplied, try to guess using
'{cmd}' (string) or {cmd}[0] (list).  Simplify ex_terminal to use the
string form of termopen().

termopen: get name from argument

Convert list_to_argv to tv_to_argv.

Helped-by: Björn Linse <@bfredl>
Helped-by: oni-link <knil.ino@gmail.com>
Helped-by: Thiago de Arruda <@tarruda>
2015-05-02 09:47:30 -04:00
Scott Prager
74aef89720 term: use an argument vector for termopen().
Old behaviour: termopen('cmd') would run `&shell &shcf "cmd"`, which
caused the functional tests to fail on some systems due to the process
not "owning" the terminal. Also, it is inconsistent with jobstart().

Modify termopen() so that &shell is not invoked, but maintain the old
behaviour with :terminal. Factor the common code for building the
argument vector from jobstart() and modify the functional tests to call
termopen() instead of :terminal (fixes #2354).

Also:
 * Add a 'name' option for termopen() so that `:terminal {cmd}` produces
   a buffer named "term//{cwd}/{cmd}" and termopen() users can customize
   the name.
 * Update the documentation.
 * Add functional tests for `:terminal` sinse its behaviour now differs
   from termopen(). Add "test/functional/fixtures/shell-test.c" and move
   "test/functional/job/tty-test.c" there, too.

Helped-by: Justin M. Keyes <@justinmk>
2015-05-02 09:47:29 -04:00
Michael Reed
98b3dc0571 vim-patch:7.4.659 + test
Problem:    When 'ruler' is set the preferred column is reset. (Issue 339)
Solution:   Don't set curswant when redrawing the status lines.

https://code.google.com/p/vim/source/detail?r=v7-4-659

Helped-by: David Bürgin <676c7473@gmail.com>
Based on #2347 by @pvinis
2015-05-01 16:45:02 -04:00
Marco Hinz
6fb66f4416 UI test: visual selection after left click in tabline 2015-04-28 14:16:37 +02:00
Marco Hinz
6449921943 UI test: left click in tabline 2015-04-28 14:16:37 +02:00
David Bürgin
7f07646294 vim-patch:7.4.710
Problem:    It is not possible to make spaces visibible in list mode.
Solution:   Add the "space" item to 'listchars'. (David Bürgin, issue 350)

https://github.com/vim/vim/releases/tag/v7-4-710

Closes #2485.
2015-04-27 04:58:37 -04:00
David Bürgin
5a1a2ba783 vim-patch:7.4.537 #2509
Problem:    Value of v:hlsearch reflects an internal variable.
Solution:   Make the value reflect whether search highlighting is actually
            displayed. (Christian Brabandt)

https://github.com/vim/vim/releases/tag/v7-4-537
2015-04-27 02:10:57 -04:00
David Bürgin
af863d46a9 vim-patch:7.4.532 #2504
Problem:    When using 'incsearch' "2/pattern/e" highlights the first match.
Solution:   Move the code to set extra_col inside the loop for count.  (Ozaki
            Kiichi)

https://github.com/vim/vim/releases/tag/v7-4-532
2015-04-27 01:46:43 -04:00
Marco Hinz
5b94632f6e test: don't process vimrc #2511
676133aa introduced a new test for calling a nvim instance recursively.
But without '-u NONE', the vimrc (and all plugins) get loaded too, which
breaks the test for things that do stuff on VimEnter.
2015-04-25 23:50:15 -04:00
Shougo Matsushita
42de617974 Add if_python3 support
Reviewed-by: Michael Reed <m.reed@mykolab.com>, Daniel Hahler <github@thequod.de>
Helped-by: Daniel Hahler <github@thequod.de>
2015-04-21 06:20:23 +09:00
Björn Linse
26fedb133d clipboard: cleanup valid_yank_reg and use it for :redir
This fixes missing clipboard support for `:redir`

Helped-By: Michael Reed <m.reed@mykolab.com>
Helped-By: Scott Prager <splinterofchaos@gmail.com>
2015-04-17 16:12:32 +02:00
Björn Linse
edb13791bd clipboard: simplify handling of of put in visual mode.
When clipboard=unnamed and put over visual selection, reduces number of
provider calls from 6 to 2. Also add test.
2015-04-17 11:34:06 +02:00
Scott Prager
b47ea5fcde Merge pull request #2331 from splinterofchaos/serverlisten
vimL: serverlisten({addr}), list(), and stop({addr})
2015-04-14 15:45:39 -04:00
Scott Prager
9353fcf024 server: add unit tests 2015-04-14 15:31:04 -04:00
Rui Abreu Ferreira
71487a935e Implement os_unsetenv()
- In UNIX systems where unsetenv() is available, it is used. Otherwise
  the variables are set with the empty string.
- New check HAVE_UNSETENV for unsetenv()
- Added unit test to env_spec.lua
2015-04-14 15:20:50 -04:00
Scott Prager
920e5905d8 channel: recognized nvim-style errors 2015-04-13 10:20:42 -04:00
Scott Prager
676133aa9b msgpack: Allow notifications to execute commands.
Consider: `let vim = rpcstart('nvim', ['--embed'])`

Allows `rpcnotify(vim, ...)` to work like an asynchronous
`rpcrequest(nvim, ...)`.

Helped-by: Michael Reed <m.reed@mykolab.com>
Helped-by: Justin M. Keyes <>
2015-04-13 10:20:42 -04:00
David Bürgin
e129e2792d tests: Fix test setup/teardown in path_spec.lua #2402
A call to lfs.mkdir instead of lfs.rmdir left a temp directory hanging
around. Changed to do proper setup/teardown using {before,after}_each.

Helped-by: Scott Prager <splinterofchaos@gmail.com>
Suggested-by: Scott Prager <splinterofchaos@gmail.com>
2015-04-12 16:11:50 -04:00
Justin M. Keyes
b23e444b37 test regression: recover_spec.lua 2015-04-12 01:14:54 -04:00
Justin M. Keyes
04806dee4b test: helpers.lua: add temporary set_session() function
This function is needed until helpers.lua is refactored to support
multiple sessions.
2015-04-12 01:02:58 -04:00
Justin M. Keyes
2275297f4a test: migrate legacy test 78 2015-04-12 01:02:58 -04:00
Marco Hinz
0e65962a68 Remove all references to JobActivity
The JobActivity event got replaced by callback functions provided to
jobstart() or termopen().

It got removed here:

6e7757ad51
2015-04-11 18:32:18 +02:00
Thiago de Arruda
ad8d415e3a test: Remove indeterminism in job_spec.lua pty tests 2015-04-11 08:46:59 -03:00
Thiago de Arruda
ccd42e81c8 eval: Fix jobwait()
- Properly save job event deferring state for recursive calls
- Disable breakcheck while running. Breakcheck can invoke job callbacks
  in unexpected places.
2015-04-11 08:46:59 -03:00
Björn Linse
9978a01faa clipboard: fix "" register not updated when clipboard=unnamed
Helped-By: Scott Prager <splinterofchaos@gmail.com>
2015-04-11 11:11:52 +02:00
Björn Linse
941b02af4c clipboard: adjust v:register when clipboard=unnamed
Helped-By: Nicolas Hillegeer <nicolas@hillegeer.com>
Helped-By: Michael Reed <m.reed@mykolab.com>
2015-04-11 11:11:52 +02:00
Marco Hinz
cd7b910e81 Add new highlight groups TermCursor/TermCursorNC
These highlight groups replace the old mechanism of setting:

  - {g,b}:terminal_focused_cursor_highlight
  - {g,b}:terminal_unfocused_cursor_highlight
2015-04-09 16:38:32 +02:00
Michael Reed
0f6e25a9e4 messages: Update common instances of Vim to Nvim #2031 2015-04-08 23:05:39 -04:00
Scott Prager
e1bac3b840 Merge pull request #2346 from splinterofchaos/fix-terminal
[RFC] terminal: Handle loss of focus in event loop.
2015-04-08 12:27:52 -04:00
Murali Suresh
ee3af18640 legacy tests: migrate test38 #2367 2015-04-07 19:21:55 -04:00
David Bürgin
9a6a311f35 tests: Migrate legacy tests 44 and 99 #2366
Consolidates the old test44 and test99 tests into one busted spec.
2015-04-07 18:54:27 -04:00
David Bürgin
d41322fafb tests: Migrate legacy tests 92 and 93 #2261 2015-04-05 22:14:10 -04:00
David Bürgin
d3bb177f1e vim-patch:7.4.497 #2295
Problem:    With some regexp patterns the NFA engine uses many states and
            becomes very slow.  To the user it looks like Vim freezes.
Solution:   When the number of states reaches a limit fall back to the old
            engine. (Christian Brabandt)

https://github.com/vim/vim/releases/tag/v7-4-497

Helped-by: David Bürgin <676c7473@gmail.com>
Helped-by: Justin M. Keyes <justinkz@gmail.com>
Helped-by: Scott Prager <splinterofchaos@gmail.com>
2015-04-05 19:24:58 -04:00
Scott Prager
b8ae09b3cf term: after <C-\>, resume normal input loop
Pressing <C-\> and then a mouse click will insert the click into the
terminal as if a keyboard button had been pressed.

Keep track of whether the last input was <C-\> and only call
terminal_send_key() if the next input is a key press.
2015-04-05 13:40:21 -04:00
Scott Prager
b6296f4e84 terminal: Handle loss of focus in event loop.
While in a terminal and insert mode, if an event caused loss of focus,
nvim would stay in the terminal event loop causing an inconsistent view
of internal state and/or segfault.

Remove the "term" argument from terminal_enter() as it only makes sense
to call it with curbuf->terminal. Terminate the loop when switched to a
different buffer.

fixes #2301
2015-04-05 13:39:55 -04:00
Björn Linse
adcf268a72 clipboard: handle clipboard reading directly in get_yank_register
This makes :<c-r>* work as expected and
avoids clobbering zero register ("0) when pasting unnamed clipboard

Helped-By: Scott Prager <splinterofchaos@gmail.com>
Helped-By: Michael Reed <m.reed@mykolab.com>
2015-04-05 11:34:14 +02:00
Björn Linse
db92fcdba3 test/clipboard: more clipboard test cleanups 2015-04-05 11:34:13 +02:00
Björn Linse
7422843f5c clipboard: improve the handling of newlines in get_clipboard
This makes the interpretion consistent with the way newlines are used in
the VIMENC format, while keeping the same fallback behaviour when
regtype is unspecified. Also check both cases explicitly in the tests.
2015-04-05 11:34:13 +02:00
Björn Linse
34dba3d7cd clipboard: reallow :put 2015-04-05 11:34:13 +02:00
Björn Linse
5600b80c1f clipboard: show "* and "+ in :registers
Helped-by: Robin Allen <r@foon.uk>
Helped-by: Scott Prager <splinterofchaos@gmail.com>
2015-04-05 11:34:13 +02:00