aboutsummaryrefslogtreecommitdiff
path: root/runtime/doc
Commit message (Collapse)AuthorAge
...
| * Make "v:errmsg", "v:shell_error" and "v:this_session" distinctShougo Matsushita2018-07-23
|/
* ui: docs for ext_newgrid and ext_hlstateBjörn Linse2018-07-21
|
* docJustin M. Keyes2018-07-18
|
* vim-patch:8.0.0630: it is not easy to work on lines without a match (#8734)Jan Edmund Lazo2018-07-13
| | | | | | | Problem: The :global command does not work recursively, which makes it difficult to execute a command on a line where one pattern matches and another does not match. (Miles Cranmer) Solution: Allow for recursion if it is for only one line. (closes vim/vim#1760) https://github.com/vim/vim/commit/f84b122a99da75741ae686fabb6f81b8b4755998
* vim-patch:8.0.0{474,475,492,633,1251} (#8725)Jan Edmund Lazo2018-07-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * vim-patch:8.0.0474: the client-server feature is not tested Problem: The client-server feature is not tested. Solution: Add a test. https://github.com/vim/vim/commit/15bf76d40be1f1622ff5cc16596c308e76e2ca94 * vim-patch:8.0.0475: not enough testing for the client-server feature Problem: Not enough testing for the client-server feature. Solution: Add more tests. Add the remote_startserver() function. Fix that a locally evaluated expression uses function-local variables. https://github.com/vim/vim/commit/7416f3e73ab2c4e7ae3adc2ff6e70234f7d40d2e * vim-patch:8.0.0492: a failing client-server request can make Vim hang Problem: A failing client-server request can make Vim hang. Solution: Add a timeout argument to functions that wait. https://github.com/vim/vim/commit/81b9d0bd5c705815e903e671e81b0b05828efd9c Include src/nvim/testdir/test_clientserver.vim changes from patches 8.0.0477, 8.0.0479. * vim-patch:8.0.0633: the client-server test is still a bit flaky Problem: The client-server test is still a bit flaky. Solution: Wait a bit for the GUI to start. Check that the version number can be obtained. https://github.com/vim/vim/commit/60964f68740b8abcbb2d3f0f3aeade21d1bacb22 Include src/nvim/testdir/test_clientserver.vim changes from patches 8.0.0507, 8.0.0511. * vim-patch:8.0.1251: invalid expressin passed to WaitFor() Problem: Invalid expressin passed to WaitFor(). Solution: Check if the variable exists. https://github.com/vim/vim/commit/d97fbf171ec0e63117813da045d2a1c51a9b6f62
* vim-patch:8.0.0663: unexpected error with 'verbose' (#8692)Jan Edmund Lazo2018-07-06
| | | | | Problem: Giving an error message only when 'verbose' set is unexpected. Solution: Give a warning message instead. https://github.com/vim/vim/commit/f8be461d0284110b321be748fea206d4169b98bb
* highlight: high-priority CursorLine if fg is set. #8578Yichao Zhou2018-06-28
| | | | | | | | | | | | closes #7383 closes #7715 This implements the compromise described in #7383: * low-priority CursorLine if foreground is not set * high-priority ("same as Vim" priority) CursorLine if foreground is set ref d1874ab2821d076397290cc154d87ec2dc352c79 ref 56eda2aa17c80ba380b606f9466f288fb8162dd3
* doc (#8652)Justin M. Keyes2018-06-28
|
* defaults: shortmess+=F (#8619)Justin M. Keyes2018-06-22
| | | | | | Because we default to laststatus=2 (statusline is always visible), the :edit message is not useful. ref #6289
* vim-patch:8.0.0542: getpos() can return a negative line number (#8580)Jan Edmund Lazo2018-06-19
| | | | | Problem: getpos() can return a negative line number. (haya14busa) Solution: Handle a zero topline and botline. (closes vim/vim#1613) https://github.com/vim/vim/commit/a1d5fa65bc7e8a548858e9c295a192b63dcd011b
* Ex mode: use getexline() instead of getexmodeline()Justin M. Keyes2018-06-17
| | | | | | | | | | | | | | | | | | | | | This changes Ex mode (Q, -e) to work like Vim's "improved Ex mode" (gQ, -E). That brings some small behavior differences, but should not impact most Ex scripts (unless, for example, they depend on mappings being disabled--but that can be solved for -e by skipping user config). Before this change: * the screen test hangs. After this change: * Q acts like gQ. * -e/-es differs from -E/-Es only in its treatment of stdin. This moves towards potentially removing getexmodeline(). (HINT: That does NOT mean "removing Ex mode", it means removing the Vi-compatible Ex mode, which differs from Vim's "improved Ex mode" only in some minor details (e.g. mappings are disabled).) ref #1089 :-)~
* fillchars: make checks more strict and improve testsBjörn Linse2018-06-14
|
* Add ‘eob’ option to fillcharsJack Bracewell2018-06-13
| | | | | This option allows configuring what character is shown on the empty lines at the end of a buffer, previously hardcoded to ‘~’
* options: remove 'maxcombine` option (always use 6)Björn Linse2018-06-13
|
* docJustin M. Keyes2018-06-12
|
* doc: APIJustin M. Keyes2018-06-11
|
* doc: job/channel, misc #7783Justin M. Keyes2018-06-11
| | | | | | | | | | | doc: termios defaults. ref #6992 doc: :help shell-powershell doc: provider: Python minimum version is 2.7, 3.4 doc: remove :!start special-case. #5844 doc: mention #7917 change which accepts empty Array for Dictionary parameter doc: <Cmd> pseudokey doc: lmap change #5658 doc: -s, -es
* Merge #7679 'startup: treat stdin as text instead of commands'Justin M. Keyes2018-06-10
|\
| * win/startup: remove --literalJustin M. Keyes2018-06-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes 2 failing tests in startup_spec.lua. The Windows-only `--literal` option complicates support of "stdin-as-text + file-args" (#7679). Could work around it, but it's not worth the trouble: - users have a reasonable (and englightening) alternative: nvim +"n *" - "always literal" is more consistent/predictable - avoids platform-specific special-case Unrelated changes: - Replace fileno(stdxx) with STDXX_FILENO for consistency (not motivated by any observed technical reason).
* | doc: API: api-buffer-updatesJustin M. Keyes2018-06-08
| | | | | | | | | | - move to api.txt - rewrite
* | Merge #7917 'API: buffer updates'Justin M. Keyes2018-06-08
|\ \
| * | Rename some more, fixe borked renamingKillTheMule2018-05-23
| | |
| * | Unify updates_start and updates to lines_eventKillTheMule2018-05-23
| | | | | | | | | | | | Also rename changedtick -> changedtick_event
| * | Some renamings and doc changesKillTheMule2018-05-23
| | |
| * | Try fixing that test on travisKillTheMule2018-05-23
| | |
| * | The grand renamingKillTheMule2018-05-23
| | |
| * | DocKillTheMule2018-05-23
| | |
| * | Make LiveUpdate return lastline instead of numreplacedKillTheMule2018-05-23
| | | | | | | | | | | | In analogy to `nvim_buf_set_lines`.
| * | Make separate functions to start/stop live updatesKillTheMule2018-05-23
| | |
| * | API: Document buffer updatesPeter Hodge2018-05-23
| | | | | | | | | | | | | | | Originally written by @phodge in https://github.com/neovim/neovim/pull/5269.
* | | vim-patch:8.0.0255: setpos() does not use the buffer argument for all marksJan Edmund Lazo2018-06-06
| |/ |/| | | | | | | | | | | | | Problem: When calling setpos() with a buffer argument it often is ignored. (Matthew Malcomson) Solution: Make the buffer argument work for all marks local to a buffer. (neovim vim/vim#5713) Add more tests. https://github.com/vim/vim/commit/f13e00b2cf381e13fd327b5387a5bd6f004ac2a3
* | vim-patch:8.0.0519: character classes not well tested (#8460)KunMing Xie2018-06-01
|/ | | | | | | | | Problem: Character classes are not well tested. They can differ between platforms. Solution: Add tests. In the documentation make clear which classes depend on what library function. Only use :cntrl: and :graph: for ASCII. (Kazunobu Kuriyama, Dominique Pelle, closes vim/vim#1560) Update the documentation. https://github.com/vim/vim/commit/0c078fc7db2902d4ccba04506db082ddbef45a8c
* api: list information about all channels/jobs.Björn Linse2018-05-23
| | | | | Fire autocmd when channel opens or its info changes. Add a way for API clients can describe themselves.
* doc: remove mentions of vimrc_exampleJustin M. Keyes2018-05-22
| | | | closes #8426
* Merge #8377 'TextChangedP autocommand'Justin M. Keyes2018-05-19
|\
| * vim-patch:8.0.1494: no autocmd triggered in Insert mode with visible popup menuShougo Matsushita2018-05-14
| | | | | | | | | | | | | | | | | | | | Problem: No autocmd triggered in Insert mode with visible popup menu. Solution: Add TextChangedP. (Prabir Shrestha, Christian Brabandt, closes vim/vim#2372, closes vim/vim#1691) Fix that the TextChanged autocommands are not always triggered when sourcing a script. https://github.com/vim/vim/commit/5a093437199001a0d60d8e18e2b9539b99a7757c
* | Merge #5658 'Apply :lmap in macros'Justin M. Keyes2018-05-17
|\ \ | |/ |/|
| * Update documentationMatthew Malcomson2018-03-14
| | | | | | | | | | | | | | | | Update vim_diff.txt with :lmap differences, update documentation on 'keymap', and add tests. The tests added are to demonstrate the behaviour specified in the documentation of :loadkeymap.
* | terminal: Leave 'relativenumber' alone (#8360)raichoo2018-05-05
| | | | | | ref #6796
* | Merge #4486 'refactor: Remove maxmem, maxmemtot options'Justin M. Keyes2018-05-02
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After this change we never release blocks from memory (in practice it never happened because the memory limits are never reached). Let the OS take care of that. --- On today's systems the 'maxmem' and 'maxmemtot' values are huge (4+ GB) so the limits are never reached in practice, but Vim wastes a lot of time checking if the limit was reached. If the limit is reached Vim starts saving pieces of the swap file that were in memory to the disk. Said in a different way: Vim implements its own memory-paging mechanism. This is unnecessary and inefficient since the operating system already has virtual memory and will swap to the disk if programs start using too much memory. This change does... 1. Reduce the number of config options and need for documentation. 2. Make the code more efficient as we don't have to keep track of memory usage nor check if the memory limits were reached to start swapping to disk every time we need memory for buffers. 3. Simplify the code. Once memfile.c is simple enough it could be replaced by actual operating system memory mapping (mmap, MemoryViewOfFile...). This change does not prevent Vim to recover changes from swap files since the swapping code is never triggered with the huge limits set by default.
| * | Remove maxmem and maxmemtot optionsFelipe Oliveira Carvalho2017-04-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | > The option 'maxmem' ('mm') is used to set the maximum memory used for one > buffer (in kilobytes). 'maxmemtot' is used to set the maximum memory used for > all buffers (in kilobytes). The defaults depend on the system used. These > are not hard limits, but tell Vim when to move text into a swap file. If you > don't like Vim to swap to a file, set 'maxmem' and 'maxmemtot' to a very large > value. The swap file will then only be used for recovery. If you don't want > a swap file at all, set 'updatecount' to 0, or use the "-n" argument when > starting Vim. On today's systems these values are huge (4GB in my machine with 8GB of RAM since it's set as half the available memory by default) so the limits are never reached in practice, but Vim wastes a lot of time checking if the limit was reached. If the limit is reached Vim starts saving pieces of the swap file that were in memory to the disk. Said in a different way: Vim implements its own memory swapping mechanism. This is unnecessary and inefficient since the operating system already virtualized the memory and will swap to the disk if programs start using too much memory. This change does... 1. Reduce the number of config options and need for documentation. 2. Make the code more efficient as we don't have to keep track of memory usage nor check if the memory limits were reached to start swapping to disk every time we need memory for buffers. 3. Simplify the code. Once `memfile.c` is simple enough it could be replaced by actual operating system memory mapping (`mmap`, `MemoryViewOfFile`...). This change does not prevent Vim to recover changes from swap files since the swapping code is never triggered with the huge limits set by default.
* | | doc: clarify `stdout_buffered` docs (#8299)Andy Russell2018-04-28
| | | | | | | | | Fixes #8150
* | | defaults: disable 'fsync'Justin M. Keyes2018-04-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ref #6725 fsync() is very slow on some systems. And since the parent commit, Nvim is smarter about flushing files at certain times (e.g. CursorHold), regardless of whether 'fsync' is enabled. So it's less risky to disable 'fsync'. Profiling showed slow (2-4s) :write and :quit caused by fsync(): :quit shada_write_file(NULL, false); :write + fsync 0 0x00007f72da567b2d in fsync () at ../sysdeps/unix/syscall-template.S:84 1 0x0000000000638970 in uv__fs_fsync (req=<optimized out>) at /home/vagrant/neovim/.deps/build/src/libuv/src/unix/fs.c:150 2 uv__fs_work (w=<optimized out>) at /home/vagrant/neovim/.deps/build/src/libuv/src/unix/fs.c:953 3 0x0000000000639a70 in uv_fs_fsync (loop=<optimized out>, req=<optimized out>, file=41, cb=0x7f72da567b2d <fsync+45>) at /home/vagrant/neovim/.deps/build/src/libuv/src/unix/fs.c:1094 4 0x0000000000573694 in os_fsync (fd=41) at ../src/nvim/os/fs.c:631 5 0x00000000004ec9dc in buf_write (buf=<optimized out>, fname=<optimized out>, sfname=<optimized out>, start=1, end=1997, eap=0x7fffc864c570, append=<optimized out>, forceit=<optimized out>, reset_changed=<optimized out>, filtering=<optimized out>) at ../src/nvim/fileio.c:3387 6 0x00000000004b44ff in do_write (eap=0x7fffc864c570) at ../src/nvim/ex_cmds.c:1745 ... :write + nofsync 0 0x00007f72da567b2d in fsync () at ../sysdeps/unix/syscall-template.S:84 1 0x0000000000638970 in uv__fs_fsync (req=<optimized out>) at /home/vagrant/neovim/.deps/build/src/libuv/src/unix/fs.c:150 2 uv__fs_work (w=<optimized out>) at /home/vagrant/neovim/.deps/build/src/libuv/src/unix/fs.c:953 3 0x0000000000639a70 in uv_fs_fsync (loop=<optimized out>, req=<optimized out>, file=36, cb=0x7f72da567b2d <fsync+45>) at /home/vagrant/neovim/.deps/build/src/libuv/src/unix/fs.c:1094 4 0x0000000000573694 in os_fsync (fd=36) at ../src/nvim/os/fs.c:631 5 0x0000000000528f5a in mf_sync (mfp=0x7f72d8968d00, flags=5) at ../src/nvim/memfile.c:466 6 0x000000000052d569 in ml_preserve (buf=0x7f72d890f000, message=0) at ../src/nvim/memline.c:1659 7 0x00000000004ebadf in buf_write (buf=<optimized out>, fname=<optimized out>, sfname=<optimized out>, start=1, end=1997, eap=0x7fffc864c570, append=<optimized out>, forceit=<optimized out>, reset_changed=<optimized out>, filtering=<optimized out>) at ../src/nvim/fileio.c:3071 8 0x00000000004b44ff in do_write (eap=0x7fffc864c570) at ../src/nvim/ex_cmds.c:1745 ...
* | | doc: platform-specific config locations (#8297)Andy Russell2018-04-20
| | | | | | | | | Fixes #7374.
* | | job-control: mitigate process-kill raceJustin M. Keyes2018-04-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | children_kill_cb() is racey. One obvious problem is that process_close_handles() is *queued* by on_process_exit(), so when children_kill_cb() is invoked, the dead process might still be in the `loop->children` list. If the OS already reclaimed the dead PID, Nvim may try to SIGKILL it. Avoid that by checking `proc->status`. Vim doesn't have this problem because it doesn't attempt to kill processes that ignored SIGTERM after a timeout. closes #8269
* | | events: VimSuspend, VimResume #8280geekodour2018-04-15
| | | | | | | | | | | | | | | closes #3648 ref #5959
* | | Merge #6272 'stdpath()'Justin M. Keyes2018-04-15
|\ \ \
| * | | eval: Add stdpath() method (#5297)Christian Höltje2018-03-29
| | | | | | | | | | | | | | | | | | | | | | | | Adds the :stdpath method for fetching XDG standard directories. Fixes #5297
* | | | win: getftype(symlink) returns 'link'Jan Edmund Lazo2018-04-12
| | | | | | | | | | | | | | | | Vim doesn't detect symlinks correctly so stick with Neovim's behaviour.
* | | | test/util: expect_err() (#8257)Justin M. Keyes2018-04-11
| | | | | | | | | | | | other cleanup, ref #8245