aboutsummaryrefslogtreecommitdiff
path: root/test
Commit message (Collapse)AuthorAge
...
* | | vim-patch:7.4.1658James McCoy2016-11-14
|/ / | | | | | | | | | | | | | | Problem: A plugin does not know when VimEnter autocommands were already triggered. Solution: Add the v:vim_did_enter variable. https://github.com/vim/vim/commit/1473551a4457d4920b235eeeb9f279e196ee7225
* | test: window_spec: Remove flaky terminal resize testJames McCoy2016-11-13
| |
* | Merge #5582 from justinmk/icmJustin M. Keyes2016-11-12
|\ \ | | | | | | 'inccommand': Support :smagic/:snomagic. Less jumping around.
| * | 'inccommand': Simplify cursor placement logic.Justin M. Keyes2016-11-11
| | | | | | | | | | | | | | | Remove the inner for-loop; just use the column of the first in-line match.
| * | 'inccommand': Restore cursor/view if cancelled.Justin M. Keyes2016-11-10
| | | | | | | | | | | | | | | Restore cursor position and window "view", if command is cancelled. This is how 'incsearch' works.
| * | 'inccommand': buftype=nofile, restore cursor/viewJustin M. Keyes2016-11-10
| | | | | | | | | | | | | | | | | | | | | - Use a standard scratch buffer instead of a new 'buftype', functions like curbufIsChanged() already have special handling for scratch bufs. - Cleanup some stuff from the previous merge. - Add support for :smagic, :snomagic. Closes #5578
* | | CheckHealth: Include v:throwpoint in error message (#5575)Tommy Allen2016-11-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * health.vim: Include v:throwpoint in error message * health/provider.vim: Check for ruby executable * health/provider.vim: Combine subprocess stdout and stderr * test: Updated CheckHealth test
* | | vim-patch:7.4.1634 (#5594)James McCoy2016-11-12
| | | | | | | | | | | | | | | | | | | | | Problem: Vertical movement after CTRL-A ends up in the wrong column. (Urtica Dioica) Solution: Set curswant when appropriate. (Hirohito Higashi) https://github.com/vim/vim/commit/8e08125d3a9afd0b16cd84454ae9ddad0abaaab0
* | | vim-patch:7.4.1614 (#5593)James McCoy2016-11-12
| | | | | | | | | | | | | | | | | | Problem: Still quickfix test in old style. Solution: Turn test 10 into a new style test. https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
* | | vim-patch:7.4.1591James McCoy2016-11-11
|/ / | | | | | | | | | | | | Problem: The quickfix title is truncated. Solution: Save the command before it is truncated. (Anton Lindqvist) https://github.com/vim/vim/commit/5584df65a0ca2315d1eebc13c54a448bee4d0758
* | Merge #5561 'inccommand'Justin M. Keyes2016-11-09
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Initial work by: Robin Elrharbi-Fleury (Robinhola) Audrey Rayé (Adrey06) Philémon Hullot (DesbyP) Aymeric Collange (aym7) Clément Guyomard (Clement0) Major revisions by: KillTheMule Björn Linse <bjorn.linse@gmail.com> Justin M. Keyes <justinkz@gmail.com>
| * | 'inccommand': Preserve curbuf->b_u_newhead.Justin M. Keyes2016-11-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add tests for undotree(). Helped-by: Björn Linse <bjorn.linse@gmail.com> When "curhead" points to a valid head, the value of "newhead" is meaningless (and really should be set to null). The undo state for a buffer is _logically_ the enum: enum UndoState { CurrentHead(head), NewHead(head), EmptyTree } nvim _represents_ this as: whenever `curbuf->b_u_curhead` is nonnull it should be used as the current head, and `curbuf->b_u_newhead` is ignored. If the there is a current head, then this will be redoed on the next redo, and its parent will be undone on next undo. Only if `b_u_curhead` is NULL, `b_u_newhead` will be used as the head to undo (and it is not possible to redo). Also both can be NULL, to indicate an empty undotree. (To be fair, this only strictly true when calling undo.c from the outside, in some places _within_ a function in undo.c both values might be meaningful) Apparently `undotree()` breaks this non-abstraction, this _cosmetic_ issue can easily be fixed by `ex_substitute` also saving and restoring `b_u_newhead`, but is doesn't reflect any error really how `u_undo_and_forget` manipulates the _actual_ state of the undo tree.
| * | 'inccommand': preserve 'modified'Justin M. Keyes2016-11-08
| | | | | | | | | | | | | | | During the live preview, the buffer-local 'modified' flag should not be changed.
| * | 'inccommand': Do not trigger during scripts, feedkeys().Justin M. Keyes2016-11-08
| | |
| * | 'inccommand': test: scripts/feedkeys() should not trigger previewKillTheMule2016-11-08
| | |
| * | 'inccommand': rename 'incsubstitute'Justin M. Keyes2016-11-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | 'inccommand' allows us to expand the feature to other commands, such as: :cdo :cfdo :global Also rename "IncSubstitute" highlight group to "Substitute".
| * | 'inccommand': format line numbers as "|123| "Justin M. Keyes2016-11-08
| | | | | | | | | | | | This matches what Quickfix traditionally does.
| * | 'inccommand': set buffer name to [Preview]Justin M. Keyes2016-11-08
| | | | | | | | | | | | | | | | | | [inc_sub] is less obvious for users. Also, in the future we may want to generalize the idea of a "preview buffer", or "incremental commands" besides :substitute.
| * | 'inccommand': disable 'cursorline', 'spell' in previewJustin M. Keyes2016-11-08
| | |
| * | 'inccommand': preserve b:changedtickJustin M. Keyes2016-11-08
| | |
| * | 'inccommand': reworkJustin M. Keyes2016-11-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Eliminate/isolate static/global variables - Remove special-case parameter from buflist_new() - Remove special-case ECMD_RESERVED_BUFNR - To determine when u_undo_and_forget() should be done, check b_changedtick instead of a heuristic. - use mb_string2cells() instead of strlen() to measure the :sub patterns - call ml_close() before buf_clear_file(). Avoids leaks caught by ASan. Original patch by: Robin Elrharbi-Fleury (Robinhola) Audrey Rayé (Adrey06) Philémon Hullot (DesbyP) Aymeric Collange (aym7) Clément Guyomard (Clement0)
| * | Tests for incsubstitution featureKillTheMule2016-10-30
| | |
* | | encoding: update testsBjörn Linse2016-11-05
| | | | | | | | | | | | | | | | | | | | | Change shada reencoding tests to check for correct handling of UTF-8 and binary strings. Delete enc=latin1 json tests.
* | | ex_global: Catch CTRL-C even if it is mapped.Justin M. Keyes2016-10-30
|/ / | | | | | | | | Problem: If CTRL-C is mapped, it does not interrupt :global output. Solution: clear `mapped_ctrl_c` during :global.
* | test: Fix shada/marks_spec.lua failureJames McCoy2016-10-28
| | | | | | | | | | | | The 'dump and read back mark " from a closed tab' test needs to actually create a second tab. Since it wasn't doing so, the 'q!' command caused nvim to exit and the subsequent 'qall' command fails.
* | api: api_info()['version']Justin M. Keyes2016-10-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | API level is disconnected from NVIM version. The API metadata holds the current API level, and the lowest backwards-compatible level supported by this instance. Release 0.1.6 is the first release that reports the Nvim version and API level. metadata['version'] = { major: 0, minor: 1, patch: 6, api_level: 1, api_compatible: 0, api_prerelease: false, } The API level may remain unchanged across Nvim releases if the API has not changed. When changing the API, - set NVIM_API_PRERELEASE to true - increment NVIM_API_LEVEL (at most once per Nvim version) - adjust NVIM_API_LEVEL_COMPAT if backwards-compatibility was broken api_level_0.mpack was generated from Nvim 0.1.5 with: nvim --api-info
* | api: Nvim version, API level #5386Rui Abreu Ferreira2016-10-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The API level is disconnected from the NVIM version. The API metadata holds the current API level, and the lowest backwards-compatible level supported by this instance. Release 0.1.6 will be the first release reporting the Nvim version and API level. metadata['version'] = { major: 0, minor: 1, patch: 6, prerelease: true, api_level: 1, api_compatible: 0, } The API level may remain unchanged across Neovim releases if the API has not changed. When changing the API the CMake variable NVIM_API_PRERELEASE is set to true, and NVIM_API_CURRENT/NVIM_API_COMPATIBILITY are incremented accordingly. The functional tests check the API table against fixtures of past versions of Neovim. It compares all the functions in the old table with the new one, it does ignore some metadata attributes that do not alter the function signature or were removed since 0.1.5. Currently the only fixture is 0.mpack, generated from Neovim 0.1.5 with nvim --api-info.
* | Merge #5500Justin M. Keyes2016-10-26
|\ \ | | | | | | | | | Closes #5246
| * | vim-patch:7.4.2212Grzegorz Milka2016-10-22
| | | | | | | | | | | | | | | | | | | | | | | | Problem: Mark " is not set when closing a window in another tab. (Guraga) Solution: Check all tabs for the window to be valid. (based on patch by Hirohito Higashi, closes vim/vim#974) https://github.com/vim/vim/commit/e59215c7dcae17b03daf39517560cfaa03314f5a
* | | modeline: Handle version number overflow. #5450Florian Larysch2016-10-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Closes #5449 A file containing the string "vim" followed by a very large number in a modeline location will trigger an overflow in getdigits() which is called by chk_modeline() when trying to parse the version number. Add getdigits_safe(), which does not assert overflows, but reports them to the caller.
* | | CheckHealth: more checksJustin M. Keyes2016-10-25
| | |
* | | version: Allow has("nvim-x"), has("nvim-x.y")Justin M. Keyes2016-10-25
| | |
* | | version: has("nvim-1.2.3")Justin M. Keyes2016-10-25
| | | | | | | | | | | | Helped-by: Daniel Hahler <git@thequod.de>
* | | test/api: Specify handling of VimL errors, v:errmsg.Justin M. Keyes2016-10-24
| | | | | | | | | | | | TODO: Also spec behavior of Press-Enter prompt for these API functions.
* | | test: system(): Avoid indeterminism.Justin M. Keyes2016-10-23
| | |
* | | api: documentationJustin M. Keyes2016-10-23
|/ / | | | | | | Clarify behavior of v:errmsg and the Error object.
* | vim-patch:8.0.0041Tommy Allen2016-10-22
| | | | | | | | | | | | Problem: When using Insert mode completion but not actually inserting anything an undo item is still created. (Tommy Allen) Solution: Do not call stop_arrow() when not inserting anything.
* | Merge pull request #4568 from bfredl/multirequestBjörn Linse2016-10-22
|\ \ | | | | | | atomic multi request for async remote plugins
| * | api: call multiple methods atomically (useful in async contexts)Björn Linse2016-10-22
| | | | | | | | | | | | remove unused response_id parameter of handle_nvim_... helpers
* | | os_nodetype: open fd with O_NONBLOCK (#5515)Justin M. Keyes2016-10-21
| | | | | | | | | | | | | | | Closes #5267 Helped-by: oni-link <knil.ino@gmail.com>
* | | test: :terminal should not interrupt Press-ENTERJustin M. Keyes2016-10-20
| | | | | | | | | | | | References #2748
* | | Merge pull request #5441 from Shougo/vim-7.4.1588James McCoy2016-10-20
|\ \ \ | | | | | | | | | | | | vim-patch:7.4.1588
| * | | vim-patch:7.4.1588Shougo Matsushita2016-10-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Old style test for quickfix. Solution: Turn test 96 into a new style test. https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
* | | | Merge pull request #5440 from Shougo/vim-7.4.1565James McCoy2016-10-20
|\ \ \ \ | | | | | | | | | | vim-patch:7.4.1565
| * | | | vim-patch:7.4.1565Shougo Matsushita2016-10-15
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | Problem: Crash when assert_equal() runs into a NULL string. Solution: Check for NULL. (Dominique) Add a test. https://github.com/vim/vim/commit/f1551964448607f8222de2d8f0992ea43eb2fe67
* | / / tests: fix racyness in terminal/api_spec.luaBjörn Linse2016-10-19
| |/ / |/| | | | | | | | | | | Previously, the nvim_input from the socket channels could be processed before the input from stdin in rare cases.
* | | system('foo &', 'bar'): Show error, don't crash.Justin M. Keyes2016-10-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Closes #3529 Closes #5241 In Vim, :echo system('cat - &', 'foo') works because for both system() and :! Vim writes input to a temp file and uses shell syntax to redirect the file to the backgrounded `cat` (get_cmd_output() .. make_filter_cmd()). In Nvim, :echo system('cat - &', 'foo') fails because we write the input directly via pipes (shell.c:do_os_system()), but (per POSIX[1]) backgrounded process input stream is redirected from /dev/null (unless overridden by shell redirection; supported only by some shells [2]), so our writes are ignored, the process exits quickly, and if we are writing data larger than the buffer size we'll see EPIPE. This still works: :%w !tee > foo1358.txt & but this does not: :%w !tee foo1358.txt & though it *should* (why doesn't it?) because we still do the temp file dance in do_bang() .. do_filter(). [1] http://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_09_03_02 [2] http://unix.stackexchange.com/a/71218
* | | test: system(): backgrounded shell commandJustin M. Keyes2016-10-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These tests are essentially affirming a regression vs Vim. In Vim, :echo system('cat - &', 'foo') returns "foo", because Vim internally wraps the command with shell-specific syntax to redirect the streams from /dev/null[1]. That can't work in Nvim because we use pipes directly (instead of temp files) and don't wrap the command with shell-specific redirection syntax. References #3529 References #5241 [1] http://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_09_03_02
* | | test: execute_spec: Adjust screen assertion.Justin M. Keyes2016-10-15
| | | | | | | | | | | | | | | | | | The previous form was passing because it happens immediately before this form; but on a very fast(?) server the screen check might miss that form. It's also not really want we want to assert anyways.
* | | Merge pull request #5424 from jamessan/win-tab-nrJames McCoy2016-10-15
|\ \ \ | | | | | | | | api: Support getting the number of a window/tabpage