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}