platformos-check 0.0.2 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (30) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +13 -0
  3. data/data/platformos_liquid/documentation/filters.json +1 -1
  4. data/lib/platformos_check/app.rb +21 -18
  5. data/lib/platformos_check/checks/invalid_args.rb +7 -39
  6. data/lib/platformos_check/checks/undefined_object.rb +13 -0
  7. data/lib/platformos_check/cli.rb +3 -4
  8. data/lib/platformos_check/file_system_storage.rb +3 -7
  9. data/lib/platformos_check/graphql_file.rb +25 -1
  10. data/lib/platformos_check/in_memory_storage.rb +2 -24
  11. data/lib/platformos_check/language_server/completion_providers/background_partial_completion_provider.rb +19 -0
  12. data/lib/platformos_check/language_server/completion_providers/function_partial_completion_provider.rb +19 -0
  13. data/lib/platformos_check/language_server/completion_providers/graphql_partial_completion_provider.rb +19 -0
  14. data/lib/platformos_check/language_server/completion_providers/include_partial_completion_provider.rb +19 -0
  15. data/lib/platformos_check/language_server/completion_providers/render_partial_completion_provider.rb +19 -0
  16. data/lib/platformos_check/language_server/constants.rb +1 -1
  17. data/lib/platformos_check/language_server/diagnostics_engine.rb +2 -3
  18. data/lib/platformos_check/language_server/document_link_engine.rb +1 -3
  19. data/lib/platformos_check/language_server/hover_providers/filter_hover_provider.rb +9 -15
  20. data/lib/platformos_check/language_server/partial_completion_provider.rb +48 -0
  21. data/lib/platformos_check/language_server.rb +1 -0
  22. data/lib/platformos_check/liquid_visitor.rb +1 -1
  23. data/lib/platformos_check/platformos_liquid/source_index/filter_entry.rb +35 -2
  24. data/lib/platformos_check/platformos_liquid/source_index/parameter_entry.rb +4 -0
  25. data/lib/platformos_check/storage.rb +2 -2
  26. data/lib/platformos_check/tags/background.rb +3 -1
  27. data/lib/platformos_check/version.rb +1 -1
  28. data/platformos-check.gemspec +2 -0
  29. metadata +22 -3
  30. data/lib/platformos_check/language_server/completion_providers/render_snippet_completion_provider.rb +0 -50
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: platformos-check
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Piotr Bliszczyk
@@ -10,8 +10,22 @@ authors:
10
10
  autorequire:
11
11
  bindir: exe
12
12
  cert_chain: []
13
- date: 2023-09-09 00:00:00.000000000 Z
13
+ date: 2023-09-13 00:00:00.000000000 Z
14
14
  dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: graphql
17
+ requirement: !ruby/object:Gem::Requirement
18
+ requirements:
19
+ - - "~>"
20
+ - !ruby/object:Gem::Version
21
+ version: 2.0.0
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ requirements:
26
+ - - "~>"
27
+ - !ruby/object:Gem::Version
28
+ version: 2.0.0
15
29
  - !ruby/object:Gem::Dependency
16
30
  name: liquid
17
31
  requirement: !ruby/object:Gem::Requirement
@@ -191,10 +205,14 @@ files:
191
205
  - lib/platformos_check/language_server/completion_helper.rb
192
206
  - lib/platformos_check/language_server/completion_provider.rb
193
207
  - lib/platformos_check/language_server/completion_providers/assignments_completion_provider.rb
208
+ - lib/platformos_check/language_server/completion_providers/background_partial_completion_provider.rb
194
209
  - lib/platformos_check/language_server/completion_providers/filter_completion_provider.rb
210
+ - lib/platformos_check/language_server/completion_providers/function_partial_completion_provider.rb
211
+ - lib/platformos_check/language_server/completion_providers/graphql_partial_completion_provider.rb
212
+ - lib/platformos_check/language_server/completion_providers/include_partial_completion_provider.rb
195
213
  - lib/platformos_check/language_server/completion_providers/object_attribute_completion_provider.rb
196
214
  - lib/platformos_check/language_server/completion_providers/object_completion_provider.rb
197
- - lib/platformos_check/language_server/completion_providers/render_snippet_completion_provider.rb
215
+ - lib/platformos_check/language_server/completion_providers/render_partial_completion_provider.rb
198
216
  - lib/platformos_check/language_server/completion_providers/tag_completion_provider.rb
199
217
  - lib/platformos_check/language_server/configuration.rb
200
218
  - lib/platformos_check/language_server/constants.rb
@@ -221,6 +239,7 @@ files:
221
239
  - lib/platformos_check/language_server/hover_providers/filter_hover_provider.rb
222
240
  - lib/platformos_check/language_server/io_messenger.rb
223
241
  - lib/platformos_check/language_server/messenger.rb
242
+ - lib/platformos_check/language_server/partial_completion_provider.rb
224
243
  - lib/platformos_check/language_server/protocol.rb
225
244
  - lib/platformos_check/language_server/server.rb
226
245
  - lib/platformos_check/language_server/tokens.rb
@@ -1,50 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module PlatformosCheck
4
- module LanguageServer
5
- class RenderSnippetCompletionProvider < CompletionProvider
6
- def completions(context)
7
- content = context.content
8
- cursor = context.cursor
9
-
10
- return [] if content.nil?
11
- return [] unless cursor_on_quoted_argument?(content, cursor)
12
-
13
- partial = snippet(content) || ''
14
- snippets
15
- .select { |x| x.start_with?(partial) }
16
- .map { |x| snippet_to_completion(x) }
17
- end
18
-
19
- private
20
-
21
- def cursor_on_quoted_argument?(content, cursor)
22
- match = content.match(PARTIAL_RENDER)
23
- return false if match.nil?
24
-
25
- match.begin(:partial) <= cursor && cursor <= match.end(:partial)
26
- end
27
-
28
- def snippet(content)
29
- match = content.match(PARTIAL_RENDER)
30
- return if match.nil?
31
-
32
- match[:partial]
33
- end
34
-
35
- def snippets
36
- @storage
37
- .files
38
- .select { |x| x.include?('snippets/') }
39
- end
40
-
41
- def snippet_to_completion(file)
42
- {
43
- label: File.basename(file, '.liquid'),
44
- kind: CompletionItemKinds::SNIPPET,
45
- detail: file
46
- }
47
- end
48
- end
49
- end
50
- end