Commit Graph

10532 Commits

Author SHA1 Message Date
Aufar Gilbran
112092fa15 vim-patch:8.1.0392: error while typing :/foo/s// with 'incsearch' enabled
Problem:    Error while typing :/foo/s// with 'incsearch' enabled.
Solution:   Do not give search errors when highlighting matches.
50eb16c3b2
2020-09-11 10:37:52 +08:00
Aufar Gilbran
b0042cafc0 vim-patch:8.1.0356: using :s with 'incsearch' prevents CTRL-R CTRL-W
Problem:    Using :s with 'incsearch' prevents CTRL-R CTRL-W. (Boris Staletic)
Solution:   When past the pattern put cursor back in the start position.
            (closes vim/vim#3413)
99f043a57d
2020-09-11 10:37:52 +08:00
Aufar Gilbran
e2dc2a6bd7 vim-patch:8.1.0351: 'incsearch' for :/foo/s//<Esc> changes last search pattern
Problem:    'incsearch' for :/foo/s//<Esc> changes last search pattern.
Solution:   Save the last search pattern earlier.
198cb66d65
2020-09-11 10:37:52 +08:00
Aufar Gilbran
b59c293c25 vim-patch:8.1.0339: wrong highlight when 'incsearch' set and cancelling :s
Problem:    Wrong highlight when 'incsearch' set and cancelling :s.
Solution:   Reset search line range. (Hirohito Higashi, Masamichi Abe)
f13daa46da
2020-09-11 10:37:52 +08:00
Aufar Gilbran
f2743cfb65 vim-patch:8.1.0321: 'incsearch' regression: /\v highlights everything
Problem:    'incsearch' regression: /\v highlights everything.
Solution:   Put back the empty_pattern() check.
4edfe2d2a2
2020-09-11 10:37:52 +08:00
Aufar Gilbran
4770a2bac5 vim-patch:8.1.0320: too much 'incsearch' highlight for pat matching everything
Problem:    Too much 'incsearch' highlight for pattern matching everything.
Solution:   Add the skiplen to the command and remove the line range.
            (Christian Brabandt)  Check for empty pattern earlier.
8b0d5ce881
2020-09-11 10:37:52 +08:00
Aufar Gilbran
5f5d08a88e vim-patch:8.1.0296: command parsing for 'incsearch' is a bit ugly
Problem:    Command parsing for 'incsearch' is a bit ugly.
Solution:   Return when there is no pattern.  Put common checks together.
111bbd61e9
2020-09-11 10:37:52 +08:00
Aufar Gilbran
77bb48e740 vim-patch:8.1.0295: no 'incsearch' highlighting for :vimgrep and similar
Problem:    No 'incsearch' highlighting for :vimgrep and similar commands.
Solution:   Parse the :vimgrep command and similar ones to locate the search
            pattern. (Hirohito Higashi, closes vim/vim#3344)
264cf5cfaf
2020-09-11 10:33:20 +08:00
Aufar Gilbran
ab7e101540 vim-patch:8.1.0291: 'incsearch' highlighting not used for :sort
Problem:    'incsearch' highlighting not used for :sort.
Solution:   Handle pattern in :sort command.
81f56536b1
2020-09-11 10:33:20 +08:00
Aufar Gilbran
c0102c140c vim-patch:8.1.0286: 'incsearch' does not apply to :smagic and :snomagic
Problem:    'incsearch' does not apply to :smagic and :snomagic.
Solution:   Add support. (Hirohito Higashi)
167ae42685
2020-09-11 10:33:20 +08:00
Aufar Gilbran
68f6abef16 vim-patch:8.1.0284: 'cursorline' highlighting wrong with 'incsearch'
Problem:    'cursorline' highlighting wrong with 'incsearch'.
Solution:   Move the cursor back if the match is outside the range.
2f6a346a4c
2020-09-11 10:33:20 +08:00
Aufar Gilbran
b24dabf266 vim-patch:8.1.0282: 'incsearch' does not work with command modifiers
Problem:    'incsearch' does not work with command modifiers.
Solution:   Skip command modifiers.
33c4dbb74b
2020-09-11 10:33:20 +08:00
Aufar Gilbran
ba59ee9a15 ex_docmd: merge parse_state_T with exarg_T 2020-09-11 10:33:20 +08:00
Aufar Gilbran
9a6fd99a4b vim-patch:8.1.0281: parsing command modifiers is not separated
Problem:    Parsing command modifiers is not separated.
Solution:   Move command modifier parsing to a separate function.
effed9315c
2020-09-11 10:31:41 +08:00
Aufar Gilbran
841ec4316c vim-patch:8.1.0280: 'incsearch' highlighting does not work for ":g!/"
Problem:    'incsearch' highlighting does not work for ":g!/".
Solution:   Skip the exclamation mark. (Hirohito Higashi)
def7b1dc61
2020-09-11 10:31:41 +08:00
Aufar Gilbran
8ae47ddf63 vim-patch:8.1.0279: 'incsearch' highlighting does not skip white space
Problem:    'incsearch' highlighting does not skip white space.
Solution:   Skip white space after the command. (issue vim/vim#3321)
2b926fcb3c
2020-09-11 10:31:41 +08:00
Aufar Gilbran
83f3218b28 vim-patch:8.1.0278: 'incsearch' highlighting does not accept reverse range
Problem:    'incsearch' highlighting does not accept reverse range.
Solution:   Swap the range when needed. (issue vim/vim#3321)
60d0871000
2020-09-11 10:31:41 +08:00
Aufar Gilbran
50da4d4f45 vim-patch:8.1.0277: 'incsearch' highlighting wrong in a few cases
Problem:    'incsearch' highlighting wrong in a few cases.
Solution:   Fix using last search pattern.  Restore highlighting when changing
            command. (issue vim/vim#3321)
c7f08b7ee1
2020-09-11 10:31:41 +08:00
Aufar Gilbran
dd08f6367b vim-patch:8.1.0275: 'incsearch' with :s doesn't start at cursor line
Problem:    'incsearch' with :s doesn't start at cursor line.
Solution:   Set cursor before parsing address. (closes vim/vim#3318)
            Also accept a match at the start of the first line.
976b847f43
2020-09-11 10:31:41 +08:00
Aufar Gilbran
9e834a89df vim-patch:8.1.0274: 'incsearch' triggers on ":source"
Problem:    'incsearch' triggers on ":source".
Solution:   Check for the whole command name.
21f990e1c2
2020-09-11 10:31:41 +08:00
Aufar Gilbran
5eb7133021 vim-patch:8.1.0273: invalid memory access when using 'incsearch'
Problem:    Invalid memory access when using 'incsearch'.
Solution:   Reset "patlen" when using previous search pattern.
ef73a28401
2020-09-11 10:31:41 +08:00
Aufar Gilbran
e8a8b9ed08 vim-patch:8.1.0271: 'incsearch' doesn't work for :s, :g or :v
Problem:    'incsearch' doesn't work for :s, :g or :v.
Solution:   Also use 'incsearch' for other commands that use a pattern.
b0acacd767
2020-09-11 10:31:41 +08:00
Aufar Gilbran
8ac4748577 vim-patch:8.1.0265: the getcmdline() function is way too big
Problem:    The getcmdline() function is way too big.
Solution:   Factor out the incremental search highlighting.
0ee81cb638
2020-09-11 10:29:12 +08:00
Björn Linse
5f3ddb195e lua: cleanup naming conventions of executor functions 2020-09-10 10:02:41 +02:00
Björn Linse
ef5e7b862d memline: do not attempt to cache line2byte()
This is irrelevant to neovim usecases anyway.
2020-09-10 06:50:04 +02:00
Thomas Vigouroux
82fb6a8818 fix lints 2020-09-09 21:22:21 +02:00
Björn Linse
9437327d5e treesitter: use new on_bytes interface
This will significantly reduce the parsing work
needed e.g. when rehighlighting after every keypress
in insert mode.

Also add safety check for tree-sitter trying to read
past the end of a line. This can happen after we sent
an incorrect buffer update.
2020-09-09 21:22:21 +02:00
Björn Linse
bc86f76c0a api/buffer: add "on_bytes" callback to nvim_buf_attach
This implements byte-resolution updates of buffer changes.
Note: there is no promise that the buffer state is valid inside
the callback!
2020-09-09 21:22:21 +02:00
Björn Linse
81fa107f59 memline: cache byte offset of current line
When editing a line in insert mode, this value will be
used for every keypress.
2020-09-09 21:22:21 +02:00
Björn Linse
333bfd5a29 extmark: use resonable names in extmark_splice 2020-09-09 21:22:21 +02:00
Björn Linse
f42aa95fbc extmark: separate extmark_splice_cols for column-only change
as the byte logic will be the same for all of these
2020-09-09 21:22:21 +02:00
Justin M. Keyes
59712f6dbe win: avoid duplicate separators in $PATH #12869
Seems like redundant env var separators (";" on Windows) in $PATH can
cause weird behavior. From #7377:

> After some time, system(['win32yank', '-o']) and system('win32yank -o')
> start returning different results: specifically first returns an
> empty string.
>
> 1. $PATH weirdly contains double semicolon followed by path to the
>    “installation directory” (unpacked directory from archive).
> 2. If I run `let $PATH=substitute($PATH, ';;', ';', 'g')` the problem is fixed.

close #7377
ref 224f99b85d
2020-09-08 20:47:22 -07:00
Jan Edmund Lazo
df6b49b4ee vim-patch:8.2.1635: no digraph for 0x2022 BULLET #12876
Problem:    No digraph for 0x2022 BULLET.
Solution:   Use "oo". (Hans Ginzel, closes vim/vim#6904)
57ad94c5a9
2020-09-08 20:45:27 -07:00
erw7
aa45579206 win/env: fix stdpath()/XDG_* initialization, parsing #12829
- Windows environment variables are semicolon-separated, but some logic
  was assuming colon (:). This broke initialization and parsing of
  XDG_CONFIG_DIRS, XDG_DATA_DIRS, 'runtimepath', stdpath(), etc.
- test/defaults_spec: enable tests on Windows

ref #12793
2020-09-07 22:40:12 -07:00
Jan Edmund Lazo
951ef21de5 vim-patch:8.2.1633: some error messages are internal but do not use iemsg()
Problem:    Some error messages are internal but do not use iemsg().
Solution:   Use iemsg(). (Dominique Pellé, closes vim/vim#6894)
e83cca2911

N/A patches for version.c:

vim-patch:8.2.1625: compiler warning for use of fptr_T

Problem:    Compiler warning for use of fptr_T.
Solution:   Make the type less strict.
30d6413782

vim-patch:8.2.1630: terminal test fails

Problem:    Terminal test fails.
Solution:   Correct argument to term_start().  Correct error number.
c98cdb3bc9
2020-09-07 18:42:15 -04:00
Justin M. Keyes
c1d395a6d6 UI: forward 'mousefocus' option #12863
close #12849
ref eb4aab7173
2020-09-06 11:40:07 -07:00
James McCoy
d6b280799f Merge pull request #12802 from jamessan/travis-ubuntu-bump 2020-09-06 12:52:37 -04:00
Björn Linse
a0b18464ab Merge pull request #11649 from vhakulinen/fix-blank-sections-with-multigrid
invalidate grid on allocation when in ext_multigrid
2020-09-06 13:23:20 +02:00
Marvim the Paranoid Android
280ee90f24 version.c: update [ci skip] (#12763)
vim-patch:8.1.0113: compiler warning for unused variable
vim-patch:8.1.0294: MS-Windows: sometimes uses short directory name
vim-patch:8.1.0297: MS-Windows: tests fail, Vim crashes
vim-patch:8.1.0338: MS-Windows: VTP doesn't work properly with Powershell
vim-patch:8.1.0718: a couple compiler warnings
vim-patch:8.1.0912: MS-Windows: warning for signed/unsigned
vim-patch:8.1.1130: MS-Windows: warning for unused variable
vim-patch:8.1.1219: not checking for NULL return from alloc()
vim-patch:8.1.1487: older msgfmt cannot generate proper .desktop file
vim-patch:8.1.1528: popup_any_visible() is unused
vim-patch:8.1.2252: compiler warning for int size
vim-patch:8.1.2323: Old MSVC version no longer tested.
vim-patch:8.1.2424: MS-Windows: console buffer is resized unnecessarily

vim-patch:8.2.0541: Travis CI does not give compiler warnings
vim-patch:8.2.0545: unused arguments ignored in non-standard way
vim-patch:8.2.0550: some changes in the libvterm upstream code
vim-patch:8.2.0553: error for unused argument
vim-patch:8.2.0608: warning from clang when building message test
vim-patch:8.2.0781: compiler warning for not using value in Lua
vim-patch:8.2.0838: MS-Windows: compiler warning for uninitialized variables
vim-patch:8.2.0891: clang warns for invalid conversion
vim-patch:8.2.1234: Lua build problem with old compiler
vim-patch:8.2.1487: Travis: installing snd-dummy is not always useful
vim-patch:8.2.1495: "make clean" may delete too many files
vim-patch:8.2.1545: ch_logfile() is unclear about closing when forking
vim-patch:8.2.1546: build rule for Vim.app is unused
vim-patch:8.2.1559: s390x tests work again
vim-patch:8.2.1567: no example to use ubsan with clang
vim-patch:8.2.1579: reports from asan are not optimal
vim-patch:8.2.1583: MS-Windows: cannot easily measure code coverage
vim-patch:8.2.1589: term_start() options for size are overruled by 'termwinsize'
vim-patch:8.2.1594: pull requests on github do not notify a maintainer
vim-patch:8.2.1595: cannot easily see what Vim sends to the terminal
vim-patch:8.2.1596: using win_screenpos('.') in tests works but is wrong
vim-patch:8.2.1598: starting a hidden terminal resizes the current window
vim-patch:8.2.1605: default maintainer on github is wrong
2020-09-06 12:51:32 +02:00
Ville Hakulinen
9be302e9a6 Invalidate grid on allction when in ext_multigrid
When in ext_multigrid mode, after a window gets resized neovim wont
currently send all the needed events fill the window's blank space and
thus' UIs will have invalid grid state.
2020-09-06 10:12:30 +02:00
Georgy Komarov
e57ea5f2a9 doc: fix invalid help tags #12745 2020-09-05 22:10:56 -07:00
Justin M. Keyes
858c056133 Support for :perl, :perlfile, :perldo and perleval() (#12809)
* support for :perl, :perlfile, :perldo and perleval()

* document that the perl provider doesn't currently work on Windows

* document that the perl legacy interface is now also supported

* added perleval() documentation

* import legacy perl interface tests

* only perl 5.22+ is supported

* healtcheck: use g:perl_host_prog if its set instead

using just 'perl' isn't correct as it may not be the version requested.
ditto for 'cpanm', rather go through 'App::cpanminus' to find the latest
perl version
2020-09-05 13:55:06 -07:00
Björn Linse
8b5c6a1b73 Merge pull request #12838 from bfredl/screenshot
nvim__screenshot
2020-09-05 22:54:25 +02:00
Jan Edmund Lazo
2cea6ab012 vim-patch:8.2.1586: :resize command not fully tested (#12853)
Problem:    :resize command not fully tested.
Solution:   Add a couple of tests. (Dominique Pellé, closes vim/vim#6857)
fe6dce8739
2020-09-05 12:31:45 -07:00
Björn Linse
a1508c9f6d nvim__screenshot 2020-09-05 13:33:21 +02:00
Björn Linse
b33e375b2b robustness: avoid adding offset to NULL pointer
UBSAN with clang 10.0 is checking for adding offsets to a `NULL` pointer
which is not allowed. This is not yet checked in the version of clang
used in CI (7.0.0). I will work on cases of this so that tests passes
locally for me.

This could be tested in CI by either upgrading the clang of the
ASAN/UBSAN to 10.0, or add yet another CI target which builds with
clang 10.0.
2020-09-04 23:29:51 +02:00
Björn Linse
7593c8012b treesitter: update runtime 2020-09-04 20:59:00 +02:00
Björn Linse
866308c3de API: be less breaking in the christmas tree decorations 2020-09-04 19:11:26 +02:00
James McCoy
33bf6f9ada ci: Try to recover from sanitizer issues
When running in CI, we want to find as many problems as possible
instead.  Let the code try to keep running from recoverable issues so we
report all the sanitize issues we can.
2020-09-04 11:09:25 -04:00
James McCoy
74ad66404f suggest_trie_walk: Remove invalid FALLTHROUGH annotation 2020-09-04 10:59:16 -04:00