| Commit message (Collapse) | Author | Age |
... | |
|\
| |
| | |
vim-patch:7.4.792
|
| |
| |
| |
| |
| |
| |
| | |
Problem: Can only conceal text by defining syntax items.
Solution: Use matchadd() to define concealing. (Christian Brabandt)
https://github.com/vim/vim/commit/6561d52ecbe6e24d1b90403078cc8b76c53c42fc
|
| |
| |
| |
| |
| |
| |
| | |
- `syntax_on` is documented. Rather than introduce a new undocumented
VimL global `g:syntax_off`, use a module-local flag.
- Rename "maybe" functions to follow style guidelines (use standard
module prefix)
|
| |
| |
| |
| |
| | |
If user invokes :filetype or :syntax before startup defaults are
applied, don't clobber their choices.
|
| |
| |
| |
| | |
It is no longer forcing anything.
|
| | |
|
|/ |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: On MS-Windows vimgrep over arglist doesn't work (Issue 361)
Solution: Only escape backslashes in ## expansion when it is not used as the
path separator. (James McCoy)
https://github.com/vim/vim/commit/6e8d3b0d41bcef7ebe0ba2e887eb25781e1437fe
---
Fix a lint error for the closing parenthesis.
NOLINT does not help to do this.
|
|\ |
|
| |
| |
| |
| |
| |
| |
| | |
Problem: Invalid memory access when using "exe 'sc'".
Solution: Avoid going over the end of the string. (Dominique Pelle)
https://github.com/vim/vim/commit/204b93f95831454e6924acf30b16fd4bdfda0d14
|
| |
| |
| |
| |
| |
| |
| | |
Problem: Using freed memory when triggering CmdUndefined autocommands.
Solution: Set pointer to NULL. (Dominique Pelle)
https://github.com/vim/vim/commit/829aef1eb48b17445b1f0a801948c1b826f507f8
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: Session file is not correct when there are multiple tab pages.
Solution: Reset the current window number for each tab page. (Jacob Niehus)
https://github.com/vim/vim/commit/695baeefe17adcd95f91d089efee87bd96fc98db
---
see: "[patch] wincmd error during session restore"
https://groups.google.com/d/msg/vim_dev/NykQ0UuOjXc/_MZi4sv9vp0J
What I did for testing:
```sh
mkdir /tmp/test_session
cd $_
function test_session() {
$1 -u NONE -i NONE -N ~/.vimrc \
-c 'wincmd s' \
-c 'wincmd v' \
-c 'wincmd T' \
-c 'normal 1gt' \
-c '2wincmd w' \
-c 'mks! test.vis' \
-c 'qa'
$1 -u NONE -i NONE -N -S test.vis
}
test_session vim
test_session nvim
test_session /path/to/your/neovim/repository/build/bin/nvim
```
|
|/
|
|
|
|
|
| |
Problem: ":1quit" works like ":.quit". (Bohr Shaw)
Solution: Don't exit Vim when a range is specified. (Christian Brabandt)
https://github.com/vim/vim/commit/c7a0d32c834ff321491d8fd7bc68bf6cabd11e44
|
|
|
|
|
|
|
|
| |
Problem: ":tabmove" does not work as documented.
Solution: Make it work consistently. Update documentation and add tests.
(Hirohito Higashi)
https://github.com/vim/vim/commit/40ce3a4e1f50badb75ca812e26557a9bc5fde8c6
|
|
|
|
|
|
|
|
|
|
| |
Although UNIX is a registered trademark of The Open Group, it doesn't
really matter whether we refer to these systems as UNIX, Unix, or
Unix-like. So, for consistency, refer to them collectively as Unix.
Related:
http://www.greens.org/about/unix.html
http://www.unixica.com/html/unixunix.html
|
| |
|
|
|
|
|
|
|
|
| |
Problem: It's a bit clumsy to execute a command on a list of matches.
Solution: Add the ":ldo", ":lfdo", ":cdo" and ":cfdo" commands. (Yegappan
Lakshmanan)
https://github.com/vim/vim/commit/aa23b379421aa214e6543b06c974594a25799b09
|
|
|
|
|
|
|
| |
Problem: Wrong ":argdo" range does not cause an error.
Solution: Reset "cmd" to NULL. (Marcin Szamotulski, Ingo Karkat)
https://github.com/vim/vim/commit/c0a37b9db38e722b9e5ac3ac8b4c4af86bdf018c
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Regarding the individual items in the header:
`Vim - Vi improved by Bram Moolenar`
Bram Moolenar is already mentioned throughout the documentation, as
well as the intro screen.
`:help uganda`
It's already shown to all users who don't use `shortmess+=I` upon
starting nvim, and is already placed prominently in help.txt, i.e.,
`:help` run with no arguments.
`:help credits`
Already mentioned near the top of help.txt.
`README.md`
Already mentioned in develop.txt.
|
| |
|
|
|
|
|
| |
The former no longer exists in this repo; see the top of
src/nvim/README.md.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
As can be seen in [1], the ifdefs are leftovers from Vim, where tons of
features are optional. This is not the case in Nvim, so the macros are
of little use. Besides, ex_ni is already used in a bunch of places,
just not consistently.
The ex_language macro was left untouched as the inclusion of
``:language'' actually is determined at compile time, unlike the other
commands which _always_ print "this command is not available in this
version".
[1]: https://github.com/vim/vim/blob/master/src/ex_docmd.c#L18-L497
Reviewed-by: Justin M. Keyes <justinkz@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
From the documentation itself:
:[range]o[pen] Works like |:visual|: end Ex mode.
{Vi: start editing in open mode}
...
Vim does not support open mode, since it's not really useful. For
those situations where ":open" would start open mode Vim will leave Ex
mode, which allows executing the same commands, but updates the whole
screen instead of only one line.
Part of the reason behind this is to make removing vi_diff.txt easier,
although it's also because :open is not too useful.
Helped-by: @fdinoff
Helped-by: @dsummersl
Helped-by: @mhinz
Helped-by: @justinmk
|
|
|
|
|
|
| |
Specifically refactor u_get_undo_file_name which will be modified to
automatically create undo directory and replace `char_u` with `char` in some of
the related functions.
|
|
|
|
|
|
| |
The new function contains logic that must be executed after handling input in
normal mode and also before the first main loop iteration. Also rename
`main_loop` to `normal_enter` and move it to normal.c
|
|
|
|
|
|
|
|
|
|
| |
Notes:
- E136 code greatly changed its meaning: now it is write error and not read
error.
- E195 was removed because shada_read_everything will already do all the
necessary error reporting.
- E886 can be reported by both :rshada and :wshada, but :rshada comes first and
AFAIR it is the only error which is not E575 and can be reported by :rshada.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
What works:
1. ShaDa file dumping: header, registers, jump list, history, search patterns,
substitute strings, variables.
2. ShaDa file reading: registers, global marks, variables.
Most was not tested.
TODO:
1. Merging.
2. Reading history, local marks, jump and buffer lists.
3. Documentation update.
4. Converting some data from &encoding.
5. Safer variant of dumping viminfo (dump to temporary file then rename).
6. Removing old viminfo code (currently masked with `#if 0` in a ShaDa file for
reference).
|
|
|
|
|
|
|
|
|
| |
Using the `curbuf->terminal` condition alone is wrong since it does not
necessarily mean nvim is in terminal mode. It needs to be used with
`State & TERM_FOCUS` because the current buffer could have changed without
`terminal_enter` exiting.
Close #3403
|
|
|
|
| |
Ref: https://github.com/junegunn/fzf.vim/issues/8#issuecomment-139209765
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is equivalent to patches 7.4.396, 7.4.445 and 7.4.598.
vim-patch:7.4.396
Problem: When 'clipboard' is "unnamed", :g/pat/d is very slow.
(Praful)
Solution: Only set the clipboard after the last delete. (Christian
Brabandt)
https://github.com/vim/vim/commit/1f285eb49a709e00552f7bef7e74efff5ae79026
vim-patch:7.4.445
Problem: Clipboard may be cleared on startup.
Solution: Set clip_did_set_selection to -1 during startup. (Christian
Brabandt)
https://github.com/vim/vim/commit/1a19d37d90f037c09183ba68fdddf70ab8ee179a
vim-patch:7.4.598
Problem: ":tabdo windo echo 'hi'" causes "* register not to be
changed.
(Salman Halim)
Solution: Change how clip_did_set_selection is used and add
clipboard_needs_update and global_change_count. (Christian
Brabandt)
https://github.com/vim/vim/commit/af6a579263a688f30bfbbee72b28d08cc7e0f3d4
Co-Author: @bfredl
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There's no way this isn't some long-running joke:
"Just as ':print'. Was apparently added to Vi for
people that keep the shift key pressed too long..."
Note: A user command can overrule this command.
Regarding ':X': the command has been removed for a while, but the
documentation must have been missed, so remove it here.
Reviewed-by: Justin M. Keyes <justinkz@gmail.com>
Helped-by: @jusga
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Simplify RStream/WStream API and make it more consistent with libuv.
- Move into the event loop layer(event subdirectory)
- Remove uv_helpers module.
- Simplify job/process internal modules/API.
- Unify RStream and WStream into a single structure. This is necessary because
libuv streams can be readable and writable at the same time(and because the
uv_helpers.c hack to associate multiple streams with libuv handle was removed)
- Make struct definition public, allowing more flexible/simple memory
management by users of the module.
- Adapt channel/job modules to cope with the changes.
|
|
|
|
|
|
|
|
| |
This also removes the 't' flag from 'guioptions'.
Side effect: :term[inal] -> :te[rminal]
Closes #3003.
|
| |
|
|
|
|
| |
Closes #2779
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
The "*" flag in 'cpoptions' makes the command :* execute the contents of
a register. Removed because
1. the same functionality exists as :@
2. it hides :* as a useful command-line shortcut for :'<,'>
3. unlike :@ it cannot be used with the * register
Helped-by: Michael Reed <m.reed@mykolab.com>
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|