<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rneovim.git/runtime/lua, branch 20231130_mix</title>
<subtitle>Neovim fork with Rahm's personal hacks.
</subtitle>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/'/>
<entry>
<title>Merge branch 'userreg' into 20231130_mix</title>
<updated>2023-11-30T17:50:16+00:00</updated>
<author>
<name>Josh Rahm</name>
<email>joshuarahm@gmail.com</email>
</author>
<published>2023-11-30T17:50:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=8a98d50685575d20fcd6ad0dc7031d489d5e5361'/>
<id>8a98d50685575d20fcd6ad0dc7031d489d5e5361</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>vim-patch:9.0.2137: Can't detect angular &amp; mustache filetypes</title>
<updated>2023-11-30T17:40:27+00:00</updated>
<author>
<name>ObserverOfTime</name>
<email>chronobserver@disroot.org</email>
</author>
<published>2023-11-30T17:00:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=307d5bcc7940d14f7d17e7c2de795ebed7b0f00c'/>
<id>307d5bcc7940d14f7d17e7c2de795ebed7b0f00c</id>
<content type='text'>
Problem:  Can't detect angular &amp; mustache filetypes
Solution: Detect *.mustache as Mustache filetype;
          detect *.component.html as html.angular filetype

closes: vim/vim#13594

https://github.com/vim/vim/commit/7bed263c343c62129c5d8f51796895a28db1b312
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem:  Can't detect angular &amp; mustache filetypes
Solution: Detect *.mustache as Mustache filetype;
          detect *.component.html as html.angular filetype

closes: vim/vim#13594

https://github.com/vim/vim/commit/7bed263c343c62129c5d8f51796895a28db1b312
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge remote-tracking branch 'origin/usermarks' into HEAD</title>
<updated>2023-11-30T17:29:40+00:00</updated>
<author>
<name>Josh Rahm</name>
<email>joshuarahm@gmail.com</email>
</author>
<published>2023-11-30T17:29:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=23fd9a2b29cedef01ad6597854bc42ffb1bab86a'/>
<id>23fd9a2b29cedef01ad6597854bc42ffb1bab86a</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>fix: Remove nested for_each_tree in TSTreeView (#26328)</title>
<updated>2023-11-30T16:37:42+00:00</updated>
<author>
<name>Pham Huy Hoang</name>
<email>hoangtun0810@gmail.com</email>
</author>
<published>2023-11-30T16:37:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=f5573fba3d460ddf479826b7404e568cc825ed57'/>
<id>f5573fba3d460ddf479826b7404e568cc825ed57</id>
<content type='text'>
Problem:
`LanguageTree:for_each_tree` calls itself for child nodes, so when we
calls `for_each_tree` inside `for_each_tree`, this quickly leads to
exponential tree calls.

Solution:
Use `pairs(child:trees())` directly in this case, as we don't need the
extra callback for each children, this is already handled from the outer
`for_each_tree` call</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem:
`LanguageTree:for_each_tree` calls itself for child nodes, so when we
calls `for_each_tree` inside `for_each_tree`, this quickly leads to
exponential tree calls.

Solution:
Use `pairs(child:trees())` directly in this case, as we don't need the
extra callback for each children, this is already handled from the outer
`for_each_tree` call</pre>
</div>
</content>
</entry>
<entry>
<title>fix(treesitter): fix parens stacking in inspector display (#26304)</title>
<updated>2023-11-30T13:04:20+00:00</updated>
<author>
<name>Gregory Anders</name>
<email>8965202+gpanders@users.noreply.github.com</email>
</author>
<published>2023-11-30T13:04:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=01b91deec7b6113ae728ac3f7a55f64f57ddb3e0'/>
<id>01b91deec7b6113ae728ac3f7a55f64f57ddb3e0</id>
<content type='text'>
When first opened, the tree-sitter inspector traverses all of the nodes
in the buffer to calculate an array of nodes. This traversal is done
only once, and _all_ nodes (both named and anonymous) are included.
Toggling anonymous nodes in the inspector only changes how the tree is
drawn in the buffer, but does not affect the underlying data structure
at all.

When the buffer is traversed and the list of nodes is calculated, we
don't know whether or not anonymous nodes will be displayed in the
inspector or not. Thus, we cannot determine during traversal where to
put closing parentheses. Instead, this must be done when drawing.

When we draw, the tree structure has been flatted into a single array,
so we lose parent-child relationships that would otherwise make
determining the number of closing parentheses straightforward. However,
we can instead rely on the fact that a delta between the depth of a node
and the depth of the successive node _must_ mean that more closing
parentheses are required:

  (foo
    (bar)
  (baz)  ↑
         │
         └ (bar) and (baz) have different depths, so (bar) must have an
           extra closing parenthesis

This does not depend on whether or not anonymous nodes are displayed and
so works in both cases.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When first opened, the tree-sitter inspector traverses all of the nodes
in the buffer to calculate an array of nodes. This traversal is done
only once, and _all_ nodes (both named and anonymous) are included.
Toggling anonymous nodes in the inspector only changes how the tree is
drawn in the buffer, but does not affect the underlying data structure
at all.

When the buffer is traversed and the list of nodes is calculated, we
don't know whether or not anonymous nodes will be displayed in the
inspector or not. Thus, we cannot determine during traversal where to
put closing parentheses. Instead, this must be done when drawing.

When we draw, the tree structure has been flatted into a single array,
so we lose parent-child relationships that would otherwise make
determining the number of closing parentheses straightforward. However,
we can instead rely on the fact that a delta between the depth of a node
and the depth of the successive node _must_ mean that more closing
parentheses are required:

  (foo
    (bar)
  (baz)  ↑
         │
         └ (bar) and (baz) have different depths, so (bar) must have an
           extra closing parenthesis

This does not depend on whether or not anonymous nodes are displayed and
so works in both cases.</pre>
</div>
</content>
</entry>
<entry>
<title>Merge remote-tracking branch 'upstream/master' into userreg</title>
<updated>2023-11-29T21:52:58+00:00</updated>
<author>
<name>Josh Rahm</name>
<email>joshuarahm@gmail.com</email>
</author>
<published>2023-11-29T21:52:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=931bffbda3668ddc609fc1da8f9eb576b170aa52'/>
<id>931bffbda3668ddc609fc1da8f9eb576b170aa52</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): adjust indentation in inspector highlights (#26302)</title>
<updated>2023-11-29T16:17:53+00:00</updated>
<author>
<name>Gregory Anders</name>
<email>8965202+gpanders@users.noreply.github.com</email>
</author>
<published>2023-11-29T16:17:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=4a8bf24ac690004aedf5540fa440e788459e5e34'/>
<id>4a8bf24ac690004aedf5540fa440e788459e5e34</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>fix(termcap): escape escapes in passthrough sequence (#26301)</title>
<updated>2023-11-29T15:49:44+00:00</updated>
<author>
<name>Gregory Anders</name>
<email>8965202+gpanders@users.noreply.github.com</email>
</author>
<published>2023-11-29T15:49:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=400b7842a98355bc3fcf2ecfaeda8ccf259d917a'/>
<id>400b7842a98355bc3fcf2ecfaeda8ccf259d917a</id>
<content type='text'>
When using the tmux passthrough sequence any escape characters in the
inner sequence must be escaped by adding another escape character.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When using the tmux passthrough sequence any escape characters in the
inner sequence must be escaped by adding another escape character.</pre>
</div>
</content>
</entry>
<entry>
<title>fix(defaults): wait until VimEnter to set background (#26284)</title>
<updated>2023-11-29T15:43:11+00:00</updated>
<author>
<name>Gregory Anders</name>
<email>8965202+gpanders@users.noreply.github.com</email>
</author>
<published>2023-11-29T15:43:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=9b4b23493d6976613fc3e8b561c34bb4b808399c'/>
<id>9b4b23493d6976613fc3e8b561c34bb4b808399c</id>
<content type='text'>
The OptionSet autocommand does not fire until Vim has finished starting,
so setting 'background' before the VimEnter event would not fire the
OptionSet event. The prior implementation also waited until VimEnter to
set 'background', so this was a regression introduced when moving
background detection into Lua.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The OptionSet autocommand does not fire until Vim has finished starting,
so setting 'background' before the VimEnter event would not fire the
OptionSet event. The prior implementation also waited until VimEnter to
set 'background', so this was a regression introduced when moving
background detection into Lua.</pre>
</div>
</content>
</entry>
<entry>
<title>docs: document TSNode:byte_length() (#26287)</title>
<updated>2023-11-29T14:59:36+00:00</updated>
<author>
<name>Gregory Anders</name>
<email>8965202+gpanders@users.noreply.github.com</email>
</author>
<published>2023-11-29T14:59:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=18c1fd8e9d759da6806747910320dce6bea2ab42'/>
<id>18c1fd8e9d759da6806747910320dce6bea2ab42</id>
<content type='text'>
Also update the type annotation of TSNode:id(), which returns a string,
not an integer.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Also update the type annotation of TSNode:id(), which returns a string,
not an integer.</pre>
</div>
</content>
</entry>
</feed>
