
Same as `editor::RestartLanguageServer`, now there's an `editor::StopLanguageServer` action that stops all language servers, related to the currently opened editor. Opening another singleton editor with the same language or changing selections in a multi buffer will bring the servers back up. Release Notes: - Added a way to temporarily stop LSP servers --------- Co-authored-by: Michael Sloan <mgsloan@gmail.com>
3615 lines
79 KiB
Protocol Buffer
3615 lines
79 KiB
Protocol Buffer
syntax = "proto3";
|
|
package zed.messages;
|
|
|
|
// Looking for a number? Search "// current max"
|
|
|
|
message PeerId {
|
|
uint32 owner_id = 1;
|
|
uint32 id = 2;
|
|
}
|
|
|
|
message Envelope {
|
|
uint32 id = 1;
|
|
optional uint32 responding_to = 2;
|
|
optional PeerId original_sender_id = 3;
|
|
optional uint32 ack_id = 266;
|
|
|
|
oneof payload {
|
|
Hello hello = 4;
|
|
Ack ack = 5;
|
|
Error error = 6;
|
|
Ping ping = 7;
|
|
Test test = 8;
|
|
EndStream end_stream = 165;
|
|
|
|
CreateRoom create_room = 9;
|
|
CreateRoomResponse create_room_response = 10;
|
|
JoinRoom join_room = 11;
|
|
JoinRoomResponse join_room_response = 12;
|
|
RejoinRoom rejoin_room = 13;
|
|
RejoinRoomResponse rejoin_room_response = 14;
|
|
LeaveRoom leave_room = 15;
|
|
Call call = 16;
|
|
IncomingCall incoming_call = 17;
|
|
CallCanceled call_canceled = 18;
|
|
CancelCall cancel_call = 19;
|
|
DeclineCall decline_call = 20;
|
|
UpdateParticipantLocation update_participant_location = 21;
|
|
RoomUpdated room_updated = 22;
|
|
|
|
ShareProject share_project = 23;
|
|
ShareProjectResponse share_project_response = 24;
|
|
UnshareProject unshare_project = 25;
|
|
JoinProject join_project = 26;
|
|
JoinProjectResponse join_project_response = 27;
|
|
LeaveProject leave_project = 28;
|
|
AddProjectCollaborator add_project_collaborator = 29;
|
|
UpdateProjectCollaborator update_project_collaborator = 30;
|
|
RemoveProjectCollaborator remove_project_collaborator = 31;
|
|
|
|
GetDefinition get_definition = 32;
|
|
GetDefinitionResponse get_definition_response = 33;
|
|
GetDeclaration get_declaration = 237;
|
|
GetDeclarationResponse get_declaration_response = 238;
|
|
GetTypeDefinition get_type_definition = 34;
|
|
GetTypeDefinitionResponse get_type_definition_response = 35;
|
|
|
|
GetReferences get_references = 36;
|
|
GetReferencesResponse get_references_response = 37;
|
|
GetDocumentHighlights get_document_highlights = 38;
|
|
GetDocumentHighlightsResponse get_document_highlights_response = 39;
|
|
GetProjectSymbols get_project_symbols = 40;
|
|
GetProjectSymbolsResponse get_project_symbols_response = 41;
|
|
OpenBufferForSymbol open_buffer_for_symbol = 42;
|
|
OpenBufferForSymbolResponse open_buffer_for_symbol_response = 43;
|
|
|
|
UpdateProject update_project = 44;
|
|
UpdateWorktree update_worktree = 45;
|
|
|
|
CreateProjectEntry create_project_entry = 46;
|
|
RenameProjectEntry rename_project_entry = 47;
|
|
CopyProjectEntry copy_project_entry = 48;
|
|
DeleteProjectEntry delete_project_entry = 49;
|
|
ProjectEntryResponse project_entry_response = 50;
|
|
ExpandProjectEntry expand_project_entry = 51;
|
|
ExpandProjectEntryResponse expand_project_entry_response = 52;
|
|
ExpandAllForProjectEntry expand_all_for_project_entry = 291;
|
|
ExpandAllForProjectEntryResponse expand_all_for_project_entry_response = 292;
|
|
UpdateDiagnosticSummary update_diagnostic_summary = 53;
|
|
StartLanguageServer start_language_server = 54;
|
|
UpdateLanguageServer update_language_server = 55;
|
|
|
|
OpenBufferById open_buffer_by_id = 56;
|
|
OpenBufferByPath open_buffer_by_path = 57;
|
|
OpenBufferResponse open_buffer_response = 58;
|
|
CreateBufferForPeer create_buffer_for_peer = 59;
|
|
UpdateBuffer update_buffer = 60;
|
|
UpdateBufferFile update_buffer_file = 61;
|
|
SaveBuffer save_buffer = 62;
|
|
BufferSaved buffer_saved = 63;
|
|
BufferReloaded buffer_reloaded = 64;
|
|
ReloadBuffers reload_buffers = 65;
|
|
ReloadBuffersResponse reload_buffers_response = 66;
|
|
SynchronizeBuffers synchronize_buffers = 67;
|
|
SynchronizeBuffersResponse synchronize_buffers_response = 68;
|
|
FormatBuffers format_buffers = 69;
|
|
FormatBuffersResponse format_buffers_response = 70;
|
|
GetCompletions get_completions = 71;
|
|
GetCompletionsResponse get_completions_response = 72;
|
|
ResolveCompletionDocumentation resolve_completion_documentation = 73;
|
|
ResolveCompletionDocumentationResponse resolve_completion_documentation_response = 74;
|
|
ApplyCompletionAdditionalEdits apply_completion_additional_edits = 75;
|
|
ApplyCompletionAdditionalEditsResponse apply_completion_additional_edits_response = 76;
|
|
GetCodeActions get_code_actions = 77;
|
|
GetCodeActionsResponse get_code_actions_response = 78;
|
|
GetHover get_hover = 79;
|
|
GetHoverResponse get_hover_response = 80;
|
|
ApplyCodeAction apply_code_action = 81;
|
|
ApplyCodeActionResponse apply_code_action_response = 82;
|
|
PrepareRename prepare_rename = 83;
|
|
PrepareRenameResponse prepare_rename_response = 84;
|
|
PerformRename perform_rename = 85;
|
|
PerformRenameResponse perform_rename_response = 86;
|
|
|
|
UpdateContacts update_contacts = 89;
|
|
UpdateInviteInfo update_invite_info = 90;
|
|
ShowContacts show_contacts = 91;
|
|
|
|
GetUsers get_users = 92;
|
|
FuzzySearchUsers fuzzy_search_users = 93;
|
|
UsersResponse users_response = 94;
|
|
RequestContact request_contact = 95;
|
|
RespondToContactRequest respond_to_contact_request = 96;
|
|
RemoveContact remove_contact = 97;
|
|
|
|
Follow follow = 98;
|
|
FollowResponse follow_response = 99;
|
|
UpdateFollowers update_followers = 100;
|
|
Unfollow unfollow = 101;
|
|
GetPrivateUserInfo get_private_user_info = 102;
|
|
GetPrivateUserInfoResponse get_private_user_info_response = 103;
|
|
UpdateUserPlan update_user_plan = 234;
|
|
UpdateDiffBases update_diff_bases = 104;
|
|
AcceptTermsOfService accept_terms_of_service = 239;
|
|
AcceptTermsOfServiceResponse accept_terms_of_service_response = 240;
|
|
|
|
OnTypeFormatting on_type_formatting = 105;
|
|
OnTypeFormattingResponse on_type_formatting_response = 106;
|
|
|
|
UpdateWorktreeSettings update_worktree_settings = 107;
|
|
|
|
InlayHints inlay_hints = 108;
|
|
InlayHintsResponse inlay_hints_response = 109;
|
|
ResolveInlayHint resolve_inlay_hint = 110;
|
|
ResolveInlayHintResponse resolve_inlay_hint_response = 111;
|
|
RefreshInlayHints refresh_inlay_hints = 112;
|
|
|
|
CreateChannel create_channel = 113;
|
|
CreateChannelResponse create_channel_response = 114;
|
|
InviteChannelMember invite_channel_member = 115;
|
|
RemoveChannelMember remove_channel_member = 116;
|
|
RespondToChannelInvite respond_to_channel_invite = 117;
|
|
UpdateChannels update_channels = 118;
|
|
JoinChannel join_channel = 119;
|
|
DeleteChannel delete_channel = 120;
|
|
GetChannelMembers get_channel_members = 121;
|
|
GetChannelMembersResponse get_channel_members_response = 122;
|
|
SetChannelMemberRole set_channel_member_role = 123;
|
|
RenameChannel rename_channel = 124;
|
|
RenameChannelResponse rename_channel_response = 125;
|
|
SubscribeToChannels subscribe_to_channels = 207;
|
|
|
|
JoinChannelBuffer join_channel_buffer = 126;
|
|
JoinChannelBufferResponse join_channel_buffer_response = 127;
|
|
UpdateChannelBuffer update_channel_buffer = 128;
|
|
LeaveChannelBuffer leave_channel_buffer = 129;
|
|
UpdateChannelBufferCollaborators update_channel_buffer_collaborators = 130;
|
|
RejoinChannelBuffers rejoin_channel_buffers = 131;
|
|
RejoinChannelBuffersResponse rejoin_channel_buffers_response = 132;
|
|
AckBufferOperation ack_buffer_operation = 133;
|
|
|
|
JoinChannelChat join_channel_chat = 134;
|
|
JoinChannelChatResponse join_channel_chat_response = 135;
|
|
LeaveChannelChat leave_channel_chat = 136;
|
|
SendChannelMessage send_channel_message = 137;
|
|
SendChannelMessageResponse send_channel_message_response = 138;
|
|
ChannelMessageSent channel_message_sent = 139;
|
|
GetChannelMessages get_channel_messages = 140;
|
|
GetChannelMessagesResponse get_channel_messages_response = 141;
|
|
RemoveChannelMessage remove_channel_message = 142;
|
|
AckChannelMessage ack_channel_message = 143;
|
|
GetChannelMessagesById get_channel_messages_by_id = 144;
|
|
|
|
MoveChannel move_channel = 147;
|
|
SetChannelVisibility set_channel_visibility = 148;
|
|
|
|
AddNotification add_notification = 149;
|
|
GetNotifications get_notifications = 150;
|
|
GetNotificationsResponse get_notifications_response = 151;
|
|
DeleteNotification delete_notification = 152;
|
|
MarkNotificationRead mark_notification_read = 153;
|
|
LspExtExpandMacro lsp_ext_expand_macro = 154;
|
|
LspExtExpandMacroResponse lsp_ext_expand_macro_response = 155;
|
|
SetRoomParticipantRole set_room_participant_role = 156;
|
|
|
|
UpdateUserChannels update_user_channels = 157;
|
|
|
|
GetImplementation get_implementation = 162;
|
|
GetImplementationResponse get_implementation_response = 163;
|
|
|
|
CountLanguageModelTokens count_language_model_tokens = 230;
|
|
CountLanguageModelTokensResponse count_language_model_tokens_response = 231;
|
|
GetCachedEmbeddings get_cached_embeddings = 189;
|
|
GetCachedEmbeddingsResponse get_cached_embeddings_response = 190;
|
|
ComputeEmbeddings compute_embeddings = 191;
|
|
ComputeEmbeddingsResponse compute_embeddings_response = 192;
|
|
|
|
UpdateChannelMessage update_channel_message = 170;
|
|
ChannelMessageUpdate channel_message_update = 171;
|
|
|
|
BlameBuffer blame_buffer = 172;
|
|
BlameBufferResponse blame_buffer_response = 173;
|
|
|
|
UpdateNotification update_notification = 174;
|
|
|
|
MultiLspQuery multi_lsp_query = 175;
|
|
MultiLspQueryResponse multi_lsp_query_response = 176;
|
|
RestartLanguageServers restart_language_servers = 208;
|
|
|
|
RejoinRemoteProjects rejoin_remote_projects = 186;
|
|
RejoinRemoteProjectsResponse rejoin_remote_projects_response = 187;
|
|
|
|
OpenNewBuffer open_new_buffer = 196;
|
|
|
|
GetSupermavenApiKey get_supermaven_api_key = 198;
|
|
GetSupermavenApiKeyResponse get_supermaven_api_key_response = 199;
|
|
|
|
TaskContextForLocation task_context_for_location = 203;
|
|
TaskContext task_context = 204;
|
|
|
|
LinkedEditingRange linked_editing_range = 209;
|
|
LinkedEditingRangeResponse linked_editing_range_response = 210;
|
|
|
|
AdvertiseContexts advertise_contexts = 211;
|
|
OpenContext open_context = 212;
|
|
OpenContextResponse open_context_response = 213;
|
|
CreateContext create_context = 232;
|
|
CreateContextResponse create_context_response = 233;
|
|
UpdateContext update_context = 214;
|
|
SynchronizeContexts synchronize_contexts = 215;
|
|
SynchronizeContextsResponse synchronize_contexts_response = 216;
|
|
|
|
GetSignatureHelp get_signature_help = 217;
|
|
GetSignatureHelpResponse get_signature_help_response = 218;
|
|
|
|
ListRemoteDirectory list_remote_directory = 219;
|
|
ListRemoteDirectoryResponse list_remote_directory_response = 220;
|
|
AddWorktree add_worktree = 222;
|
|
AddWorktreeResponse add_worktree_response = 223;
|
|
|
|
GetLlmToken get_llm_token = 235;
|
|
GetLlmTokenResponse get_llm_token_response = 236;
|
|
RefreshLlmToken refresh_llm_token = 259;
|
|
|
|
LspExtSwitchSourceHeader lsp_ext_switch_source_header = 241;
|
|
LspExtSwitchSourceHeaderResponse lsp_ext_switch_source_header_response = 242;
|
|
|
|
FindSearchCandidates find_search_candidates = 243;
|
|
FindSearchCandidatesResponse find_search_candidates_response = 244;
|
|
|
|
CloseBuffer close_buffer = 245;
|
|
|
|
ShutdownRemoteServer shutdown_remote_server = 257;
|
|
|
|
RemoveWorktree remove_worktree = 258;
|
|
|
|
LanguageServerLog language_server_log = 260;
|
|
|
|
Toast toast = 261;
|
|
HideToast hide_toast = 262;
|
|
|
|
OpenServerSettings open_server_settings = 263;
|
|
|
|
GetPermalinkToLine get_permalink_to_line = 264;
|
|
GetPermalinkToLineResponse get_permalink_to_line_response = 265;
|
|
|
|
FlushBufferedMessages flush_buffered_messages = 267;
|
|
|
|
LanguageServerPromptRequest language_server_prompt_request = 268;
|
|
LanguageServerPromptResponse language_server_prompt_response = 269;
|
|
|
|
GitBranchesResponse git_branches_response = 271;
|
|
|
|
UpdateGitBranch update_git_branch = 272;
|
|
|
|
ListToolchains list_toolchains = 273;
|
|
ListToolchainsResponse list_toolchains_response = 274;
|
|
ActivateToolchain activate_toolchain = 275;
|
|
ActiveToolchain active_toolchain = 276;
|
|
ActiveToolchainResponse active_toolchain_response = 277;
|
|
|
|
GetPathMetadata get_path_metadata = 278;
|
|
GetPathMetadataResponse get_path_metadata_response = 279;
|
|
|
|
GetPanicFiles get_panic_files = 280;
|
|
GetPanicFilesResponse get_panic_files_response = 281;
|
|
|
|
CancelLanguageServerWork cancel_language_server_work = 282;
|
|
|
|
LspExtOpenDocs lsp_ext_open_docs = 283;
|
|
LspExtOpenDocsResponse lsp_ext_open_docs_response = 284;
|
|
|
|
SyncExtensions sync_extensions = 285;
|
|
SyncExtensionsResponse sync_extensions_response = 286;
|
|
InstallExtension install_extension = 287;
|
|
|
|
OpenUnstagedDiff open_unstaged_diff = 288;
|
|
OpenUnstagedDiffResponse open_unstaged_diff_response = 289;
|
|
|
|
RegisterBufferWithLanguageServers register_buffer_with_language_servers = 290;
|
|
|
|
Stage stage = 293;
|
|
Unstage unstage = 294;
|
|
Commit commit = 295;
|
|
OpenCommitMessageBuffer open_commit_message_buffer = 296;
|
|
|
|
OpenUncommittedDiff open_uncommitted_diff = 297;
|
|
OpenUncommittedDiffResponse open_uncommitted_diff_response = 298;
|
|
|
|
SetIndexText set_index_text = 299;
|
|
|
|
GitShow git_show = 300;
|
|
GitReset git_reset = 301;
|
|
GitCommitDetails git_commit_details = 302;
|
|
GitCheckoutFiles git_checkout_files = 303;
|
|
|
|
|
|
Push push = 304;
|
|
Fetch fetch = 305;
|
|
GetRemotes get_remotes = 306;
|
|
GetRemotesResponse get_remotes_response = 307;
|
|
Pull pull = 308;
|
|
|
|
ApplyCodeActionKind apply_code_action_kind = 309;
|
|
ApplyCodeActionKindResponse apply_code_action_kind_response = 310;
|
|
|
|
RemoteMessageResponse remote_message_response = 311;
|
|
|
|
GitGetBranches git_get_branches = 312;
|
|
GitCreateBranch git_create_branch = 313;
|
|
GitChangeBranch git_change_branch = 314;
|
|
|
|
CheckForPushedCommits check_for_pushed_commits = 315;
|
|
CheckForPushedCommitsResponse check_for_pushed_commits_response = 316;
|
|
|
|
AskPassRequest ask_pass_request = 317;
|
|
AskPassResponse ask_pass_response = 318;
|
|
|
|
GitDiff git_diff = 319;
|
|
GitDiffResponse git_diff_response = 320;
|
|
GitInit git_init = 321;
|
|
|
|
CodeLens code_lens = 322;
|
|
GetCodeLens get_code_lens = 323;
|
|
GetCodeLensResponse get_code_lens_response = 324;
|
|
RefreshCodeLens refresh_code_lens = 325;
|
|
|
|
ToggleBreakpoint toggle_breakpoint = 326;
|
|
BreakpointsForFile breakpoints_for_file = 327;
|
|
|
|
UpdateRepository update_repository = 328;
|
|
RemoveRepository remove_repository = 329;
|
|
|
|
GetDocumentSymbols get_document_symbols = 330;
|
|
GetDocumentSymbolsResponse get_document_symbols_response = 331;
|
|
|
|
LanguageServerIdForName language_server_id_for_name = 332;
|
|
LanguageServerIdForNameResponse language_server_id_for_name_response = 333; // current max
|
|
|
|
LoadCommitDiff load_commit_diff = 334;
|
|
LoadCommitDiffResponse load_commit_diff_response = 335;
|
|
|
|
StopLanguageServers stop_language_servers = 336; // current max
|
|
}
|
|
|
|
reserved 87 to 88;
|
|
reserved 158 to 161;
|
|
reserved 164;
|
|
reserved 166 to 169;
|
|
reserved 177 to 185;
|
|
reserved 188;
|
|
reserved 193 to 195;
|
|
reserved 197;
|
|
reserved 200 to 202;
|
|
reserved 205 to 206;
|
|
reserved 221;
|
|
reserved 224 to 229;
|
|
reserved 246;
|
|
reserved 270;
|
|
reserved 247 to 254;
|
|
reserved 255 to 256;
|
|
}
|
|
|
|
// Messages
|
|
|
|
message Hello {
|
|
PeerId peer_id = 1;
|
|
}
|
|
|
|
message Ping {}
|
|
|
|
message Ack {}
|
|
|
|
message Error {
|
|
string message = 1;
|
|
ErrorCode code = 2;
|
|
repeated string tags = 3;
|
|
}
|
|
|
|
enum ErrorCode {
|
|
Internal = 0;
|
|
NoSuchChannel = 1;
|
|
Disconnected = 2;
|
|
SignedOut = 3;
|
|
UpgradeRequired = 4;
|
|
Forbidden = 5;
|
|
NeedsCla = 7;
|
|
NotARootChannel = 8;
|
|
BadPublicNesting = 9;
|
|
CircularNesting = 10;
|
|
WrongMoveTarget = 11;
|
|
UnsharedItem = 12;
|
|
NoSuchProject = 13;
|
|
DevServerProjectPathDoesNotExist = 16;
|
|
RemoteUpgradeRequired = 17;
|
|
RateLimitExceeded = 18;
|
|
CommitFailed = 19;
|
|
reserved 6;
|
|
reserved 14 to 15;
|
|
}
|
|
|
|
message EndStream {}
|
|
|
|
message Test {
|
|
uint64 id = 1;
|
|
}
|
|
|
|
message CreateRoom {}
|
|
|
|
message CreateRoomResponse {
|
|
Room room = 1;
|
|
optional LiveKitConnectionInfo live_kit_connection_info = 2;
|
|
}
|
|
|
|
message JoinRoom {
|
|
uint64 id = 1;
|
|
}
|
|
|
|
message JoinRoomResponse {
|
|
Room room = 1;
|
|
optional uint64 channel_id = 2;
|
|
optional LiveKitConnectionInfo live_kit_connection_info = 3;
|
|
}
|
|
|
|
message RejoinRoom {
|
|
uint64 id = 1;
|
|
repeated UpdateProject reshared_projects = 2;
|
|
repeated RejoinProject rejoined_projects = 3;
|
|
}
|
|
message RejoinRemoteProjects {
|
|
repeated RejoinProject rejoined_projects = 1;
|
|
}
|
|
|
|
message RejoinRemoteProjectsResponse {
|
|
repeated RejoinedProject rejoined_projects = 1;
|
|
}
|
|
|
|
message RejoinProject {
|
|
uint64 id = 1;
|
|
repeated RejoinWorktree worktrees = 2;
|
|
repeated RejoinRepository repositories = 3;
|
|
}
|
|
|
|
message RejoinWorktree {
|
|
uint64 id = 1;
|
|
uint64 scan_id = 2;
|
|
}
|
|
|
|
message RejoinRepository {
|
|
uint64 id = 1;
|
|
uint64 scan_id = 2;
|
|
}
|
|
|
|
message RejoinRoomResponse {
|
|
Room room = 1;
|
|
repeated ResharedProject reshared_projects = 2;
|
|
repeated RejoinedProject rejoined_projects = 3;
|
|
}
|
|
|
|
message ResharedProject {
|
|
uint64 id = 1;
|
|
repeated Collaborator collaborators = 2;
|
|
}
|
|
|
|
message RejoinedProject {
|
|
uint64 id = 1;
|
|
repeated WorktreeMetadata worktrees = 2;
|
|
repeated Collaborator collaborators = 3;
|
|
repeated LanguageServer language_servers = 4;
|
|
}
|
|
|
|
message LeaveRoom {}
|
|
|
|
message Room {
|
|
uint64 id = 1;
|
|
repeated Participant participants = 2;
|
|
repeated PendingParticipant pending_participants = 3;
|
|
repeated Follower followers = 4;
|
|
string livekit_room = 5;
|
|
}
|
|
|
|
message Participant {
|
|
uint64 user_id = 1;
|
|
PeerId peer_id = 2;
|
|
repeated ParticipantProject projects = 3;
|
|
ParticipantLocation location = 4;
|
|
uint32 participant_index = 5;
|
|
ChannelRole role = 6;
|
|
reserved 7;
|
|
}
|
|
|
|
message PendingParticipant {
|
|
uint64 user_id = 1;
|
|
uint64 calling_user_id = 2;
|
|
optional uint64 initial_project_id = 3;
|
|
}
|
|
|
|
message ParticipantProject {
|
|
uint64 id = 1;
|
|
repeated string worktree_root_names = 2;
|
|
}
|
|
|
|
message Follower {
|
|
PeerId leader_id = 1;
|
|
PeerId follower_id = 2;
|
|
uint64 project_id = 3;
|
|
}
|
|
|
|
message ParticipantLocation {
|
|
oneof variant {
|
|
SharedProject shared_project = 1;
|
|
UnsharedProject unshared_project = 2;
|
|
External external = 3;
|
|
}
|
|
|
|
message SharedProject {
|
|
uint64 id = 1;
|
|
}
|
|
|
|
message UnsharedProject {}
|
|
|
|
message External {}
|
|
}
|
|
|
|
message Call {
|
|
uint64 room_id = 1;
|
|
uint64 called_user_id = 2;
|
|
optional uint64 initial_project_id = 3;
|
|
}
|
|
|
|
message IncomingCall {
|
|
uint64 room_id = 1;
|
|
uint64 calling_user_id = 2;
|
|
repeated uint64 participant_user_ids = 3;
|
|
optional ParticipantProject initial_project = 4;
|
|
}
|
|
|
|
message CallCanceled {
|
|
uint64 room_id = 1;
|
|
}
|
|
|
|
message CancelCall {
|
|
uint64 room_id = 1;
|
|
uint64 called_user_id = 2;
|
|
}
|
|
|
|
message DeclineCall {
|
|
uint64 room_id = 1;
|
|
}
|
|
|
|
message UpdateParticipantLocation {
|
|
uint64 room_id = 1;
|
|
ParticipantLocation location = 2;
|
|
}
|
|
|
|
message RoomUpdated {
|
|
Room room = 1;
|
|
}
|
|
|
|
message LiveKitConnectionInfo {
|
|
string server_url = 1;
|
|
string token = 2;
|
|
bool can_publish = 3;
|
|
}
|
|
|
|
message ShareProject {
|
|
uint64 room_id = 1;
|
|
repeated WorktreeMetadata worktrees = 2;
|
|
reserved 3;
|
|
bool is_ssh_project = 4;
|
|
}
|
|
|
|
message ShareProjectResponse {
|
|
uint64 project_id = 1;
|
|
}
|
|
|
|
message UnshareProject {
|
|
uint64 project_id = 1;
|
|
}
|
|
|
|
message UpdateProject {
|
|
uint64 project_id = 1;
|
|
repeated WorktreeMetadata worktrees = 2;
|
|
}
|
|
|
|
message JoinProject {
|
|
uint64 project_id = 1;
|
|
}
|
|
|
|
message ListRemoteDirectoryConfig {
|
|
bool is_dir = 1;
|
|
}
|
|
|
|
message ListRemoteDirectory {
|
|
uint64 dev_server_id = 1;
|
|
string path = 2;
|
|
ListRemoteDirectoryConfig config = 3;
|
|
}
|
|
|
|
message EntryInfo {
|
|
bool is_dir = 1;
|
|
}
|
|
|
|
message ListRemoteDirectoryResponse {
|
|
repeated string entries = 1;
|
|
repeated EntryInfo entry_info = 2;
|
|
}
|
|
|
|
message JoinProjectResponse {
|
|
uint64 project_id = 5;
|
|
uint32 replica_id = 1;
|
|
repeated WorktreeMetadata worktrees = 2;
|
|
repeated Collaborator collaborators = 3;
|
|
repeated LanguageServer language_servers = 4;
|
|
ChannelRole role = 6;
|
|
reserved 7;
|
|
}
|
|
|
|
message LeaveProject {
|
|
uint64 project_id = 1;
|
|
}
|
|
|
|
message UpdateWorktree {
|
|
uint64 project_id = 1;
|
|
uint64 worktree_id = 2;
|
|
string root_name = 3;
|
|
repeated Entry updated_entries = 4;
|
|
repeated uint64 removed_entries = 5;
|
|
repeated RepositoryEntry updated_repositories = 6; // deprecated
|
|
repeated uint64 removed_repositories = 7; // deprecated
|
|
uint64 scan_id = 8;
|
|
bool is_last_update = 9;
|
|
string abs_path = 10;
|
|
}
|
|
|
|
message UpdateWorktreeSettings {
|
|
uint64 project_id = 1;
|
|
uint64 worktree_id = 2;
|
|
string path = 3;
|
|
optional string content = 4;
|
|
optional LocalSettingsKind kind = 5;
|
|
}
|
|
|
|
enum LocalSettingsKind {
|
|
Settings = 0;
|
|
Tasks = 1;
|
|
Editorconfig = 2;
|
|
}
|
|
|
|
message CreateProjectEntry {
|
|
uint64 project_id = 1;
|
|
uint64 worktree_id = 2;
|
|
string path = 3;
|
|
bool is_directory = 4;
|
|
}
|
|
|
|
message RenameProjectEntry {
|
|
uint64 project_id = 1;
|
|
uint64 entry_id = 2;
|
|
string new_path = 3;
|
|
}
|
|
|
|
message CopyProjectEntry {
|
|
uint64 project_id = 1;
|
|
uint64 entry_id = 2;
|
|
string new_path = 3;
|
|
optional string relative_worktree_source_path = 4;
|
|
}
|
|
|
|
message DeleteProjectEntry {
|
|
uint64 project_id = 1;
|
|
uint64 entry_id = 2;
|
|
bool use_trash = 3;
|
|
}
|
|
|
|
message ExpandProjectEntry {
|
|
uint64 project_id = 1;
|
|
uint64 entry_id = 2;
|
|
}
|
|
|
|
message ExpandProjectEntryResponse {
|
|
uint64 worktree_scan_id = 1;
|
|
}
|
|
|
|
message ExpandAllForProjectEntry {
|
|
uint64 project_id = 1;
|
|
uint64 entry_id = 2;
|
|
}
|
|
|
|
message ExpandAllForProjectEntryResponse {
|
|
uint64 worktree_scan_id = 1;
|
|
}
|
|
|
|
message ProjectEntryResponse {
|
|
optional Entry entry = 1;
|
|
uint64 worktree_scan_id = 2;
|
|
}
|
|
|
|
message AddProjectCollaborator {
|
|
uint64 project_id = 1;
|
|
Collaborator collaborator = 2;
|
|
}
|
|
|
|
message UpdateProjectCollaborator {
|
|
uint64 project_id = 1;
|
|
PeerId old_peer_id = 2;
|
|
PeerId new_peer_id = 3;
|
|
}
|
|
|
|
message RemoveProjectCollaborator {
|
|
uint64 project_id = 1;
|
|
PeerId peer_id = 2;
|
|
}
|
|
|
|
message UpdateChannelBufferCollaborators {
|
|
uint64 channel_id = 1;
|
|
repeated Collaborator collaborators = 2;
|
|
}
|
|
|
|
message GetDefinition {
|
|
uint64 project_id = 1;
|
|
uint64 buffer_id = 2;
|
|
Anchor position = 3;
|
|
repeated VectorClockEntry version = 4;
|
|
}
|
|
|
|
message GetDefinitionResponse {
|
|
repeated LocationLink links = 1;
|
|
}
|
|
|
|
message GetDeclaration {
|
|
uint64 project_id = 1;
|
|
uint64 buffer_id = 2;
|
|
Anchor position = 3;
|
|
repeated VectorClockEntry version = 4;
|
|
}
|
|
|
|
message GetDeclarationResponse {
|
|
repeated LocationLink links = 1;
|
|
}
|
|
|
|
message GetTypeDefinition {
|
|
uint64 project_id = 1;
|
|
uint64 buffer_id = 2;
|
|
Anchor position = 3;
|
|
repeated VectorClockEntry version = 4;
|
|
}
|
|
|
|
message GetTypeDefinitionResponse {
|
|
repeated LocationLink links = 1;
|
|
}
|
|
message GetImplementation {
|
|
uint64 project_id = 1;
|
|
uint64 buffer_id = 2;
|
|
Anchor position = 3;
|
|
repeated VectorClockEntry version = 4;
|
|
}
|
|
|
|
message GetImplementationResponse {
|
|
repeated LocationLink links = 1;
|
|
}
|
|
|
|
message GetReferences {
|
|
uint64 project_id = 1;
|
|
uint64 buffer_id = 2;
|
|
Anchor position = 3;
|
|
repeated VectorClockEntry version = 4;
|
|
}
|
|
|
|
message GetReferencesResponse {
|
|
repeated Location locations = 1;
|
|
}
|
|
|
|
message GetDocumentHighlights {
|
|
uint64 project_id = 1;
|
|
uint64 buffer_id = 2;
|
|
Anchor position = 3;
|
|
repeated VectorClockEntry version = 4;
|
|
}
|
|
|
|
message GetDocumentHighlightsResponse {
|
|
repeated DocumentHighlight highlights = 1;
|
|
}
|
|
|
|
message Location {
|
|
uint64 buffer_id = 1;
|
|
Anchor start = 2;
|
|
Anchor end = 3;
|
|
}
|
|
|
|
message LocationLink {
|
|
optional Location origin = 1;
|
|
Location target = 2;
|
|
}
|
|
|
|
message DocumentHighlight {
|
|
Kind kind = 1;
|
|
Anchor start = 2;
|
|
Anchor end = 3;
|
|
|
|
enum Kind {
|
|
Text = 0;
|
|
Read = 1;
|
|
Write = 2;
|
|
}
|
|
}
|
|
|
|
message GetProjectSymbols {
|
|
uint64 project_id = 1;
|
|
string query = 2;
|
|
}
|
|
|
|
message GetProjectSymbolsResponse {
|
|
repeated Symbol symbols = 4;
|
|
}
|
|
|
|
message Symbol {
|
|
uint64 source_worktree_id = 1;
|
|
uint64 worktree_id = 2;
|
|
string language_server_name = 3;
|
|
string name = 4;
|
|
int32 kind = 5;
|
|
string path = 6;
|
|
// Cannot use generate anchors for unopened files,
|
|
// so we are forced to use point coords instead
|
|
PointUtf16 start = 7;
|
|
PointUtf16 end = 8;
|
|
bytes signature = 9;
|
|
uint64 language_server_id = 10;
|
|
}
|
|
|
|
message GetDocumentSymbols {
|
|
uint64 project_id = 1;
|
|
uint64 buffer_id = 2;
|
|
repeated VectorClockEntry version = 3;
|
|
}
|
|
|
|
message GetDocumentSymbolsResponse {
|
|
repeated DocumentSymbol symbols = 1;
|
|
}
|
|
|
|
message DocumentSymbol {
|
|
string name = 1;
|
|
int32 kind = 2;
|
|
// Cannot use generate anchors for unopened files,
|
|
// so we are forced to use point coords instead
|
|
PointUtf16 start = 3;
|
|
PointUtf16 end = 4;
|
|
PointUtf16 selection_start = 5;
|
|
PointUtf16 selection_end = 6;
|
|
repeated DocumentSymbol children = 7;
|
|
}
|
|
|
|
message OpenBufferForSymbol {
|
|
uint64 project_id = 1;
|
|
Symbol symbol = 2;
|
|
}
|
|
|
|
message OpenBufferForSymbolResponse {
|
|
uint64 buffer_id = 1;
|
|
}
|
|
|
|
message OpenBufferByPath {
|
|
uint64 project_id = 1;
|
|
uint64 worktree_id = 2;
|
|
string path = 3;
|
|
}
|
|
|
|
message OpenBufferById {
|
|
uint64 project_id = 1;
|
|
uint64 id = 2;
|
|
}
|
|
|
|
message OpenNewBuffer {
|
|
uint64 project_id = 1;
|
|
}
|
|
|
|
message OpenBufferResponse {
|
|
uint64 buffer_id = 1;
|
|
}
|
|
|
|
message CreateBufferForPeer {
|
|
uint64 project_id = 1;
|
|
PeerId peer_id = 2;
|
|
oneof variant {
|
|
BufferState state = 3;
|
|
BufferChunk chunk = 4;
|
|
}
|
|
}
|
|
|
|
message UpdateBuffer {
|
|
uint64 project_id = 1;
|
|
uint64 buffer_id = 2;
|
|
repeated Operation operations = 3;
|
|
}
|
|
|
|
message UpdateChannelBuffer {
|
|
uint64 channel_id = 1;
|
|
repeated Operation operations = 2;
|
|
}
|
|
|
|
message UpdateBufferFile {
|
|
uint64 project_id = 1;
|
|
uint64 buffer_id = 2;
|
|
File file = 3;
|
|
}
|
|
|
|
message SaveBuffer {
|
|
uint64 project_id = 1;
|
|
uint64 buffer_id = 2;
|
|
repeated VectorClockEntry version = 3;
|
|
optional ProjectPath new_path = 4;
|
|
}
|
|
|
|
message CloseBuffer {
|
|
uint64 project_id = 1;
|
|
uint64 buffer_id = 2;
|
|
}
|
|
|
|
message ProjectPath {
|
|
uint64 worktree_id = 1;
|
|
string path = 2;
|
|
}
|
|
|
|
message BufferSaved {
|
|
uint64 project_id = 1;
|
|
uint64 buffer_id = 2;
|
|
repeated VectorClockEntry version = 3;
|
|
Timestamp mtime = 4;
|
|
reserved 5;
|
|
}
|
|
|
|
message BufferReloaded {
|
|
uint64 project_id = 1;
|
|
uint64 buffer_id = 2;
|
|
repeated VectorClockEntry version = 3;
|
|
Timestamp mtime = 4;
|
|
reserved 5;
|
|
LineEnding line_ending = 6;
|
|
}
|
|
|
|
message ReloadBuffers {
|
|
uint64 project_id = 1;
|
|
repeated uint64 buffer_ids = 2;
|
|
}
|
|
|
|
message ReloadBuffersResponse {
|
|
ProjectTransaction transaction = 1;
|
|
}
|
|
|
|
message SynchronizeBuffers {
|
|
uint64 project_id = 1;
|
|
repeated BufferVersion buffers = 2;
|
|
}
|
|
|
|
message SynchronizeBuffersResponse {
|
|
repeated BufferVersion buffers = 1;
|
|
}
|
|
|
|
message BufferVersion {
|
|
uint64 id = 1;
|
|
repeated VectorClockEntry version = 2;
|
|
}
|
|
|
|
message ChannelBufferVersion {
|
|
uint64 channel_id = 1;
|
|
repeated VectorClockEntry version = 2;
|
|
uint64 epoch = 3;
|
|
}
|
|
|
|
message ApplyCodeActionKind {
|
|
uint64 project_id = 1;
|
|
string kind = 2;
|
|
repeated uint64 buffer_ids = 3;
|
|
}
|
|
|
|
message ApplyCodeActionKindResponse {
|
|
ProjectTransaction transaction = 1;
|
|
}
|
|
|
|
enum FormatTrigger {
|
|
Save = 0;
|
|
Manual = 1;
|
|
}
|
|
|
|
message FormatBuffers {
|
|
uint64 project_id = 1;
|
|
FormatTrigger trigger = 2;
|
|
repeated uint64 buffer_ids = 3;
|
|
}
|
|
|
|
message FormatBuffersResponse {
|
|
ProjectTransaction transaction = 1;
|
|
}
|
|
|
|
message GetCompletions {
|
|
uint64 project_id = 1;
|
|
uint64 buffer_id = 2;
|
|
Anchor position = 3;
|
|
repeated VectorClockEntry version = 4;
|
|
}
|
|
|
|
message GetCompletionsResponse {
|
|
repeated Completion completions = 1;
|
|
repeated VectorClockEntry version = 2;
|
|
}
|
|
|
|
message ApplyCompletionAdditionalEdits {
|
|
uint64 project_id = 1;
|
|
uint64 buffer_id = 2;
|
|
Completion completion = 3;
|
|
}
|
|
|
|
message ApplyCompletionAdditionalEditsResponse {
|
|
Transaction transaction = 1;
|
|
}
|
|
|
|
message Completion {
|
|
Anchor old_start = 1;
|
|
Anchor old_end = 2;
|
|
string new_text = 3;
|
|
uint64 server_id = 4;
|
|
bytes lsp_completion = 5;
|
|
bool resolved = 6;
|
|
Source source = 7;
|
|
optional bytes lsp_defaults = 8;
|
|
optional Anchor buffer_word_start = 9;
|
|
optional Anchor buffer_word_end = 10;
|
|
|
|
enum Source {
|
|
Lsp = 0;
|
|
Custom = 1;
|
|
BufferWord = 2;
|
|
}
|
|
}
|
|
|
|
message GetCodeActions {
|
|
uint64 project_id = 1;
|
|
uint64 buffer_id = 2;
|
|
Anchor start = 3;
|
|
Anchor end = 4;
|
|
repeated VectorClockEntry version = 5;
|
|
}
|
|
|
|
message GetCodeActionsResponse {
|
|
repeated CodeAction actions = 1;
|
|
repeated VectorClockEntry version = 2;
|
|
}
|
|
|
|
message GetSignatureHelp {
|
|
uint64 project_id = 1;
|
|
uint64 buffer_id = 2;
|
|
Anchor position = 3;
|
|
repeated VectorClockEntry version = 4;
|
|
}
|
|
|
|
message GetSignatureHelpResponse {
|
|
optional SignatureHelp signature_help = 1;
|
|
}
|
|
|
|
message SignatureHelp {
|
|
repeated SignatureInformation signatures = 1;
|
|
optional uint32 active_signature = 2;
|
|
optional uint32 active_parameter = 3;
|
|
}
|
|
|
|
message SignatureInformation {
|
|
string label = 1;
|
|
optional Documentation documentation = 2;
|
|
repeated ParameterInformation parameters = 3;
|
|
optional uint32 active_parameter = 4;
|
|
}
|
|
|
|
message Documentation {
|
|
oneof content {
|
|
string value = 1;
|
|
MarkupContent markup_content = 2;
|
|
}
|
|
}
|
|
|
|
enum MarkupKind {
|
|
PlainText = 0;
|
|
Markdown = 1;
|
|
}
|
|
|
|
message ParameterInformation {
|
|
oneof label {
|
|
string simple = 1;
|
|
LabelOffsets label_offsets = 2;
|
|
}
|
|
optional Documentation documentation = 3;
|
|
}
|
|
|
|
message LabelOffsets {
|
|
uint32 start = 1;
|
|
uint32 end = 2;
|
|
}
|
|
|
|
message GetHover {
|
|
uint64 project_id = 1;
|
|
uint64 buffer_id = 2;
|
|
Anchor position = 3;
|
|
repeated VectorClockEntry version = 5;
|
|
}
|
|
|
|
message GetHoverResponse {
|
|
optional Anchor start = 1;
|
|
optional Anchor end = 2;
|
|
repeated HoverBlock contents = 3;
|
|
}
|
|
|
|
message HoverBlock {
|
|
string text = 1;
|
|
optional string language = 2;
|
|
bool is_markdown = 3;
|
|
}
|
|
|
|
message ApplyCodeAction {
|
|
uint64 project_id = 1;
|
|
uint64 buffer_id = 2;
|
|
CodeAction action = 3;
|
|
}
|
|
|
|
message ApplyCodeActionResponse {
|
|
ProjectTransaction transaction = 1;
|
|
}
|
|
|
|
message PrepareRename {
|
|
uint64 project_id = 1;
|
|
uint64 buffer_id = 2;
|
|
Anchor position = 3;
|
|
repeated VectorClockEntry version = 4;
|
|
}
|
|
|
|
message PrepareRenameResponse {
|
|
bool can_rename = 1;
|
|
Anchor start = 2;
|
|
Anchor end = 3;
|
|
repeated VectorClockEntry version = 4;
|
|
bool only_unprepared_rename_supported = 5;
|
|
}
|
|
|
|
message PerformRename {
|
|
uint64 project_id = 1;
|
|
uint64 buffer_id = 2;
|
|
Anchor position = 3;
|
|
string new_name = 4;
|
|
repeated VectorClockEntry version = 5;
|
|
}
|
|
|
|
message OnTypeFormatting {
|
|
uint64 project_id = 1;
|
|
uint64 buffer_id = 2;
|
|
Anchor position = 3;
|
|
string trigger = 4;
|
|
repeated VectorClockEntry version = 5;
|
|
}
|
|
|
|
message OnTypeFormattingResponse {
|
|
Transaction transaction = 1;
|
|
}
|
|
|
|
|
|
message LinkedEditingRange {
|
|
uint64 project_id = 1;
|
|
uint64 buffer_id = 2;
|
|
Anchor position = 3;
|
|
repeated VectorClockEntry version = 4;
|
|
}
|
|
|
|
message AnchorRange {
|
|
Anchor start = 1;
|
|
Anchor end = 2;
|
|
}
|
|
|
|
message LinkedEditingRangeResponse {
|
|
repeated AnchorRange items = 1;
|
|
repeated VectorClockEntry version = 4;
|
|
}
|
|
|
|
message InlayHints {
|
|
uint64 project_id = 1;
|
|
uint64 buffer_id = 2;
|
|
Anchor start = 3;
|
|
Anchor end = 4;
|
|
repeated VectorClockEntry version = 5;
|
|
}
|
|
|
|
message InlayHintsResponse {
|
|
repeated InlayHint hints = 1;
|
|
repeated VectorClockEntry version = 2;
|
|
}
|
|
|
|
message InlayHint {
|
|
Anchor position = 1;
|
|
InlayHintLabel label = 2;
|
|
optional string kind = 3;
|
|
bool padding_left = 4;
|
|
bool padding_right = 5;
|
|
InlayHintTooltip tooltip = 6;
|
|
ResolveState resolve_state = 7;
|
|
}
|
|
|
|
message InlayHintLabel {
|
|
oneof label {
|
|
string value = 1;
|
|
InlayHintLabelParts label_parts = 2;
|
|
}
|
|
}
|
|
|
|
message InlayHintLabelParts {
|
|
repeated InlayHintLabelPart parts = 1;
|
|
}
|
|
|
|
message InlayHintLabelPart {
|
|
string value = 1;
|
|
InlayHintLabelPartTooltip tooltip = 2;
|
|
optional string location_url = 3;
|
|
PointUtf16 location_range_start = 4;
|
|
PointUtf16 location_range_end = 5;
|
|
optional uint64 language_server_id = 6;
|
|
}
|
|
|
|
message InlayHintTooltip {
|
|
oneof content {
|
|
string value = 1;
|
|
MarkupContent markup_content = 2;
|
|
}
|
|
}
|
|
|
|
message InlayHintLabelPartTooltip {
|
|
oneof content {
|
|
string value = 1;
|
|
MarkupContent markup_content = 2;
|
|
}
|
|
}
|
|
|
|
message ResolveState {
|
|
State state = 1;
|
|
LspResolveState lsp_resolve_state = 2;
|
|
|
|
enum State {
|
|
Resolved = 0;
|
|
CanResolve = 1;
|
|
Resolving = 2;
|
|
}
|
|
|
|
message LspResolveState {
|
|
optional string value = 1;
|
|
uint64 server_id = 2;
|
|
}
|
|
}
|
|
|
|
// This type is used to resolve more than just
|
|
// the documentation, but for backwards-compatibility
|
|
// reasons we can't rename the type.
|
|
message ResolveCompletionDocumentation {
|
|
uint64 project_id = 1;
|
|
uint64 language_server_id = 2;
|
|
bytes lsp_completion = 3;
|
|
uint64 buffer_id = 4;
|
|
}
|
|
|
|
message ResolveCompletionDocumentationResponse {
|
|
string documentation = 1;
|
|
bool documentation_is_markdown = 2;
|
|
Anchor old_start = 3;
|
|
Anchor old_end = 4;
|
|
string new_text = 5;
|
|
bytes lsp_completion = 6;
|
|
}
|
|
|
|
message ResolveInlayHint {
|
|
uint64 project_id = 1;
|
|
uint64 buffer_id = 2;
|
|
uint64 language_server_id = 3;
|
|
InlayHint hint = 4;
|
|
}
|
|
|
|
message ResolveInlayHintResponse {
|
|
InlayHint hint = 1;
|
|
}
|
|
|
|
message RefreshInlayHints {
|
|
uint64 project_id = 1;
|
|
}
|
|
|
|
message CodeLens {
|
|
bytes lsp_lens = 1;
|
|
}
|
|
|
|
message GetCodeLens {
|
|
uint64 project_id = 1;
|
|
uint64 buffer_id = 2;
|
|
repeated VectorClockEntry version = 3;
|
|
}
|
|
|
|
message GetCodeLensResponse {
|
|
repeated CodeAction lens_actions = 1;
|
|
repeated VectorClockEntry version = 2;
|
|
}
|
|
|
|
message RefreshCodeLens {
|
|
uint64 project_id = 1;
|
|
}
|
|
|
|
message MarkupContent {
|
|
bool is_markdown = 1;
|
|
string value = 2;
|
|
}
|
|
|
|
message PerformRenameResponse {
|
|
ProjectTransaction transaction = 2;
|
|
}
|
|
|
|
message SearchQuery {
|
|
string query = 2;
|
|
bool regex = 3;
|
|
bool whole_word = 4;
|
|
bool case_sensitive = 5;
|
|
string files_to_include = 6;
|
|
string files_to_exclude = 7;
|
|
bool include_ignored = 8;
|
|
}
|
|
|
|
message FindSearchCandidates {
|
|
uint64 project_id = 1;
|
|
SearchQuery query = 2;
|
|
uint64 limit = 3;
|
|
}
|
|
|
|
message FindSearchCandidatesResponse {
|
|
repeated uint64 buffer_ids = 1;
|
|
}
|
|
|
|
message CodeAction {
|
|
uint64 server_id = 1;
|
|
Anchor start = 2;
|
|
Anchor end = 3;
|
|
bytes lsp_action = 4;
|
|
Kind kind = 5;
|
|
bool resolved = 6;
|
|
enum Kind {
|
|
Action = 0;
|
|
Command = 1;
|
|
CodeLens = 2;
|
|
}
|
|
}
|
|
|
|
message ProjectTransaction {
|
|
repeated uint64 buffer_ids = 1;
|
|
repeated Transaction transactions = 2;
|
|
}
|
|
|
|
message Transaction {
|
|
LamportTimestamp id = 1;
|
|
repeated LamportTimestamp edit_ids = 2;
|
|
repeated VectorClockEntry start = 3;
|
|
}
|
|
|
|
message LamportTimestamp {
|
|
uint32 replica_id = 1;
|
|
uint32 value = 2;
|
|
}
|
|
|
|
message LanguageServer {
|
|
uint64 id = 1;
|
|
string name = 2;
|
|
optional uint64 worktree_id = 3;
|
|
}
|
|
|
|
message StartLanguageServer {
|
|
uint64 project_id = 1;
|
|
LanguageServer server = 2;
|
|
}
|
|
|
|
message UpdateDiagnosticSummary {
|
|
uint64 project_id = 1;
|
|
uint64 worktree_id = 2;
|
|
DiagnosticSummary summary = 3;
|
|
}
|
|
|
|
message DiagnosticSummary {
|
|
string path = 1;
|
|
uint64 language_server_id = 2;
|
|
uint32 error_count = 3;
|
|
uint32 warning_count = 4;
|
|
}
|
|
|
|
message UpdateLanguageServer {
|
|
uint64 project_id = 1;
|
|
uint64 language_server_id = 2;
|
|
oneof variant {
|
|
LspWorkStart work_start = 3;
|
|
LspWorkProgress work_progress = 4;
|
|
LspWorkEnd work_end = 5;
|
|
LspDiskBasedDiagnosticsUpdating disk_based_diagnostics_updating = 6;
|
|
LspDiskBasedDiagnosticsUpdated disk_based_diagnostics_updated = 7;
|
|
}
|
|
}
|
|
|
|
message LspWorkStart {
|
|
string token = 1;
|
|
optional string title = 4;
|
|
optional string message = 2;
|
|
optional uint32 percentage = 3;
|
|
optional bool is_cancellable = 5;
|
|
}
|
|
|
|
message LspWorkProgress {
|
|
string token = 1;
|
|
optional string message = 2;
|
|
optional uint32 percentage = 3;
|
|
optional bool is_cancellable = 4;
|
|
}
|
|
|
|
message LspWorkEnd {
|
|
string token = 1;
|
|
}
|
|
|
|
message LspDiskBasedDiagnosticsUpdating {}
|
|
|
|
message LspDiskBasedDiagnosticsUpdated {}
|
|
|
|
message LanguageServerLog {
|
|
uint64 project_id = 1;
|
|
uint64 language_server_id = 2;
|
|
oneof log_type {
|
|
uint32 log_message_type = 3;
|
|
LspLogTrace log_trace = 4;
|
|
}
|
|
string message = 5;
|
|
}
|
|
|
|
message LspLogTrace {
|
|
optional string message = 1;
|
|
}
|
|
|
|
message UpdateChannels {
|
|
repeated Channel channels = 1;
|
|
repeated uint64 delete_channels = 4;
|
|
repeated Channel channel_invitations = 5;
|
|
repeated uint64 remove_channel_invitations = 6;
|
|
repeated ChannelParticipants channel_participants = 7;
|
|
repeated ChannelMessageId latest_channel_message_ids = 8;
|
|
repeated ChannelBufferVersion latest_channel_buffer_versions = 9;
|
|
|
|
reserved 10 to 15;
|
|
}
|
|
|
|
message UpdateUserChannels {
|
|
repeated ChannelMessageId observed_channel_message_id = 1;
|
|
repeated ChannelBufferVersion observed_channel_buffer_version = 2;
|
|
repeated ChannelMembership channel_memberships = 3;
|
|
}
|
|
|
|
message ChannelMembership {
|
|
uint64 channel_id = 1;
|
|
ChannelRole role = 2;
|
|
}
|
|
|
|
message ChannelMessageId {
|
|
uint64 channel_id = 1;
|
|
uint64 message_id = 2;
|
|
}
|
|
|
|
message ChannelPermission {
|
|
uint64 channel_id = 1;
|
|
ChannelRole role = 3;
|
|
}
|
|
|
|
message ChannelParticipants {
|
|
uint64 channel_id = 1;
|
|
repeated uint64 participant_user_ids = 2;
|
|
}
|
|
|
|
message JoinChannel {
|
|
uint64 channel_id = 1;
|
|
}
|
|
|
|
message DeleteChannel {
|
|
uint64 channel_id = 1;
|
|
}
|
|
|
|
message GetChannelMembers {
|
|
uint64 channel_id = 1;
|
|
string query = 2;
|
|
uint64 limit = 3;
|
|
}
|
|
|
|
message GetChannelMembersResponse {
|
|
repeated ChannelMember members = 1;
|
|
repeated User users = 2;
|
|
}
|
|
|
|
message ChannelMember {
|
|
uint64 user_id = 1;
|
|
Kind kind = 3;
|
|
ChannelRole role = 4;
|
|
|
|
enum Kind {
|
|
Member = 0;
|
|
Invitee = 1;
|
|
}
|
|
}
|
|
|
|
message SubscribeToChannels {}
|
|
|
|
message CreateChannel {
|
|
string name = 1;
|
|
optional uint64 parent_id = 2;
|
|
}
|
|
|
|
message CreateChannelResponse {
|
|
Channel channel = 1;
|
|
optional uint64 parent_id = 2;
|
|
}
|
|
|
|
message InviteChannelMember {
|
|
uint64 channel_id = 1;
|
|
uint64 user_id = 2;
|
|
ChannelRole role = 4;
|
|
}
|
|
|
|
message RemoveChannelMember {
|
|
uint64 channel_id = 1;
|
|
uint64 user_id = 2;
|
|
}
|
|
|
|
enum ChannelRole {
|
|
Admin = 0;
|
|
Member = 1;
|
|
Guest = 2;
|
|
Banned = 3;
|
|
Talker = 4;
|
|
}
|
|
|
|
message SetChannelMemberRole {
|
|
uint64 channel_id = 1;
|
|
uint64 user_id = 2;
|
|
ChannelRole role = 3;
|
|
}
|
|
|
|
message SetChannelVisibility {
|
|
uint64 channel_id = 1;
|
|
ChannelVisibility visibility = 2;
|
|
}
|
|
|
|
message RenameChannel {
|
|
uint64 channel_id = 1;
|
|
string name = 2;
|
|
}
|
|
|
|
message RenameChannelResponse {
|
|
Channel channel = 1;
|
|
}
|
|
|
|
message JoinChannelChat {
|
|
uint64 channel_id = 1;
|
|
}
|
|
|
|
message JoinChannelChatResponse {
|
|
repeated ChannelMessage messages = 1;
|
|
bool done = 2;
|
|
}
|
|
|
|
message LeaveChannelChat {
|
|
uint64 channel_id = 1;
|
|
}
|
|
|
|
message SendChannelMessage {
|
|
uint64 channel_id = 1;
|
|
string body = 2;
|
|
Nonce nonce = 3;
|
|
repeated ChatMention mentions = 4;
|
|
optional uint64 reply_to_message_id = 5;
|
|
}
|
|
|
|
message RemoveChannelMessage {
|
|
uint64 channel_id = 1;
|
|
uint64 message_id = 2;
|
|
}
|
|
|
|
message UpdateChannelMessage {
|
|
uint64 channel_id = 1;
|
|
uint64 message_id = 2;
|
|
Nonce nonce = 4;
|
|
string body = 5;
|
|
repeated ChatMention mentions = 6;
|
|
}
|
|
|
|
message AckChannelMessage {
|
|
uint64 channel_id = 1;
|
|
uint64 message_id = 2;
|
|
}
|
|
|
|
message SendChannelMessageResponse {
|
|
ChannelMessage message = 1;
|
|
}
|
|
|
|
message ChannelMessageSent {
|
|
uint64 channel_id = 1;
|
|
ChannelMessage message = 2;
|
|
}
|
|
|
|
message ChannelMessageUpdate {
|
|
uint64 channel_id = 1;
|
|
ChannelMessage message = 2;
|
|
}
|
|
|
|
message GetChannelMessages {
|
|
uint64 channel_id = 1;
|
|
uint64 before_message_id = 2;
|
|
}
|
|
|
|
message GetChannelMessagesResponse {
|
|
repeated ChannelMessage messages = 1;
|
|
bool done = 2;
|
|
}
|
|
|
|
message GetChannelMessagesById {
|
|
repeated uint64 message_ids = 1;
|
|
}
|
|
|
|
message MoveChannel {
|
|
uint64 channel_id = 1;
|
|
uint64 to = 2;
|
|
}
|
|
|
|
message JoinChannelBuffer {
|
|
uint64 channel_id = 1;
|
|
}
|
|
|
|
message ChannelMessage {
|
|
uint64 id = 1;
|
|
string body = 2;
|
|
uint64 timestamp = 3;
|
|
uint64 sender_id = 4;
|
|
Nonce nonce = 5;
|
|
repeated ChatMention mentions = 6;
|
|
optional uint64 reply_to_message_id = 7;
|
|
optional uint64 edited_at = 8;
|
|
}
|
|
|
|
message ChatMention {
|
|
Range range = 1;
|
|
uint64 user_id = 2;
|
|
}
|
|
|
|
message RejoinChannelBuffers {
|
|
repeated ChannelBufferVersion buffers = 1;
|
|
}
|
|
|
|
message RejoinChannelBuffersResponse {
|
|
repeated RejoinedChannelBuffer buffers = 1;
|
|
}
|
|
|
|
message AckBufferOperation {
|
|
uint64 buffer_id = 1;
|
|
uint64 epoch = 2;
|
|
repeated VectorClockEntry version = 3;
|
|
}
|
|
|
|
message JoinChannelBufferResponse {
|
|
uint64 buffer_id = 1;
|
|
uint32 replica_id = 2;
|
|
string base_text = 3;
|
|
repeated Operation operations = 4;
|
|
repeated Collaborator collaborators = 5;
|
|
uint64 epoch = 6;
|
|
}
|
|
|
|
message RejoinedChannelBuffer {
|
|
uint64 channel_id = 1;
|
|
repeated VectorClockEntry version = 2;
|
|
repeated Operation operations = 3;
|
|
repeated Collaborator collaborators = 4;
|
|
}
|
|
|
|
message LeaveChannelBuffer {
|
|
uint64 channel_id = 1;
|
|
}
|
|
|
|
message RespondToChannelInvite {
|
|
uint64 channel_id = 1;
|
|
bool accept = 2;
|
|
}
|
|
|
|
message GetUsers {
|
|
repeated uint64 user_ids = 1;
|
|
}
|
|
|
|
message FuzzySearchUsers {
|
|
string query = 1;
|
|
}
|
|
|
|
message UsersResponse {
|
|
repeated User users = 1;
|
|
}
|
|
|
|
message RequestContact {
|
|
uint64 responder_id = 1;
|
|
}
|
|
|
|
message RemoveContact {
|
|
uint64 user_id = 1;
|
|
}
|
|
|
|
message RespondToContactRequest {
|
|
uint64 requester_id = 1;
|
|
ContactRequestResponse response = 2;
|
|
}
|
|
|
|
enum ContactRequestResponse {
|
|
Accept = 0;
|
|
Decline = 1;
|
|
Block = 2;
|
|
Dismiss = 3;
|
|
}
|
|
|
|
message UpdateContacts {
|
|
repeated Contact contacts = 1;
|
|
repeated uint64 remove_contacts = 2;
|
|
repeated IncomingContactRequest incoming_requests = 3;
|
|
repeated uint64 remove_incoming_requests = 4;
|
|
repeated uint64 outgoing_requests = 5;
|
|
repeated uint64 remove_outgoing_requests = 6;
|
|
}
|
|
|
|
message UpdateInviteInfo {
|
|
string url = 1;
|
|
uint32 count = 2;
|
|
}
|
|
|
|
message ShowContacts {}
|
|
|
|
message IncomingContactRequest {
|
|
uint64 requester_id = 1;
|
|
}
|
|
|
|
message UpdateDiagnostics {
|
|
uint32 replica_id = 1;
|
|
uint32 lamport_timestamp = 2;
|
|
uint64 server_id = 3;
|
|
repeated Diagnostic diagnostics = 4;
|
|
}
|
|
|
|
message Follow {
|
|
uint64 room_id = 1;
|
|
optional uint64 project_id = 2;
|
|
PeerId leader_id = 3;
|
|
}
|
|
|
|
message FollowResponse {
|
|
View active_view = 3;
|
|
// TODO: Remove after version 0.145.x stabilizes.
|
|
optional ViewId active_view_id = 1;
|
|
repeated View views = 2;
|
|
}
|
|
|
|
message UpdateFollowers {
|
|
uint64 room_id = 1;
|
|
optional uint64 project_id = 2;
|
|
reserved 3;
|
|
oneof variant {
|
|
View create_view = 5;
|
|
// TODO: Remove after version 0.145.x stabilizes.
|
|
UpdateActiveView update_active_view = 4;
|
|
UpdateView update_view = 6;
|
|
}
|
|
}
|
|
|
|
message Unfollow {
|
|
uint64 room_id = 1;
|
|
optional uint64 project_id = 2;
|
|
PeerId leader_id = 3;
|
|
}
|
|
|
|
message GetPrivateUserInfo {}
|
|
|
|
message GetPrivateUserInfoResponse {
|
|
string metrics_id = 1;
|
|
bool staff = 2;
|
|
repeated string flags = 3;
|
|
optional uint64 accepted_tos_at = 4;
|
|
}
|
|
|
|
enum Plan {
|
|
Free = 0;
|
|
ZedPro = 1;
|
|
}
|
|
|
|
message UpdateUserPlan {
|
|
Plan plan = 1;
|
|
}
|
|
|
|
message AcceptTermsOfService {}
|
|
|
|
message AcceptTermsOfServiceResponse {
|
|
uint64 accepted_tos_at = 1;
|
|
}
|
|
|
|
// Entities
|
|
|
|
message ViewId {
|
|
PeerId creator = 1;
|
|
uint64 id = 2;
|
|
}
|
|
|
|
message UpdateActiveView {
|
|
optional ViewId id = 1;
|
|
optional PeerId leader_id = 2;
|
|
View view = 3;
|
|
}
|
|
|
|
enum PanelId {
|
|
AssistantPanel = 0;
|
|
DebugPanel = 1;
|
|
}
|
|
|
|
message UpdateView {
|
|
ViewId id = 1;
|
|
optional PeerId leader_id = 2;
|
|
|
|
oneof variant {
|
|
Editor editor = 3;
|
|
}
|
|
|
|
message Editor {
|
|
repeated ExcerptInsertion inserted_excerpts = 1;
|
|
repeated uint64 deleted_excerpts = 2;
|
|
repeated Selection selections = 3;
|
|
optional Selection pending_selection = 4;
|
|
EditorAnchor scroll_top_anchor = 5;
|
|
float scroll_x = 6;
|
|
float scroll_y = 7;
|
|
}
|
|
}
|
|
|
|
message View {
|
|
ViewId id = 1;
|
|
optional PeerId leader_id = 2;
|
|
optional PanelId panel_id = 6;
|
|
|
|
oneof variant {
|
|
Editor editor = 3;
|
|
ChannelView channel_view = 4;
|
|
ContextEditor context_editor = 5;
|
|
}
|
|
|
|
message Editor {
|
|
bool singleton = 1;
|
|
optional string title = 2;
|
|
repeated Excerpt excerpts = 3;
|
|
repeated Selection selections = 4;
|
|
optional Selection pending_selection = 5;
|
|
EditorAnchor scroll_top_anchor = 6;
|
|
float scroll_x = 7;
|
|
float scroll_y = 8;
|
|
}
|
|
|
|
message ChannelView {
|
|
uint64 channel_id = 1;
|
|
Editor editor = 2;
|
|
}
|
|
|
|
message ContextEditor {
|
|
string context_id = 1;
|
|
Editor editor = 2;
|
|
}
|
|
}
|
|
|
|
|
|
message Collaborator {
|
|
PeerId peer_id = 1;
|
|
uint32 replica_id = 2;
|
|
uint64 user_id = 3;
|
|
bool is_host = 4;
|
|
}
|
|
|
|
message User {
|
|
uint64 id = 1;
|
|
string github_login = 2;
|
|
string avatar_url = 3;
|
|
optional string email = 4;
|
|
optional string name = 5;
|
|
}
|
|
|
|
message File {
|
|
uint64 worktree_id = 1;
|
|
optional uint64 entry_id = 2;
|
|
string path = 3;
|
|
Timestamp mtime = 4;
|
|
bool is_deleted = 5;
|
|
}
|
|
|
|
message Entry {
|
|
uint64 id = 1;
|
|
bool is_dir = 2;
|
|
string path = 3;
|
|
uint64 inode = 4;
|
|
Timestamp mtime = 5;
|
|
bool is_ignored = 7;
|
|
bool is_external = 8;
|
|
reserved 6;
|
|
reserved 9;
|
|
bool is_fifo = 10;
|
|
optional uint64 size = 11;
|
|
optional string canonical_path = 12;
|
|
}
|
|
|
|
message RepositoryEntry {
|
|
uint64 repository_id = 1;
|
|
reserved 2;
|
|
repeated StatusEntry updated_statuses = 3;
|
|
repeated string removed_statuses = 4;
|
|
repeated string current_merge_conflicts = 5;
|
|
optional Branch branch_summary = 6;
|
|
}
|
|
|
|
message UpdateRepository {
|
|
uint64 project_id = 1;
|
|
uint64 id = 2;
|
|
string abs_path = 3;
|
|
repeated uint64 entry_ids = 4;
|
|
optional Branch branch_summary = 5;
|
|
repeated StatusEntry updated_statuses = 6;
|
|
repeated string removed_statuses = 7;
|
|
repeated string current_merge_conflicts = 8;
|
|
uint64 scan_id = 9;
|
|
bool is_last_update = 10;
|
|
}
|
|
|
|
message RemoveRepository {
|
|
uint64 project_id = 1;
|
|
uint64 id = 2;
|
|
}
|
|
|
|
message StatusEntry {
|
|
string repo_path = 1;
|
|
// Can be removed once collab's min version is >=0.171.0.
|
|
GitStatus simple_status = 2;
|
|
GitFileStatus status = 3;
|
|
}
|
|
|
|
enum GitStatus {
|
|
Added = 0;
|
|
Modified = 1;
|
|
Conflict = 2;
|
|
Deleted = 3;
|
|
Updated = 4;
|
|
TypeChanged = 5;
|
|
Renamed = 6;
|
|
Copied = 7;
|
|
Unmodified = 8;
|
|
}
|
|
|
|
message GitFileStatus {
|
|
oneof variant {
|
|
Untracked untracked = 1;
|
|
Ignored ignored = 2;
|
|
Unmerged unmerged = 3;
|
|
Tracked tracked = 4;
|
|
}
|
|
|
|
message Untracked {}
|
|
message Ignored {}
|
|
message Unmerged {
|
|
GitStatus first_head = 1;
|
|
GitStatus second_head = 2;
|
|
}
|
|
message Tracked {
|
|
GitStatus index_status = 1;
|
|
GitStatus worktree_status = 2;
|
|
}
|
|
}
|
|
|
|
message BufferState {
|
|
uint64 id = 1;
|
|
optional File file = 2;
|
|
string base_text = 3;
|
|
LineEnding line_ending = 5;
|
|
repeated VectorClockEntry saved_version = 6;
|
|
Timestamp saved_mtime = 8;
|
|
|
|
reserved 7;
|
|
reserved 4;
|
|
}
|
|
|
|
message BufferChunk {
|
|
uint64 buffer_id = 1;
|
|
repeated Operation operations = 2;
|
|
bool is_last = 3;
|
|
}
|
|
|
|
enum LineEnding {
|
|
Unix = 0;
|
|
Windows = 1;
|
|
}
|
|
|
|
message Selection {
|
|
uint64 id = 1;
|
|
EditorAnchor start = 2;
|
|
EditorAnchor end = 3;
|
|
bool reversed = 4;
|
|
}
|
|
|
|
message EditorAnchor {
|
|
uint64 excerpt_id = 1;
|
|
Anchor anchor = 2;
|
|
}
|
|
|
|
enum CursorShape {
|
|
CursorBar = 0;
|
|
CursorBlock = 1;
|
|
CursorUnderscore = 2;
|
|
CursorHollow = 3;
|
|
}
|
|
|
|
message ExcerptInsertion {
|
|
Excerpt excerpt = 1;
|
|
optional uint64 previous_excerpt_id = 2;
|
|
}
|
|
|
|
message Excerpt {
|
|
uint64 id = 1;
|
|
uint64 buffer_id = 2;
|
|
Anchor context_start = 3;
|
|
Anchor context_end = 4;
|
|
Anchor primary_start = 5;
|
|
Anchor primary_end = 6;
|
|
}
|
|
|
|
message Anchor {
|
|
uint32 replica_id = 1;
|
|
uint32 timestamp = 2;
|
|
uint64 offset = 3;
|
|
Bias bias = 4;
|
|
optional uint64 buffer_id = 5;
|
|
}
|
|
|
|
enum Bias {
|
|
Left = 0;
|
|
Right = 1;
|
|
}
|
|
|
|
message Diagnostic {
|
|
Anchor start = 1;
|
|
Anchor end = 2;
|
|
optional string source = 3;
|
|
Severity severity = 4;
|
|
string message = 5;
|
|
optional string code = 6;
|
|
uint64 group_id = 7;
|
|
bool is_primary = 8;
|
|
|
|
reserved 9;
|
|
|
|
bool is_disk_based = 10;
|
|
bool is_unnecessary = 11;
|
|
|
|
enum Severity {
|
|
None = 0;
|
|
Error = 1;
|
|
Warning = 2;
|
|
Information = 3;
|
|
Hint = 4;
|
|
}
|
|
optional string data = 12;
|
|
}
|
|
|
|
message Operation {
|
|
oneof variant {
|
|
Edit edit = 1;
|
|
Undo undo = 2;
|
|
UpdateSelections update_selections = 3;
|
|
UpdateDiagnostics update_diagnostics = 4;
|
|
UpdateCompletionTriggers update_completion_triggers = 5;
|
|
}
|
|
|
|
message Edit {
|
|
uint32 replica_id = 1;
|
|
uint32 lamport_timestamp = 2;
|
|
repeated VectorClockEntry version = 3;
|
|
repeated Range ranges = 4;
|
|
repeated string new_text = 5;
|
|
}
|
|
|
|
message Undo {
|
|
uint32 replica_id = 1;
|
|
uint32 lamport_timestamp = 2;
|
|
repeated VectorClockEntry version = 3;
|
|
repeated UndoCount counts = 4;
|
|
}
|
|
|
|
message UpdateSelections {
|
|
uint32 replica_id = 1;
|
|
uint32 lamport_timestamp = 2;
|
|
repeated Selection selections = 3;
|
|
bool line_mode = 4;
|
|
CursorShape cursor_shape = 5;
|
|
}
|
|
|
|
message UpdateCompletionTriggers {
|
|
uint32 replica_id = 1;
|
|
uint32 lamport_timestamp = 2;
|
|
repeated string triggers = 3;
|
|
uint64 language_server_id = 4;
|
|
}
|
|
}
|
|
|
|
message UndoMapEntry {
|
|
uint32 replica_id = 1;
|
|
uint32 local_timestamp = 2;
|
|
repeated UndoCount counts = 3;
|
|
}
|
|
|
|
message UndoCount {
|
|
uint32 replica_id = 1;
|
|
uint32 lamport_timestamp = 2;
|
|
uint32 count = 3;
|
|
}
|
|
|
|
message VectorClockEntry {
|
|
uint32 replica_id = 1;
|
|
uint32 timestamp = 2;
|
|
}
|
|
|
|
message Timestamp {
|
|
uint64 seconds = 1;
|
|
uint32 nanos = 2;
|
|
}
|
|
|
|
message Range {
|
|
uint64 start = 1;
|
|
uint64 end = 2;
|
|
}
|
|
|
|
message PointUtf16 {
|
|
uint32 row = 1;
|
|
uint32 column = 2;
|
|
}
|
|
|
|
message Nonce {
|
|
uint64 upper_half = 1;
|
|
uint64 lower_half = 2;
|
|
}
|
|
|
|
enum ChannelVisibility {
|
|
Public = 0;
|
|
Members = 1;
|
|
}
|
|
|
|
message Channel {
|
|
uint64 id = 1;
|
|
string name = 2;
|
|
ChannelVisibility visibility = 3;
|
|
repeated uint64 parent_path = 5;
|
|
}
|
|
|
|
message Contact {
|
|
uint64 user_id = 1;
|
|
bool online = 2;
|
|
bool busy = 3;
|
|
}
|
|
|
|
message WorktreeMetadata {
|
|
uint64 id = 1;
|
|
string root_name = 2;
|
|
bool visible = 3;
|
|
string abs_path = 4;
|
|
}
|
|
|
|
message UpdateDiffBases {
|
|
uint64 project_id = 1;
|
|
uint64 buffer_id = 2;
|
|
|
|
enum Mode {
|
|
// No collaborator is using the unstaged diff.
|
|
HEAD_ONLY = 0;
|
|
// No collaborator is using the diff from HEAD.
|
|
INDEX_ONLY = 1;
|
|
// Both the unstaged and uncommitted diffs are demanded,
|
|
// and the contents of the index and HEAD are the same for this path.
|
|
INDEX_MATCHES_HEAD = 2;
|
|
// Both the unstaged and uncommitted diffs are demanded,
|
|
// and the contents of the index and HEAD differ for this path,
|
|
// where None means the path doesn't exist in that state of the repo.
|
|
INDEX_AND_HEAD = 3;
|
|
}
|
|
|
|
optional string staged_text = 3;
|
|
optional string committed_text = 4;
|
|
Mode mode = 5;
|
|
}
|
|
|
|
message OpenUnstagedDiff {
|
|
uint64 project_id = 1;
|
|
uint64 buffer_id = 2;
|
|
}
|
|
|
|
message OpenUnstagedDiffResponse {
|
|
optional string staged_text = 1;
|
|
}
|
|
|
|
message OpenUncommittedDiff {
|
|
uint64 project_id = 1;
|
|
uint64 buffer_id = 2;
|
|
}
|
|
|
|
message OpenUncommittedDiffResponse {
|
|
enum Mode {
|
|
INDEX_MATCHES_HEAD = 0;
|
|
INDEX_AND_HEAD = 1;
|
|
}
|
|
optional string staged_text = 1;
|
|
optional string committed_text = 2;
|
|
Mode mode = 3;
|
|
}
|
|
|
|
message SetIndexText {
|
|
uint64 project_id = 1;
|
|
reserved 2;
|
|
uint64 repository_id = 3;
|
|
string path = 4;
|
|
optional string text = 5;
|
|
}
|
|
|
|
message GetNotifications {
|
|
optional uint64 before_id = 1;
|
|
}
|
|
|
|
message AddNotification {
|
|
Notification notification = 1;
|
|
}
|
|
|
|
message GetNotificationsResponse {
|
|
repeated Notification notifications = 1;
|
|
bool done = 2;
|
|
}
|
|
|
|
message DeleteNotification {
|
|
uint64 notification_id = 1;
|
|
}
|
|
|
|
message UpdateNotification {
|
|
Notification notification = 1;
|
|
}
|
|
|
|
message MarkNotificationRead {
|
|
uint64 notification_id = 1;
|
|
}
|
|
|
|
message Notification {
|
|
uint64 id = 1;
|
|
uint64 timestamp = 2;
|
|
string kind = 3;
|
|
optional uint64 entity_id = 4;
|
|
string content = 5;
|
|
bool is_read = 6;
|
|
optional bool response = 7;
|
|
}
|
|
|
|
message LspExtExpandMacro {
|
|
uint64 project_id = 1;
|
|
uint64 buffer_id = 2;
|
|
Anchor position = 3;
|
|
}
|
|
|
|
message LspExtExpandMacroResponse {
|
|
string name = 1;
|
|
string expansion = 2;
|
|
}
|
|
|
|
message LspExtOpenDocs {
|
|
uint64 project_id = 1;
|
|
uint64 buffer_id = 2;
|
|
Anchor position = 3;
|
|
}
|
|
|
|
message LspExtOpenDocsResponse {
|
|
optional string web = 1;
|
|
optional string local = 2;
|
|
}
|
|
|
|
message LspExtSwitchSourceHeader {
|
|
uint64 project_id = 1;
|
|
uint64 buffer_id = 2;
|
|
}
|
|
|
|
message LspExtSwitchSourceHeaderResponse {
|
|
string target_file = 1;
|
|
}
|
|
|
|
message SetRoomParticipantRole {
|
|
uint64 room_id = 1;
|
|
uint64 user_id = 2;
|
|
ChannelRole role = 3;
|
|
}
|
|
|
|
enum LanguageModelRole {
|
|
LanguageModelUser = 0;
|
|
LanguageModelAssistant = 1;
|
|
LanguageModelSystem = 2;
|
|
reserved 3;
|
|
}
|
|
|
|
message CountLanguageModelTokens {
|
|
LanguageModelProvider provider = 1;
|
|
string request = 2;
|
|
}
|
|
|
|
message CountLanguageModelTokensResponse {
|
|
uint32 token_count = 1;
|
|
}
|
|
|
|
enum LanguageModelProvider {
|
|
Anthropic = 0;
|
|
OpenAI = 1;
|
|
Google = 2;
|
|
Zed = 3;
|
|
}
|
|
|
|
message GetCachedEmbeddings {
|
|
string model = 1;
|
|
repeated bytes digests = 2;
|
|
}
|
|
|
|
message GetCachedEmbeddingsResponse {
|
|
repeated Embedding embeddings = 1;
|
|
}
|
|
|
|
message ComputeEmbeddings {
|
|
string model = 1;
|
|
repeated string texts = 2;
|
|
}
|
|
|
|
message ComputeEmbeddingsResponse {
|
|
repeated Embedding embeddings = 1;
|
|
}
|
|
|
|
message Embedding {
|
|
bytes digest = 1;
|
|
repeated float dimensions = 2;
|
|
}
|
|
|
|
message BlameBuffer {
|
|
uint64 project_id = 1;
|
|
uint64 buffer_id = 2;
|
|
repeated VectorClockEntry version = 3;
|
|
}
|
|
|
|
message BlameEntry {
|
|
bytes sha = 1;
|
|
|
|
uint32 start_line = 2;
|
|
uint32 end_line = 3;
|
|
uint32 original_line_number = 4;
|
|
|
|
optional string author = 5;
|
|
optional string author_mail = 6;
|
|
optional int64 author_time = 7;
|
|
optional string author_tz = 8;
|
|
|
|
optional string committer = 9;
|
|
optional string committer_mail = 10;
|
|
optional int64 committer_time = 11;
|
|
optional string committer_tz = 12;
|
|
|
|
optional string summary = 13;
|
|
optional string previous = 14;
|
|
|
|
string filename = 15;
|
|
}
|
|
|
|
message CommitMessage {
|
|
bytes oid = 1;
|
|
string message = 2;
|
|
}
|
|
|
|
message CommitPermalink {
|
|
bytes oid = 1;
|
|
string permalink = 2;
|
|
}
|
|
|
|
message BlameBufferResponse {
|
|
message BlameResponse {
|
|
repeated BlameEntry entries = 1;
|
|
repeated CommitMessage messages = 2;
|
|
optional string remote_url = 4;
|
|
reserved 3;
|
|
}
|
|
|
|
optional BlameResponse blame_response = 5;
|
|
|
|
reserved 1 to 4;
|
|
}
|
|
|
|
message MultiLspQuery {
|
|
uint64 project_id = 1;
|
|
uint64 buffer_id = 2;
|
|
repeated VectorClockEntry version = 3;
|
|
oneof strategy {
|
|
AllLanguageServers all = 4;
|
|
}
|
|
oneof request {
|
|
GetHover get_hover = 5;
|
|
GetCodeActions get_code_actions = 6;
|
|
GetSignatureHelp get_signature_help = 7;
|
|
GetCodeLens get_code_lens = 8;
|
|
}
|
|
}
|
|
|
|
message AllLanguageServers {}
|
|
|
|
message RestartLanguageServers {
|
|
uint64 project_id = 1;
|
|
repeated uint64 buffer_ids = 2;
|
|
}
|
|
|
|
message StopLanguageServers {
|
|
uint64 project_id = 1;
|
|
repeated uint64 buffer_ids = 2;
|
|
}
|
|
|
|
message MultiLspQueryResponse {
|
|
repeated LspResponse responses = 1;
|
|
}
|
|
|
|
message LspResponse {
|
|
oneof response {
|
|
GetHoverResponse get_hover_response = 1;
|
|
GetCodeActionsResponse get_code_actions_response = 2;
|
|
GetSignatureHelpResponse get_signature_help_response = 3;
|
|
GetCodeLensResponse get_code_lens_response = 4;
|
|
}
|
|
}
|
|
|
|
message GetSupermavenApiKey {}
|
|
|
|
message GetSupermavenApiKeyResponse {
|
|
string api_key = 1;
|
|
}
|
|
|
|
message TaskContextForLocation {
|
|
uint64 project_id = 1;
|
|
Location location = 2;
|
|
map<string, string> task_variables = 3;
|
|
}
|
|
|
|
message TaskContext {
|
|
optional string cwd = 1;
|
|
map<string, string> task_variables = 2;
|
|
map<string, string> project_env = 3;
|
|
}
|
|
|
|
message Shell {
|
|
message WithArguments {
|
|
string program = 1;
|
|
repeated string args = 2;
|
|
}
|
|
|
|
oneof shell_type {
|
|
System system = 1;
|
|
string program = 2;
|
|
WithArguments with_arguments = 3;
|
|
}
|
|
}
|
|
|
|
message System {}
|
|
|
|
enum RevealStrategy {
|
|
RevealAlways = 0;
|
|
RevealNever = 1;
|
|
}
|
|
|
|
enum HideStrategy {
|
|
HideAlways = 0;
|
|
HideNever = 1;
|
|
HideOnSuccess = 2;
|
|
}
|
|
|
|
message ContextMessageStatus {
|
|
oneof variant {
|
|
Done done = 1;
|
|
Pending pending = 2;
|
|
Error error = 3;
|
|
Canceled canceled = 4;
|
|
}
|
|
|
|
message Done {}
|
|
|
|
message Pending {}
|
|
|
|
message Error {
|
|
string message = 1;
|
|
}
|
|
|
|
message Canceled {}
|
|
}
|
|
|
|
message ContextMessage {
|
|
LamportTimestamp id = 1;
|
|
Anchor start = 2;
|
|
LanguageModelRole role = 3;
|
|
ContextMessageStatus status = 4;
|
|
}
|
|
|
|
message SlashCommandOutputSection {
|
|
AnchorRange range = 1;
|
|
string icon_name = 2;
|
|
string label = 3;
|
|
optional string metadata = 4;
|
|
}
|
|
|
|
message ThoughtProcessOutputSection {
|
|
AnchorRange range = 1;
|
|
}
|
|
|
|
message ContextOperation {
|
|
oneof variant {
|
|
InsertMessage insert_message = 1;
|
|
UpdateMessage update_message = 2;
|
|
UpdateSummary update_summary = 3;
|
|
BufferOperation buffer_operation = 5;
|
|
SlashCommandStarted slash_command_started = 6;
|
|
SlashCommandOutputSectionAdded slash_command_output_section_added = 7;
|
|
SlashCommandCompleted slash_command_completed = 8;
|
|
ThoughtProcessOutputSectionAdded thought_process_output_section_added = 9;
|
|
}
|
|
|
|
reserved 4;
|
|
|
|
message InsertMessage {
|
|
ContextMessage message = 1;
|
|
repeated VectorClockEntry version = 2;
|
|
}
|
|
|
|
message UpdateMessage {
|
|
LamportTimestamp message_id = 1;
|
|
LanguageModelRole role = 2;
|
|
ContextMessageStatus status = 3;
|
|
LamportTimestamp timestamp = 4;
|
|
repeated VectorClockEntry version = 5;
|
|
}
|
|
|
|
message UpdateSummary {
|
|
string summary = 1;
|
|
bool done = 2;
|
|
LamportTimestamp timestamp = 3;
|
|
repeated VectorClockEntry version = 4;
|
|
}
|
|
|
|
message SlashCommandStarted {
|
|
LamportTimestamp id = 1;
|
|
AnchorRange output_range = 2;
|
|
string name = 3;
|
|
repeated VectorClockEntry version = 4;
|
|
}
|
|
|
|
message SlashCommandOutputSectionAdded {
|
|
LamportTimestamp timestamp = 1;
|
|
SlashCommandOutputSection section = 2;
|
|
repeated VectorClockEntry version = 3;
|
|
}
|
|
|
|
message SlashCommandCompleted {
|
|
LamportTimestamp id = 1;
|
|
LamportTimestamp timestamp = 3;
|
|
optional string error_message = 4;
|
|
repeated VectorClockEntry version = 5;
|
|
}
|
|
|
|
message ThoughtProcessOutputSectionAdded {
|
|
LamportTimestamp timestamp = 1;
|
|
ThoughtProcessOutputSection section = 2;
|
|
repeated VectorClockEntry version = 3;
|
|
}
|
|
|
|
message BufferOperation {
|
|
Operation operation = 1;
|
|
}
|
|
}
|
|
|
|
message Context {
|
|
repeated ContextOperation operations = 1;
|
|
}
|
|
|
|
message ContextMetadata {
|
|
string context_id = 1;
|
|
optional string summary = 2;
|
|
}
|
|
|
|
message AdvertiseContexts {
|
|
uint64 project_id = 1;
|
|
repeated ContextMetadata contexts = 2;
|
|
}
|
|
|
|
message OpenContext {
|
|
uint64 project_id = 1;
|
|
string context_id = 2;
|
|
}
|
|
|
|
message OpenContextResponse {
|
|
Context context = 1;
|
|
}
|
|
|
|
message CreateContext {
|
|
uint64 project_id = 1;
|
|
}
|
|
|
|
message CreateContextResponse {
|
|
string context_id = 1;
|
|
Context context = 2;
|
|
}
|
|
|
|
message UpdateContext {
|
|
uint64 project_id = 1;
|
|
string context_id = 2;
|
|
ContextOperation operation = 3;
|
|
}
|
|
|
|
message ContextVersion {
|
|
string context_id = 1;
|
|
repeated VectorClockEntry context_version = 2;
|
|
repeated VectorClockEntry buffer_version = 3;
|
|
}
|
|
|
|
message SynchronizeContexts {
|
|
uint64 project_id = 1;
|
|
repeated ContextVersion contexts = 2;
|
|
}
|
|
|
|
message SynchronizeContextsResponse {
|
|
repeated ContextVersion contexts = 1;
|
|
}
|
|
|
|
message GetLlmToken {}
|
|
|
|
message GetLlmTokenResponse {
|
|
string token = 1;
|
|
}
|
|
|
|
message RefreshLlmToken {}
|
|
|
|
// Remote debugging
|
|
|
|
enum BreakpointState {
|
|
Enabled = 0;
|
|
Disabled = 1;
|
|
}
|
|
|
|
message Breakpoint {
|
|
Anchor position = 1;
|
|
BreakpointState state = 2;
|
|
reserved 3;
|
|
optional string message = 4;
|
|
optional string condition = 5;
|
|
optional string hit_condition = 6;
|
|
}
|
|
|
|
message BreakpointsForFile {
|
|
uint64 project_id = 1;
|
|
string path = 2;
|
|
repeated Breakpoint breakpoints = 3;
|
|
}
|
|
|
|
message ToggleBreakpoint {
|
|
uint64 project_id = 1;
|
|
string path = 2;
|
|
Breakpoint breakpoint = 3;
|
|
}
|
|
|
|
enum DebuggerThreadItem {
|
|
Console = 0;
|
|
LoadedSource = 1;
|
|
Modules = 2;
|
|
Variables = 3;
|
|
}
|
|
|
|
message DebuggerSetVariableState {
|
|
string name = 1;
|
|
DapScope scope = 2;
|
|
string value = 3;
|
|
uint64 stack_frame_id = 4;
|
|
optional string evaluate_name = 5;
|
|
uint64 parent_variables_reference = 6;
|
|
}
|
|
|
|
message VariableListOpenEntry {
|
|
oneof entry {
|
|
DebuggerOpenEntryScope scope = 1;
|
|
DebuggerOpenEntryVariable variable = 2;
|
|
}
|
|
}
|
|
|
|
message DebuggerOpenEntryScope {
|
|
string name = 1;
|
|
}
|
|
|
|
message DebuggerOpenEntryVariable {
|
|
string scope_name = 1;
|
|
string name = 2;
|
|
uint64 depth = 3;
|
|
}
|
|
|
|
message VariableListEntrySetState {
|
|
uint64 depth = 1;
|
|
DebuggerSetVariableState state = 2;
|
|
}
|
|
|
|
message VariableListEntryVariable {
|
|
uint64 depth = 1;
|
|
DapScope scope = 2;
|
|
DapVariable variable = 3;
|
|
bool has_children = 4;
|
|
uint64 container_reference = 5;
|
|
}
|
|
|
|
message DebuggerScopeVariableIndex {
|
|
repeated uint64 fetched_ids = 1;
|
|
repeated DebuggerVariableContainer variables = 2;
|
|
}
|
|
|
|
message DebuggerVariableContainer {
|
|
uint64 container_reference = 1;
|
|
DapVariable variable = 2;
|
|
uint64 depth = 3;
|
|
}
|
|
|
|
enum DapThreadStatus {
|
|
Running = 0;
|
|
Stopped = 1;
|
|
Exited = 2;
|
|
Ended = 3;
|
|
}
|
|
|
|
message VariableListScopes {
|
|
uint64 stack_frame_id = 1;
|
|
repeated DapScope scopes = 2;
|
|
}
|
|
|
|
message VariableListVariables {
|
|
uint64 stack_frame_id = 1;
|
|
uint64 scope_id = 2;
|
|
DebuggerScopeVariableIndex variables = 3;
|
|
}
|
|
|
|
|
|
enum VariablesArgumentsFilter {
|
|
Indexed = 0;
|
|
Named = 1;
|
|
}
|
|
|
|
message ValueFormat {
|
|
optional bool hex = 1;
|
|
}
|
|
|
|
message VariablesRequest {
|
|
uint64 project_id = 1;
|
|
uint64 client_id = 2;
|
|
uint64 variables_reference = 3;
|
|
optional VariablesArgumentsFilter filter = 4;
|
|
optional uint64 start = 5;
|
|
optional uint64 count = 6;
|
|
optional ValueFormat format = 7;
|
|
}
|
|
|
|
enum SteppingGranularity {
|
|
Statement = 0;
|
|
Line = 1;
|
|
Instruction = 2;
|
|
}
|
|
|
|
message DapLocationsRequest {
|
|
uint64 project_id = 1;
|
|
uint64 session_id = 2;
|
|
uint64 location_reference = 3;
|
|
}
|
|
|
|
message DapLocationsResponse {
|
|
DapSource source = 1;
|
|
uint64 line = 2;
|
|
optional uint64 column = 3;
|
|
optional uint64 end_line = 4;
|
|
optional uint64 end_column = 5;
|
|
}
|
|
|
|
enum DapEvaluateContext {
|
|
Repl = 0;
|
|
Watch = 1;
|
|
Hover = 2;
|
|
Clipboard = 3;
|
|
EvaluateVariables = 4;
|
|
EvaluateUnknown = 5;
|
|
}
|
|
|
|
message DapEvaluateRequest {
|
|
uint64 project_id = 1;
|
|
uint64 client_id = 2;
|
|
string expression = 3;
|
|
optional uint64 frame_id = 4;
|
|
optional DapEvaluateContext context = 5;
|
|
}
|
|
|
|
message DapEvaluateResponse {
|
|
string result = 1;
|
|
optional string evaluate_type = 2;
|
|
uint64 variable_reference = 3;
|
|
optional uint64 named_variables = 4;
|
|
optional uint64 indexed_variables = 5;
|
|
optional string memory_reference = 6;
|
|
}
|
|
|
|
|
|
message DapCompletionRequest {
|
|
uint64 project_id = 1;
|
|
uint64 client_id = 2;
|
|
string query = 3;
|
|
optional uint64 frame_id = 4;
|
|
optional uint64 line = 5;
|
|
uint64 column = 6;
|
|
}
|
|
|
|
enum DapCompletionItemType {
|
|
Method = 0;
|
|
Function = 1;
|
|
Constructor = 2;
|
|
Field = 3;
|
|
Variable = 4;
|
|
Class = 5;
|
|
Interface = 6;
|
|
Module = 7;
|
|
Property = 8;
|
|
Unit = 9;
|
|
Value = 10;
|
|
Enum = 11;
|
|
Keyword = 12;
|
|
Snippet = 13;
|
|
Text = 14;
|
|
Color = 15;
|
|
CompletionItemFile = 16;
|
|
Reference = 17;
|
|
Customcolor = 19;
|
|
}
|
|
|
|
message DapCompletionItem {
|
|
string label = 1;
|
|
optional string text = 2;
|
|
optional string sort_text = 3;
|
|
optional string detail = 4;
|
|
optional DapCompletionItemType typ = 5;
|
|
optional uint64 start = 6;
|
|
optional uint64 length = 7;
|
|
optional uint64 selection_start = 8;
|
|
optional uint64 selection_length = 9;
|
|
}
|
|
|
|
message DapCompletionResponse {
|
|
uint64 client_id = 1;
|
|
repeated DapCompletionItem completions = 2;
|
|
}
|
|
|
|
message DapScopesRequest {
|
|
uint64 project_id = 1;
|
|
uint64 client_id = 2;
|
|
uint64 stack_frame_id = 3;
|
|
}
|
|
|
|
message DapScopesResponse {
|
|
repeated DapScope scopes = 1;
|
|
}
|
|
|
|
message DapSetVariableValueRequest {
|
|
uint64 project_id = 1;
|
|
uint64 client_id = 2;
|
|
string name = 3;
|
|
string value = 4;
|
|
uint64 variables_reference = 5;
|
|
}
|
|
|
|
message DapSetVariableValueResponse {
|
|
uint64 client_id = 1;
|
|
string value = 2;
|
|
optional string variable_type = 3;
|
|
optional uint64 variables_reference = 4;
|
|
optional uint64 named_variables = 5;
|
|
optional uint64 indexed_variables = 6;
|
|
optional string memory_reference = 7;
|
|
}
|
|
|
|
message DapPauseRequest {
|
|
uint64 project_id = 1;
|
|
uint64 client_id = 2;
|
|
uint64 thread_id = 3;
|
|
}
|
|
|
|
message DapDisconnectRequest {
|
|
uint64 project_id = 1;
|
|
uint64 client_id = 2;
|
|
optional bool restart = 3;
|
|
optional bool terminate_debuggee = 4;
|
|
optional bool suspend_debuggee = 5;
|
|
}
|
|
|
|
message DapTerminateThreadsRequest {
|
|
uint64 project_id = 1;
|
|
uint64 client_id = 2;
|
|
repeated uint64 thread_ids = 3;
|
|
}
|
|
|
|
message DapThreadsRequest {
|
|
uint64 project_id = 1;
|
|
uint64 client_id = 2;
|
|
}
|
|
|
|
message DapThreadsResponse {
|
|
repeated DapThread threads = 1;
|
|
}
|
|
|
|
message DapTerminateRequest {
|
|
uint64 project_id = 1;
|
|
uint64 client_id = 2;
|
|
optional bool restart = 3;
|
|
}
|
|
|
|
message DapRestartRequest {
|
|
uint64 project_id = 1;
|
|
uint64 client_id = 2;
|
|
bytes raw_args = 3;
|
|
}
|
|
|
|
message DapRestartStackFrameRequest {
|
|
uint64 project_id = 1;
|
|
uint64 client_id = 2;
|
|
uint64 stack_frame_id = 3;
|
|
}
|
|
|
|
message ToggleIgnoreBreakpoints {
|
|
uint64 project_id = 1;
|
|
uint32 session_id = 2;
|
|
}
|
|
|
|
message IgnoreBreakpointState {
|
|
uint64 project_id = 1;
|
|
uint64 session_id = 2;
|
|
bool ignore = 3;
|
|
}
|
|
|
|
message DapNextRequest {
|
|
uint64 project_id = 1;
|
|
uint64 client_id = 2;
|
|
uint64 thread_id = 3;
|
|
optional bool single_thread = 4;
|
|
optional SteppingGranularity granularity = 5;
|
|
}
|
|
|
|
message DapStepInRequest {
|
|
uint64 project_id = 1;
|
|
uint64 client_id = 2;
|
|
uint64 thread_id = 3;
|
|
optional uint64 target_id = 4;
|
|
optional bool single_thread = 5;
|
|
optional SteppingGranularity granularity = 6;
|
|
}
|
|
|
|
message DapStepOutRequest {
|
|
uint64 project_id = 1;
|
|
uint64 client_id = 2;
|
|
uint64 thread_id = 3;
|
|
optional bool single_thread = 4;
|
|
optional SteppingGranularity granularity = 5;
|
|
}
|
|
|
|
message DapStepBackRequest {
|
|
uint64 project_id = 1;
|
|
uint64 client_id = 2;
|
|
uint64 thread_id = 3;
|
|
optional bool single_thread = 4;
|
|
optional SteppingGranularity granularity = 5;
|
|
}
|
|
|
|
message DapContinueRequest {
|
|
uint64 project_id = 1;
|
|
uint64 client_id = 2;
|
|
uint64 thread_id = 3;
|
|
optional bool single_thread = 4;
|
|
}
|
|
|
|
message DapContinueResponse {
|
|
uint64 client_id = 1;
|
|
optional bool all_threads_continued = 2;
|
|
}
|
|
|
|
message DapModulesRequest {
|
|
uint64 project_id = 1;
|
|
uint64 client_id = 2;
|
|
}
|
|
|
|
message DapModulesResponse {
|
|
uint64 client_id = 1;
|
|
repeated DapModule modules = 2;
|
|
}
|
|
|
|
message DapLoadedSourcesRequest {
|
|
uint64 project_id = 1;
|
|
uint64 client_id = 2;
|
|
}
|
|
|
|
message DapLoadedSourcesResponse {
|
|
uint64 client_id = 1;
|
|
repeated DapSource sources = 2;
|
|
}
|
|
|
|
message DapStackTraceRequest {
|
|
uint64 project_id = 1;
|
|
uint64 client_id = 2;
|
|
uint64 thread_id = 3;
|
|
optional uint64 start_frame = 4;
|
|
optional uint64 stack_trace_levels = 5;
|
|
}
|
|
|
|
message DapStackTraceResponse {
|
|
repeated DapStackFrame frames = 1;
|
|
}
|
|
|
|
message DapStackFrame {
|
|
uint64 id = 1;
|
|
string name = 2;
|
|
optional DapSource source = 3;
|
|
uint64 line = 4;
|
|
uint64 column = 5;
|
|
optional uint64 end_line = 6;
|
|
optional uint64 end_column = 7;
|
|
optional bool can_restart = 8;
|
|
optional string instruction_pointer_reference = 9;
|
|
optional DapModuleId module_id = 10;
|
|
optional DapStackPresentationHint presentation_hint = 11;
|
|
}
|
|
|
|
message DebuggerLoadedSourceList {
|
|
uint64 client_id = 1;
|
|
repeated DapSource sources = 2;
|
|
}
|
|
|
|
message DapVariables {
|
|
uint64 client_id = 1;
|
|
repeated DapVariable variables = 2;
|
|
}
|
|
|
|
// Remote Debugging: Dap Types
|
|
message DapVariable {
|
|
string name = 1;
|
|
string value = 2;
|
|
optional string type = 3;
|
|
// optional DapVariablePresentationHint presentation_hint = 4;
|
|
optional string evaluate_name = 5;
|
|
uint64 variables_reference = 6;
|
|
optional uint64 named_variables = 7;
|
|
optional uint64 indexed_variables = 8;
|
|
optional string memory_reference = 9;
|
|
}
|
|
|
|
message DapThread {
|
|
uint64 id = 1;
|
|
string name = 2;
|
|
}
|
|
|
|
message DapScope {
|
|
string name = 1;
|
|
optional DapScopePresentationHint presentation_hint = 2;
|
|
uint64 variables_reference = 3;
|
|
optional uint64 named_variables = 4;
|
|
optional uint64 indexed_variables = 5;
|
|
bool expensive = 6;
|
|
optional DapSource source = 7;
|
|
optional uint64 line = 8;
|
|
optional uint64 column = 9;
|
|
optional uint64 end_line = 10;
|
|
optional uint64 end_column = 11;
|
|
}
|
|
|
|
message DapSource {
|
|
optional string name = 1;
|
|
optional string path = 2;
|
|
optional uint64 source_reference = 3;
|
|
optional DapSourcePresentationHint presentation_hint = 4;
|
|
optional string origin = 5;
|
|
repeated DapSource sources = 6;
|
|
optional bytes adapter_data = 7;
|
|
repeated DapChecksum checksums = 8;
|
|
}
|
|
|
|
enum DapOutputCategory {
|
|
ConsoleOutput = 0;
|
|
Important = 1;
|
|
Stdout = 2;
|
|
Stderr = 3;
|
|
Unknown = 4;
|
|
}
|
|
|
|
enum DapOutputEventGroup {
|
|
Start = 0;
|
|
StartCollapsed = 1;
|
|
End = 2;
|
|
}
|
|
|
|
message DapOutputEvent {
|
|
string output = 1;
|
|
optional DapOutputCategory category = 2;
|
|
optional uint64 variables_reference = 3;
|
|
optional DapOutputEventGroup group = 4;
|
|
optional DapSource source = 5;
|
|
optional uint32 line = 6;
|
|
optional uint32 column = 7;
|
|
}
|
|
|
|
enum DapChecksumAlgorithm {
|
|
CHECKSUM_ALGORITHM_UNSPECIFIED = 0;
|
|
MD5 = 1;
|
|
SHA1 = 2;
|
|
SHA256 = 3;
|
|
TIMESTAMP = 4;
|
|
}
|
|
|
|
message DapChecksum {
|
|
DapChecksumAlgorithm algorithm = 1;
|
|
string checksum = 2;
|
|
}
|
|
|
|
enum DapScopePresentationHint {
|
|
Arguments = 0;
|
|
Locals = 1;
|
|
Registers = 2;
|
|
ReturnValue = 3;
|
|
ScopeUnknown = 4;
|
|
}
|
|
|
|
enum DapSourcePresentationHint {
|
|
SourceNormal = 0;
|
|
Emphasize = 1;
|
|
Deemphasize = 2;
|
|
SourceUnknown = 3;
|
|
}
|
|
|
|
enum DapStackPresentationHint {
|
|
StackNormal = 0;
|
|
Label = 1;
|
|
Subtle = 2;
|
|
StackUnknown = 3;
|
|
}
|
|
|
|
message DapModule {
|
|
DapModuleId id = 1;
|
|
string name = 2;
|
|
optional string path = 3;
|
|
optional bool is_optimized = 4;
|
|
optional bool is_user_code = 5;
|
|
optional string version = 6;
|
|
optional string symbol_status = 7;
|
|
optional string symbol_file_path = 8;
|
|
optional string date_time_stamp = 9;
|
|
optional string address_range = 10;
|
|
}
|
|
|
|
message DapModuleId {
|
|
oneof id {
|
|
uint32 number = 1;
|
|
string string = 2;
|
|
}
|
|
}
|
|
|
|
// Remote FS
|
|
|
|
message AddWorktree {
|
|
string path = 1;
|
|
uint64 project_id = 2;
|
|
bool visible = 3;
|
|
}
|
|
|
|
message AddWorktreeResponse {
|
|
uint64 worktree_id = 1;
|
|
string canonicalized_path = 2;
|
|
}
|
|
|
|
message GetPathMetadata {
|
|
uint64 project_id = 1;
|
|
string path = 2;
|
|
}
|
|
|
|
message GetPathMetadataResponse {
|
|
bool exists = 1;
|
|
string path = 2;
|
|
bool is_dir = 3;
|
|
}
|
|
|
|
message ShutdownRemoteServer {}
|
|
|
|
message RemoveWorktree {
|
|
uint64 worktree_id = 1;
|
|
}
|
|
|
|
message Toast {
|
|
uint64 project_id = 1;
|
|
string notification_id = 2;
|
|
string message = 3;
|
|
}
|
|
|
|
message HideToast {
|
|
uint64 project_id = 1;
|
|
string notification_id = 2;
|
|
}
|
|
|
|
message OpenServerSettings {
|
|
uint64 project_id = 1;
|
|
}
|
|
|
|
message GetPermalinkToLine {
|
|
uint64 project_id = 1;
|
|
uint64 buffer_id = 2;
|
|
Range selection = 3;
|
|
}
|
|
|
|
message GetPermalinkToLineResponse {
|
|
string permalink = 1;
|
|
}
|
|
message FlushBufferedMessages {}
|
|
message FlushBufferedMessagesResponse {}
|
|
|
|
message LanguageServerPromptRequest {
|
|
uint64 project_id = 1;
|
|
|
|
oneof level {
|
|
Info info = 2;
|
|
Warning warning = 3;
|
|
Critical critical = 4;
|
|
}
|
|
|
|
message Info {}
|
|
message Warning {}
|
|
message Critical {}
|
|
|
|
string message = 5;
|
|
repeated string actions = 6;
|
|
string lsp_name = 7;
|
|
}
|
|
|
|
message LanguageServerPromptResponse {
|
|
optional uint64 action_response = 1;
|
|
}
|
|
|
|
message ListToolchains {
|
|
uint64 project_id = 1;
|
|
uint64 worktree_id = 2;
|
|
string language_name = 3;
|
|
optional string path = 4;
|
|
}
|
|
|
|
message Toolchain {
|
|
string name = 1;
|
|
string path = 2;
|
|
string raw_json = 3;
|
|
}
|
|
|
|
message ToolchainGroup {
|
|
uint64 start_index = 1;
|
|
string name = 2;
|
|
}
|
|
|
|
message ListToolchainsResponse {
|
|
repeated Toolchain toolchains = 1;
|
|
bool has_values = 2;
|
|
repeated ToolchainGroup groups = 3;
|
|
}
|
|
|
|
message ActivateToolchain {
|
|
uint64 project_id = 1;
|
|
uint64 worktree_id = 2;
|
|
Toolchain toolchain = 3;
|
|
string language_name = 4;
|
|
optional string path = 5;
|
|
}
|
|
|
|
message ActiveToolchain {
|
|
uint64 project_id = 1;
|
|
uint64 worktree_id = 2;
|
|
string language_name = 3;
|
|
optional string path = 4;
|
|
}
|
|
|
|
message ActiveToolchainResponse {
|
|
optional Toolchain toolchain = 1;
|
|
}
|
|
|
|
message CommitSummary {
|
|
string sha = 1;
|
|
string subject = 2;
|
|
int64 commit_timestamp = 3;
|
|
}
|
|
|
|
message Branch {
|
|
bool is_head = 1;
|
|
string name = 2;
|
|
optional uint64 unix_timestamp = 3;
|
|
optional GitUpstream upstream = 4;
|
|
optional CommitSummary most_recent_commit = 5;
|
|
}
|
|
message GitUpstream {
|
|
string ref_name = 1;
|
|
optional UpstreamTracking tracking = 2;
|
|
}
|
|
message UpstreamTracking {
|
|
uint64 ahead = 1;
|
|
uint64 behind = 2;
|
|
}
|
|
|
|
message GitBranches {
|
|
uint64 project_id = 1;
|
|
ProjectPath repository = 2;
|
|
}
|
|
|
|
message GitBranchesResponse {
|
|
repeated Branch branches = 1;
|
|
}
|
|
|
|
message UpdateGitBranch {
|
|
uint64 project_id = 1;
|
|
string branch_name = 2;
|
|
ProjectPath repository = 3;
|
|
}
|
|
|
|
message GetPanicFiles {
|
|
}
|
|
|
|
message GitShow {
|
|
uint64 project_id = 1;
|
|
reserved 2;
|
|
uint64 repository_id = 3;
|
|
string commit = 4;
|
|
}
|
|
|
|
message GitCommitDetails {
|
|
string sha = 1;
|
|
string message = 2;
|
|
int64 commit_timestamp = 3;
|
|
string author_email = 4;
|
|
string author_name = 5;
|
|
}
|
|
|
|
message LoadCommitDiff {
|
|
uint64 project_id = 1;
|
|
reserved 2;
|
|
uint64 repository_id = 3;
|
|
string commit = 4;
|
|
}
|
|
|
|
message LoadCommitDiffResponse {
|
|
repeated CommitFile files = 1;
|
|
}
|
|
|
|
message CommitFile {
|
|
string path = 1;
|
|
optional string old_text = 2;
|
|
optional string new_text = 3;
|
|
}
|
|
|
|
message GitReset {
|
|
uint64 project_id = 1;
|
|
reserved 2;
|
|
uint64 repository_id = 3;
|
|
string commit = 4;
|
|
ResetMode mode = 5;
|
|
enum ResetMode {
|
|
SOFT = 0;
|
|
MIXED = 1;
|
|
}
|
|
}
|
|
|
|
message GitCheckoutFiles {
|
|
uint64 project_id = 1;
|
|
reserved 2;
|
|
uint64 repository_id = 3;
|
|
string commit = 4;
|
|
repeated string paths = 5;
|
|
}
|
|
|
|
message GetPanicFilesResponse {
|
|
repeated string file_contents = 2;
|
|
}
|
|
|
|
message CancelLanguageServerWork {
|
|
uint64 project_id = 1;
|
|
|
|
oneof work {
|
|
Buffers buffers = 2;
|
|
LanguageServerWork language_server_work = 3;
|
|
}
|
|
|
|
message Buffers {
|
|
repeated uint64 buffer_ids = 2;
|
|
}
|
|
|
|
message LanguageServerWork {
|
|
uint64 language_server_id = 1;
|
|
optional string token = 2;
|
|
}
|
|
}
|
|
|
|
message Extension {
|
|
string id = 1;
|
|
string version = 2;
|
|
bool dev = 3;
|
|
}
|
|
|
|
message SyncExtensions {
|
|
repeated Extension extensions = 1;
|
|
}
|
|
|
|
message SyncExtensionsResponse {
|
|
string tmp_dir = 1;
|
|
repeated Extension missing_extensions = 2;
|
|
}
|
|
|
|
message InstallExtension {
|
|
Extension extension = 1;
|
|
string tmp_dir = 2;
|
|
}
|
|
|
|
message RegisterBufferWithLanguageServers{
|
|
uint64 project_id = 1;
|
|
uint64 buffer_id = 2;
|
|
}
|
|
|
|
message Stage {
|
|
uint64 project_id = 1;
|
|
reserved 2;
|
|
uint64 repository_id = 3;
|
|
repeated string paths = 4;
|
|
}
|
|
|
|
message Unstage {
|
|
uint64 project_id = 1;
|
|
reserved 2;
|
|
uint64 repository_id = 3;
|
|
repeated string paths = 4;
|
|
}
|
|
|
|
message Commit {
|
|
uint64 project_id = 1;
|
|
reserved 2;
|
|
uint64 repository_id = 3;
|
|
optional string name = 4;
|
|
optional string email = 5;
|
|
string message = 6;
|
|
}
|
|
|
|
message OpenCommitMessageBuffer {
|
|
uint64 project_id = 1;
|
|
reserved 2;
|
|
uint64 repository_id = 3;
|
|
}
|
|
|
|
message Push {
|
|
uint64 project_id = 1;
|
|
reserved 2;
|
|
uint64 repository_id = 3;
|
|
string remote_name = 4;
|
|
string branch_name = 5;
|
|
optional PushOptions options = 6;
|
|
uint64 askpass_id = 7;
|
|
|
|
enum PushOptions {
|
|
SET_UPSTREAM = 0;
|
|
FORCE = 1;
|
|
}
|
|
}
|
|
|
|
message Fetch {
|
|
uint64 project_id = 1;
|
|
reserved 2;
|
|
uint64 repository_id = 3;
|
|
uint64 askpass_id = 4;
|
|
}
|
|
|
|
message GetRemotes {
|
|
uint64 project_id = 1;
|
|
reserved 2;
|
|
uint64 repository_id = 3;
|
|
optional string branch_name = 4;
|
|
}
|
|
|
|
message GetRemotesResponse {
|
|
repeated Remote remotes = 1;
|
|
|
|
message Remote {
|
|
string name = 1;
|
|
}
|
|
}
|
|
|
|
message Pull {
|
|
uint64 project_id = 1;
|
|
reserved 2;
|
|
uint64 repository_id = 3;
|
|
string remote_name = 4;
|
|
string branch_name = 5;
|
|
uint64 askpass_id = 6;
|
|
}
|
|
|
|
message RemoteMessageResponse {
|
|
string stdout = 1;
|
|
string stderr = 2;
|
|
}
|
|
|
|
message AskPassRequest {
|
|
uint64 project_id = 1;
|
|
reserved 2;
|
|
uint64 repository_id = 3;
|
|
uint64 askpass_id = 4;
|
|
string prompt = 5;
|
|
}
|
|
|
|
message AskPassResponse {
|
|
string response = 1;
|
|
}
|
|
|
|
message GitGetBranches {
|
|
uint64 project_id = 1;
|
|
reserved 2;
|
|
uint64 repository_id = 3;
|
|
}
|
|
|
|
message GitCreateBranch {
|
|
uint64 project_id = 1;
|
|
reserved 2;
|
|
uint64 repository_id = 3;
|
|
string branch_name = 4;
|
|
}
|
|
|
|
message GitChangeBranch {
|
|
uint64 project_id = 1;
|
|
reserved 2;
|
|
uint64 repository_id = 3;
|
|
string branch_name = 4;
|
|
}
|
|
|
|
message CheckForPushedCommits {
|
|
uint64 project_id = 1;
|
|
reserved 2;
|
|
uint64 repository_id = 3;
|
|
}
|
|
|
|
message CheckForPushedCommitsResponse {
|
|
repeated string pushed_to = 1;
|
|
}
|
|
|
|
message GitDiff {
|
|
uint64 project_id = 1;
|
|
reserved 2;
|
|
uint64 repository_id = 3;
|
|
DiffType diff_type = 4;
|
|
|
|
enum DiffType {
|
|
HEAD_TO_WORKTREE = 0;
|
|
HEAD_TO_INDEX = 1;
|
|
}
|
|
}
|
|
|
|
message GitDiffResponse {
|
|
string diff = 1;
|
|
}
|
|
|
|
message GitInit {
|
|
uint64 project_id = 1;
|
|
string abs_path = 2;
|
|
string fallback_branch_name = 3;
|
|
}
|
|
|
|
message LanguageServerIdForName {
|
|
uint64 project_id = 1;
|
|
uint64 buffer_id = 2;
|
|
string name = 3;
|
|
}
|
|
|
|
message LanguageServerIdForNameResponse {
|
|
optional uint64 server_id = 1;
|
|
}
|