openvox-editor-services 3.0.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 (108) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +183 -0
  3. data/Gemfile +55 -0
  4. data/LICENSE +201 -0
  5. data/README.md +305 -0
  6. data/Rakefile +260 -0
  7. data/bin/openvox-debugserver +8 -0
  8. data/bin/openvox-languageserver +8 -0
  9. data/bin/openvox-languageserver-sidecar +8 -0
  10. data/bin/puppet-debugserver +8 -0
  11. data/bin/puppet-languageserver +7 -0
  12. data/bin/puppet-languageserver-sidecar +7 -0
  13. data/lib/dsp/dsp.rb +7 -0
  14. data/lib/dsp/dsp_base.rb +62 -0
  15. data/lib/dsp/dsp_protocol.rb +4619 -0
  16. data/lib/lsp/lsp.rb +10 -0
  17. data/lib/lsp/lsp_base.rb +63 -0
  18. data/lib/lsp/lsp_custom.rb +178 -0
  19. data/lib/lsp/lsp_enums.rb +143 -0
  20. data/lib/lsp/lsp_protocol.rb +2785 -0
  21. data/lib/lsp/lsp_protocol_callhierarchy.proposed.rb +239 -0
  22. data/lib/lsp/lsp_protocol_colorprovider.rb +100 -0
  23. data/lib/lsp/lsp_protocol_configuration.rb +82 -0
  24. data/lib/lsp/lsp_protocol_declaration.rb +73 -0
  25. data/lib/lsp/lsp_protocol_foldingrange.rb +129 -0
  26. data/lib/lsp/lsp_protocol_implementation.rb +75 -0
  27. data/lib/lsp/lsp_protocol_progress.rb +200 -0
  28. data/lib/lsp/lsp_protocol_selectionrange.rb +79 -0
  29. data/lib/lsp/lsp_protocol_sematictokens.proposed.rb +340 -0
  30. data/lib/lsp/lsp_protocol_typedefinition.rb +75 -0
  31. data/lib/lsp/lsp_protocol_workspacefolders.rb +174 -0
  32. data/lib/lsp/lsp_types.rb +1534 -0
  33. data/lib/openfact_runtime.rb +26 -0
  34. data/lib/openvox_runtime.rb +61 -0
  35. data/lib/puppet-debugserver/debug_session/break_points.rb +137 -0
  36. data/lib/puppet-debugserver/debug_session/flow_control.rb +161 -0
  37. data/lib/puppet-debugserver/debug_session/hook_handlers.rb +295 -0
  38. data/lib/puppet-debugserver/debug_session/puppet_session_run_mode.rb +66 -0
  39. data/lib/puppet-debugserver/debug_session/puppet_session_state.rb +122 -0
  40. data/lib/puppet-debugserver/hooks.rb +132 -0
  41. data/lib/puppet-debugserver/message_handler.rb +277 -0
  42. data/lib/puppet-debugserver/puppet_debug_session.rb +541 -0
  43. data/lib/puppet-debugserver/puppet_monkey_patches.rb +118 -0
  44. data/lib/puppet-languageserver/client_session_state.rb +119 -0
  45. data/lib/puppet-languageserver/crash_dump.rb +50 -0
  46. data/lib/puppet-languageserver/epp/validation_provider.rb +34 -0
  47. data/lib/puppet-languageserver/facter_helper.rb +25 -0
  48. data/lib/puppet-languageserver/global_queues/sidecar_queue.rb +205 -0
  49. data/lib/puppet-languageserver/global_queues/single_instance_queue.rb +126 -0
  50. data/lib/puppet-languageserver/global_queues/validation_queue.rb +102 -0
  51. data/lib/puppet-languageserver/global_queues.rb +16 -0
  52. data/lib/puppet-languageserver/manifest/completion_provider.rb +331 -0
  53. data/lib/puppet-languageserver/manifest/definition_provider.rb +99 -0
  54. data/lib/puppet-languageserver/manifest/document_symbol_provider.rb +228 -0
  55. data/lib/puppet-languageserver/manifest/folding_provider.rb +226 -0
  56. data/lib/puppet-languageserver/manifest/format_on_type_provider.rb +143 -0
  57. data/lib/puppet-languageserver/manifest/hover_provider.rb +221 -0
  58. data/lib/puppet-languageserver/manifest/signature_provider.rb +169 -0
  59. data/lib/puppet-languageserver/manifest/validation_provider.rb +130 -0
  60. data/lib/puppet-languageserver/message_handler.rb +470 -0
  61. data/lib/puppet-languageserver/providers.rb +18 -0
  62. data/lib/puppet-languageserver/puppet_helper.rb +108 -0
  63. data/lib/puppet-languageserver/puppet_lexer_helper.rb +55 -0
  64. data/lib/puppet-languageserver/puppet_lint.rb +9 -0
  65. data/lib/puppet-languageserver/puppet_monkey_patches.rb +39 -0
  66. data/lib/puppet-languageserver/puppet_parser_helper.rb +212 -0
  67. data/lib/puppet-languageserver/puppetfile/validation_provider.rb +185 -0
  68. data/lib/puppet-languageserver/server_capabilities.rb +48 -0
  69. data/lib/puppet-languageserver/session_state/document_store.rb +272 -0
  70. data/lib/puppet-languageserver/session_state/language_client.rb +239 -0
  71. data/lib/puppet-languageserver/session_state/object_cache.rb +162 -0
  72. data/lib/puppet-languageserver/sidecar_protocol.rb +532 -0
  73. data/lib/puppet-languageserver/uri_helper.rb +46 -0
  74. data/lib/puppet-languageserver-sidecar/cache/base.rb +36 -0
  75. data/lib/puppet-languageserver-sidecar/cache/filesystem.rb +111 -0
  76. data/lib/puppet-languageserver-sidecar/cache/null.rb +27 -0
  77. data/lib/puppet-languageserver-sidecar/facter_helper.rb +41 -0
  78. data/lib/puppet-languageserver-sidecar/puppet_environment_monkey_patches.rb +52 -0
  79. data/lib/puppet-languageserver-sidecar/puppet_helper.rb +281 -0
  80. data/lib/puppet-languageserver-sidecar/puppet_modulepath_monkey_patches.rb +146 -0
  81. data/lib/puppet-languageserver-sidecar/puppet_monkey_patches.rb +9 -0
  82. data/lib/puppet-languageserver-sidecar/puppet_parser_helper.rb +77 -0
  83. data/lib/puppet-languageserver-sidecar/puppet_strings_helper.rb +399 -0
  84. data/lib/puppet-languageserver-sidecar/puppet_strings_monkey_patches.rb +16 -0
  85. data/lib/puppet-languageserver-sidecar/sidecar_protocol_extensions.rb +16 -0
  86. data/lib/puppet-languageserver-sidecar/workspace.rb +89 -0
  87. data/lib/puppet_debugserver.rb +163 -0
  88. data/lib/puppet_editor_services/connection/base.rb +62 -0
  89. data/lib/puppet_editor_services/connection/stdio.rb +25 -0
  90. data/lib/puppet_editor_services/connection/tcp.rb +34 -0
  91. data/lib/puppet_editor_services/handler/base.rb +16 -0
  92. data/lib/puppet_editor_services/handler/debug_adapter.rb +63 -0
  93. data/lib/puppet_editor_services/handler/json_rpc.rb +133 -0
  94. data/lib/puppet_editor_services/logging.rb +45 -0
  95. data/lib/puppet_editor_services/protocol/base.rb +27 -0
  96. data/lib/puppet_editor_services/protocol/debug_adapter.rb +135 -0
  97. data/lib/puppet_editor_services/protocol/debug_adapter_messages.rb +171 -0
  98. data/lib/puppet_editor_services/protocol/json_rpc.rb +241 -0
  99. data/lib/puppet_editor_services/protocol/json_rpc_messages.rb +200 -0
  100. data/lib/puppet_editor_services/server/base.rb +42 -0
  101. data/lib/puppet_editor_services/server/stdio.rb +85 -0
  102. data/lib/puppet_editor_services/server/tcp.rb +349 -0
  103. data/lib/puppet_editor_services/server.rb +15 -0
  104. data/lib/puppet_editor_services/version.rb +36 -0
  105. data/lib/puppet_editor_services.rb +8 -0
  106. data/lib/puppet_languageserver.rb +265 -0
  107. data/lib/puppet_languageserver_sidecar.rb +364 -0
  108. metadata +256 -0
@@ -0,0 +1,62 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'json'
4
+
5
+ module DSP
6
+ class DSPBase
7
+ def initialize(initial_hash = nil)
8
+ from_h!(initial_hash) unless initial_hash.nil?
9
+ end
10
+
11
+ def to_h
12
+ value = {}
13
+ optional_names = @optional_method_names.nil? ? [] : @optional_method_names
14
+
15
+ instance_method_names.each do |name|
16
+ item_value = send(name)
17
+ if item_value.is_a?(Array)
18
+ # Convert the items in the array .to_h
19
+ item_value = item_value.map { |item| item.to_h }
20
+ elsif !item_value.nil? && item_value.respond_to?(:to_h)
21
+ item_value = item_value.to_h
22
+ end
23
+ value[name.to_s] = item_value unless optional_names.include?(name) && item_value.nil?
24
+ end
25
+
26
+ value
27
+ end
28
+
29
+ def from_h!(value); end
30
+
31
+ def to_json(*options)
32
+ to_h.to_json(options)
33
+ end
34
+
35
+ private
36
+
37
+ def instance_method_names
38
+ method_names = methods - DSP::DSPBase.instance_methods
39
+
40
+ method_names.reject { |name| name.to_s.end_with?('=') }
41
+ end
42
+
43
+ def to_typed_aray(val, expected_type)
44
+ return nil if val.nil?
45
+
46
+ val.map { |item| expected_type.new(item) }
47
+ end
48
+ end
49
+
50
+ def self.create_range(from_line, from_char, to_line, to_char)
51
+ {
52
+ 'start' => {
53
+ 'line' => from_line,
54
+ 'character' => from_char
55
+ },
56
+ 'end' => {
57
+ 'line' => to_line,
58
+ 'character' => to_char
59
+ }
60
+ }
61
+ end
62
+ end