| Commit message (Collapse) | Author | Age |
|
|
|
| |
Work on https://github.com/neovim/neovim/issues/459
|
|\
| |
| | |
refactor: replace char_u with char 14: remove `STRLEN` part final
|
| |
| |
| |
| | |
Work on https://github.com/neovim/neovim/issues/459
|
|/
|
|
|
|
|
|
|
|
| |
inefficient (#21198)
Problem: Trying every character position for a match is inefficient.
Solution: Use the start position of the match ignoring "\zs".
https://github.com/vim/vim/commit/01105b37a108022515d364201767f7f111ec4222
Co-authored-by: Bram Moolenaar <Bram@vim.org>
|
|
|
|
|
|
|
|
|
| |
Problem: Several lines of code are duplicated.
Solution: Move duplicated code to a function. (Yegappan Lakshmanan,
closes vim/vim#5330)
https://github.com/vim/vim/commit/f4140488c72cad4dbf5449dba099cfa7de7bbb22
Using sizeof seems better than ARRAY_SIZE for vim_snprintf().
|
| |
|
|
|
|
|
|
|
|
| |
Problem: Debugging NFA regexp my crash, cached indent may be wrong.
Solution: Fix some debug warnings in the NFA regexp code. Make sure log_fd
is set when used. Fix breakindent and indent caching. (Christian
Brabandt, closes vim/vim#9482)
https://github.com/vim/vim/commit/b2d85e3784ac89f5209489844c1ee0f54d117abb
|
|
|
|
|
|
|
|
|
| |
Problem: No error if engine selection atom is not at the start.
Solution: Give an error. (Christian Brabandt, closes vim/vim#10439)
https://github.com/vim/vim/commit/360da40b47a84ee8586c3b5d062f8c64a2ac9cc6
Co-authored-by: Christian Brabandt <cb@256bit.org>
|
|
|
|
|
|
|
|
|
| |
Problem: new regexp does not accept pattern "\%>0v".
Solution: Do accept digit zero.
https://github.com/vim/vim/commit/72bb10df1fb3eb69bc91f5babfb8881ce098cba1
Co-authored-by: Bram Moolenaar <Bram@vim.org>
|
|
|
|
|
|
|
|
|
| |
Problem: New regexp engine does not give an error for "\%v".
Solution: Check for a value argument. (issue vim/vim#10079)
https://github.com/vim/vim/commit/91ff3d4f52a55a7c37a52aaad524cd9dd12efae4
Co-authored-by: Bram Moolenaar <Bram@vim.org>
|
|
|
|
| |
Work on https://github.com/neovim/neovim/issues/459
|
|
|
|
| |
Work on https://github.com/neovim/neovim/issues/459
|
|
|
|
| |
Work on https://github.com/neovim/neovim/issues/459
|
|
|
|
| |
Work on https://github.com/neovim/neovim/issues/459
|
|
|
|
| |
Work on https://github.com/neovim/neovim/issues/459
|
|
|
|
|
|
|
|
|
| |
This is a refactor extracted from vim-patch 9.0.0067: cannot show virtual text
The logic for inline virtual text is going to be different in nvim than
text property based text in vim, but this refactor is still useful,
as calculation of displayed linesize is going to be stateful in a
similar way.
|
|
|
| |
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
|
|
|
|
|
|
|
| |
vim-patch:8.2.0559: clearing a struct is verbose
Problem: Clearing a struct is verbose.
Solution: Define and use CLEAR_FIELD() and CLEAR_POINTER().
https://github.com/vim/vim/commit/a80faa8930ed5a554beeb2727762538873135e83
|
|
|
|
| |
Work on https://github.com/neovim/neovim/issues/459
|
|
|
| |
Work on https://github.com/neovim/neovim/issues/567
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
** Refactor
Previously most functions used to "get" a mark returned a position,
changed the line number and sometimes changed even the current buffer.
Now functions return a {x}fmark_T making calling context aware whether
the mark is in another buffer without arcane casting. A new function is
provided for switching to the mark buffer and returning a flag style
Enum to convey what happen in the movement. If the cursor changed, line,
columns, if it changed buffer, etc.
The function to get named mark was split into multiple functions.
- mark_get() -> fmark_T
- mark_get_global() -> xfmark_T
- mark_get_local() -> fmark_T
- mark_get_motion() -> fmark_T
- mark_get_visual() -> fmark_T
Functions that manage the changelist and jumplist were also modified to
return mark types.
- get_jumplist -> fmark_T
- get_changelist -> fmark_T
The refactor is also seen mainly on normal.c, where all the mark
movement has been siphoned through one function nv_gomark, while the
other functions handle getting the mark and setting their movement
flags. To handle whether context marks should be left, etc.
** Mark View
While doing the refactor the concept of a mark view was also
implemented:
The view of a mark currently implemented as the number of lines between
the mark position on creation and the window topline. This allows for
moving not only back to the position of a mark but having the window
look similar to when the mark was defined. This is done by carrying and
extra element in the fmark_T struct, which can be extended later to also
restore horizontal shift.
*** User space features
1. There's a new option, jumpoptions+=view enables the mark view restoring
automatically when using the jumplist, changelist, alternate-file and
mark motions. <C-O> <C-I> g; g, <C-^> '[mark] `[mark]
** Limitations
- The view information is not saved in shada.
- Calls to get_mark should copy the value in the pointer since we are
using pos_to_mark() to wrap and provide a homogeneous interfaces. This
was also a limitation in the previous state of things.
|
| |
|
|
|
| |
related vim-8.2.{4402,4639}
|
| |
|
|
|
|
| |
Work on https://github.com/neovim/neovim/issues/459
|
|
|
|
|
|
|
|
| |
The formatting for these files were originally disabled as to signal
that "we don't own these files", meaning we intentionally want to
minimize the amount of work put in these files as the return will be
very little. This unfortunately conflicts with other refactoring efforts
that happen to touch these files, and it's easier to simply enable
formatting.
|
|
|
|
| |
Work on https://github.com/neovim/neovim/issues/459
|
|
|
|
| |
Work on https://github.com/neovim/neovim/issues/459
|
|
|
|
|
|
| |
Problem: Various formatting problems.
Solution: Improve the code formatting.
https://github.com/vim/vim/commit/b4ad3b0deac12674a7773311890b48fd39c6807c
|
|
|
|
|
|
| |
Problem: Search continues after giving E1204.
Solution: Return failure after giving E1204. (closes vim/vim#9972)
https://github.com/vim/vim/commit/b10ff5c1b3581ed4990d196bed51b4a8f961e8a2
|
|
|
|
|
|
|
|
|
| |
Problem: A pattern that matches the cursor position is bit complicated.
Solution: Use a dot to indicate the cursor line and column. (Christian
Brabandt, closes vim/vim#8497, closes vim/vim#8179)
https://github.com/vim/vim/commit/04db26b36000a4677b95403ec94bd11f6cc73975
Also use `n = ++vcol` in regexp_bt.c as `++vcol` alone fails lint.
|
|
|
|
|
|
| |
Problem: Duplicate #undef.
Solution: Remove one #undef. (closes vim/vim#9932)
https://github.com/vim/vim/commit/0a4e098f32f3c83273ff63c02c8d0d5cdd7c897c
|
|
|
|
|
|
|
|
|
| |
Problem: The equivalent class regexp is missing some characters.
Solution: Update the list of equivalent characters. (Dominique Pellé,
closes vim/vim#8029)
https://github.com/vim/vim/commit/0b94e297afd072c51bf2eed12c7ffe3978d93399
Match upstream's indent in s:equivalence_class().
|
|
|
|
|
| |
Problem: Using freed memory with regexp using a mark.
Solution: Get the line again after getting the mark position.
https://github.com/vim/vim/commit/64066b9acd9f8cffdf4840f797748f938a13f2d6
|
|
|
|
|
|
|
|
|
| |
* vim-patch:8.2.3914: various spelling mistakes in comments
Problem: Various spelling mistakes in comments.
Solution: Fix the mistakes. (Dominique Pellé, closes vim/vim#9416)
https://github.com/vim/vim/commit/af4a61a85d6e8cacc35324f266934bc463a21673
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
|
|
|
|
|
|
| |
Problem: Illegal memory access when displaying a blob.
Solution: Append a NUL at the end. (Yegappan Lakshmanan, closes vim/vim#9372)
https://github.com/vim/vim/commit/bc404bfb32cf2bef34050d2aeae0ea72ccf980cc
|
|
|
|
|
|
| |
Problem: Various comments could be improved.
Solution: Improve the comments.
https://github.com/vim/vim/commit/52797bae1710621926c03a2611c40a692c96fb44
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
Problem: Giving error messages is not flexible.
Solution: Add semsg(). Change argument from "char_u *" to "char *", also
for msg() and get rid of most MSG macros. (Ozaki Kiichi, closes
vim/vim#3302) Also make emsg() accept a "char *" argument. Get rid of
an enormous number of type casts.
https://github.com/vim/vim/commit/f9e3e09fdc93be9f0d47afbc6c7df1188c2a5a0d
|
|
|
|
|
|
| |
Problem: Using old C style comments.
Solution: Use // comments where appropriate.
https://github.com/vim/vim/commit/63d9e730f726341bf41ee4f4b829253cb9879110
|
|\
| |
| | |
vim-patch:8.1.2396,8.1.2395,8.1.2394,8.1.2392,8.1.2368,8.1.2388,8.1.2379
|
| |
| |
| |
| |
| |
| | |
Problem: Using old C style comments.
Solution: Use // comments where appropriate.
https://github.com/vim/vim/commit/63d9e730f726341bf41ee4f4b829253cb9879110
|
|/
|
|
|
|
|
|
| |
* refactor: format all C files under nvim
* refactor: disable formatting for Vim-owned files:
* src/nvim/indent_c.c
* src/nvim/regexp.c
* src/nvim/regexp_nfa.c
* src/nvim/testdir/samples/memfile_test.c
|
|
|
|
|
|
| |
Problem: Variables are set but not used.
Solution: Move the declarations to the block where they are used.
(closes vim/vim#8527)
https://github.com/vim/vim/commit/09f688c33aad9692276dfb68842cf0621a0e2002
|
|
|
|
| |
"void" cast unused return values of getchr(), peekchr().
|
|
|
|
|
|
|
| |
Problem: Falling back to old regexp engine can some patterns.
Solution: Do not fall back once [[:lower:]] or [[:upper:]] is used.
(Christian Brabandt, closes vim/vim#7572)
https://github.com/vim/vim/commit/66c50c565321d4d49d8d5620912e5e8fe4825644
|
|
|
|
|
|
| |
Problem: searching for \%'> does not match linewise end of line. (Tim Chase)
Solution: Match end of line if column is MAXCOL. (closes vim/vim#8238)
https://github.com/vim/vim/commit/872bee557e5f8ab0e4a523a6a845868a2801b17e
|