emerge 0.6.0 → 0.6.2

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: 0cce2cb7764c86a70569537aab8d02bd3136df5c4b25b2421164bf0e28256623
4
- data.tar.gz: e4cce6ab186fd05a9910acc99cb279d60e7799f36273f45d6496523e785ede62
3
+ metadata.gz: 615b959713db3bc2be8d96888f8d6de83aa903ef7d20ac8d4516962f627a4b93
4
+ data.tar.gz: ef95d430576322ebf5810296438aa5f67ff754d99ac2be9520a4978b94caad6e
5
5
  SHA512:
6
- metadata.gz: 5ebaf9ef828373305f07c597fb2968d2e046689d5954226210ba9ca164c919b146bc208c83adcd77acc77d7a535feeeb31c7cc0718944c05fb7990cbc7e1beee
7
- data.tar.gz: 46e65589c521670cff6ff14106e96c33d9fb2aa0d8293b5521878f1e97a2aef59516a193a08c75b4371c1d83af15b2b98f56e8245bdd4c83c72c0565c3c6130a
6
+ metadata.gz: cb5d892cf29c7994dcc9139ed8dbda403c1cf2b376e1370a5be993aef9f0d030b9335f34544a1a41a4dc6d8fc05d9a13740e6f530412ab502d4e68117e3e197d
7
+ data.tar.gz: afd1dba61977e93757b1d19086f6ae43c3436dcf3efe193b9d0c7eab671e00dffbb41c42611516283e280607ac5a2b869d9cbc51a8a11d76b53f6f4fb526f265
@@ -29,6 +29,29 @@ module EmergeCLI
29
29
 
30
30
  attr_reader :parser, :language
31
31
 
32
+ @parser_paths_cache = {}
33
+
34
+ class << self
35
+ def find_parser_path(language, platform, arch)
36
+ cache_key = "#{language}-#{platform}-#{arch}"
37
+ return @parser_paths_cache[cache_key] if @parser_paths_cache.key?(cache_key)
38
+
39
+ extension = platform == 'darwin' ? 'dylib' : 'so'
40
+ parser_file = "libtree-sitter-#{language}-#{platform}-#{arch}.#{extension}"
41
+
42
+ parser_paths = [
43
+ File.join(File.dirname(__FILE__), '..', '..', 'parsers', parser_file), # Relative to this file
44
+ File.join(Gem::Specification.find_by_name('emerge').gem_dir, 'parsers', parser_file) # Installed gem path
45
+ ]
46
+
47
+ parser_path = parser_paths.find { |path| File.exist?(path) }
48
+ raise "No language grammar found for #{language}. Searched in: #{parser_paths.join(', ')}" unless parser_path
49
+
50
+ @parser_paths_cache[cache_key] = parser_path
51
+ parser_path
52
+ end
53
+ end
54
+
32
55
  def initialize(language)
33
56
  @parser = TreeSitter::Parser.new
34
57
  @language = language
@@ -52,11 +75,7 @@ module EmergeCLI
52
75
  raise "Unsupported architecture: #{RUBY_PLATFORM}"
53
76
  end
54
77
 
55
- extension = platform == 'darwin' ? 'dylib' : 'so'
56
- parser_file = "libtree-sitter-#{language}-#{platform}-#{arch}.#{extension}"
57
- parser_path = File.join('parsers', parser_file)
58
- raise "No language grammar found for #{language}" unless File.exist?(parser_path)
59
-
78
+ parser_path = self.class.find_parser_path(language, platform, arch)
60
79
  @parser.language = TreeSitter::Language.load(language, parser_path)
61
80
  end
62
81
 
data/lib/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module EmergeCLI
2
- VERSION = '0.6.0'.freeze
2
+ VERSION = '0.6.2'.freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: emerge
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.0
4
+ version: 0.6.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Emerge Tools
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2025-01-23 00:00:00.000000000 Z
11
+ date: 2025-01-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: async-http
@@ -24,6 +24,20 @@ dependencies:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: 0.86.0
27
+ - !ruby/object:Gem::Dependency
28
+ name: base64
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: 0.2.0
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: 0.2.0
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: CFPropertyList
29
43
  requirement: !ruby/object:Gem::Requirement
@@ -72,6 +86,20 @@ dependencies:
72
86
  - - "~>"
73
87
  - !ruby/object:Gem::Version
74
88
  version: 1.2.0
89
+ - !ruby/object:Gem::Dependency
90
+ name: nkf
91
+ requirement: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - "~>"
94
+ - !ruby/object:Gem::Version
95
+ version: 0.1.3
96
+ type: :runtime
97
+ prerelease: false
98
+ version_requirements: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - "~>"
101
+ - !ruby/object:Gem::Version
102
+ version: 0.1.3
75
103
  - !ruby/object:Gem::Dependency
76
104
  name: open3
77
105
  requirement: !ruby/object:Gem::Requirement