<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rneovim.git/runtime/lua/vim/treesitter/_fold.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>fix(treesitter): recalculate folds on VimEnter #32240</title>
<updated>2025-01-28T20:22:25+00:00</updated>
<author>
<name>Riley Bruins</name>
<email>ribru17@hotmail.com</email>
</author>
<published>2025-01-28T20:22:25+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=6711fa27ca6e822bfd2394ec513671617cc53efd'/>
<id>6711fa27ca6e822bfd2394ec513671617cc53efd</id>
<content type='text'>
**Problem:** In the case where the user sets the treesitter foldexpr upon startup in
their `init.lua`, the fold info will be calculated before the parser has
been loaded in, meaning folds will be properly calculated until edits or
`:e`.

**Solution:** Refresh fold information upon `VimEnter` as a sanity check
to ensure that a parser really doesn't exist before always returning
`'0'` in the foldexpr.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
**Problem:** In the case where the user sets the treesitter foldexpr upon startup in
their `init.lua`, the fold info will be calculated before the parser has
been loaded in, meaning folds will be properly calculated until edits or
`:e`.

**Solution:** Refresh fold information upon `VimEnter` as a sanity check
to ensure that a parser really doesn't exist before always returning
`'0'` in the foldexpr.</pre>
</div>
</content>
</entry>
<entry>
<title>fix(treesitter): avoid computing foldlevels for reloaded buffer #32233</title>
<updated>2025-01-28T16:34:07+00:00</updated>
<author>
<name>luukvbaal</name>
<email>luukvbaal@gmail.com</email>
</author>
<published>2025-01-28T16:34:07+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=a119dab40f939121d5e5a0c622f19911c9c9ce03'/>
<id>a119dab40f939121d5e5a0c622f19911c9c9ce03</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>fix(treesitter): compute folds on_changedtree only if not nil</title>
<updated>2025-01-20T22:32:45+00:00</updated>
<author>
<name>Konrad Malik</name>
<email>konrad.malik@gmail.com</email>
</author>
<published>2025-01-20T16:17:46+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=f50f86b9ff5dd2aab7838801d3c1cad898ea0c77'/>
<id>f50f86b9ff5dd2aab7838801d3c1cad898ea0c77</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge #32001 from MariaSolOs/consistent-namespaces</title>
<updated>2025-01-15T10:01:44+00:00</updated>
<author>
<name>Justin M. Keyes</name>
<email>justinkz@gmail.com</email>
</author>
<published>2025-01-15T10:01:44+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=3ee63edc1b0ca6fe664c9d5368aba05ae9a22e9d'/>
<id>3ee63edc1b0ca6fe664c9d5368aba05ae9a22e9d</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>refactor: use nvim.foo.bar format for autocommand groups</title>
<updated>2025-01-15T05:25:25+00:00</updated>
<author>
<name>Maria José Solano</name>
<email>majosolano99@gmail.com</email>
</author>
<published>2025-01-14T03:45:11+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=09e01437c968be4c6e9f6bb3ac8811108c58008c'/>
<id>09e01437c968be4c6e9f6bb3ac8811108c58008c</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>perf(treesitter): calculate folds asynchronously</title>
<updated>2025-01-14T09:30:43+00:00</updated>
<author>
<name>Riley Bruins</name>
<email>ribru17@hotmail.com</email>
</author>
<published>2025-01-13T17:42:39+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=b192d58284a791c55f5ae000250fc948e9098d47'/>
<id>b192d58284a791c55f5ae000250fc948e9098d47</id>
<content type='text'>
**Problem:** The treesitter `foldexpr` runs synchronous parses to
calculate fold levels, which eliminates async parsing performance in the
highlighter.

**Solution:** Migrate the `foldexpr` to also calculate and apply fold
levels asynchronously.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
**Problem:** The treesitter `foldexpr` runs synchronous parses to
calculate fold levels, which eliminates async parsing performance in the
highlighter.

**Solution:** Migrate the `foldexpr` to also calculate and apply fold
levels asynchronously.
</pre>
</div>
</content>
</entry>
<entry>
<title>refactor(treesitter.foldexpr): remove unused parse_injections parameter</title>
<updated>2025-01-10T22:06:35+00:00</updated>
<author>
<name>Riley Bruins</name>
<email>ribru17@hotmail.com</email>
</author>
<published>2025-01-10T20:25:46+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=cb02c20569b56545a1657d4f7f8f29171f1037d7'/>
<id>cb02c20569b56545a1657d4f7f8f29171f1037d7</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>perf(treesitter): don't fetch parser for each fold line</title>
<updated>2025-01-07T15:43:45+00:00</updated>
<author>
<name>Riley Bruins</name>
<email>ribru17@hotmail.com</email>
</author>
<published>2025-01-01T19:33:45+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=d9ee0d2984e5fc30cb032785d32f42c72c7e64e1'/>
<id>d9ee0d2984e5fc30cb032785d32f42c72c7e64e1</id>
<content type='text'>
**Problem:** The treesitter `foldexpr` calls `get_parser()` for each
line in the buffer when calculating folds. This can be incredibly slow
for buffers where a parser cannot be found (because the result is not
cached), and exponentially more so when the user has many
`runtimepath`s.

**Solution:** Only fetch the parser when it is needed; that is, only
when initializing fold data for a buffer.

Co-authored-by: Jongwook Choi &lt;wookayin@gmail.com&gt;
Co-authored-by: Justin M. Keyes &lt;justinkz@gmail.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
**Problem:** The treesitter `foldexpr` calls `get_parser()` for each
line in the buffer when calculating folds. This can be incredibly slow
for buffers where a parser cannot be found (because the result is not
cached), and exponentially more so when the user has many
`runtimepath`s.

**Solution:** Only fetch the parser when it is needed; that is, only
when initializing fold data for a buffer.

Co-authored-by: Jongwook Choi &lt;wookayin@gmail.com&gt;
Co-authored-by: Justin M. Keyes &lt;justinkz@gmail.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>fix(treesitter.foldexpr): only refresh valid buffers</title>
<updated>2024-12-29T16:24:19+00:00</updated>
<author>
<name>Igor</name>
<email>igorlfs@ufmg.br</email>
</author>
<published>2024-12-29T15:23:24+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=e4bc8b5967d22840c1e52c97acab0f77107cd48c'/>
<id>e4bc8b5967d22840c1e52c97acab0f77107cd48c</id>
<content type='text'>
Problem: autocmd to refresh folds always uses the current buffer if the
option type is local. However, the current buffer may not have a parser,
and thus the assert that checks for a parser could fail.

Solution: check if the foldinfo contains the buffer, and only refresh if
so.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem: autocmd to refresh folds always uses the current buffer if the
option type is local. However, the current buffer may not have a parser,
and thus the assert that checks for a parser could fail.

Solution: check if the foldinfo contains the buffer, and only refresh if
so.
</pre>
</div>
</content>
</entry>
<entry>
<title>fix(treesitter.foldexpr): refresh in the buffers affected by OptionSet</title>
<updated>2024-12-29T07:35:39+00:00</updated>
<author>
<name>Jaehwang Jung</name>
<email>tomtomjhj@gmail.com</email>
</author>
<published>2024-12-29T07:00:47+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=48acbc4d645fe99532b33051006a65a57d36b981'/>
<id>48acbc4d645fe99532b33051006a65a57d36b981</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
