textbringer-tree-sitter 1.2.2 → 1.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 28756ea2a173ddd14d86a892280b4bb9aef8b18c092fc2f406a447bf45d409da
4
- data.tar.gz: e81b17e1b08b48f2ce5220d750d0431311a7ecd6463c37007f928fd515258c0d
3
+ metadata.gz: 1546bddc8666286698d030db8e1a5e37dd436b4b6a3d83061f93c55a2a19a94d
4
+ data.tar.gz: bd1f3ca1dc7104c04a5ee2d8d45ae99c63b91ec721789aece097e4e8d38a78a1
5
5
  SHA512:
6
- metadata.gz: 75175a3f5529504d9318c2667c5bfbc0cfa368dc723da8b3ef3384b51db0d65b56eb6308d761ec4461df3caef9e89465af28d29fd622c94d6fa011206d98c8e4
7
- data.tar.gz: 58e279671e32eba8b409daf1c7def3662de72abe3dadf5ecf39333d71679a6ac41b4e757ecb1fa93e60e7cfad236e5facb8591203a1514a34bfd8360fb222976
6
+ metadata.gz: d1e6d76abe0b42b1fb05aa3423eff9aa62ea0f084e1d2bce563d123e60149fc177648d379ff8163cbe49e14129afad1bc66cb608736e84da88bae8db5b038167
7
+ data.tar.gz: 13d4fda0fe03e09372cf538f82421848c70ba49ea4c356b5649dd1adef6b73bc8880ba1691cbc0fb3105a5070cc6017e4b66fc943d784d7a020686a00931074a
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Textbringer
4
4
  module TreeSitter
5
- VERSION = "1.2.2"
5
+ VERSION = "1.2.3"
6
6
  end
7
7
  end
@@ -66,7 +66,8 @@ module Textbringer
66
66
  highlight_on = {}
67
67
  highlight_off = {}
68
68
 
69
- visit_node(tree.root_node) do |node, start_byte, end_byte|
69
+ node_map = TreeSitter::NodeMaps.for(tree_sitter_language)
70
+ visit_node(tree.root_node, node_map) do |node, start_byte, end_byte|
70
71
  face = node_type_to_face(node.type.to_sym)
71
72
  next unless face
72
73
 
@@ -165,13 +166,16 @@ module Textbringer
165
166
  end
166
167
  end
167
168
 
168
- def visit_node(node, &block)
169
+ def visit_node(node, node_map = nil, &block)
169
170
  if node.child_count == 0
170
171
  block.call(node, node.start_byte, node.end_byte)
171
172
  else
173
+ if node_map&.key?(node.type.to_sym)
174
+ block.call(node, node.start_byte, node.end_byte)
175
+ end
172
176
  node.child_count.times do |i|
173
177
  child = node.child(i)
174
- visit_node(child, &block) if child
178
+ visit_node(child, node_map, &block) if child
175
179
  end
176
180
  end
177
181
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: textbringer-tree-sitter
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.2
4
+ version: 1.2.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - yancya