<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rneovim.git/src/nvim/generators/gen_eval.lua, branch master</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>build: move all generator scripts to `src/gen/`</title>
<updated>2025-02-26T16:54:37+00:00</updated>
<author>
<name>Lewis Russell</name>
<email>lewis6991@gmail.com</email>
</author>
<published>2025-02-26T11:38:07+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=0f24b0826a27b7868a3aacc25199787e7453d4cc'/>
<id>0f24b0826a27b7868a3aacc25199787e7453d4cc</id>
<content type='text'>
- Move all generator Lua scripts to the `src/gen/`
- Add a `.luarc.json` to `src/gen/`
- Add a `preload.lua` to `src/gen/`
  - Add `src` to `package.path` so it aligns with `.luarc.json'
- Fix all `require` statements in `src/gen/` so they are consistent:
    - `require('scripts.foo')` -&gt; `require('gen.foo')`
    - `require('src.nvim.options')` -&gt; `require('nvim.options')`
    - `require('api.dispatch_deprecated')` -&gt; `require('nvim.api.dispatch_deprecated')`
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Move all generator Lua scripts to the `src/gen/`
- Add a `.luarc.json` to `src/gen/`
- Add a `preload.lua` to `src/gen/`
  - Add `src` to `package.path` so it aligns with `.luarc.json'
- Fix all `require` statements in `src/gen/` so they are consistent:
    - `require('scripts.foo')` -&gt; `require('gen.foo')`
    - `require('src.nvim.options')` -&gt; `require('nvim.options')`
    - `require('api.dispatch_deprecated')` -&gt; `require('nvim.api.dispatch_deprecated')`
</pre>
</div>
</content>
</entry>
<entry>
<title>feat(jobs): jobstart(…,{term=true}), deprecate termopen() #31343</title>
<updated>2024-12-19T15:07:04+00:00</updated>
<author>
<name>Justin M. Keyes</name>
<email>justinkz@gmail.com</email>
</author>
<published>2024-12-19T15:07:04+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=8ef41f590224dfeea2e51d9fec150e363fd72ee0'/>
<id>8ef41f590224dfeea2e51d9fec150e363fd72ee0</id>
<content type='text'>
Problem:
`termopen` has long been a superficial wrapper around `jobstart`, and
has no real purpose. Also, `vim.system` and `nvim_open_term` presumably
will replace all features of `jobstart` and `termopen`, so centralizing
the logic will help with that.

Solution:
- Introduce `eval/deprecated.c`, where all deprecated eval funcs will live.
- Introduce "term" flag of `jobstart`.
- Deprecate `termopen`.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem:
`termopen` has long been a superficial wrapper around `jobstart`, and
has no real purpose. Also, `vim.system` and `nvim_open_term` presumably
will replace all features of `jobstart` and `termopen`, so centralizing
the logic will help with that.

Solution:
- Introduce `eval/deprecated.c`, where all deprecated eval funcs will live.
- Introduce "term" flag of `jobstart`.
- Deprecate `termopen`.</pre>
</div>
</content>
</entry>
<entry>
<title>refactor: extract eval/fs.c from eval/funcs.c (#29985)</title>
<updated>2024-08-06T12:13:07+00:00</updated>
<author>
<name>zeertzjq</name>
<email>zeertzjq@outlook.com</email>
</author>
<published>2024-08-06T12:13:07+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=b5f92c4e5c7428fe1c1f91620f4b545b30b49855'/>
<id>b5f92c4e5c7428fe1c1f91620f4b545b30b49855</id>
<content type='text'>
In Vim a lot of filesystem functions have been moved to filepath.c.
However, some of these functions actually deal with file contents, and
Nvim's filesystem-related functions are spread out in a different way.
Therefore, it's better to use a different file for these functions.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In Vim a lot of filesystem functions have been moved to filepath.c.
However, some of these functions actually deal with file contents, and
Nvim's filesystem-related functions are spread out in a different way.
Therefore, it's better to use a different file for these functions.</pre>
</div>
</content>
</entry>
<entry>
<title>build: enable lintlua for src/ dir #26395</title>
<updated>2023-12-04T21:31:57+00:00</updated>
<author>
<name>Justin M. Keyes</name>
<email>justinkz@gmail.com</email>
</author>
<published>2023-12-04T21:31:57+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=45fe4d11add933df76a2ea4bf52ce8904f4a778b'/>
<id>45fe4d11add933df76a2ea4bf52ce8904f4a778b</id>
<content type='text'>
Problem:
Not all Lua code is checked by stylua. Automating code-style is an
important mechanism for reducing time spent on accidental
(non-essential) complexity.

Solution:
- Enable lintlua for `src/` directory.

followup to 517f0cc634b985057da5b95cf4ad659ee456a77e</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem:
Not all Lua code is checked by stylua. Automating code-style is an
important mechanism for reducing time spent on accidental
(non-essential) complexity.

Solution:
- Enable lintlua for `src/` directory.

followup to 517f0cc634b985057da5b95cf4ad659ee456a77e</pre>
</div>
</content>
</entry>
<entry>
<title>vim-patch:8.1.2062: the mouse code is spread out (#24817)</title>
<updated>2023-08-21T07:23:32+00:00</updated>
<author>
<name>zeertzjq</name>
<email>zeertzjq@outlook.com</email>
</author>
<published>2023-08-21T07:23:32+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=cc35352f65f823259675f84a915ee03d2423913e'/>
<id>cc35352f65f823259675f84a915ee03d2423913e</id>
<content type='text'>
Problem:    The mouse code is spread out.
Solution:   Move all the mouse code to mouse.c. (Yegappan Lakshmanan,
            closes vim/vim#4959)

https://github.com/vim/vim/commit/b20b9e14ddd8db111e886ad0494e15b955159426

Also move getmousepos() there.

N/A patches for version.c:

vim-patch:8.1.2070: mouse code is spread out

Problem:    Mouse code is spread out.
Solution:   Move mouse terminal code parsing to mouse.c. (Yegappan Lakshmanan,
            closes vim/vim#4966)

https://github.com/vim/vim/commit/b8ff5c271ee5dcef6f63436b77e228e062ff9a0e

Co-authored-by: Bram Moolenaar &lt;Bram@vim.org&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem:    The mouse code is spread out.
Solution:   Move all the mouse code to mouse.c. (Yegappan Lakshmanan,
            closes vim/vim#4959)

https://github.com/vim/vim/commit/b20b9e14ddd8db111e886ad0494e15b955159426

Also move getmousepos() there.

N/A patches for version.c:

vim-patch:8.1.2070: mouse code is spread out

Problem:    Mouse code is spread out.
Solution:   Move mouse terminal code parsing to mouse.c. (Yegappan Lakshmanan,
            closes vim/vim#4966)

https://github.com/vim/vim/commit/b8ff5c271ee5dcef6f63436b77e228e062ff9a0e

Co-authored-by: Bram Moolenaar &lt;Bram@vim.org&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>vim-patch:8.1.2047: cannot check the current state</title>
<updated>2023-08-21T06:16:16+00:00</updated>
<author>
<name>zeertzjq</name>
<email>zeertzjq@outlook.com</email>
</author>
<published>2023-08-21T03:22:25+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=64ccfdaafef56b451e3a5eed94367fad93978ec8'/>
<id>64ccfdaafef56b451e3a5eed94367fad93978ec8</id>
<content type='text'>
Problem:    Cannot check the current state.
Solution:   Add the state() function.

https://github.com/vim/vim/commit/0e57dd859ecb1e8a3b91509d2f4343e839340eb8

Co-authored-by: Bram Moolenaar &lt;Bram@vim.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem:    Cannot check the current state.
Solution:   Add the state() function.

https://github.com/vim/vim/commit/0e57dd859ecb1e8a3b91509d2f4343e839340eb8

Co-authored-by: Bram Moolenaar &lt;Bram@vim.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>feat(docs): generate builtin.txt (#24493)</title>
<updated>2023-07-28T13:48:41+00:00</updated>
<author>
<name>Lewis Russell</name>
<email>lewis6991@gmail.com</email>
</author>
<published>2023-07-28T13:48:41+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=42333ea98dfcd2994ee128a3467dfe68205154cd'/>
<id>42333ea98dfcd2994ee128a3467dfe68205154cd</id>
<content type='text'>

- eval.lua is now the source of truth.

- Formatting is much more consistent.

- Fixed Lua type generation for polymorphic functions (get(), etc).

- Removed "Overview" section from builtin.txt
  - Can generate this if we really want it.

- Moved functions from sign.txt and testing.txt into builtin.txt.

- Removed the *timer* *timers* tags since libuv timers via vim.uv should be preferred.

- Removed the temp-file-name tag from tempname()

- Moved lueval() from lua.txt to builtin.txt.

* Fix indent

* fixup!

* fixup! fixup!

* fixup! better tag formatting

* fixup: revert changes no longer needed

* fixup! CI

---------

Co-authored-by: zeertzjq &lt;zeertzjq@outlook.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>

- eval.lua is now the source of truth.

- Formatting is much more consistent.

- Fixed Lua type generation for polymorphic functions (get(), etc).

- Removed "Overview" section from builtin.txt
  - Can generate this if we really want it.

- Moved functions from sign.txt and testing.txt into builtin.txt.

- Removed the *timer* *timers* tags since libuv timers via vim.uv should be preferred.

- Removed the temp-file-name tag from tempname()

- Moved lueval() from lua.txt to builtin.txt.

* Fix indent

* fixup!

* fixup! fixup!

* fixup! better tag formatting

* fixup: revert changes no longer needed

* fixup! CI

---------

Co-authored-by: zeertzjq &lt;zeertzjq@outlook.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>vim-patch:partial:8.1.1981: the evalfunc.c file is too big (#24490)</title>
<updated>2023-07-26T07:18:09+00:00</updated>
<author>
<name>zeertzjq</name>
<email>zeertzjq@outlook.com</email>
</author>
<published>2023-07-26T07:18:09+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=b8b77820371978a5f937ccc0db356574ae33371b'/>
<id>b8b77820371978a5f937ccc0db356574ae33371b</id>
<content type='text'>
Problem:    The evalfunc.c file is too big.
Solution:   Move undo functions to undo.c.  Move cmdline functions to
            ex_getln.c.  Move some container functions to list.c.

https://github.com/vim/vim/commit/08c308aeb5e7dfa18fa61f261b0bff79517a4883

Undo functions only. Cmdline functions have already been moved.
A lot of container functions have been added to eval/funcs.c instead of
list.c in previously ported Vim 8.2.x patches, so deal with that later.

Co-authored-by: Bram Moolenaar &lt;Bram@vim.org&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem:    The evalfunc.c file is too big.
Solution:   Move undo functions to undo.c.  Move cmdline functions to
            ex_getln.c.  Move some container functions to list.c.

https://github.com/vim/vim/commit/08c308aeb5e7dfa18fa61f261b0bff79517a4883

Undo functions only. Cmdline functions have already been moved.
A lot of container functions have been added to eval/funcs.c instead of
list.c in previously ported Vim 8.2.x patches, so deal with that later.

Co-authored-by: Bram Moolenaar &lt;Bram@vim.org&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>vim-patch:8.2.2344: using inclusive index for slice is not always desired</title>
<updated>2023-05-04T09:40:29+00:00</updated>
<author>
<name>zeertzjq</name>
<email>zeertzjq@outlook.com</email>
</author>
<published>2023-05-04T08:46:38+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=b441dafdf53e367c7d43177274bd781c5c73e6e0'/>
<id>b441dafdf53e367c7d43177274bd781c5c73e6e0</id>
<content type='text'>
Problem:    Using inclusive index for slice is not always desired.
Solution:   Add the slice() method, which has an exclusive index. (closes
            vim/vim#7408)

https://github.com/vim/vim/commit/6601b62943a19d4f8818c3638440663d67a17b6a

Cherry-pick a line in docs added later.

Co-authored-by: Bram Moolenaar &lt;Bram@vim.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem:    Using inclusive index for slice is not always desired.
Solution:   Add the slice() method, which has an exclusive index. (closes
            vim/vim#7408)

https://github.com/vim/vim/commit/6601b62943a19d4f8818c3638440663d67a17b6a

Cherry-pick a line in docs added later.

Co-authored-by: Bram Moolenaar &lt;Bram@vim.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>vim-patch:8.2.3139: functions for string manipulation are spread out (#23316)</title>
<updated>2023-04-25T16:23:11+00:00</updated>
<author>
<name>zeertzjq</name>
<email>zeertzjq@outlook.com</email>
</author>
<published>2023-04-25T16:23:11+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=907018e547c9b989781667d2cf951e1abf99ab9d'/>
<id>907018e547c9b989781667d2cf951e1abf99ab9d</id>
<content type='text'>
Problem:    Functions for string manipulation are spread out.
Solution:   Move string related functions to a new source file. (Yegappan
            Lakshmanan, closes vim/vim#8470)

https://github.com/vim/vim/commit/a2438132a675be4dde3acbdf03ba1fdb2f09427c

Co-authored-by: Yegappan Lakshmanan &lt;yegappan@yahoo.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem:    Functions for string manipulation are spread out.
Solution:   Move string related functions to a new source file. (Yegappan
            Lakshmanan, closes vim/vim#8470)

https://github.com/vim/vim/commit/a2438132a675be4dde3acbdf03ba1fdb2f09427c

Co-authored-by: Yegappan Lakshmanan &lt;yegappan@yahoo.com&gt;</pre>
</div>
</content>
</entry>
</feed>
