ruby_grammar_builder 0.0.3 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2ef6fdbdbdefa596e319c8978ed05a1ff64bdc0ed52c5dc23f4df87776dc0c6a
4
- data.tar.gz: 5889342d7edd9ac7de06dee43e23c4ea510349ce9c8280f8577032b862571337
3
+ metadata.gz: 165617e414c7f28e08f947551dfe0bc9db0ede21b1d82061252daf6676b624d8
4
+ data.tar.gz: aa6e6981ed7073a682ca8f32a64279748de5565b8930c6c31f5f109eb4f0d7f4
5
5
  SHA512:
6
- metadata.gz: 9d1320c5a0b032c16b8acaf691f4a0155e82f05481c5a4b7c66e9d4a536fd60494a837eacb19d96681c1479add5f4109e51dfba5b4c050540838c6b4b1e28614
7
- data.tar.gz: 358646b9e97557a464f4bd5286bafbadd85aff83ab798408fde64d2dab4744051690e47ef6f638a79714dabd17f2b100581f3d0d550abd65922c0ae714e18cef
6
+ metadata.gz: 71c214d3b6fdaa047800ac81020dec90934ef7700ac59f137f558e49acddd7ddcbdf52bd50fcc7fda67fcb4aadeb931d42fdbb11daf42a6abe1bbd6085b002ae
7
+ data.tar.gz: f34c8868265b4396b8dabd5caad64bd0a1209e99c92516a5fd4148d32acbfeb67f7e48ee96c6564116e47e0fecb89ae9d3b8f64696be6f14641aef9736a15856
@@ -21,6 +21,7 @@ class Grammar
21
21
  attr_accessor :repository
22
22
  attr_accessor :name
23
23
  attr_accessor :scope_name
24
+ attr_accessor :ending
24
25
 
25
26
  #
26
27
  # Create a new Exportable Grammar (Grammar Partial)
@@ -125,6 +126,7 @@ class Grammar
125
126
  @name = keys[:name]
126
127
  @scope_name = keys[:scope_name]
127
128
  @repository = {}
129
+ @ending = keys[:ending] || @scope_name.split('.').drop(1).join('.')
128
130
 
129
131
  keys.delete :name
130
132
  keys.delete :scope_name
@@ -458,13 +460,13 @@ class Grammar
458
460
  inherit_or_embedded: :embedded,
459
461
  generate_tags: true,
460
462
  syntax_format: :json,
461
- syntax_name: "#{@scope_name.split('.').drop(1).join('.')}",
463
+ syntax_name: "#{@ending}",
462
464
  syntax_dir: options[:directory],
463
- tag_name: "#{@scope_name.split('.').drop(1).join('.')}_scopes.txt",
464
465
  tag_dir: options[:directory],
465
466
  should_lint: true,
466
467
  }
467
468
  options = default.merge(options)
469
+ options[:tag_name] ||= options[:syntax_name] + "_scopes.txt"
468
470
 
469
471
  output = generate(options)
470
472
 
@@ -11,7 +11,7 @@ class AddEnding < GrammarTransform
11
11
  return pattern.map { |v| pre_transform(v, options) } if pattern.is_a? Array
12
12
  return pattern unless pattern.is_a? PatternBase
13
13
 
14
- ending = options[:grammar].scope_name.split(".")[-1]
14
+ ending = options[:grammar].ending
15
15
  pattern.transform_tag_as do |tag_as|
16
16
  tag_as.split(" ").map do |tag|
17
17
  next tag if tag.end_with?(ending)
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+ require 'set'
2
3
 
3
4
  #
4
5
  # Disables warnings for the block
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby_grammar_builder
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jeff Hykin
@@ -9,8 +9,28 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2019-09-16 00:00:00.000000000 Z
13
- dependencies: []
12
+ date: 2021-09-16 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: deep_clone
16
+ requirement: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - "~>"
19
+ - !ruby/object:Gem::Version
20
+ version: 0.0.1
21
+ - - ">="
22
+ - !ruby/object:Gem::Version
23
+ version: 0.0.1
24
+ type: :runtime
25
+ prerelease: false
26
+ version_requirements: !ruby/object:Gem::Requirement
27
+ requirements:
28
+ - - "~>"
29
+ - !ruby/object:Gem::Version
30
+ version: 0.0.1
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: 0.0.1
14
34
  description:
15
35
  email:
16
36
  executables: []