platformos-check 0.0.3 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
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