textbringer-tree-sitter 1.3.0 → 2.0.0

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: c4e8233cc89cce1be3319d950f8693fc9caac260b38f99d74fe9510eecdb33f0
4
- data.tar.gz: 420028881a8d96b5d4a5745e0ff192a6098138eccdd9277af9ce681bdb05488c
3
+ metadata.gz: a4d010dde02021d2335dd5760fa037815bed9c780c44ede69b8d8fe678ae962a
4
+ data.tar.gz: '06296a9130f7a9c5d4f21a8b76e589f40519678712bf6ee7e5c1ae2a3a5c7e39'
5
5
  SHA512:
6
- metadata.gz: 39c15c72299489514e569efd02a89f4739e33ef8acbfb8e505322299a8b57e0054a375913f93c7c3d9b3b1a4ac7fcba129d8edc8c721e11d1a075dbc956ee1cb
7
- data.tar.gz: f84e55d560a11a079f8658aeacc7a47b10a4e55b60b72a67e46cee146ec0a5654bd7b2614caa0949032749e6732c5927c0ddb1a6b60bd8d685030227e7fa1a37
6
+ metadata.gz: 8542448bcd18571bf7481d5837fb70342125656dbcaa01fe02673b1c46e63039ad5eaaf37824570302345ab204eb9a02f5e922c922d8df46d42f2c1c1a4047df
7
+ data.tar.gz: 616b6df48988db5d1b4ebceda73d9251c4dd56451447082f061e7346e566973e44b14dba0fa3ccc742c6c84aed424d66bbbdf346bb740232a2bdd2d6d7490095
data/CLAUDE.md CHANGED
@@ -101,6 +101,12 @@ CONFIG[:tree_sitter_enabled_features] = [:comment, :string, :keyword]
101
101
  # カスタム parser ディレクトリ
102
102
  CONFIG[:tree_sitter_parser_dir] = "/path/to/parsers"
103
103
 
104
+ # 特定のモードで Tree-sitter ハイライトを無効化
105
+ RubyMode.tree_sitter_enabled = false
106
+
107
+ # 再度有効化も可能
108
+ RubyMode.tree_sitter_enabled = true
109
+
104
110
  # カスタム NodeMap 読み込み
105
111
  require "~/.textbringer/tree_sitter/node_maps/mylang.rb"
106
112
  ```
data/README.md CHANGED
@@ -92,6 +92,18 @@ class MyMode < ProgrammingMode
92
92
  end
93
93
  ```
94
94
 
95
+ ### Disabling Tree-sitter for Specific Modes
96
+
97
+ You can disable Tree-sitter highlighting for specific modes:
98
+
99
+ ```ruby
100
+ # Disable for RubyMode (falls back to default Textbringer highlighting)
101
+ RubyMode.tree_sitter_enabled = false
102
+
103
+ # Re-enable when needed
104
+ RubyMode.tree_sitter_enabled = true
105
+ ```
106
+
95
107
  ## Custom Languages
96
108
 
97
109
  You can add languages not included in the gem by creating a configuration file.
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Textbringer
4
4
  module TreeSitter
5
- VERSION = "1.3.0"
5
+ VERSION = "2.0.0"
6
6
  end
7
7
  end
@@ -16,6 +16,7 @@ module Textbringer
16
16
  module ClassMethods
17
17
  def use_tree_sitter(language)
18
18
  @tree_sitter_language = language
19
+ @tree_sitter_enabled = true
19
20
 
20
21
  # Use prepend to take priority over existing custom_highlight
21
22
  prepend InstanceMethods
@@ -25,6 +26,14 @@ module Textbringer
25
26
  end
26
27
  end
27
28
 
29
+ def tree_sitter_enabled=(value)
30
+ @tree_sitter_enabled = value
31
+ end
32
+
33
+ def tree_sitter_enabled?
34
+ @tree_sitter_enabled
35
+ end
36
+
28
37
  attr_reader :tree_sitter_language
29
38
  end
30
39
 
@@ -71,11 +80,11 @@ module Textbringer
71
80
  face = node_type_to_face(node.type.to_sym)
72
81
  next unless face
73
82
 
74
- attrs = Face[face]&.attributes
75
- if attrs
83
+ face = Face[face]
84
+ if face
76
85
  # Both Tree-sitter and Textbringer use byte offsets
77
- highlight_on[base_pos + start_byte] = attrs
78
- highlight_off[base_pos + end_byte] = attrs
86
+ highlight_on[base_pos + start_byte] = face
87
+ highlight_off[base_pos + end_byte] = true
79
88
 
80
89
  if TreeSitterAdapter.debug? && highlight_on.size <= 5
81
90
  File.open("/tmp/tree_sitter_debug.log", "a") do |f|
@@ -212,7 +221,8 @@ module Textbringer
212
221
  alias_method :original_highlight, :highlight
213
222
 
214
223
  def highlight
215
- if @buffer&.mode.respond_to?(:custom_highlight)
224
+ if @buffer&.mode.respond_to?(:custom_highlight) &&
225
+ @buffer.mode.class.tree_sitter_enabled?
216
226
  @buffer.mode.custom_highlight(self)
217
227
  else
218
228
  original_highlight
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.3.0
4
+ version: 2.0.0
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-23 00:00:00.000000000 Z
11
+ date: 2026-03-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: textbringer
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '1.0'
19
+ version: '22'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: '1.0'
26
+ version: '22'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: ruby_tree_sitter
29
29
  requirement: !ruby/object:Gem::Requirement