sublime_dsl 0.1.2 → 0.1.3

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
  SHA1:
3
- metadata.gz: d1c6a39ce468da1206014f15be5c290a183a34f3
4
- data.tar.gz: dc07f39837167615520084fbaf98f11d03b3fb89
3
+ metadata.gz: 2b8d27365694163f7591eaddbbb3b5ee49e23d0d
4
+ data.tar.gz: 148e250394b70938505cc5d70724c6b90e83db6e
5
5
  SHA512:
6
- metadata.gz: b739dd4ebe8ed084ba450e24f7ced6b759af4bf6407445f5eaab825a8dfed6f6831d57325e411e2278587b161507ef5ac58cb388e2e44899f8210bb83be5a393
7
- data.tar.gz: 59c5477cd3a1be0fb91976e22a4684f18725ebcaf54cc45c96bbded11746f0fba08ce0561664334a1a02bd04869c288b2867e4bac980da4c5fba16769e3b998a
6
+ metadata.gz: cf534670e87d8b79925587e5fd0cb2f77672842db7d52eaca06833dbd521f7b580b34178c17c3ea5d054ade0fb35c6a5f31dbb4704ef94fbbbf7b8e7824af556
7
+ data.tar.gz: e2ca60fc9ddd9edef988c29b4cc4df32bb75a54cd3b516fcf51066ffdb84a905261047855a7ce1a4d362266d76b411986fa27e37fc241ca2b91d79f10c9007f2
data/HISTORY.md CHANGED
@@ -1,3 +1,9 @@
1
+ ## 0.1.3
2
+
3
+ * Ruby 2.4: Fixnum now deprecated, use Integer
4
+ * update gem dependency versions
5
+ * protect against Regexp.new freezing its argument (Ruby 2.4.1)
6
+
1
7
  ## 0.1.2
2
8
 
3
9
  * grammars: fix a bug when exporting 'to' regexp containing '§'
@@ -12,7 +12,7 @@ require_relative 'sublime_dsl/cli'
12
12
 
13
13
  module SublimeDSL
14
14
 
15
- VERSION = '0.1.2'
15
+ VERSION = '0.1.3'
16
16
 
17
17
  class Error < StandardError; end
18
18
  class OptionError < Error; end
@@ -48,7 +48,10 @@ module SublimeText
48
48
  # map_char and map_key call this method while @sublime is not yet set
49
49
  unless @defining_sublime
50
50
  @defining_sublime = true
51
- # FIXME: space => key_event nil, but generates a key_event when modified
51
+ # FIXME: space => key_event nil, but generates a key_event when modified,
52
+ # because it's a character
53
+ # => put it in SUBLIME_ALIAS_MAP, but remember it was named 'space' when
54
+ # generating its to_s ('ctrl+ ' will generate problems...)
52
55
  kb.map_char 'space' => ' ', key_event: nil
53
56
  @defining_sublime = false
54
57
  end
@@ -93,13 +93,13 @@ module TextMate
93
93
 
94
94
  def dump_object(object, indent)
95
95
  case object
96
- when String; dump_string(object, indent)
97
- when Fixnum; dump_fixnum(object, indent)
98
- when Hash; dump_hash(object, indent)
99
- when Array; dump_array(object, indent)
100
- when TrueClass; "#{indent}<true/>\n"
101
- when FalseClass; "#{indent}<false/>\n"
102
- else; raise Error, "unexpected type: #{object.class.name}"
96
+ when String then dump_string(object, indent)
97
+ when Integer then dump_integer(object, indent)
98
+ when Hash then dump_hash(object, indent)
99
+ when Array then dump_array(object, indent)
100
+ when TrueClass then "#{indent}<true/>\n"
101
+ when FalseClass then "#{indent}<false/>\n"
102
+ else raise Error, "unexpected type: #{object.class.name}"
103
103
  end
104
104
  end
105
105
 
@@ -107,7 +107,7 @@ module TextMate
107
107
  "#{indent}<string>" << h(str) << "</string>\n"
108
108
  end
109
109
 
110
- def dump_fixnum(num, indent)
110
+ def dump_integer(num, indent)
111
111
  "#{indent}<integer>#{num}</integer>\n"
112
112
  end
113
113
 
@@ -267,8 +267,15 @@ module TextMate
267
267
  end
268
268
 
269
269
  def convert_object(object)
270
- k = object.class.name.split('::').last.snake_case
271
- send "convert_#{k}", object
270
+ case object
271
+ when Array then convert_array object
272
+ when Hash then convert_hash object
273
+ when Tools::RegexpWannabe then object.to_s
274
+ # TODO: booleans as 1/0 or true/false?
275
+ when TrueClass then 1
276
+ when FalseClass then 0
277
+ else object # String, Integer, NilClass
278
+ end
272
279
  end
273
280
 
274
281
  def convert_array(list)
@@ -281,18 +288,6 @@ module TextMate
281
288
  out
282
289
  end
283
290
 
284
- def convert_regexp_wannabe(re)
285
- re.to_s
286
- end
287
-
288
- def convert_string(v) v end
289
- def convert_fixnum(v) v end
290
- def convert_nil_class(v) v end
291
-
292
- # TODO: booleans as 1/0 or true/false?
293
- def convert_true_class(v) 1 end
294
- def convert_false_class(v) 0 end
295
-
296
291
  end
297
292
 
298
293
  end
@@ -99,7 +99,7 @@ module Tools
99
99
  end
100
100
 
101
101
  def try_conversion
102
- @warnings = capture_warnings { @regexp = Regexp.new(source) }
102
+ @warnings = capture_warnings { @regexp = Regexp.new(source.dup) }
103
103
  @backref = nil unless source =~ /§[1-9]/
104
104
  rescue RegexpError => ex
105
105
  msg = ex.message
@@ -122,7 +122,7 @@ module Tools
122
122
  end
123
123
 
124
124
  begin
125
- @warnings = capture_warnings { @regexp = Regexp.new(source) }
125
+ @warnings = capture_warnings { @regexp = Regexp.new(source.dup) }
126
126
  rescue RegexpError => ex
127
127
  @error = ex.message
128
128
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sublime_dsl
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Thierry Lambert
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-07-30 00:00:00.000000000 Z
11
+ date: 2017-11-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: json
@@ -16,42 +16,42 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '1.8'
19
+ version: '2.1'
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.8'
26
+ version: '2.1'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: nokogiri
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '1.6'
33
+ version: '1.8'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '1.6'
40
+ version: '1.8'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rubyzip
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '1.1'
47
+ version: '1.2'
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '1.1'
54
+ version: '1.2'
55
55
  description: |
56
56
  Sublime DSL allows generating Sublime Text configuration files
57
57
  from a Ruby DSL, giving the power of Ruby to develop and maintain
@@ -140,7 +140,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
140
140
  version: '0'
141
141
  requirements: []
142
142
  rubyforge_project:
143
- rubygems_version: 2.4.1
143
+ rubygems_version: 2.6.12
144
144
  signing_key:
145
145
  specification_version: 4
146
146
  summary: A DSL to specify Sublime Text packages.