Skip to repository content1124 lines · 23.4 KB · text
tenant.openagents/omega
No repository description is available.
OpenAgents Git authority 2026-07-28T05:18:48.298Z Public web read
NIP-34 coordinate
30617:7649603503856e5148d571eac2766b288a8ff1e9e35d380337a1d2b0015b4f92:omegaMaintainersHidden in public view
References2 branches · 1 tag
Read-only clone
git clone https://openagents.com/git/tenant.openagents/omega.gitBrowse files
lsp.proto
1syntax = "proto3";
2package zed.messages;
3
4import "buffer.proto";
5
6message GetDefinition {
7 uint64 project_id = 1;
8 uint64 buffer_id = 2;
9 Anchor position = 3;
10 repeated VectorClockEntry version = 4;
11 reserved 5;
12}
13
14message GetDefinitionResponse {
15 repeated LocationLink links = 1;
16}
17
18message GetEditPredictionDefinition {
19 uint64 project_id = 1;
20 uint64 buffer_id = 2;
21 Anchor position = 3;
22 repeated VectorClockEntry version = 4;
23}
24
25message GetEditPredictionDefinitionResponse {
26 repeated EditPredictionDefinition definitions = 1;
27}
28
29message EditPredictionDefinition {
30 uint64 worktree_id = 1;
31 string path = 2;
32 PointUtf16 start = 3;
33 PointUtf16 end = 4;
34}
35
36message GetDeclaration {
37 uint64 project_id = 1;
38 uint64 buffer_id = 2;
39 Anchor position = 3;
40 repeated VectorClockEntry version = 4;
41}
42
43message GetDeclarationResponse {
44 repeated LocationLink links = 1;
45}
46
47message GetTypeDefinition {
48 uint64 project_id = 1;
49 uint64 buffer_id = 2;
50 Anchor position = 3;
51 repeated VectorClockEntry version = 4;
52 reserved 5;
53}
54
55message GetTypeDefinitionResponse {
56 repeated LocationLink links = 1;
57}
58
59message GetEditPredictionTypeDefinition {
60 uint64 project_id = 1;
61 uint64 buffer_id = 2;
62 Anchor position = 3;
63 repeated VectorClockEntry version = 4;
64}
65
66message GetEditPredictionTypeDefinitionResponse {
67 repeated EditPredictionDefinition definitions = 1;
68}
69
70message GetImplementation {
71 uint64 project_id = 1;
72 uint64 buffer_id = 2;
73 Anchor position = 3;
74 repeated VectorClockEntry version = 4;
75}
76
77message GetImplementationResponse {
78 repeated LocationLink links = 1;
79}
80
81message GetReferences {
82 uint64 project_id = 1;
83 uint64 buffer_id = 2;
84 Anchor position = 3;
85 repeated VectorClockEntry version = 4;
86}
87
88message GetReferencesResponse {
89 repeated Location locations = 1;
90}
91
92message GetDocumentHighlights {
93 uint64 project_id = 1;
94 uint64 buffer_id = 2;
95 Anchor position = 3;
96 repeated VectorClockEntry version = 4;
97}
98
99message GetDocumentHighlightsResponse {
100 repeated DocumentHighlight highlights = 1;
101}
102
103message LocationLink {
104 optional Location origin = 1;
105 Location target = 2;
106}
107
108message DocumentHighlight {
109 Kind kind = 1;
110 Anchor start = 2;
111 Anchor end = 3;
112
113 enum Kind {
114 Text = 0;
115 Read = 1;
116 Write = 2;
117 }
118}
119
120message GetProjectSymbols {
121 uint64 project_id = 1;
122 string query = 2;
123}
124
125message GetProjectSymbolsResponse {
126 repeated Symbol symbols = 4;
127}
128
129message Symbol {
130 uint64 source_worktree_id = 1;
131 uint64 worktree_id = 2;
132 string language_server_name = 3;
133 string name = 4;
134 int32 kind = 5;
135 string path = 6;
136 // Cannot use generate anchors for unopened files,
137 // so we are forced to use point coords instead
138 PointUtf16 start = 7;
139 PointUtf16 end = 8;
140 bytes signature = 9;
141 uint64 language_server_id = 10;
142 optional string container_name = 11;
143}
144
145message GetDocumentSymbols {
146 uint64 project_id = 1;
147 uint64 buffer_id = 2;
148 repeated VectorClockEntry version = 3;
149}
150
151message GetDocumentSymbolsResponse {
152 repeated DocumentSymbol symbols = 1;
153}
154
155message GetDocumentLinks {
156 uint64 project_id = 1;
157 uint64 buffer_id = 2;
158 repeated VectorClockEntry version = 3;
159}
160
161message GetDocumentLinksResponse {
162 repeated DocumentLinkProto links = 1;
163 repeated VectorClockEntry version = 2;
164}
165
166message DocumentLinkProto {
167 optional AnchorRange range = 1;
168 optional string target = 2;
169 optional string tooltip = 3;
170 optional string data = 4;
171}
172
173message ResolveDocumentLink {
174 uint64 project_id = 1;
175 uint64 buffer_id = 2;
176 uint64 language_server_id = 3;
177 bytes lsp_link = 4;
178}
179
180message ResolveDocumentLinkResponse {
181 bytes lsp_link = 1;
182}
183
184message DocumentSymbol {
185 string name = 1;
186 int32 kind = 2;
187 // Cannot use generate anchors for unopened files,
188 // so we are forced to use point coords instead
189 PointUtf16 start = 3;
190 PointUtf16 end = 4;
191 PointUtf16 selection_start = 5;
192 PointUtf16 selection_end = 6;
193 repeated DocumentSymbol children = 7;
194}
195
196message InlayHints {
197 uint64 project_id = 1;
198 uint64 buffer_id = 2;
199 Anchor start = 3;
200 Anchor end = 4;
201 repeated VectorClockEntry version = 5;
202}
203
204message InlayHintsResponse {
205 repeated InlayHint hints = 1;
206 repeated VectorClockEntry version = 2;
207}
208
209message SemanticTokens {
210 uint64 project_id = 1;
211 uint64 buffer_id = 2;
212 optional uint64 for_server = 3;
213 repeated VectorClockEntry version = 4;
214}
215
216message SemanticTokensResponse {
217 // Only `data` or `edits` may be set.
218 // `oneof` does not allow `repeated` fields.
219 repeated uint32 data = 1;
220 repeated SemanticTokensEdit edits = 2;
221 optional string result_id = 3;
222 repeated VectorClockEntry version = 4;
223}
224
225message SemanticTokensEdit {
226 uint32 start = 1;
227 uint32 delete_count = 2;
228 repeated uint32 data = 3;
229}
230
231message RefreshSemanticTokens {
232 uint64 project_id = 1;
233 uint64 server_id = 2;
234 optional uint64 request_id = 3;
235}
236
237message PointUtf16 {
238 uint32 row = 1;
239 uint32 column = 2;
240}
241
242message LspExtExpandMacro {
243 uint64 project_id = 1;
244 uint64 buffer_id = 2;
245 Anchor position = 3;
246}
247
248message LspExtExpandMacroResponse {
249 string name = 1;
250 string expansion = 2;
251}
252
253message LspExtOpenDocs {
254 uint64 project_id = 1;
255 uint64 buffer_id = 2;
256 Anchor position = 3;
257}
258
259message LspExtOpenDocsResponse {
260 optional string web = 1;
261 optional string local = 2;
262}
263
264message LspExtSwitchSourceHeader {
265 uint64 project_id = 1;
266 uint64 buffer_id = 2;
267}
268
269message LspExtSwitchSourceHeaderResponse {
270 string target_file = 1;
271}
272
273message LspExtGoToParentModule {
274 uint64 project_id = 1;
275 uint64 buffer_id = 2;
276 Anchor position = 3;
277}
278
279message LspExtGoToParentModuleResponse {
280 repeated LocationLink links = 1;
281}
282
283message GetCompletionsResponse {
284 repeated Completion completions = 1;
285 repeated VectorClockEntry version = 2;
286 // `!is_complete`, inverted for a default of `is_complete = true`
287 bool can_reuse = 3;
288}
289
290message ApplyCompletionAdditionalEdits {
291 uint64 project_id = 1;
292 uint64 buffer_id = 2;
293 Completion completion = 3;
294 repeated AnchorRange all_commit_ranges = 4;
295}
296
297message ApplyCompletionAdditionalEditsResponse {
298 Transaction transaction = 1;
299}
300
301message Completion {
302 Anchor old_replace_start = 1;
303 Anchor old_replace_end = 2;
304 string new_text = 3;
305 uint64 server_id = 4;
306 bytes lsp_completion = 5;
307 bool resolved = 6;
308 Source source = 7;
309 optional bytes lsp_defaults = 8;
310 optional Anchor buffer_word_start = 9;
311 optional Anchor buffer_word_end = 10;
312 Anchor old_insert_start = 11;
313 Anchor old_insert_end = 12;
314 optional string sort_text = 13;
315
316 enum Source {
317 Lsp = 0;
318 Custom = 1;
319 BufferWord = 2;
320 Dap = 3;
321 }
322}
323
324message GetCodeActions {
325 uint64 project_id = 1;
326 uint64 buffer_id = 2;
327 Anchor start = 3;
328 Anchor end = 4;
329 repeated VectorClockEntry version = 5;
330}
331
332message GetCodeActionsResponse {
333 repeated CodeAction actions = 1;
334 repeated VectorClockEntry version = 2;
335}
336
337message GetSignatureHelp {
338 uint64 project_id = 1;
339 uint64 buffer_id = 2;
340 Anchor position = 3;
341 repeated VectorClockEntry version = 4;
342}
343
344message GetSignatureHelpResponse {
345 optional SignatureHelp signature_help = 1;
346}
347
348message SignatureHelp {
349 repeated SignatureInformation signatures = 1;
350 optional uint32 active_signature = 2;
351 optional uint32 active_parameter = 3;
352}
353
354message SignatureInformation {
355 string label = 1;
356 optional Documentation documentation = 2;
357 repeated ParameterInformation parameters = 3;
358 optional uint32 active_parameter = 4;
359}
360
361message Documentation {
362 oneof content {
363 string value = 1;
364 MarkupContent markup_content = 2;
365 }
366}
367
368enum MarkupKind {
369 PlainText = 0;
370 Markdown = 1;
371}
372
373message ParameterInformation {
374 oneof label {
375 string simple = 1;
376 LabelOffsets label_offsets = 2;
377 }
378 optional Documentation documentation = 3;
379}
380
381message LabelOffsets {
382 uint32 start = 1;
383 uint32 end = 2;
384}
385
386message GetHover {
387 uint64 project_id = 1;
388 uint64 buffer_id = 2;
389 Anchor position = 3;
390 repeated VectorClockEntry version = 5;
391}
392
393message GetHoverResponse {
394 optional Anchor start = 1;
395 optional Anchor end = 2;
396 repeated HoverBlock contents = 3;
397}
398
399message HoverBlock {
400 string text = 1;
401 optional string language = 2;
402 bool is_markdown = 3;
403}
404
405message ApplyCodeAction {
406 uint64 project_id = 1;
407 uint64 buffer_id = 2;
408 CodeAction action = 3;
409}
410
411message ResolveCodeAction {
412 uint64 project_id = 1;
413 uint64 buffer_id = 2;
414 CodeAction action = 3;
415}
416
417message ResolveCodeActionResponse {
418 CodeAction action = 1;
419}
420
421message ApplyCodeActionResponse {
422 ProjectTransaction transaction = 1;
423}
424
425message PrepareRename {
426 uint64 project_id = 1;
427 uint64 buffer_id = 2;
428 Anchor position = 3;
429 repeated VectorClockEntry version = 4;
430}
431
432message PrepareRenameResponse {
433 bool can_rename = 1;
434 Anchor start = 2;
435 Anchor end = 3;
436 repeated VectorClockEntry version = 4;
437 bool only_unprepared_rename_supported = 5;
438}
439
440message PerformRename {
441 uint64 project_id = 1;
442 uint64 buffer_id = 2;
443 Anchor position = 3;
444 string new_name = 4;
445 repeated VectorClockEntry version = 5;
446}
447
448message OnTypeFormatting {
449 uint64 project_id = 1;
450 uint64 buffer_id = 2;
451 Anchor position = 3;
452 string trigger = 4;
453 repeated VectorClockEntry version = 5;
454}
455
456message OnTypeFormattingResponse {
457 Transaction transaction = 1;
458}
459
460message LinkedEditingRange {
461 uint64 project_id = 1;
462 uint64 buffer_id = 2;
463 Anchor position = 3;
464 repeated VectorClockEntry version = 4;
465}
466
467message LinkedEditingRangeResponse {
468 repeated AnchorRange items = 1;
469 repeated VectorClockEntry version = 4;
470}
471
472message InlayHint {
473 Anchor position = 1;
474 InlayHintLabel label = 2;
475 optional string kind = 3;
476 bool padding_left = 4;
477 bool padding_right = 5;
478 InlayHintTooltip tooltip = 6;
479 ResolveState resolve_state = 7;
480}
481
482message InlayHintLabel {
483 oneof label {
484 string value = 1;
485 InlayHintLabelParts label_parts = 2;
486 }
487}
488
489message InlayHintLabelParts {
490 repeated InlayHintLabelPart parts = 1;
491}
492
493message InlayHintLabelPart {
494 string value = 1;
495 InlayHintLabelPartTooltip tooltip = 2;
496 optional string location_url = 3;
497 PointUtf16 location_range_start = 4;
498 PointUtf16 location_range_end = 5;
499 optional uint64 language_server_id = 6;
500}
501
502message InlayHintTooltip {
503 oneof content {
504 string value = 1;
505 MarkupContent markup_content = 2;
506 }
507}
508
509message InlayHintLabelPartTooltip {
510 oneof content {
511 string value = 1;
512 MarkupContent markup_content = 2;
513 }
514}
515
516message ResolveState {
517 State state = 1;
518 LspResolveState lsp_resolve_state = 2;
519
520 enum State {
521 Resolved = 0;
522 CanResolve = 1;
523 Resolving = 2;
524 }
525
526 message LspResolveState {
527 optional string value = 1;
528 uint64 server_id = 2;
529 }
530}
531
532// This type is used to resolve more than just
533// the documentation, but for backwards-compatibility
534// reasons we can't rename the type.
535message ResolveCompletionDocumentation {
536 uint64 project_id = 1;
537 uint64 language_server_id = 2;
538 bytes lsp_completion = 3;
539 uint64 buffer_id = 4;
540}
541
542message ResolveCompletionDocumentationResponse {
543 string documentation = 1;
544 bool documentation_is_markdown = 2;
545 Anchor old_replace_start = 3;
546 Anchor old_replace_end = 4;
547 string new_text = 5;
548 bytes lsp_completion = 6;
549 Anchor old_insert_start = 7;
550 Anchor old_insert_end = 8;
551}
552
553message ResolveInlayHint {
554 uint64 project_id = 1;
555 uint64 buffer_id = 2;
556 uint64 language_server_id = 3;
557 InlayHint hint = 4;
558}
559
560message ResolveInlayHintResponse {
561 InlayHint hint = 1;
562}
563
564message RefreshInlayHints {
565 uint64 project_id = 1;
566 uint64 server_id = 2;
567 optional uint64 request_id = 3;
568}
569
570message CodeLens {
571 bytes lsp_lens = 1;
572}
573
574message GetCodeLens {
575 uint64 project_id = 1;
576 uint64 buffer_id = 2;
577 repeated VectorClockEntry version = 3;
578}
579
580message GetCodeLensResponse {
581 repeated CodeAction lens_actions = 1;
582 repeated VectorClockEntry version = 2;
583}
584
585message RefreshCodeLens {
586 uint64 project_id = 1;
587 optional uint64 server_id = 2;
588}
589
590message RefreshDocumentColors {
591 uint64 project_id = 1;
592 optional uint64 server_id = 2;
593}
594
595message RefreshDocumentLinks {
596 uint64 project_id = 1;
597 optional uint64 server_id = 2;
598}
599
600message RefreshFoldingRanges {
601 uint64 project_id = 1;
602 optional uint64 server_id = 2;
603}
604
605message RefreshDocumentSymbols {
606 uint64 project_id = 1;
607 optional uint64 server_id = 2;
608}
609
610message MarkupContent {
611 bool is_markdown = 1;
612 string value = 2;
613}
614
615message PerformRenameResponse {
616 ProjectTransaction transaction = 2;
617}
618
619message CodeAction {
620 uint64 server_id = 1;
621 Anchor start = 2;
622 Anchor end = 3;
623 bytes lsp_action = 4;
624 Kind kind = 5;
625 bool resolved = 6;
626 enum Kind {
627 Action = 0;
628 Command = 1;
629 CodeLens = 2;
630 }
631}
632
633message LanguageServer {
634 uint64 id = 1;
635 string name = 2;
636 optional uint64 worktree_id = 3;
637 optional string language_name = 4;
638}
639
640message StartLanguageServer {
641 uint64 project_id = 1;
642 LanguageServer server = 2;
643 string capabilities = 3;
644}
645
646message UpdateDiagnosticSummary {
647 uint64 project_id = 1;
648 uint64 worktree_id = 2;
649 DiagnosticSummary summary = 3;
650 repeated DiagnosticSummary more_summaries = 4;
651}
652
653message DiagnosticSummary {
654 string path = 1;
655 uint64 language_server_id = 2;
656 uint32 error_count = 3;
657 uint32 warning_count = 4;
658}
659
660message UpdateLanguageServer {
661 uint64 project_id = 1;
662 uint64 language_server_id = 2;
663 optional string server_name = 8;
664 oneof variant {
665 LspWorkStart work_start = 3;
666 LspWorkProgress work_progress = 4;
667 LspWorkEnd work_end = 5;
668 LspDiskBasedDiagnosticsUpdating disk_based_diagnostics_updating = 6;
669 LspDiskBasedDiagnosticsUpdated disk_based_diagnostics_updated = 7;
670 StatusUpdate status_update = 9;
671 RegisteredForBuffer registered_for_buffer = 10;
672 ServerMetadataUpdated metadata_updated = 11;
673 ServerRemoved removed = 12;
674 }
675}
676
677message ProgressToken {
678 oneof value {
679 int32 number = 1;
680 string string = 2;
681 }
682}
683
684message LspWorkStart {
685 reserved 1;
686 optional string title = 4;
687 optional string message = 2;
688 optional uint32 percentage = 3;
689 optional bool is_cancellable = 5;
690 ProgressToken token = 6;
691}
692
693message LspWorkProgress {
694 reserved 1;
695 optional string message = 2;
696 optional uint32 percentage = 3;
697 optional bool is_cancellable = 4;
698 ProgressToken token = 5;
699}
700
701message LspWorkEnd {
702 reserved 1;
703 ProgressToken token = 2;
704}
705
706message LspDiskBasedDiagnosticsUpdating {}
707
708message LspDiskBasedDiagnosticsUpdated {}
709
710message ServerRemoved {}
711
712message StatusUpdate {
713 optional string message = 1;
714 oneof status {
715 ServerBinaryStatus binary = 2;
716 ServerHealth health = 3;
717 }
718}
719
720enum ServerHealth {
721 OK = 0;
722 WARNING = 1;
723 ERROR = 2;
724}
725
726enum ServerBinaryStatus {
727 NONE = 0;
728 CHECKING_FOR_UPDATE = 1;
729 DOWNLOADING = 2;
730 STARTING = 3;
731 STOPPING = 4;
732 STOPPED = 5;
733 FAILED = 6;
734}
735
736message RegisteredForBuffer {
737 string buffer_abs_path = 1;
738 uint64 buffer_id = 2;
739}
740
741message LanguageServerBinaryInfo {
742 string path = 1;
743 repeated string arguments = 2;
744}
745
746message ServerMetadataUpdated {
747 optional string capabilities = 1;
748 optional LanguageServerBinaryInfo binary = 2;
749 optional string configuration = 3;
750 repeated string workspace_folders = 4;
751}
752
753message LanguageServerLog {
754 uint64 project_id = 1;
755 uint64 language_server_id = 2;
756 string message = 3;
757 oneof log_type {
758 LogMessage log = 4;
759 TraceMessage trace = 5;
760 RpcMessage rpc = 6;
761 }
762}
763
764message LogMessage {
765 LogLevel level = 1;
766
767 enum LogLevel {
768 LOG = 0;
769 INFO = 1;
770 WARNING = 2;
771 ERROR = 3;
772 }
773}
774
775message TraceMessage {
776 optional string verbose_info = 1;
777}
778
779message RpcMessage {
780 Kind kind = 1;
781 optional uint64 elapsed_nanos = 2;
782
783 enum Kind {
784 RECEIVED = 0;
785 SENT = 1;
786 }
787}
788
789message LspLogTrace {
790 optional string message = 1;
791}
792
793message ApplyCodeActionKind {
794 uint64 project_id = 1;
795 string kind = 2;
796 repeated uint64 buffer_ids = 3;
797}
798
799message ApplyCodeActionKindResponse {
800 ProjectTransaction transaction = 1;
801}
802
803message RegisterBufferWithLanguageServers {
804 uint64 project_id = 1;
805 uint64 buffer_id = 2;
806 repeated LanguageServerSelector only_servers = 3;
807}
808
809enum FormatTrigger {
810 Save = 0;
811 Manual = 1;
812}
813
814message OpenBufferForSymbol {
815 uint64 project_id = 1;
816 Symbol symbol = 2;
817}
818
819message OpenBufferForSymbolResponse {
820 uint64 buffer_id = 1;
821}
822
823message BufferFormatRanges {
824 uint64 buffer_id = 1;
825 repeated AnchorRange ranges = 2;
826}
827
828message FormatBuffers {
829 uint64 project_id = 1;
830 FormatTrigger trigger = 2;
831 repeated uint64 buffer_ids = 3;
832 repeated BufferFormatRanges buffer_ranges = 4;
833}
834
835message FormatBuffersResponse {
836 ProjectTransaction transaction = 1;
837}
838
839message GetCompletions {
840 uint64 project_id = 1;
841 uint64 buffer_id = 2;
842 Anchor position = 3;
843 repeated VectorClockEntry version = 4;
844 optional uint64 server_id = 5;
845}
846
847message CancelLanguageServerWork {
848 uint64 project_id = 1;
849
850 oneof work {
851 Buffers buffers = 2;
852 LanguageServerWork language_server_work = 3;
853 }
854
855 message Buffers {
856 repeated uint64 buffer_ids = 2;
857 }
858
859 message LanguageServerWork {
860 uint64 language_server_id = 1;
861 reserved 2;
862 optional ProgressToken token = 3;
863 }
864}
865
866message LanguageServerPromptRequest {
867 uint64 project_id = 1;
868
869 oneof level {
870 Info info = 2;
871 Warning warning = 3;
872 Critical critical = 4;
873 }
874
875 message Info {}
876 message Warning {}
877 message Critical {}
878
879 string message = 5;
880 repeated string actions = 6;
881 string lsp_name = 7;
882}
883
884message LanguageServerPromptResponse {
885 optional uint64 action_response = 1;
886}
887
888message GetDocumentColor {
889 uint64 project_id = 1;
890 uint64 buffer_id = 2;
891 repeated VectorClockEntry version = 3;
892}
893
894message GetDocumentColorResponse {
895 repeated ColorInformation colors = 1;
896 repeated VectorClockEntry version = 2;
897}
898
899message ColorInformation {
900 PointUtf16 lsp_range_start = 1;
901 PointUtf16 lsp_range_end = 2;
902 float red = 3;
903 float green = 4;
904 float blue = 5;
905 float alpha = 6;
906}
907
908message GetColorPresentation {
909 uint64 project_id = 1;
910 uint64 buffer_id = 2;
911 ColorInformation color = 3;
912 uint64 server_id = 4;
913}
914
915message GetColorPresentationResponse {
916 repeated ColorPresentation presentations = 1;
917}
918
919message ColorPresentation {
920 string label = 1;
921 optional TextEdit text_edit = 2;
922 repeated TextEdit additional_text_edits = 3;
923}
924
925message TextEdit {
926 string new_text = 1;
927 PointUtf16 lsp_range_start = 2;
928 PointUtf16 lsp_range_end = 3;
929}
930
931message LspQuery {
932 uint64 project_id = 1;
933 uint64 lsp_request_id = 2;
934 optional uint64 server_id = 15;
935 oneof request {
936 GetReferences get_references = 3;
937 GetDocumentColor get_document_color = 4;
938 GetHover get_hover = 5;
939 GetCodeActions get_code_actions = 6;
940 GetSignatureHelp get_signature_help = 7;
941 GetCodeLens get_code_lens = 8;
942 GetDocumentDiagnostics get_document_diagnostics = 9;
943 GetDefinition get_definition = 10;
944 GetDeclaration get_declaration = 11;
945 GetTypeDefinition get_type_definition = 12;
946 GetImplementation get_implementation = 13;
947 InlayHints inlay_hints = 14;
948 SemanticTokens semantic_tokens = 16;
949 GetFoldingRanges get_folding_ranges = 17;
950 GetDocumentSymbols get_document_symbols = 18;
951 GetDocumentLinks get_document_links = 19;
952 GetEditPredictionDefinition get_edit_prediction_definition = 20;
953 GetEditPredictionTypeDefinition get_edit_prediction_type_definition = 21;
954 }
955}
956
957message LspQueryResponse {
958 uint64 project_id = 1;
959 uint64 lsp_request_id = 2;
960 repeated LspResponse responses = 3;
961}
962
963message LspResponse {
964 oneof response {
965 GetHoverResponse get_hover_response = 1;
966 GetCodeActionsResponse get_code_actions_response = 2;
967 GetSignatureHelpResponse get_signature_help_response = 3;
968 GetCodeLensResponse get_code_lens_response = 4;
969 GetDocumentDiagnosticsResponse get_document_diagnostics_response = 5;
970 GetDocumentColorResponse get_document_color_response = 6;
971 GetDefinitionResponse get_definition_response = 8;
972 GetDeclarationResponse get_declaration_response = 9;
973 GetTypeDefinitionResponse get_type_definition_response = 10;
974 GetImplementationResponse get_implementation_response = 11;
975 GetReferencesResponse get_references_response = 12;
976 InlayHintsResponse inlay_hints_response = 13;
977 SemanticTokensResponse semantic_tokens_response = 14;
978 GetFoldingRangesResponse get_folding_ranges_response = 15;
979 GetDocumentSymbolsResponse get_document_symbols_response = 16;
980 GetDocumentLinksResponse get_document_links_response = 17;
981 GetEditPredictionDefinitionResponse get_edit_prediction_definition_response = 18;
982 GetEditPredictionTypeDefinitionResponse get_edit_prediction_type_definition_response = 19;
983 }
984 uint64 server_id = 7;
985}
986
987message AllLanguageServers {}
988
989message LanguageServerSelector {
990 oneof selector {
991 uint64 server_id = 1;
992 string name = 2;
993 }
994}
995
996message RestartLanguageServers {
997 uint64 project_id = 1;
998 repeated uint64 buffer_ids = 2;
999 repeated LanguageServerSelector only_servers = 3;
1000 bool all = 4;
1001}
1002
1003message StopLanguageServers {
1004 uint64 project_id = 1;
1005 repeated uint64 buffer_ids = 2;
1006 repeated LanguageServerSelector also_servers = 3;
1007 bool all = 4;
1008}
1009
1010message LspExtRunnables {
1011 uint64 project_id = 1;
1012 uint64 buffer_id = 2;
1013 optional Anchor position = 3;
1014}
1015
1016message LspExtRunnablesResponse {
1017 repeated LspRunnable runnables = 1;
1018}
1019
1020message LspRunnable {
1021 bytes task_template = 1;
1022 optional LocationLink location = 2;
1023}
1024
1025message LspExtCancelFlycheck {
1026 uint64 project_id = 1;
1027 uint64 language_server_id = 2;
1028}
1029
1030message LspExtRunFlycheck {
1031 uint64 project_id = 1;
1032 optional uint64 buffer_id = 2;
1033 uint64 language_server_id = 3;
1034 bool current_file_only = 4;
1035}
1036
1037message LspExtClearFlycheck {
1038 uint64 project_id = 1;
1039 uint64 language_server_id = 2;
1040}
1041
1042message LspDiagnosticRelatedInformation {
1043 optional string location_url = 1;
1044 PointUtf16 location_range_start = 2;
1045 PointUtf16 location_range_end = 3;
1046 string message = 4;
1047}
1048
1049enum LspDiagnosticTag {
1050 None = 0;
1051 Unnecessary = 1;
1052 Deprecated = 2;
1053}
1054
1055message LspDiagnostic {
1056 PointUtf16 start = 1;
1057 PointUtf16 end = 2;
1058 Severity severity = 3;
1059 optional string code = 4;
1060 optional string code_description = 5;
1061 optional string source = 6;
1062 string message = 7;
1063 repeated LspDiagnosticRelatedInformation related_information = 8;
1064 repeated LspDiagnosticTag tags = 9;
1065 optional string data = 10;
1066
1067 enum Severity {
1068 None = 0;
1069 Error = 1;
1070 Warning = 2;
1071 Information = 3;
1072 Hint = 4;
1073 }
1074}
1075
1076message GetDocumentDiagnostics {
1077 uint64 project_id = 1;
1078 uint64 buffer_id = 2;
1079 repeated VectorClockEntry version = 3;
1080}
1081
1082message GetDocumentDiagnosticsResponse {
1083 repeated PulledDiagnostics pulled_diagnostics = 1;
1084}
1085
1086message PulledDiagnostics {
1087 uint64 server_id = 1;
1088 string uri = 2;
1089 optional string result_id = 3;
1090 bool changed = 4;
1091 repeated LspDiagnostic diagnostics = 5;
1092 optional string registration_id = 6;
1093}
1094
1095message PullWorkspaceDiagnostics {
1096 uint64 project_id = 1;
1097 uint64 server_id = 2;
1098}
1099
1100message ToggleLspLogs {
1101 uint64 project_id = 1;
1102 LogType log_type = 2;
1103 uint64 server_id = 3;
1104 bool enabled = 4;
1105
1106 enum LogType {
1107 LOG = 0;
1108 TRACE = 1;
1109 RPC = 2;
1110 }
1111}
1112
1113message GetFoldingRanges {
1114 uint64 project_id = 1;
1115 uint64 buffer_id = 2;
1116 repeated VectorClockEntry version = 3;
1117}
1118
1119message GetFoldingRangesResponse {
1120 repeated AnchorRange ranges = 1;
1121 repeated VectorClockEntry version = 2;
1122 repeated string collapsed_texts = 3;
1123}
1124