slim_lint_standard 0.0.3.1 → 0.0.3.2

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: a7056df39196b2bccca2e7df3c153d92505ea08782f13d0ca1988cd611515829
4
- data.tar.gz: 339d15ea51b1ea34bbaf6a6bb8288edbdf9a18068e0533ca3ab57b800310e0cf
3
+ metadata.gz: 5e0448b232b91bf88c417eb75e64c6da9ad18d0bfc7ba53528ad347b392447ab
4
+ data.tar.gz: f59363a96cc968962443a4485bd28987b6855141debce1bc881d316f4c0726d8
5
5
  SHA512:
6
- metadata.gz: c41c3179b1474bb5dee7d3c33ac45b20ab311622c5875860b6f2517cd718a6c850f8ec51ff6985a6870b2382da9d464409680ff407d11683bd13e95510c0f251
7
- data.tar.gz: d3f8749f8c6a8bdee6dda76fe55f9a13e899abe5cdfc84095bd42d329095355ded2fef7aa9c708392170be7d436fb1c1061ed310bcea9e8a6bfac9b9003caf82
6
+ metadata.gz: 576123200da53bb1767f66993388afee1c1413dd09f7189c08cda5f753ecad6a946951cac70755b75039b6ff3ebef5dcba9cddf6ab915e29ed087d1847de91b0
7
+ data.tar.gz: c15b9d4cbe346857a85a4da550c0c299e69317b97d8a9d94bd739fac5de77e1eaede50c6f8f86acec8b9331ceb7beabfb23b6f70a40a3425f8e9c10c9598a5f8
data/config/default.yml CHANGED
@@ -47,6 +47,8 @@ linters:
47
47
 
48
48
  RedundantDiv:
49
49
  enabled: true
50
+ EnforcedStyle: implicit
51
+ SupportedStyles: [implicit, explicit]
50
52
 
51
53
  RuboCop:
52
54
  enabled: false
@@ -7,15 +7,22 @@ module SlimLint
7
7
  include LinterRegistry
8
8
 
9
9
  SHORTCUT_ATTRS = %w[id class]
10
- MESSAGE = "`div` is redundant when %s attribute shortcut is present"
10
+ IMPLICIT_MESSAGE = "`div` is redundant when %s attribute shortcut is present"
11
+ EXPLICIT_MESSAGE = "explicit `div` is preferred over bare %s attribute"
11
12
 
12
- on [:html, :tag, "div", capture(:attrs, [:html, :attrs]), anything] do |sexp|
13
- _, _, name, value = captures[:attrs][2]
14
- next unless name
15
- next unless value[0] == :static
16
- next unless SHORTCUT_ATTRS.include?(name.value)
17
-
18
- report_lint(sexp[2], MESSAGE % name)
13
+ on [:html, :tag, capture(:tag, anything), capture(:attrs, [:html, :attrs]), anything] do |sexp|
14
+ case @config["EnforcedStyle"]
15
+ when "implicit", :implicit
16
+ _, _, name, value = captures[:attrs][2]
17
+ next unless captures[:tag] == "div"
18
+ next unless name
19
+ next unless value[0] == :static
20
+ next unless SHORTCUT_ATTRS.include?(name.value)
21
+ report_lint(sexp[2], IMPLICIT_MESSAGE % name)
22
+ when "explicit", :explicit
23
+ next unless captures[:tag] == "." || captures[:tag] == "#"
24
+ report_lint(sexp[2], EXPLICIT_MESSAGE % captures[:tag])
25
+ end
19
26
  end
20
27
  end
21
28
  end
@@ -2,5 +2,5 @@
2
2
 
3
3
  # Defines the gem version.
4
4
  module SlimLint
5
- VERSION = "0.0.3.1"
5
+ VERSION = "0.0.3.2"
6
6
  end
metadata CHANGED
@@ -1,12 +1,12 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: slim_lint_standard
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3.1
4
+ version: 0.0.3.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pieter van de Bruggen
8
8
  - Shane da Silva
9
- autorequire:
9
+ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
  date: 2025-01-29 00:00:00.000000000 Z
@@ -224,7 +224,7 @@ homepage: https://github.com/pvande/slim-lint-standard
224
224
  licenses:
225
225
  - MIT
226
226
  metadata: {}
227
- post_install_message:
227
+ post_install_message:
228
228
  rdoc_options: []
229
229
  require_paths:
230
230
  - lib
@@ -239,8 +239,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
239
239
  - !ruby/object:Gem::Version
240
240
  version: '0'
241
241
  requirements: []
242
- rubygems_version: 3.0.3.1
243
- signing_key:
242
+ rubygems_version: 3.4.10
243
+ signing_key:
244
244
  specification_version: 4
245
245
  summary: Linter for Slim templates
246
246
  test_files: []