slim_lint_standard 0.0.3.1 → 0.0.3.2

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 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: []