theme-check 0.2.0 → 0.2.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: 4001e286b9a0c851493de76250770565088d1d8f646a6e592ee3f2c142b47c3c
4
- data.tar.gz: 3c3cd833684e0020211365eec091b70be3a064ae72f4c1d7337908fbfdbdacd8
3
+ metadata.gz: 3d699b72927dc2112b7cf3560a303a3dff52dfd99120e3201cd9721372282e36
4
+ data.tar.gz: e850929c23554d200de3ca17e0759e8a760f98152cf293561a54aa5fbc24c5e5
5
5
  SHA512:
6
- metadata.gz: 35855ff5a3e10f8a8dc60cc40d619fe713f013eb8ee64f92c565c34e3a3b58b9646ca1b707535f777e53cabae1dd58facc2adc4722e5c704b11ff70d9407e959
7
- data.tar.gz: fb9f94add954ec84a0fb8ca6616e8d91981701ff0d62f5dc89692dcd4ddf7715073db531dc81ec7dd1c8a4fc8df93360adbc32ee02254d8538a027236995cbdf
6
+ metadata.gz: f3e26f98b06a8c596442ac7562d72810ab92b4e20a3ddca2892860f94377fb1b5f4e9d6ba94eba5687170c364ac17a080fb971b95cc41b66d3a811b2637282ab
7
+ data.tar.gz: c2d95ee213323de5df634c2b47b21317a3fef5f9edae2aae056d87ecc41694a0ba9296eb9dd0c9cf70213ad920d2b8fa4849d197c77cb196c50111728156eca5
@@ -47,23 +47,35 @@ module ThemeCheck
47
47
  log("Checking #{config.root}")
48
48
  analyzer.analyze_theme
49
49
  log("Found #{theme.all.size} templates, and #{analyzer.offenses.size} offenses")
50
- send_offenses(analyzer.offenses)
50
+ send_diagnostics(analyzer.offenses, theme.all)
51
51
  end
52
52
 
53
- def send_offenses(offenses)
53
+ def send_diagnostics(offenses, templates)
54
+ contains_offenses = []
55
+
54
56
  offenses.group_by(&:template).each do |template, template_offenses|
55
57
  next unless template
56
- # https://microsoft.github.io/language-server-protocol/specifications/specification-current/#notificationMessage
57
- send_response(
58
- method: 'textDocument/publishDiagnostics',
59
- params: {
60
- uri: "file:#{template.path}",
61
- diagnostics: template_offenses.map { |offense| offense_to_diagnostic(offense) },
62
- },
63
- )
58
+ send_diagnostic(template.path, template_offenses)
59
+ contains_offenses.push(template.path)
60
+ end
61
+
62
+ # Publish diagnostics with empty array if template does not contain error
63
+ templates.select { |t| !contains_offenses.include?(t.path) }.each do |template|
64
+ send_diagnostic(template.path, [])
64
65
  end
65
66
  end
66
67
 
68
+ def send_diagnostic(path, offenses)
69
+ # https://microsoft.github.io/language-server-protocol/specifications/specification-current/#notificationMessage
70
+ send_response(
71
+ method: 'textDocument/publishDiagnostics',
72
+ params: {
73
+ uri: "file:#{path}",
74
+ diagnostics: offenses.map { |offense| offense_to_diagnostic(offense) },
75
+ },
76
+ )
77
+ end
78
+
67
79
  def offense_to_diagnostic(offense)
68
80
  {
69
81
  range: range(offense),
@@ -1,4 +1,4 @@
1
1
  # frozen_string_literal: true
2
2
  module ThemeCheck
3
- VERSION = "0.2.0"
3
+ VERSION = "0.2.2"
4
4
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: theme-check
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Marc-André Cournoyer
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-01-20 00:00:00.000000000 Z
11
+ date: 2021-01-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: liquid