puppet-editor-services 2.0.4

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 (109) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +510 -0
  3. data/CODEOWNERS +2 -0
  4. data/CODE_OF_CONDUCT.md +46 -0
  5. data/CONTRIBUTING.md +54 -0
  6. data/Gemfile +53 -0
  7. data/LICENSE +201 -0
  8. data/README.md +308 -0
  9. data/Rakefile +185 -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 +170 -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/puppet-debugserver/debug_session/break_points.rb +137 -0
  34. data/lib/puppet-debugserver/debug_session/flow_control.rb +161 -0
  35. data/lib/puppet-debugserver/debug_session/hook_handlers.rb +295 -0
  36. data/lib/puppet-debugserver/debug_session/puppet_session_run_mode.rb +66 -0
  37. data/lib/puppet-debugserver/debug_session/puppet_session_state.rb +122 -0
  38. data/lib/puppet-debugserver/hooks.rb +132 -0
  39. data/lib/puppet-debugserver/message_handler.rb +277 -0
  40. data/lib/puppet-debugserver/puppet_debug_session.rb +541 -0
  41. data/lib/puppet-debugserver/puppet_monkey_patches.rb +118 -0
  42. data/lib/puppet-languageserver/client_session_state.rb +119 -0
  43. data/lib/puppet-languageserver/crash_dump.rb +50 -0
  44. data/lib/puppet-languageserver/epp/validation_provider.rb +34 -0
  45. data/lib/puppet-languageserver/facter_helper.rb +25 -0
  46. data/lib/puppet-languageserver/global_queues/sidecar_queue.rb +205 -0
  47. data/lib/puppet-languageserver/global_queues/single_instance_queue.rb +126 -0
  48. data/lib/puppet-languageserver/global_queues/validation_queue.rb +102 -0
  49. data/lib/puppet-languageserver/global_queues.rb +16 -0
  50. data/lib/puppet-languageserver/manifest/completion_provider.rb +331 -0
  51. data/lib/puppet-languageserver/manifest/definition_provider.rb +99 -0
  52. data/lib/puppet-languageserver/manifest/document_symbol_provider.rb +228 -0
  53. data/lib/puppet-languageserver/manifest/folding_provider.rb +226 -0
  54. data/lib/puppet-languageserver/manifest/format_on_type_provider.rb +143 -0
  55. data/lib/puppet-languageserver/manifest/hover_provider.rb +221 -0
  56. data/lib/puppet-languageserver/manifest/signature_provider.rb +169 -0
  57. data/lib/puppet-languageserver/manifest/validation_provider.rb +127 -0
  58. data/lib/puppet-languageserver/message_handler.rb +462 -0
  59. data/lib/puppet-languageserver/providers.rb +18 -0
  60. data/lib/puppet-languageserver/puppet_helper.rb +108 -0
  61. data/lib/puppet-languageserver/puppet_lexer_helper.rb +55 -0
  62. data/lib/puppet-languageserver/puppet_monkey_patches.rb +39 -0
  63. data/lib/puppet-languageserver/puppet_parser_helper.rb +212 -0
  64. data/lib/puppet-languageserver/puppetfile/validation_provider.rb +185 -0
  65. data/lib/puppet-languageserver/server_capabilities.rb +48 -0
  66. data/lib/puppet-languageserver/session_state/document_store.rb +272 -0
  67. data/lib/puppet-languageserver/session_state/language_client.rb +239 -0
  68. data/lib/puppet-languageserver/session_state/object_cache.rb +162 -0
  69. data/lib/puppet-languageserver/sidecar_protocol.rb +532 -0
  70. data/lib/puppet-languageserver/uri_helper.rb +46 -0
  71. data/lib/puppet-languageserver-sidecar/cache/base.rb +36 -0
  72. data/lib/puppet-languageserver-sidecar/cache/filesystem.rb +111 -0
  73. data/lib/puppet-languageserver-sidecar/cache/null.rb +27 -0
  74. data/lib/puppet-languageserver-sidecar/facter_helper.rb +41 -0
  75. data/lib/puppet-languageserver-sidecar/puppet_environment_monkey_patches.rb +52 -0
  76. data/lib/puppet-languageserver-sidecar/puppet_helper.rb +281 -0
  77. data/lib/puppet-languageserver-sidecar/puppet_modulepath_monkey_patches.rb +146 -0
  78. data/lib/puppet-languageserver-sidecar/puppet_monkey_patches.rb +9 -0
  79. data/lib/puppet-languageserver-sidecar/puppet_parser_helper.rb +77 -0
  80. data/lib/puppet-languageserver-sidecar/puppet_strings_helper.rb +399 -0
  81. data/lib/puppet-languageserver-sidecar/puppet_strings_monkey_patches.rb +16 -0
  82. data/lib/puppet-languageserver-sidecar/sidecar_protocol_extensions.rb +16 -0
  83. data/lib/puppet-languageserver-sidecar/workspace.rb +89 -0
  84. data/lib/puppet_debugserver.rb +164 -0
  85. data/lib/puppet_editor_services/connection/base.rb +62 -0
  86. data/lib/puppet_editor_services/connection/stdio.rb +25 -0
  87. data/lib/puppet_editor_services/connection/tcp.rb +34 -0
  88. data/lib/puppet_editor_services/handler/base.rb +16 -0
  89. data/lib/puppet_editor_services/handler/debug_adapter.rb +63 -0
  90. data/lib/puppet_editor_services/handler/json_rpc.rb +133 -0
  91. data/lib/puppet_editor_services/logging.rb +45 -0
  92. data/lib/puppet_editor_services/protocol/base.rb +27 -0
  93. data/lib/puppet_editor_services/protocol/debug_adapter.rb +135 -0
  94. data/lib/puppet_editor_services/protocol/debug_adapter_messages.rb +171 -0
  95. data/lib/puppet_editor_services/protocol/json_rpc.rb +241 -0
  96. data/lib/puppet_editor_services/protocol/json_rpc_messages.rb +200 -0
  97. data/lib/puppet_editor_services/server/base.rb +42 -0
  98. data/lib/puppet_editor_services/server/stdio.rb +85 -0
  99. data/lib/puppet_editor_services/server/tcp.rb +349 -0
  100. data/lib/puppet_editor_services/server.rb +15 -0
  101. data/lib/puppet_editor_services/version.rb +36 -0
  102. data/lib/puppet_editor_services.rb +8 -0
  103. data/lib/puppet_languageserver.rb +263 -0
  104. data/lib/puppet_languageserver_sidecar.rb +361 -0
  105. data/puppet-debugserver +11 -0
  106. data/puppet-editor-services.gemspec +29 -0
  107. data/puppet-languageserver +15 -0
  108. data/puppet-languageserver-sidecar +14 -0
  109. metadata +240 -0
@@ -0,0 +1,174 @@
1
+ # frozen_string_literal: true
2
+
3
+ # DO NOT MODIFY. This file is built automatically
4
+ # LSP Protocol: vscode-languageserver-protocol/lib/protocol.workspaceFolders.d.ts
5
+
6
+ # rubocop:disable Naming/MethodName
7
+
8
+ module LSP
9
+ # export interface WorkspaceFoldersInitializeParams {
10
+ # /**
11
+ # * The actual configured workspace folders.
12
+ # */
13
+ # workspaceFolders: WorkspaceFolder[] | null;
14
+ # }
15
+ class WorkspaceFoldersInitializeParams < LSPBase
16
+ attr_accessor :workspaceFolders # type: WorkspaceFolder[] | null
17
+
18
+ def from_h!(value)
19
+ value = {} if value.nil?
20
+ self.workspaceFolders = value['workspaceFolders'] # Unknown type
21
+ self
22
+ end
23
+ end
24
+
25
+ # export interface WorkspaceFoldersClientCapabilities {
26
+ # /**
27
+ # * The workspace client capabilities
28
+ # */
29
+ # workspace?: {
30
+ # /**
31
+ # * The client has support for workspace folders
32
+ # */
33
+ # workspaceFolders?: boolean;
34
+ # };
35
+ # }
36
+ class WorkspaceFoldersClientCapabilities < LSPBase
37
+ attr_accessor :workspace # type: {
38
+
39
+ # /**
40
+ # * The client has support for workspace folders
41
+ # */
42
+ # workspaceFolders?: boolean;
43
+ # }
44
+
45
+ def initialize(initial_hash = nil)
46
+ super
47
+ @optional_method_names = %i[workspace]
48
+ end
49
+
50
+ def from_h!(value)
51
+ value = {} if value.nil?
52
+ self.workspace = value['workspace'] # Unknown type
53
+ self
54
+ end
55
+ end
56
+
57
+ # export interface WorkspaceFoldersServerCapabilities {
58
+ # /**
59
+ # * The workspace server capabilities
60
+ # */
61
+ # workspace?: {
62
+ # workspaceFolders?: {
63
+ # /**
64
+ # * The Server has support for workspace folders
65
+ # */
66
+ # supported?: boolean;
67
+ # /**
68
+ # * Whether the server wants to receive workspace folder
69
+ # * change notifications.
70
+ # *
71
+ # * If a strings is provided the string is treated as a ID
72
+ # * under which the notification is registed on the client
73
+ # * side. The ID can be used to unregister for these events
74
+ # * using the `client/unregisterCapability` request.
75
+ # */
76
+ # changeNotifications?: string | boolean;
77
+ # };
78
+ # };
79
+ # }
80
+ class WorkspaceFoldersServerCapabilities < LSPBase
81
+ attr_accessor :workspace # type: {
82
+
83
+ # workspaceFolders?: {
84
+ # /**
85
+ # * The Server has support for workspace folders
86
+ # */
87
+ # supported?: boolean;
88
+ # /**
89
+ # * Whether the server wants to receive workspace folder
90
+ # * change notifications.
91
+ # *
92
+ # * If a strings is provided the string is treated as a ID
93
+ # * under which the notification is registed on the client
94
+ # * side. The ID can be used to unregister for these events
95
+ # * using the `client/unregisterCapability` request.
96
+ # */
97
+ # changeNotifications?: string | boolean;
98
+ # };
99
+ # }
100
+
101
+ def initialize(initial_hash = nil)
102
+ super
103
+ @optional_method_names = %i[workspace]
104
+ end
105
+
106
+ def from_h!(value)
107
+ value = {} if value.nil?
108
+ self.workspace = value['workspace'] # Unknown type
109
+ self
110
+ end
111
+ end
112
+
113
+ # export interface WorkspaceFolder {
114
+ # /**
115
+ # * The associated URI for this workspace folder.
116
+ # */
117
+ # uri: string;
118
+ # /**
119
+ # * The name of the workspace folder. Used to refer to this
120
+ # * workspace folder in the user interface.
121
+ # */
122
+ # name: string;
123
+ # }
124
+ class WorkspaceFolder < LSPBase
125
+ attr_accessor :uri, :name # type: string # type: string
126
+
127
+ def from_h!(value)
128
+ value = {} if value.nil?
129
+ self.uri = value['uri']
130
+ self.name = value['name']
131
+ self
132
+ end
133
+ end
134
+
135
+ # export interface DidChangeWorkspaceFoldersParams {
136
+ # /**
137
+ # * The actual workspace folder change event.
138
+ # */
139
+ # event: WorkspaceFoldersChangeEvent;
140
+ # }
141
+ class DidChangeWorkspaceFoldersParams < LSPBase
142
+ attr_accessor :event # type: WorkspaceFoldersChangeEvent
143
+
144
+ def from_h!(value)
145
+ value = {} if value.nil?
146
+ self.event = WorkspaceFoldersChangeEvent.new(value['event']) unless value['event'].nil?
147
+ self
148
+ end
149
+ end
150
+
151
+ # export interface WorkspaceFoldersChangeEvent {
152
+ # /**
153
+ # * The array of added workspace folders
154
+ # */
155
+ # added: WorkspaceFolder[];
156
+ # /**
157
+ # * The array of the removed workspace folders
158
+ # */
159
+ # removed: WorkspaceFolder[];
160
+ # }
161
+ class WorkspaceFoldersChangeEvent < LSPBase
162
+ attr_accessor :added, :removed # type: WorkspaceFolder[] # type: WorkspaceFolder[]
163
+
164
+ def from_h!(value)
165
+ value = {} if value.nil?
166
+ self.added = to_typed_aray(value['added'], WorkspaceFolder)
167
+ self.removed = to_typed_aray(value['removed'], WorkspaceFolder)
168
+ self
169
+ end
170
+ end
171
+ end
172
+
173
+ # rubocop:enable Style/AsciiComments
174
+ # rubocop:enable Naming/MethodName