<feed xmlns='http://www.w3.org/2005/Atom'>
<title>nvim-treesitter/lua/nvim-treesitter.lua, branch feat/warn</title>
<subtitle>[no description]</subtitle>
<id>http://git.sudomsg.com/mirror/nvim-treesitter/atom?h=feat%2Fwarn</id>
<link rel='self' href='http://git.sudomsg.com/mirror/nvim-treesitter/atom?h=feat%2Fwarn'/>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-treesitter/'/>
<updated>2025-05-12T16:43:40Z</updated>
<entry>
<title>feat!: drop modules, general refactor and cleanup</title>
<updated>2025-05-12T16:43:40Z</updated>
<author>
<name>Christian Clason</name>
<email>c.clason@uni-graz.at</email>
</author>
<published>2023-06-12T15:54:30Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-treesitter/commit/?id=692b051b09935653befdb8f7ba8afdb640adf17b'/>
<id>urn:sha1:692b051b09935653befdb8f7ba8afdb640adf17b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>chore: cleanup main file, move statusline in module</title>
<updated>2022-07-18T13:44:59Z</updated>
<author>
<name>kiyan</name>
<email>yazdani.kiyan@protonmail.com</email>
</author>
<published>2022-07-18T10:29:02Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-treesitter/commit/?id=8b748a7570b89822d47ac0ed0f694efda6523c7d'/>
<id>urn:sha1:8b748a7570b89822d47ac0ed0f694efda6523c7d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix(ts_utils): fix swap_nodes after get_node_text change</title>
<updated>2022-04-21T21:57:35Z</updated>
<author>
<name>francisco souza</name>
<email>108725+fsouza@users.noreply.github.com</email>
</author>
<published>2022-04-21T14:23:36Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-treesitter/commit/?id=44b7c8100269161e20d585f24bce322f6dcdf8d2'/>
<id>urn:sha1:44b7c8100269161e20d585f24bce322f6dcdf8d2</id>
<content type='text'>
After some discussion, it looks like the easiest thing to do for now is
to keep a private copy of get_node_text (just to skip the deprecation
message) and invoke that, until core provides an equivalent function
that can return the node content in a table representing the node
"lines".

Also fixes the statusline by calling the private version for
get_node_text until a change is made in core.
</content>
</entry>
<entry>
<title>fix(statusline): adjust to the new API (query)</title>
<updated>2022-04-18T15:52:18Z</updated>
<author>
<name>ranjithshegde</name>
<email>ranjithshegde@gmail.com</email>
</author>
<published>2022-04-18T15:28:40Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-treesitter/commit/?id=2490a8bbcaca5c84b86ea82661854e1cfb865571'/>
<id>urn:sha1:2490a8bbcaca5c84b86ea82661854e1cfb865571</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix(statusline): don't use deprecated function</title>
<updated>2022-04-18T13:36:28Z</updated>
<author>
<name>Christian Clason</name>
<email>c.clason@uni-graz.at</email>
</author>
<published>2022-04-18T13:28:24Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-treesitter/commit/?id=2248b64781eb303e2eb85342d4860210adc36213'/>
<id>urn:sha1:2248b64781eb303e2eb85342d4860210adc36213</id>
<content type='text'>
</content>
</entry>
<entry>
<title>chore: deprecate ts_utils.get_node_text</title>
<updated>2022-04-18T12:17:51Z</updated>
<author>
<name>Stephan Seitz</name>
<email>stephan.seitz@fau.de</email>
</author>
<published>2022-04-15T20:12:51Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-treesitter/commit/?id=c3848e713a8272e524a7eabe9eb0897cf2d6932e'/>
<id>urn:sha1:c3848e713a8272e524a7eabe9eb0897cf2d6932e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Use stylua for autoformat code (#1480)</title>
<updated>2021-07-04T21:12:17Z</updated>
<author>
<name>Santos Gallegos</name>
<email>stsewd@protonmail.com</email>
</author>
<published>2021-07-04T21:12:17Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-treesitter/commit/?id=be8f65608796e50aa2e2da5452849c263558f0ed'/>
<id>urn:sha1:be8f65608796e50aa2e2da5452849c263558f0ed</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Remove 'CI' guard (we can have now the newest version of nvim again)</title>
<updated>2020-12-07T12:30:45Z</updated>
<author>
<name>Stephan Seitz</name>
<email>stephan.seitz@fau.de</email>
</author>
<published>2020-12-05T21:09:34Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-treesitter/commit/?id=3727be629ce1cac799ca740b95fe3aa484148018'/>
<id>urn:sha1:3727be629ce1cac799ca740b95fe3aa484148018</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix: make version check work on non-CI environments</title>
<updated>2020-11-23T19:09:04Z</updated>
<author>
<name>Stephan Seitz</name>
<email>stephan.seitz@fau.de</email>
</author>
<published>2020-11-23T18:51:10Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-treesitter/commit/?id=fccc159b48b91ad97c32d9784141ed9aecaf2822'/>
<id>urn:sha1:fccc159b48b91ad97c32d9784141ed9aecaf2822</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix: update interface following languagetree merge (#687)</title>
<updated>2020-11-23T18:46:27Z</updated>
<author>
<name>Thomas Vigouroux</name>
<email>tomvig38@gmail.com</email>
</author>
<published>2020-11-23T18:46:27Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-treesitter/commit/?id=808765a6c8cde93621f656fa61b0c6223928f51e'/>
<id>urn:sha1:808765a6c8cde93621f656fa61b0c6223928f51e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Use utils get_node_text to get line content and trim all whitespaces.</title>
<updated>2020-10-11T11:35:18Z</updated>
<author>
<name>Kristijan Husak</name>
<email>husakkristijan@gmail.com</email>
</author>
<published>2020-10-09T17:51:27Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-treesitter/commit/?id=9ad47c65bd0b939173803c8a23c9cf0dc6cff70f'/>
<id>urn:sha1:9ad47c65bd0b939173803c8a23c9cf0dc6cff70f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Remove old statusline implementation with new one.</title>
<updated>2020-10-11T11:35:18Z</updated>
<author>
<name>Kristijan Husak</name>
<email>husakkristijan@gmail.com</email>
</author>
<published>2020-10-09T17:08:44Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-treesitter/commit/?id=3aa7e575e23228477e16940d2bc786a52a142eb8'/>
<id>urn:sha1:3aa7e575e23228477e16940d2bc786a52a142eb8</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add implementation for improved statusline. Closes #545.</title>
<updated>2020-10-11T11:35:18Z</updated>
<author>
<name>Kristijan Husak</name>
<email>kristijan.husak@saturized.com</email>
</author>
<published>2020-10-09T11:43:34Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-treesitter/commit/?id=62df1143da1e7c1d02a883f5ead2479ec17729ed'/>
<id>urn:sha1:62df1143da1e7c1d02a883f5ead2479ec17729ed</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add warning about required Neovim version</title>
<updated>2020-09-03T13:33:18Z</updated>
<author>
<name>Stephan Seitz</name>
<email>stephan.seitz@fau.de</email>
</author>
<published>2020-09-01T21:39:06Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-treesitter/commit/?id=38df2d252faa1293aa0dfa0f1c73eb31a16e9d9f'/>
<id>urn:sha1:38df2d252faa1293aa0dfa0f1c73eb31a16e9d9f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>feat(highlights): add is predicate</title>
<updated>2020-08-16T14:04:07Z</updated>
<author>
<name>Steven Sojka</name>
<email>steelsojka@gmail.com</email>
</author>
<published>2020-08-15T14:24:24Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-treesitter/commit/?id=579c9936d617ca1d7f01542a4b8000972c1ce73c'/>
<id>urn:sha1:579c9936d617ca1d7f01542a4b8000972c1ce73c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>feat(configs): dynamic module defintions</title>
<updated>2020-07-07T11:53:23Z</updated>
<author>
<name>Steven Sojka</name>
<email>steelsojka@gmail.com</email>
</author>
<published>2020-07-02T15:26:53Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-treesitter/commit/?id=884080f89a26fbcb009bd49052518168f8318094'/>
<id>urn:sha1:884080f89a26fbcb009bd49052518168f8318094</id>
<content type='text'>
</content>
</entry>
<entry>
<title>add used_by key to parsers</title>
<updated>2020-06-29T15:18:22Z</updated>
<author>
<name>kiyan42</name>
<email>yazdani.kiyan@protonmail.com</email>
</author>
<published>2020-06-29T12:46:25Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-treesitter/commit/?id=7f6f7596dac5a45ae914336dc986ebb30881b1a3'/>
<id>urn:sha1:7f6f7596dac5a45ae914336dc986ebb30881b1a3</id>
<content type='text'>
Enables the use of multiple filetypes for one parser.
</content>
</entry>
<entry>
<title>fix(statusline): don't call if no parser</title>
<updated>2020-06-21T17:50:24Z</updated>
<author>
<name>Thomas Vigouroux</name>
<email>tomvig38@gmail.com</email>
</author>
<published>2020-06-21T17:50:24Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-treesitter/commit/?id=ec903ac99d07e0960d0acc71e70ba9809742bfbf'/>
<id>urn:sha1:ec903ac99d07e0960d0acc71e70ba9809742bfbf</id>
<content type='text'>
</content>
</entry>
<entry>
<title>refactor: parser list and lang-&gt;ft/ft-&gt;lang</title>
<updated>2020-06-20T10:31:52Z</updated>
<author>
<name>kiyan42</name>
<email>yazdani.kiyan@protonmail.com</email>
</author>
<published>2020-06-20T10:21:42Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-treesitter/commit/?id=df17a48c85b8e47bc4982b640dbb686e372cd81e'/>
<id>urn:sha1:df17a48c85b8e47bc4982b640dbb686e372cd81e</id>
<content type='text'>
- move parser list in `parsers.lua`
- most `ft` variable where changed to `lang`, `ft` is only used on
  autocmd binding, and lang is used for everything else. Functions have
  been defined to make the switch between `ft` and `lang`
</content>
</entry>
<entry>
<title>refacto: remove buf_state</title>
<updated>2020-06-19T11:45:33Z</updated>
<author>
<name>kiyan42</name>
<email>yazdani.kiyan@protonmail.com</email>
</author>
<published>2020-06-19T11:45:33Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-treesitter/commit/?id=38af29a912a607d3d703f57b840bfc61671679cc'/>
<id>urn:sha1:38af29a912a607d3d703f57b840bfc61671679cc</id>
<content type='text'>
- remove buf_state and related code
- add get_node_at_cursor()
- better incremental selection (code is localized)
</content>
</entry>
<entry>
<title>Expose internal api.</title>
<updated>2020-05-15T12:19:29Z</updated>
<author>
<name>kiyan42</name>
<email>yazdani.kiyan@protonmail.com</email>
</author>
<published>2020-05-15T12:19:29Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-treesitter/commit/?id=8be2dc64a2e0a94a429d66c411eb7d500566508f'/>
<id>urn:sha1:8be2dc64a2e0a94a429d66c411eb7d500566508f</id>
<content type='text'>
- add `exposed_state` to expose 'current_node' and 'cursor_pos'
for a current buffer to the user.
- add `get_buf_state` and `get_node_api` for users.
- add documentation about api functions.
- remove `node_movement` module which should be done in user side.
</content>
</entry>
<entry>
<title>refacto/feat: better handling of parser updates</title>
<updated>2020-05-12T14:16:48Z</updated>
<author>
<name>kiyan42</name>
<email>yazdani.kiyan@protonmail.com</email>
</author>
<published>2020-05-08T09:22:59Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-treesitter/commit/?id=45dcebb15f1a954eba2bcb3ae4c1a03f710a1f2a'/>
<id>urn:sha1:45dcebb15f1a954eba2bcb3ae4c1a03f710a1f2a</id>
<content type='text'>
features:
- node_movement is moving between scopes.
- add selection initialization from normal mode
- add a decremental selection

improvements:
- attach to buffer to run tree parsing on change
- run state update on CursorMoved
- the buffer state is:
```
{
  cursor_pos = { row=row, col=col },
  current_node = node_under_cursor,
  selection = {
      range = nil, -- activates when starting a selection
      nodes = {} -- filling up when starting an incremental selection
  },
  parser = parser, -- parser for current buffer
}
```
- refacto all the modules reliant on parsing the tree, update the current nodes, get the current nodes...

fixes:
- fix has_parser to look for .so libraries
- fix should select the whole file when selection root in selection
</content>
</entry>
<entry>
<title>feat: provide a statusline indicator</title>
<updated>2020-05-05T18:06:45Z</updated>
<author>
<name>Thomas Vigouroux</name>
<email>tomvig38@gmail.com</email>
</author>
<published>2020-05-05T13:04:01Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-treesitter/commit/?id=7682a1a49f7c3be58df18dfc18ad3ba65dd3be1f'/>
<id>urn:sha1:7682a1a49f7c3be58df18dfc18ad3ba65dd3be1f</id>
<content type='text'>
It will show the current branch at the cursor going the tree as such.
root-&gt;node-&gt;subnode-&gt;leaf

If an argument is provided to `statusline`, then the tree will be
truncated as follows :
..-&gt;subnode-&gt;subnode
</content>
</entry>
<entry>
<title>fix: config is enabled also checks parser existence</title>
<updated>2020-04-25T14:18:53Z</updated>
<author>
<name>kiyan42</name>
<email>yazdani.kiyan@protonmail.com</email>
</author>
<published>2020-04-25T14:11:53Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-treesitter/commit/?id=f489b4b0a337379973d6801805aa9b7800d2e6e8'/>
<id>urn:sha1:f489b4b0a337379973d6801805aa9b7800d2e6e8</id>
<content type='text'>
</content>
</entry>
<entry>
<title>feat/refacto: improve configurations</title>
<updated>2020-04-24T20:15:21Z</updated>
<author>
<name>kiyan42</name>
<email>yazdani.kiyan@protonmail.com</email>
</author>
<published>2020-04-22T09:13:05Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-treesitter/commit/?id=62786ec7c60ea29cbbd48ae658cde7042dba4bb3'/>
<id>urn:sha1:62786ec7c60ea29cbbd48ae658cde7042dba4bb3</id>
<content type='text'>
- You should now get the configs through functions
- Configs for languages are now inside a local object called parsers
- You can get the parser installation configurations with `get_parser_configs`
- A new object has been initialized inside configs to specify module config (called config).
- Provide functions to enable/disable a module on one buffer
- Provide functions to enable/disable a module on all buffers, and if filetype is
  specified, for specific filetype
- Provide function to determine if module is activated for a specified filetype
</content>
</entry>
<entry>
<title>feat: syntax highlighting</title>
<updated>2020-04-22T20:02:42Z</updated>
<author>
<name>Thomas Vigouroux</name>
<email>tomvig38@gmail.com</email>
</author>
<published>2020-04-20T14:18:02Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-treesitter/commit/?id=d05728e155ced9a815bb3f6fc9e8004093beb3d3'/>
<id>urn:sha1:d05728e155ced9a815bb3f6fc9e8004093beb3d3</id>
<content type='text'>
</content>
</entry>
<entry>
<title>feat/refacto: add configs.lua, setup install</title>
<updated>2020-04-21T21:40:23Z</updated>
<author>
<name>kiyan42</name>
<email>yazdani.kiyan@protonmail.com</email>
</author>
<published>2020-04-21T21:40:23Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-treesitter/commit/?id=62ce7744db02f17b77147683b4eaa884d7f2f1f5'/>
<id>urn:sha1:62ce7744db02f17b77147683b4eaa884d7f2f1f5</id>
<content type='text'>
- configs.lua holds the `repositories` data
- install health moved to health.lua
- plugins loads _root.setup() on startup
- install and list command are available through vim
&gt; use them with `:TSInstall lang` and `:TSInstallInfo`
</content>
</entry>
<entry>
<title>feat: add parser list</title>
<updated>2020-04-20T20:33:13Z</updated>
<author>
<name>kiyan42</name>
<email>yazdani.kiyan@protonmail.com</email>
</author>
<published>2020-04-20T20:33:13Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-treesitter/commit/?id=0de42dd7fb16c2255403493d6426ab816a5fa8ae'/>
<id>urn:sha1:0de42dd7fb16c2255403493d6426ab816a5fa8ae</id>
<content type='text'>
</content>
</entry>
<entry>
<title>perf: don't compute locals on buffer updates</title>
<updated>2020-04-19T18:16:03Z</updated>
<author>
<name>Thomas Vigouroux</name>
<email>tomvig38@gmail.com</email>
</author>
<published>2020-04-19T17:36:26Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-treesitter/commit/?id=d25549917de8047eb91d6f56ee2bdcd5e667d6ae'/>
<id>urn:sha1:d25549917de8047eb91d6f56ee2bdcd5e667d6ae</id>
<content type='text'>
Instead we lazily evaluate them on request.
This allow two things :
    * better performances
    * being sure the locas are up to date
</content>
</entry>
<entry>
<title>feat: add locals to setup procedure</title>
<updated>2020-04-19T15:28:59Z</updated>
<author>
<name>Thomas Vigouroux</name>
<email>tomvig38@gmail.com</email>
</author>
<published>2020-04-19T12:20:23Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-treesitter/commit/?id=b2b6e51a7c6a32b48148a88cf2171b9f663a2b9d'/>
<id>urn:sha1:b2b6e51a7c6a32b48148a88cf2171b9f663a2b9d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>add parser installer</title>
<updated>2020-04-19T13:13:38Z</updated>
<author>
<name>kiyan42</name>
<email>yazdani.kiyan@protonmail.com</email>
</author>
<published>2020-04-19T12:43:55Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-treesitter/commit/?id=2967ca5203cd3a3d0315b2101c66e4f0ee5f421a'/>
<id>urn:sha1:2967ca5203cd3a3d0315b2101c66e4f0ee5f421a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>feat: add parsers module and better match iter</title>
<updated>2020-04-19T07:45:54Z</updated>
<author>
<name>Thomas Vigouroux</name>
<email>tomvig38@gmail.com</email>
</author>
<published>2020-04-19T07:45:54Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-treesitter/commit/?id=2526baf4cc5ea540188345c856adb162ce102674'/>
<id>urn:sha1:2526baf4cc5ea540188345c856adb162ce102674</id>
<content type='text'>
The `parsers` module manages parsers for us, for now only in a really
basic way.

iter_prepared_mathes iters on an enhanced versions of the matches, where
captures are directly accessible via their names to allow things like :
    ((itentifier) @def.first (identifier) @def.last)
To be handled like this in lua:
    match.def.first
    match.def.last

Also adds a `set!` predicate to allow setting data within the prepared
match (see queries/lua/locals.scm) for examples.
</content>
</entry>
<entry>
<title>feat: add empty setup function</title>
<updated>2020-04-18T17:32:51Z</updated>
<author>
<name>Thomas Vigouroux</name>
<email>tomvig38@gmail.com</email>
</author>
<published>2020-04-18T17:32:51Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-treesitter/commit/?id=5897d72b075991e4de5876c918be186d4551cf12'/>
<id>urn:sha1:5897d72b075991e4de5876c918be186d4551cf12</id>
<content type='text'>
Will be used later to setup everything so that a language works properly
in each situation.
</content>
</entry>
</feed>
