textbringer-tree-sitter 1.2.2 → 1.2.4

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: 2084dbf24d194e05d6ff690573484ea3db71b78d52ebafeb1ce98942d600639e
4
+ data.tar.gz: e6c0f6ee6678986a35e8f852af3f9be1d6ae94ff7e1d1fd38008ca3217ce90b0
5
5
  SHA512:
6
- metadata.gz: 75175a3f5529504d9318c2667c5bfbc0cfa368dc723da8b3ef3384b51db0d65b56eb6308d761ec4461df3caef9e89465af28d29fd622c94d6fa011206d98c8e4
7
- data.tar.gz: 58e279671e32eba8b409daf1c7def3662de72abe3dadf5ecf39333d71679a6ac41b4e757ecb1fa93e60e7cfad236e5facb8591203a1514a34bfd8360fb222976
6
+ metadata.gz: aba0e631b6e7ae2672261a8d522d8ce3122fa5f81c33e575e34c7d1dca3e22909636d7e96d78b2a2c4dacbda315199154212c5124df35b51ad1503360ffcf441
7
+ data.tar.gz: ea9d76c8d33cbfd254faebafe57848efcfe410a732d2db2a061c3b700044a38156415c34a03409da1db700ff2bf096246ec3b9fc9f9247313a276371abd23d1e
data/CLAUDE.md CHANGED
@@ -157,6 +157,7 @@ cp libtree-sitter-hcl.dylib ~/.textbringer/parsers/darwin-arm64/
157
157
  3. main でタグを打つ(`git tag vX.Y.Z && git push origin vX.Y.Z`)
158
158
  4. **gem push は GitHub Actions が自動で行う**(手動で `gem push` する必要はない)
159
159
  5. GitHub Release のリリースノートを整備する(CI が自動作成するが、内容は手動で書き換える)
160
+ - **リリースノートは英語で統一すること**
160
161
 
161
162
  ## 参考実装
162
163
 
@@ -930,6 +930,8 @@ module TextbringerTreeSitterCLI
930
930
  end
931
931
 
932
932
  # Only run CLI if executed directly (not when loaded by tests)
933
- if __FILE__ == $PROGRAM_NAME
933
+ # __FILE__ == $PROGRAM_NAME は直接 ruby で実行した場合にマッチ
934
+ # basename チェックは bundle exec 経由(binstub → Gem.activate_and_load_bin_path → load)でマッチ
935
+ if __FILE__ == $PROGRAM_NAME || File.basename($PROGRAM_NAME) == "textbringer-tree-sitter"
934
936
  TextbringerTreeSitterCLI.run(ARGV)
935
937
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Textbringer
4
4
  module TreeSitter
5
- VERSION = "1.2.2"
5
+ VERSION = "1.2.4"
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,14 +1,14 @@
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.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - yancya
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2026-02-11 00:00:00.000000000 Z
11
+ date: 2026-02-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: textbringer