<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rneovim.git/runtime/lua/vim/_meta/json.lua, branch extregs</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>docs: misc #40126</title>
<updated>2026-06-08T20:12:14+00:00</updated>
<author>
<name>Justin M. Keyes</name>
<email>justinkz@gmail.com</email>
</author>
<published>2026-06-08T20:12:14+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=8f584031bc19d93cb947181cb81ad949c2116698'/>
<id>8f584031bc19d93cb947181cb81ad949c2116698</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>fix(lua): not obvious which _meta/ files are generated #39035</title>
<updated>2026-04-14T09:38:47+00:00</updated>
<author>
<name>Justin M. Keyes</name>
<email>justinkz@gmail.com</email>
</author>
<published>2026-04-14T09:38:47+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=65b40e69acbcb28c0e7ef9228f731c444a788e93'/>
<id>65b40e69acbcb28c0e7ef9228f731c444a788e93</id>
<content type='text'>
Problem:
- Not obvious which _meta/ are generated and which should be edited
  manually.
- The require guard (`error('Cannot require a meta file')`) is not
  consistently present in all meta files.

Solution:
- Update headers.
- Add require() guard to all meta files.
- Rename generated meta files with `.gen.lua`.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem:
- Not obvious which _meta/ are generated and which should be edited
  manually.
- The require guard (`error('Cannot require a meta file')`) is not
  consistently present in all meta files.

Solution:
- Update headers.
- Add require() guard to all meta files.
- Rename generated meta files with `.gen.lua`.</pre>
</div>
</content>
</entry>
<entry>
<title>docs: news #38464</title>
<updated>2026-03-28T13:59:54+00:00</updated>
<author>
<name>Justin M. Keyes</name>
<email>justinkz@gmail.com</email>
</author>
<published>2026-03-28T13:59:54+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=64d55b74d83d566975e269bed0810d9008119ddf'/>
<id>64d55b74d83d566975e269bed0810d9008119ddf</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>feat(stdlib): vim.json.decode() can allow comments #37795</title>
<updated>2026-02-11T11:54:57+00:00</updated>
<author>
<name>skewb1k</name>
<email>skewb1kunix@gmail.com</email>
</author>
<published>2026-02-11T11:54:57+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=6b4ec2264e1d8ba027b85f3883d532c5068be92a'/>
<id>6b4ec2264e1d8ba027b85f3883d532c5068be92a</id>
<content type='text'>
Problem:
`vim.json.decode()` could not parse JSONC (JSON with Comments)
extension, which is commonly used in configuration files.

Solution:
Introduce an `skip_comments` option, which is disabled by default. When
enabled, allows JavaScript-style comments within JSON data.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem:
`vim.json.decode()` could not parse JSONC (JSON with Comments)
extension, which is commonly used in configuration files.

Solution:
Introduce an `skip_comments` option, which is disabled by default. When
enabled, allows JavaScript-style comments within JSON data.</pre>
</div>
</content>
</entry>
<entry>
<title>docs: json, tests, lsp #35754</title>
<updated>2025-09-29T03:57:59+00:00</updated>
<author>
<name>Justin M. Keyes</name>
<email>justinkz@gmail.com</email>
</author>
<published>2025-09-29T03:57:59+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=2739ab485e4e76f24bf776c5169d0f4037554f7d'/>
<id>2739ab485e4e76f24bf776c5169d0f4037554f7d</id>
<content type='text'>
Close #35926
Close #35818

Co-authored-by: skewb1k &lt;skewb1kunix@gmail.com&gt;
Co-authored-by: glepnir &lt;glephunter@gmail.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Close #35926
Close #35818

Co-authored-by: skewb1k &lt;skewb1kunix@gmail.com&gt;
Co-authored-by: glepnir &lt;glephunter@gmail.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>feat(json): vim.json.encode() sort_keys #35574</title>
<updated>2025-09-14T04:17:07+00:00</updated>
<author>
<name>skewb1k</name>
<email>skewb1kunix@gmail.com</email>
</author>
<published>2025-09-14T04:17:07+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=a897cc17a5ee9a3bf9a22eb105b15d2c162f7176'/>
<id>a897cc17a5ee9a3bf9a22eb105b15d2c162f7176</id>
<content type='text'>
Problem: There is no way to ensure a stable key order when encoding a JSON string,
which can be useful for comparisons and producing cleaner diffs.

Solution: Introduce a `sort_keys` option for `vim.json.encode()`,which
is disabled by default. When enabled, object keys are sorted in
alphabetical order.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem: There is no way to ensure a stable key order when encoding a JSON string,
which can be useful for comparisons and producing cleaner diffs.

Solution: Introduce a `sort_keys` option for `vim.json.encode()`,which
is disabled by default. When enabled, object keys are sorted in
alphabetical order.</pre>
</div>
</content>
</entry>
<entry>
<title>docs: manpage, keycodes, json</title>
<updated>2025-09-14T02:49:50+00:00</updated>
<author>
<name>Justin M. Keyes</name>
<email>justinkz@gmail.com</email>
</author>
<published>2025-09-06T17:49:19+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=db67607201a55d7a2d578c6c7661c8e6770f5b2f'/>
<id>db67607201a55d7a2d578c6c7661c8e6770f5b2f</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>feat(json): pretty-format (indent) with vim.json.encode() #35424</title>
<updated>2025-09-07T21:38:27+00:00</updated>
<author>
<name>skewb1k</name>
<email>skewb1kunix@gmail.com</email>
</author>
<published>2025-09-07T21:38:27+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=448f15ca396aa7007eb2c5cb82dd2ea6c5c82953'/>
<id>448f15ca396aa7007eb2c5cb82dd2ea6c5c82953</id>
<content type='text'>
Problem:
There is no straightforward way to pretty-print objects as JSON.
The existing `vim.inspect` outputs LON.

Solution:
Introduce an `indent` option for `vim.json.encode()` which enables
human-readable output with configurable indentation.

Adapts PR to upstream: openresty/lua-cjson#114</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem:
There is no straightforward way to pretty-print objects as JSON.
The existing `vim.inspect` outputs LON.

Solution:
Introduce an `indent` option for `vim.json.encode()` which enables
human-readable output with configurable indentation.

Adapts PR to upstream: openresty/lua-cjson#114</pre>
</div>
</content>
</entry>
<entry>
<title>docs: misc #31479</title>
<updated>2025-01-01T20:29:51+00:00</updated>
<author>
<name>Justin M. Keyes</name>
<email>justinkz@gmail.com</email>
</author>
<published>2025-01-01T20:29:51+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=dc692f553aae367a03f286e0d59561247941f96c'/>
<id>dc692f553aae367a03f286e0d59561247941f96c</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>feat(stdlib): vim.json.encode(...,{escape_slash:boolean}) #30561</title>
<updated>2024-12-06T20:43:41+00:00</updated>
<author>
<name>Bartłomiej Maryńczak</name>
<email>marynczak.bartlomiej@gmail.com</email>
</author>
<published>2024-12-06T20:43:41+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=517ecb85f58ed6ac8b4d5443931612e75e7c7dc2'/>
<id>517ecb85f58ed6ac8b4d5443931612e75e7c7dc2</id>
<content type='text'>
Problem:
vim.json.encode escapes every slash in string values (for example in
file paths), and is not optional. Use-case is for preventing HTML
injections (eg. injecting `&lt;/script&gt;` closing tag); in the context of
Nvim this is rarely useful.

Solution:
- Add a `escape_slash` flag to `vim.json.encode`.
- Defaults to `false`. (This is a "breaking" change, but more like
  a bug fix.)</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem:
vim.json.encode escapes every slash in string values (for example in
file paths), and is not optional. Use-case is for preventing HTML
injections (eg. injecting `&lt;/script&gt;` closing tag); in the context of
Nvim this is rarely useful.

Solution:
- Add a `escape_slash` flag to `vim.json.encode`.
- Defaults to `false`. (This is a "breaking" change, but more like
  a bug fix.)</pre>
</div>
</content>
</entry>
</feed>
