platformos-check 0.0.3 → 0.2.0

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.
Files changed (35) 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/data/platformos_liquid/documentation/objects.json +1 -1
  5. data/data/platformos_liquid/documentation/tags.json +1 -1
  6. data/lib/platformos_check/app.rb +21 -18
  7. data/lib/platformos_check/checks/invalid_args.rb +7 -39
  8. data/lib/platformos_check/cli.rb +3 -4
  9. data/lib/platformos_check/file_system_storage.rb +3 -7
  10. data/lib/platformos_check/graphql_file.rb +25 -1
  11. data/lib/platformos_check/in_memory_storage.rb +2 -24
  12. data/lib/platformos_check/language_server/completion_providers/background_partial_completion_provider.rb +19 -0
  13. data/lib/platformos_check/language_server/completion_providers/function_partial_completion_provider.rb +19 -0
  14. data/lib/platformos_check/language_server/completion_providers/graphql_partial_completion_provider.rb +19 -0
  15. data/lib/platformos_check/language_server/completion_providers/include_partial_completion_provider.rb +19 -0
  16. data/lib/platformos_check/language_server/completion_providers/object_completion_provider.rb +1 -0
  17. data/lib/platformos_check/language_server/completion_providers/render_partial_completion_provider.rb +19 -0
  18. data/lib/platformos_check/language_server/completion_providers/tag_completion_provider.rb +10 -15
  19. data/lib/platformos_check/language_server/constants.rb +1 -1
  20. data/lib/platformos_check/language_server/diagnostics_engine.rb +2 -3
  21. data/lib/platformos_check/language_server/document_link_engine.rb +1 -3
  22. data/lib/platformos_check/language_server/handler.rb +1 -1
  23. data/lib/platformos_check/language_server/hover_providers/filter_hover_provider.rb +9 -15
  24. data/lib/platformos_check/language_server/hover_providers/tag_hover_provider.rb +36 -0
  25. data/lib/platformos_check/language_server/partial_completion_provider.rb +71 -0
  26. data/lib/platformos_check/language_server.rb +1 -0
  27. data/lib/platformos_check/liquid_visitor.rb +1 -1
  28. data/lib/platformos_check/platformos_liquid/source_index/filter_entry.rb +35 -2
  29. data/lib/platformos_check/platformos_liquid/source_index/object_entry.rb +4 -0
  30. data/lib/platformos_check/platformos_liquid/source_index/parameter_entry.rb +4 -0
  31. data/lib/platformos_check/platformos_liquid/source_index/tag_entry.rb +28 -0
  32. data/lib/platformos_check/storage.rb +2 -2
  33. data/lib/platformos_check/version.rb +1 -1
  34. metadata +9 -3
  35. 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.3
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Piotr Bliszczyk
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: exe
12
12
  cert_chain: []
13
- date: 2023-09-11 00:00:00.000000000 Z
13
+ date: 2023-09-13 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: graphql
@@ -205,10 +205,14 @@ files:
205
205
  - lib/platformos_check/language_server/completion_helper.rb
206
206
  - lib/platformos_check/language_server/completion_provider.rb
207
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
208
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
209
213
  - lib/platformos_check/language_server/completion_providers/object_attribute_completion_provider.rb
210
214
  - lib/platformos_check/language_server/completion_providers/object_completion_provider.rb
211
- - 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
212
216
  - lib/platformos_check/language_server/completion_providers/tag_completion_provider.rb
213
217
  - lib/platformos_check/language_server/configuration.rb
214
218
  - lib/platformos_check/language_server/constants.rb
@@ -233,8 +237,10 @@ files:
233
237
  - lib/platformos_check/language_server/hover_engine.rb
234
238
  - lib/platformos_check/language_server/hover_provider.rb
235
239
  - lib/platformos_check/language_server/hover_providers/filter_hover_provider.rb
240
+ - lib/platformos_check/language_server/hover_providers/tag_hover_provider.rb
236
241
  - lib/platformos_check/language_server/io_messenger.rb
237
242
  - lib/platformos_check/language_server/messenger.rb
243
+ - lib/platformos_check/language_server/partial_completion_provider.rb
238
244
  - lib/platformos_check/language_server/protocol.rb
239
245
  - lib/platformos_check/language_server/server.rb
240
246
  - 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