<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rneovim.git/runtime/doc/vim_diff.txt, branch tmp</title>
<subtitle>Neovim fork with Rahm's personal hacks.</subtitle>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/'/>
<entry>
<title>feat: allow :wincmd to accept a count (#19815)</title>
<updated>2022-08-17T11:50:40+00:00</updated>
<author>
<name>Famiu Haque</name>
<email>famiuhaque@protonmail.com</email>
</author>
<published>2022-08-17T11:50:40+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=f5588ee8968c564f6f7b0e42ac0ad44f83489659'/>
<id>f5588ee8968c564f6f7b0e42ac0ad44f83489659</id>
<content type='text'>
Let :wincmd command accept a count like what its documentation suggests.
Previously it could only accept a range, which led to some ambiguity on
which attribute should be used when executing :wincmd using nvim_cmd.

Closes #19662.

Also fix a typo in a related Vim test:

vim-patch:9.0.0223: typo in diffmode test

Problem:    Typo in diffmode test.
Solution:   Fix the typo. (closes vim/vim#10932)
https://github.com/vim/vim/commit/5fd6ab820b4a0aaa5c6020852f39d118375fab49</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Let :wincmd command accept a count like what its documentation suggests.
Previously it could only accept a range, which led to some ambiguity on
which attribute should be used when executing :wincmd using nvim_cmd.

Closes #19662.

Also fix a typo in a related Vim test:

vim-patch:9.0.0223: typo in diffmode test

Problem:    Typo in diffmode test.
Solution:   Fix the typo. (closes vim/vim#10932)
https://github.com/vim/vim/commit/5fd6ab820b4a0aaa5c6020852f39d118375fab49</pre>
</div>
</content>
</entry>
<entry>
<title>docs: update Vim differences (#19780)</title>
<updated>2022-08-15T02:40:41+00:00</updated>
<author>
<name>Yegappan Lakshmanan</name>
<email>4298407+yegappan@users.noreply.github.com</email>
</author>
<published>2022-08-15T02:40:41+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=93ae1838104bdbf68d0c4ef13f7081a1b8da2ad3'/>
<id>93ae1838104bdbf68d0c4ef13f7081a1b8da2ad3</id>
<content type='text'>
Patch 8.2.4594 (https://github.com/vim/vim/commit/36a5b6867bb6c0bd69c8da7d788000ab8a0b0ab0) added support for sourcing a buffer without a name.

Patch 8.2.4325 (https://github.com/vim/vim/commit/3908ef5017a6b4425727013588f72cc7343199b9) added support for using a popup menu for wildmode completion.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Patch 8.2.4594 (https://github.com/vim/vim/commit/36a5b6867bb6c0bd69c8da7d788000ab8a0b0ab0) added support for sourcing a buffer without a name.

Patch 8.2.4325 (https://github.com/vim/vim/commit/3908ef5017a6b4425727013588f72cc7343199b9) added support for using a popup menu for wildmode completion.</pre>
</div>
</content>
</entry>
<entry>
<title>fix(input): do no reinterpret mouse keys with ALT modifiers</title>
<updated>2022-07-25T01:47:28+00:00</updated>
<author>
<name>zeertzjq</name>
<email>zeertzjq@outlook.com</email>
</author>
<published>2022-06-16T23:28:16+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=eb77122823f35c2296cc332aec7f4380db6dafe7'/>
<id>eb77122823f35c2296cc332aec7f4380db6dafe7</id>
<content type='text'>
Remove check for MOD_MASK_META as it is for &lt;T- which never appears in TUI.
Make small changes to docs.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Remove check for MOD_MASK_META as it is for &lt;T- which never appears in TUI.
Make small changes to docs.
</pre>
</div>
</content>
</entry>
<entry>
<title>feat(defaults): mouse=nvi  #19290</title>
<updated>2022-07-17T11:14:04+00:00</updated>
<author>
<name>matveyt</name>
<email>35012635+matveyt@users.noreply.github.com</email>
</author>
<published>2022-07-17T11:14:04+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=eb9b93b5e025386ec9431c9d35a4a073d6946d1d'/>
<id>eb9b93b5e025386ec9431c9d35a4a073d6946d1d</id>
<content type='text'>
Problem:
Since right-click can now show a popup menu, we can provide messaging to
guide users who expect 'mouse' to be disabled by default. So 'mouse' can
now be enabled by default.

Solution:
Do it.
Closes #15521</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem:
Since right-click can now show a popup menu, we can provide messaging to
guide users who expect 'mouse' to be disabled by default. So 'mouse' can
now be enabled by default.

Solution:
Do it.
Closes #15521</pre>
</div>
</content>
</entry>
<entry>
<title>feat(defaults): nnoremap &amp; :&amp;&amp;&lt;CR&gt; #19365</title>
<updated>2022-07-15T13:23:29+00:00</updated>
<author>
<name>Gregory Anders</name>
<email>8965202+gpanders@users.noreply.github.com</email>
</author>
<published>2022-07-15T13:23:29+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=1c9f487f0edc3e6a10a53dc83a3d779980dc3a26'/>
<id>1c9f487f0edc3e6a10a53dc83a3d779980dc3a26</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>feat(eval)!: input() support any type for "cancelreturn" in a dict (#19357)</title>
<updated>2022-07-14T06:47:25+00:00</updated>
<author>
<name>zeertzjq</name>
<email>zeertzjq@outlook.com</email>
</author>
<published>2022-07-14T06:47:25+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=b93cb481a20972c6af330de3e8974f641bccb355'/>
<id>b93cb481a20972c6af330de3e8974f641bccb355</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>feat: add 'mousescroll' option (#12355)</title>
<updated>2022-07-06T11:34:24+00:00</updated>
<author>
<name>Jay</name>
<email>jaysandhu1993@gmail.com</email>
</author>
<published>2022-07-06T11:34:24+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=93c8fe77cbfd3934c7599196e573136f75f6e9af'/>
<id>93c8fe77cbfd3934c7599196e573136f75f6e9af</id>
<content type='text'>
Add 'mousescroll' option to control how many lines to scroll by when a
mouse wheel keycode is received. The mousescroll option controls both
horizontal and vertical scrolling. The option is a string in the format:

    set mousescroll=direction:count,direction:count

Where direction is either "ver" or "hor", and count is a non negative
integer. If a direction is omitted, a default value is used. The default
values remain unchanged, that is 3 for vertical scrolling, and 6 for
horizontal scrolling. As such, the mousescroll default is "ver:3,hor:6".

Add mousescroll documentation
 - Add option documentation in options.txt
 - Add brief summary in quickref.txt

Update :help scroll-mouse-wheel
 - Mention mousescroll option as a means of controlling scrolling.
 - Remove obsolete suggestion to map scroll wheel keys to &lt;C-U&gt; to
   scroll by a single line -- users should prefer the mousescroll option.
 - Add some information about the consequences of remapping scroll wheel
   keys (they lose their magic ability to affect inactive windows).

Update :help vim-differences
 - Add brief mousescroll summary under Options

Add mousescroll tests
 - Test option validation
 - Test default mousescroll value and behavior
 - Test fallback to default values
 - Test mouse vertical and horizontal scrolling in normal mode
 - Test mouse vertical and horizontal scrolling in insert mode</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add 'mousescroll' option to control how many lines to scroll by when a
mouse wheel keycode is received. The mousescroll option controls both
horizontal and vertical scrolling. The option is a string in the format:

    set mousescroll=direction:count,direction:count

Where direction is either "ver" or "hor", and count is a non negative
integer. If a direction is omitted, a default value is used. The default
values remain unchanged, that is 3 for vertical scrolling, and 6 for
horizontal scrolling. As such, the mousescroll default is "ver:3,hor:6".

Add mousescroll documentation
 - Add option documentation in options.txt
 - Add brief summary in quickref.txt

Update :help scroll-mouse-wheel
 - Mention mousescroll option as a means of controlling scrolling.
 - Remove obsolete suggestion to map scroll wheel keys to &lt;C-U&gt; to
   scroll by a single line -- users should prefer the mousescroll option.
 - Add some information about the consequences of remapping scroll wheel
   keys (they lose their magic ability to affect inactive windows).

Update :help vim-differences
 - Add brief mousescroll summary under Options

Add mousescroll tests
 - Test option validation
 - Test default mousescroll value and behavior
 - Test fallback to default values
 - Test mouse vertical and horizontal scrolling in normal mode
 - Test mouse vertical and horizontal scrolling in insert mode</pre>
</div>
</content>
</entry>
<entry>
<title>feat(marks): restore viewport on jump #15831</title>
<updated>2022-06-30T12:59:52+00:00</updated>
<author>
<name>Javier Lopez</name>
<email>graulopezjavier@gmail.com</email>
</author>
<published>2022-06-30T12:59:52+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=565f72b9689e0c440ff72c712a090224aaf7631b'/>
<id>565f72b9689e0c440ff72c712a090224aaf7631b</id>
<content type='text'>
** 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() -&gt; fmark_T
- mark_get_global() -&gt; xfmark_T
- mark_get_local() -&gt; fmark_T
  - mark_get_motion() -&gt; fmark_T
  - mark_get_visual() -&gt; fmark_T

Functions that manage the changelist and jumplist were also modified to
return mark types.

- get_jumplist -&gt; fmark_T
- get_changelist -&gt; 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. &lt;C-O&gt; &lt;C-I&gt; g; g, &lt;C-^&gt; '[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.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
** 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() -&gt; fmark_T
- mark_get_global() -&gt; xfmark_T
- mark_get_local() -&gt; fmark_T
  - mark_get_motion() -&gt; fmark_T
  - mark_get_visual() -&gt; fmark_T

Functions that manage the changelist and jumplist were also modified to
return mark types.

- get_jumplist -&gt; fmark_T
- get_changelist -&gt; 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. &lt;C-O&gt; &lt;C-I&gt; g; g, &lt;C-^&gt; '[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.</pre>
</div>
</content>
</entry>
<entry>
<title>docs: improve 'insertmode' emulation #18962</title>
<updated>2022-06-17T00:16:33+00:00</updated>
<author>
<name>zeertzjq</name>
<email>zeertzjq@outlook.com</email>
</author>
<published>2022-06-17T00:16:33+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=1fe94cb008e062ba42e09c284e32cf10c912689e'/>
<id>1fe94cb008e062ba42e09c284e32cf10c912689e</id>
<content type='text'>
The current emulation script enters Insert mode much too frequently.
Using only BufWinEnter seems to be a closer simulation.

Also add a few more mappings.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The current emulation script enters Insert mode much too frequently.
Using only BufWinEnter seems to be a closer simulation.

Also add a few more mappings.</pre>
</div>
</content>
</entry>
<entry>
<title>feat: add preview functionality to user commands</title>
<updated>2022-05-31T14:55:05+00:00</updated>
<author>
<name>Famiu Haque</name>
<email>famiuhaque@protonmail.com</email>
</author>
<published>2022-04-20T11:02:18+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=46536f53e82967dcac8d030ee3394cdb156f9603'/>
<id>46536f53e82967dcac8d030ee3394cdb156f9603</id>
<content type='text'>
Adds a Lua-only `preview` flag to user commands which allows the command to be incrementally previewed like `:substitute` when 'inccommand' is set.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Adds a Lua-only `preview` flag to user commands which allows the command to be incrementally previewed like `:substitute` when 'inccommand' is set.
</pre>
</div>
</content>
</entry>
</feed>
