<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rneovim.git/test/functional/treesitter/parser_spec.lua, branch rahm</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(treesitter): allow LanguageTree:is_valid() to accept a range</title>
<updated>2025-02-02T20:13:25+00:00</updated>
<author>
<name>Riley Bruins</name>
<email>ribru17@hotmail.com</email>
</author>
<published>2025-01-29T23:53:34+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=8543aa406c4ae88cc928372b2f8105005cdd0a80'/>
<id>8543aa406c4ae88cc928372b2f8105005cdd0a80</id>
<content type='text'>
When given, only that range will be checked for validity rather than the
entire tree. This is used in the highlighter to save CPU cycles since we
only need to parse a certain region at a time anyway.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When given, only that range will be checked for validity rather than the
entire tree. This is used in the highlighter to save CPU cycles since we
only need to parse a certain region at a time anyway.
</pre>
</div>
</content>
</entry>
<entry>
<title>fix(treesitter): nil access when running string parser async</title>
<updated>2025-02-01T16:02:52+00:00</updated>
<author>
<name>Riley Bruins</name>
<email>ribru17@hotmail.com</email>
</author>
<published>2025-01-30T21:34:46+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=096ae3bfd7075dce69c70182ccedcd6d33e66d31'/>
<id>096ae3bfd7075dce69c70182ccedcd6d33e66d31</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>feat(treesitter)!: don't parse tree in get_parser() or start()</title>
<updated>2025-01-12T16:10:49+00:00</updated>
<author>
<name>Riley Bruins</name>
<email>ribru17@hotmail.com</email>
</author>
<published>2024-12-21T00:23:52+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=bd4ca22d0334a3323313dfd6975a80218ec65e36'/>
<id>bd4ca22d0334a3323313dfd6975a80218ec65e36</id>
<content type='text'>
**Problem:** `vim.treesitter.get_parser()` and `vim.treesitter.start()`
both parse the tree before returning it. This is problematic because if
this is a sync parse, it will stall the editor on large files. If it is
an async parse, the functions return stale trees.

**Solution:** Remove this parsing side effect and leave it to the user
to parse the returned trees, either synchronously or asynchronously.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
**Problem:** `vim.treesitter.get_parser()` and `vim.treesitter.start()`
both parse the tree before returning it. This is problematic because if
this is a sync parse, it will stall the editor on large files. If it is
an async parse, the functions return stale trees.

**Solution:** Remove this parsing side effect and leave it to the user
to parse the returned trees, either synchronously or asynchronously.
</pre>
</div>
</content>
</entry>
<entry>
<title>feat(treesitter): async parsing</title>
<updated>2025-01-12T16:10:47+00:00</updated>
<author>
<name>Riley Bruins</name>
<email>ribru17@hotmail.com</email>
</author>
<published>2024-12-18T18:48:33+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=45e606b1fddbfeee8fe28385b5371ca6f2fba71b'/>
<id>45e606b1fddbfeee8fe28385b5371ca6f2fba71b</id>
<content type='text'>
**Problem:** Parsing can be slow for large files, and it is a blocking
operation which can be disruptive and annoying.

**Solution:** Provide a function for asynchronous parsing, which accepts
a callback to be run after parsing completes.

Co-authored-by: Lewis Russell &lt;lewis6991@gmail.com&gt;
Co-authored-by: Luuk van Baal &lt;luukvbaal@gmail.com&gt;
Co-authored-by: VanaIgr &lt;vanaigranov@gmail.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
**Problem:** Parsing can be slow for large files, and it is a blocking
operation which can be disruptive and annoying.

**Solution:** Provide a function for asynchronous parsing, which accepts
a callback to be run after parsing completes.

Co-authored-by: Lewis Russell &lt;lewis6991@gmail.com&gt;
Co-authored-by: Luuk van Baal &lt;luukvbaal@gmail.com&gt;
Co-authored-by: VanaIgr &lt;vanaigranov@gmail.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>fix(treesitter): #trim! range for nodes ending at col 0 #31488</title>
<updated>2024-12-07T11:01:59+00:00</updated>
<author>
<name>Riley Bruins</name>
<email>ribru17@hotmail.com</email>
</author>
<published>2024-12-07T11:01:59+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=c63e49cce2d20cee129a6312319dde8dcea6e3f6'/>
<id>c63e49cce2d20cee129a6312319dde8dcea6e3f6</id>
<content type='text'>
Problem:
char-wise folding for `#trim!` ranges are improperly calculated for nodes that
end at column 0, due to the way `get_node_text` works.

Solution:
Add the blank line that `get_node_text` removes for for nodes ending at column
0. Also properly set column positions when performing linewise trims.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem:
char-wise folding for `#trim!` ranges are improperly calculated for nodes that
end at column 0, due to the way `get_node_text` works.

Solution:
Add the blank line that `get_node_text` removes for for nodes ending at column
0. Also properly set column positions when performing linewise trims.</pre>
</div>
</content>
</entry>
<entry>
<title>test(treesitter): add a simple testutil file</title>
<updated>2024-12-06T16:36:28+00:00</updated>
<author>
<name>Riley Bruins</name>
<email>ribru17@hotmail.com</email>
</author>
<published>2024-08-31T02:27:18+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=f0ea38a4bcb37aa6c68d498864c3c83f2867c4ad'/>
<id>f0ea38a4bcb37aa6c68d498864c3c83f2867c4ad</id>
<content type='text'>
The util file, for now, just abstracts the common `run_query` function.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The util file, for now, just abstracts the common `run_query` function.
</pre>
</div>
</content>
</entry>
<entry>
<title>feat(treesitter): #trim! can trim all whitespace</title>
<updated>2024-12-06T16:36:08+00:00</updated>
<author>
<name>Riley Bruins</name>
<email>ribru17@hotmail.com</email>
</author>
<published>2024-08-18T04:05:09+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=b8c75a31e6f4716f542cd2000e4a7c19c1ae9d70'/>
<id>b8c75a31e6f4716f542cd2000e4a7c19c1ae9d70</id>
<content type='text'>
This commit also implements more generic trimming, acting on all
whitespace (charwise) rather than just empty lines.

It will unblock
https://github.com/nvim-treesitter/nvim-treesitter/pull/3442 and allow
for properly concealing markdown bullet markers regardless of indent
width, e.g.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This commit also implements more generic trimming, acting on all
whitespace (charwise) rather than just empty lines.

It will unblock
https://github.com/nvim-treesitter/nvim-treesitter/pull/3442 and allow
for properly concealing markdown bullet markers regardless of indent
width, e.g.
</pre>
</div>
</content>
</entry>
<entry>
<title>fix(treesitter): remove duplicate symbol names in language.inspect()</title>
<updated>2024-10-11T16:15:07+00:00</updated>
<author>
<name>Riley Bruins</name>
<email>ribru17@hotmail.com</email>
</author>
<published>2024-09-19T20:08:22+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=d3193afc2559e7d84ed2d76664a650dc03b4c6ef'/>
<id>d3193afc2559e7d84ed2d76664a650dc03b4c6ef</id>
<content type='text'>
**Problems:**

- `vim.treesitter.language.inspect()` returns duplicate
  symbol names, sometimes up to 6 of one kind in the case of `markdown`
- The list-like `symbols` table can have holes and is thus not even a
  valid msgpack table anyway, mentioned in a test

**Solution:** Return symbols as a map, rather than a list, where field
names are the names of the symbol. The boolean value associated with the
field encodes whether or not the symbol is named.

Note that anonymous nodes are surrounded with double quotes (`"`) to
prevent potential collisions with named counterparts that have the same
identifier.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
**Problems:**

- `vim.treesitter.language.inspect()` returns duplicate
  symbol names, sometimes up to 6 of one kind in the case of `markdown`
- The list-like `symbols` table can have holes and is thus not even a
  valid msgpack table anyway, mentioned in a test

**Solution:** Return symbols as a map, rather than a list, where field
names are the names of the symbol. The boolean value associated with the
field encodes whether or not the symbol is named.

Note that anonymous nodes are surrounded with double quotes (`"`) to
prevent potential collisions with named counterparts that have the same
identifier.
</pre>
</div>
</content>
</entry>
<entry>
<title>fix(treesitter): suppress get_parser warnings via opts.error</title>
<updated>2024-09-27T22:31:45+00:00</updated>
<author>
<name>Riley Bruins</name>
<email>ribru17@hotmail.com</email>
</author>
<published>2024-09-14T19:57:33+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=0f067cd34d09b38f9aaf2e1732d825e89b573077'/>
<id>0f067cd34d09b38f9aaf2e1732d825e89b573077</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>test: support upvalues in exec_lua</title>
<updated>2024-09-21T15:04:09+00:00</updated>
<author>
<name>Lewis Russell</name>
<email>lewis6991@gmail.com</email>
</author>
<published>2024-08-11T08:27:48+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=e5c174421df3872df0dd3a676609d1e74dfef6a9'/>
<id>e5c174421df3872df0dd3a676609d1e74dfef6a9</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
