scss_beautifier 0.1.17 → 0.1.18
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/lib/scss_beautifier/cli.rb +7 -0
- data/lib/scss_beautifier/formatters/leading_zero.rb +3 -2
- data/lib/scss_beautifier/options.rb +15 -0
- data/lib/scss_beautifier/version.rb +1 -1
- data/web/Gemfile.lock +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0617d3cf196fbecb1bc0cc9f6e77b26e057a4578
|
4
|
+
data.tar.gz: 363ab371cd16d07b6c4071aedd97e55bd4e4fe3a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1cf142b7dd2dab6d97a82d8dac1404144c549cb65437e9b91f96ab6d2cbdd416e1b6678b1cbf4c864e9d1231d854d4fdc310bf446c39711535b5b2525c579547
|
7
|
+
data.tar.gz: 8f9164c52ff0de7d035c95ce510d35fd3add511b7cbe264dfdfa7a063159a7a35441697a8fa7b79d028ffffcd8427f23001b579a4bb9816d53c97ffe3686cb4f
|
data/Gemfile.lock
CHANGED
data/lib/scss_beautifier/cli.rb
CHANGED
@@ -5,6 +5,7 @@ module SCSSBeautifier
|
|
5
5
|
# Returns exit code
|
6
6
|
def run(args)
|
7
7
|
options = Options.new.parse(args)
|
8
|
+
generate_configuration and return if options[:generate_config]
|
8
9
|
|
9
10
|
contents = File.read(args.first)
|
10
11
|
engine = Sass::Engine.new(contents, cache: false, syntax: :scss)
|
@@ -24,5 +25,11 @@ module SCSSBeautifier
|
|
24
25
|
end
|
25
26
|
end
|
26
27
|
|
28
|
+
private
|
29
|
+
|
30
|
+
def generate_configuration
|
31
|
+
File.write(".scss-beautifier", File.read(DEFAULT))
|
32
|
+
end
|
33
|
+
|
27
34
|
end
|
28
35
|
end
|
@@ -1,10 +1,11 @@
|
|
1
1
|
class SCSSBeautifier::Formatters::LeadingZero < SCSSBeautifier::Formatters::Base
|
2
|
+
LEADING_ZERO_REGEX = /\b0+\./
|
2
3
|
# ExcludeZero Only
|
3
4
|
def visit_prop(node)
|
4
5
|
if Sass::Script::Tree::Literal === node.value && Sass::Script::Value::String === node.value.value
|
5
6
|
node_value = node.value.value
|
6
|
-
if node.value.value.to_s.match(
|
7
|
-
node.instance_variable_set(:@value, Sass::Script::Value::String.new(node.value.value.to_s.gsub(
|
7
|
+
if node.value.value.to_s.match(LEADING_ZERO_REGEX)
|
8
|
+
node.instance_variable_set(:@value, Sass::Script::Value::String.new(node.value.value.to_s.gsub(LEADING_ZERO_REGEX, '.')))
|
8
9
|
end
|
9
10
|
end
|
10
11
|
end
|
@@ -12,17 +12,25 @@ module SCSSBeautifier
|
|
12
12
|
add_banner(opts)
|
13
13
|
add_config_option(opts)
|
14
14
|
add_in_place_option(opts)
|
15
|
+
add_generate_config_option(opts)
|
15
16
|
end
|
16
17
|
end
|
17
18
|
|
18
19
|
def parse(args)
|
19
20
|
@option_parser.parse!(args)
|
20
21
|
options[:path] = args.first if args.first
|
22
|
+
add_defaults
|
21
23
|
options
|
22
24
|
end
|
23
25
|
|
24
26
|
private
|
25
27
|
|
28
|
+
def add_defaults
|
29
|
+
if File.exists?(".scss-beautifier") && options[:config].nil?
|
30
|
+
options[:config] = ".scss-beautifier"
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
26
34
|
def add_banner(opts)
|
27
35
|
opts.banner = unindent(<<-BANNER)
|
28
36
|
Beautify your SCSS code
|
@@ -44,6 +52,13 @@ module SCSSBeautifier
|
|
44
52
|
end
|
45
53
|
end
|
46
54
|
|
55
|
+
def add_generate_config_option(opts)
|
56
|
+
message = "generate a .scss-beautifier config with defaults"
|
57
|
+
opts.on("-g", "--gen-config", message) do |bool|
|
58
|
+
self.options[:generate_config] = bool
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
47
62
|
def unindent(str)
|
48
63
|
str.gsub(/^#{str.scan(/^[ ]+(?=\S)/).min}/, "")
|
49
64
|
end
|
data/web/Gemfile.lock
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: scss_beautifier
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.18
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ivan Tse
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: exe
|
11
11
|
cert_chain: []
|
12
|
-
date: 2016-09-
|
12
|
+
date: 2016-09-27 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: sass
|