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}
 31
 32message AddWorktree {
 33    string path = 1;
 34    uint64 project_id = 2;
 35    bool visible = 3;
 36}
 37
 38message AddWorktreeResponse {
 39    uint64 worktree_id = 1;
 40    string canonicalized_path = 2;
 41}
 42
 43message RemoveWorktree {
 44    uint64 worktree_id = 1;
 45}
 46
 47message GetPathMetadata {
 48    uint64 project_id = 1;
 49    string path = 2;
 50}
 51
 52message GetPathMetadataResponse {
 53    bool exists = 1;
 54    string path = 2;
 55    bool is_dir = 3;
 56}
 57
 58message WorktreeMetadata {
 59    uint64 id = 1;
 60    string root_name = 2;
 61    bool visible = 3;
 62    string abs_path = 4;
 63}
 64
 65message ProjectPath {
 66    uint64 worktree_id = 1;
 67    string path = 2;
 68}
 69
 70message ListRemoteDirectoryConfig {
 71    bool is_dir = 1;
 72}
 73
 74message ListRemoteDirectory {
 75    uint64 dev_server_id = 1;
 76    string path = 2;
 77    ListRemoteDirectoryConfig config = 3;
 78}
 79
 80message EntryInfo {
 81    bool is_dir = 1;
 82}
 83
 84message ListRemoteDirectoryResponse {
 85    repeated string entries = 1;
 86    repeated EntryInfo entry_info = 2;
 87}
 88
 89message CreateProjectEntry {
 90    uint64 project_id = 1;
 91    uint64 worktree_id = 2;
 92    string path = 3;
 93    bool is_directory = 4;
 94}
 95
 96message RenameProjectEntry {
 97    uint64 project_id = 1;
 98    uint64 entry_id = 2;
 99    string new_path = 3;
100}
101
102message CopyProjectEntry {
103    uint64 project_id = 1;
104    uint64 entry_id = 2;
105    string new_path = 3;
106    optional string relative_worktree_source_path = 4;
107}
108
109message DeleteProjectEntry {
110    uint64 project_id = 1;
111    uint64 entry_id = 2;
112    bool use_trash = 3;
113}
114
115message ExpandProjectEntry {
116    uint64 project_id = 1;
117    uint64 entry_id = 2;
118}
119
120message ExpandProjectEntryResponse {
121    uint64 worktree_scan_id = 1;
122}
123
124message ExpandAllForProjectEntry {
125    uint64 project_id = 1;
126    uint64 entry_id = 2;
127}
128
129message ExpandAllForProjectEntryResponse {
130    uint64 worktree_scan_id = 1;
131}
132
133message ProjectEntryResponse {
134    optional Entry entry = 1;
135    uint64 worktree_scan_id = 2;
136}
137
138message UpdateWorktreeSettings {
139    uint64 project_id = 1;
140    uint64 worktree_id = 2;
141    string path = 3;
142    optional string content = 4;
143    optional LocalSettingsKind kind = 5;
144}
145
146enum LocalSettingsKind {
147    Settings = 0;
148    Tasks = 1;
149    Editorconfig = 2;
150}