deadfire 0.1.0 → 0.2.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 +4 -4
- data/.github/workflows/ci.yml +2 -2
- data/Gemfile.lock +1 -1
- data/lib/deadfire/css_buffer.rb +30 -3
- data/lib/deadfire/parser.rb +16 -9
- data/lib/deadfire/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 681339c949e040e68156a6f391c2a0cb87a50fa84e7cff27e3d8dfe7e746b61a
|
4
|
+
data.tar.gz: 952f7522e6034261f9dd2b7912deea46fa92e43a068fa53b6ff2658db8e0cd36
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7b72cecd27d13dfbcb84f1c06b19b4a0ef615df59d5cba0a4ffa544e423660dc24f8b445e9b92ef06f58fc71ef12140867e5c0fd4e45d9cbf28dd9fae15b64f6
|
7
|
+
data.tar.gz: 4c81de35669b3e560d8ee5103cd94a2ba45f703b27c64b1c5a26dc46dfefd35ac1f0825c26667b7d8c3e76ee27df0764dad571ddc0c4d652e88228cd494921d1
|
data/.github/workflows/ci.yml
CHANGED
data/Gemfile.lock
CHANGED
data/lib/deadfire/css_buffer.rb
CHANGED
@@ -2,9 +2,36 @@
|
|
2
2
|
require "stringio"
|
3
3
|
|
4
4
|
module Deadfire
|
5
|
-
class CssBuffer
|
5
|
+
class CssBuffer
|
6
|
+
attr_reader :lineno, :buffer
|
7
|
+
|
6
8
|
def initialize(content)
|
7
|
-
|
9
|
+
@content = StringIO.new(content)
|
10
|
+
@buffer = []
|
11
|
+
@lineno = 0
|
12
|
+
end
|
13
|
+
|
14
|
+
def gets(skip_buffer: false)
|
15
|
+
output = content.gets
|
16
|
+
if output && !skip_buffer
|
17
|
+
buffer << output
|
18
|
+
end
|
19
|
+
@lineno += 1
|
20
|
+
output
|
21
|
+
end
|
22
|
+
|
23
|
+
def peek
|
24
|
+
output = content.gets
|
25
|
+
content.ungetc(output)
|
26
|
+
output
|
8
27
|
end
|
28
|
+
|
29
|
+
def eof?
|
30
|
+
content.eof?
|
31
|
+
end
|
32
|
+
|
33
|
+
private
|
34
|
+
|
35
|
+
attr_reader :content
|
9
36
|
end
|
10
|
-
end
|
37
|
+
end
|
data/lib/deadfire/parser.rb
CHANGED
@@ -202,21 +202,29 @@ module Deadfire
|
|
202
202
|
line = content.dup.strip
|
203
203
|
@block_names << find_block_name(@output, @lineno)
|
204
204
|
tmp = []
|
205
|
-
|
206
|
-
add_end_block_when_no_end_block_on_prev_line(arr: tmp)
|
205
|
+
|
207
206
|
while @nested_level > 0 || !@buffer.eof?
|
208
207
|
spaces = calculate_spaces_to_add(line)
|
208
|
+
|
209
209
|
if line.start_with?(NEST_SELECTOR)
|
210
|
-
add_end_block_when_no_end_block_on_prev_line(arr: tmp)
|
210
|
+
add_end_block_when_no_end_block_on_prev_line(arr: tmp)
|
211
211
|
add_selector_to_block_name(line)
|
212
212
|
@nested_level += 1
|
213
213
|
tmp << rewrite_line(spaces, line, @block_names[0...-1].join(" "))
|
214
|
-
remove_last_block_name_entry if line.end_with?(END_BLOCK_CHAR)
|
215
214
|
else
|
216
|
-
remove_last_block_name_entry if line.end_with?(END_BLOCK_CHAR)
|
217
215
|
tmp << "#{spaces}#{line.lstrip}"
|
218
216
|
end
|
219
217
|
|
218
|
+
remove_last_block_name_entry if line.end_with?(END_BLOCK_CHAR)
|
219
|
+
|
220
|
+
if line.end_with?(END_BLOCK_CHAR)
|
221
|
+
result = @buffer.peek
|
222
|
+
if result.strip == END_BLOCK_CHAR
|
223
|
+
@buffer.gets(skip_buffer: true)
|
224
|
+
break
|
225
|
+
end
|
226
|
+
end
|
227
|
+
|
220
228
|
line = @buffer.gets
|
221
229
|
|
222
230
|
if line.nil? || @buffer.eof? || line.empty?
|
@@ -226,8 +234,7 @@ module Deadfire
|
|
226
234
|
end
|
227
235
|
end
|
228
236
|
|
229
|
-
tmp.
|
230
|
-
tmp.join("\n")
|
237
|
+
tmp.join("\n").concat("\n")
|
231
238
|
end
|
232
239
|
|
233
240
|
private
|
@@ -270,7 +277,7 @@ module Deadfire
|
|
270
277
|
when 0
|
271
278
|
line
|
272
279
|
when 1
|
273
|
-
"#{spaces}#{line.
|
280
|
+
"#{spaces}#{line.strip.gsub("&", selector)}"
|
274
281
|
else
|
275
282
|
line.strip.each_char.map do |s|
|
276
283
|
if s == NEST_SELECTOR
|
@@ -307,7 +314,7 @@ module Deadfire
|
|
307
314
|
|
308
315
|
def parse
|
309
316
|
while ! buffer.eof?
|
310
|
-
process_line(buffer.
|
317
|
+
process_line(buffer.gets)
|
311
318
|
end
|
312
319
|
|
313
320
|
@output << NEWLINE
|
data/lib/deadfire/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: deadfire
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Haroon Ahmed
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-10-
|
11
|
+
date: 2022-10-25 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description:
|
14
14
|
email:
|