platformos-check 0.0.3 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (27) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +7 -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/cli.rb +3 -4
  7. data/lib/platformos_check/file_system_storage.rb +3 -7
  8. data/lib/platformos_check/graphql_file.rb +25 -1
  9. data/lib/platformos_check/in_memory_storage.rb +2 -24
  10. data/lib/platformos_check/language_server/completion_providers/background_partial_completion_provider.rb +19 -0
  11. data/lib/platformos_check/language_server/completion_providers/function_partial_completion_provider.rb +19 -0
  12. data/lib/platformos_check/language_server/completion_providers/graphql_partial_completion_provider.rb +19 -0
  13. data/lib/platformos_check/language_server/completion_providers/include_partial_completion_provider.rb +19 -0
  14. data/lib/platformos_check/language_server/completion_providers/render_partial_completion_provider.rb +19 -0
  15. data/lib/platformos_check/language_server/constants.rb +1 -1
  16. data/lib/platformos_check/language_server/diagnostics_engine.rb +2 -3
  17. data/lib/platformos_check/language_server/document_link_engine.rb +1 -3
  18. data/lib/platformos_check/language_server/hover_providers/filter_hover_provider.rb +9 -15
  19. data/lib/platformos_check/language_server/partial_completion_provider.rb +48 -0
  20. data/lib/platformos_check/language_server.rb +1 -0
  21. data/lib/platformos_check/liquid_visitor.rb +1 -1
  22. data/lib/platformos_check/platformos_liquid/source_index/filter_entry.rb +35 -2
  23. data/lib/platformos_check/platformos_liquid/source_index/parameter_entry.rb +4 -0
  24. data/lib/platformos_check/storage.rb +2 -2
  25. data/lib/platformos_check/version.rb +1 -1
  26. metadata +8 -3
  27. data/lib/platformos_check/language_server/completion_providers/render_snippet_completion_provider.rb +0 -50
@@ -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