worktree.proto

  1syntax = "proto3";
  2package zed.messages;
  3
  4message Timestamp {
  5    uint64 seconds = 1;
  6    uint32 nanos = 2;
  7}
  8
  9message File {
 10    uint64 worktree_id = 1;
 11    optional uint64 entry_id = 2;
 12    string path = 3;
 13    Timestamp mtime = 4;
 14    bool is_deleted = 5;
 15}
 16
 17message Entry {
 18    uint64 id = 1;
 19    bool is_dir = 2;
 20    string path = 3;
 21    uint64 inode = 4;
 22    Timestamp mtime = 5;
 23    bool is_ignored = 7;
 24    bool is_external = 8;
 25    reserved 6;
 26    reserved 9;
 27    bool is_fifo = 10;
 28    optional uint64 size = 11;
 29    optional string canonical_path = 12;
 30    bool is_hidden = 13;
 31}
 32
 33message AddWorktree {
 34    string path = 1;
 35    uint64 project_id = 2;
 36    bool visible = 3;
 37}
 38
 39message AddWorktreeResponse {
 40    uint64 worktree_id = 1;
 41    string canonicalized_path = 2;
 42}
 43
 44message RemoveWorktree {
 45    uint64 worktree_id = 1;
 46}
 47
 48message GetPathMetadata {
 49    uint64 project_id = 1;
 50    string path = 2;
 51}
 52
 53message GetPathMetadataResponse {
 54    bool exists = 1;
 55    string path = 2;
 56    bool is_dir = 3;
 57}
 58
 59message WorktreeMetadata {
 60    uint64 id = 1;
 61    string root_name = 2;
 62    bool visible = 3;
 63    string abs_path = 4;
 64}
 65
 66message ProjectPath {
 67    uint64 worktree_id = 1;
 68    string path = 2;
 69}
 70
 71message ListRemoteDirectoryConfig {
 72    bool is_dir = 1;
 73}
 74
 75message ListRemoteDirectory {
 76    uint64 dev_server_id = 1;
 77    string path = 2;
 78    ListRemoteDirectoryConfig config = 3;
 79}
 80
 81message EntryInfo {
 82    bool is_dir = 1;
 83}
 84
 85message ListRemoteDirectoryResponse {
 86    repeated string entries = 1;
 87    repeated EntryInfo entry_info = 2;
 88}
 89
 90message CreateProjectEntry {
 91    uint64 project_id = 1;
 92    uint64 worktree_id = 2;
 93    string path = 3;
 94    bool is_directory = 4;
 95    optional bytes content = 5;
 96}
 97
 98message RenameProjectEntry {
 99    uint64 project_id = 1;
100    uint64 entry_id = 2;
101    string new_path = 3;
102    uint64 new_worktree_id = 4;
103}
104
105message CopyProjectEntry {
106    uint64 project_id = 1;
107    uint64 entry_id = 2;
108    string new_path = 3;
109    uint64 new_worktree_id = 5;
110    reserved 4;
111}
112
113message DeleteProjectEntry {
114    uint64 project_id = 1;
115    uint64 entry_id = 2;
116    bool use_trash = 3;
117}
118
119message ExpandProjectEntry {
120    uint64 project_id = 1;
121    uint64 entry_id = 2;
122}
123
124message ExpandProjectEntryResponse {
125    uint64 worktree_scan_id = 1;
126}
127
128message ExpandAllForProjectEntry {
129    uint64 project_id = 1;
130    uint64 entry_id = 2;
131}
132
133message ExpandAllForProjectEntryResponse {
134    uint64 worktree_scan_id = 1;
135}
136
137message ProjectEntryResponse {
138    optional Entry entry = 1;
139    uint64 worktree_scan_id = 2;
140}
141
142message UpdateWorktreeSettings {
143    uint64 project_id = 1;
144    uint64 worktree_id = 2;
145    string path = 3;
146    optional string content = 4;
147    optional LocalSettingsKind kind = 5;
148}
149
150enum LocalSettingsKind {
151    Settings = 0;
152    Tasks = 1;
153    Editorconfig = 2;
154    Debug = 3;
155}
156
157message UpdateUserSettings {
158    uint64 project_id = 1;
159    string contents = 2;
160}