Collapse proto Point into the one kind of use case, utf-16 coords

Julia and Max Brunsfeld created

Co-Authored-By: Max Brunsfeld <max@zed.dev>

Change summary

crates/project/src/project.rs |  4 ++--
crates/rpc/proto/zed.proto    | 13 +++++--------
2 files changed, 7 insertions(+), 10 deletions(-)

Detailed changes

crates/project/src/project.rs 🔗

@@ -6064,11 +6064,11 @@ fn serialize_symbol(symbol: &Symbol) -> proto::Symbol {
         path: symbol.path.path.to_string_lossy().to_string(),
         name: symbol.name.clone(),
         kind: unsafe { mem::transmute(symbol.kind) },
-        start: Some(proto::UnclippedPoint {
+        start: Some(proto::PointUtf16 {
             row: symbol.range.start.0.row,
             column: symbol.range.start.0.column,
         }),
-        end: Some(proto::UnclippedPoint {
+        end: Some(proto::PointUtf16 {
             row: symbol.range.end.0.row,
             column: symbol.range.end.0.column,
         }),

crates/rpc/proto/zed.proto 🔗

@@ -412,8 +412,10 @@ message Symbol {
     string name = 4;
     int32 kind = 5;
     string path = 6;
-    UnclippedPoint start = 7;
-    UnclippedPoint end = 8;
+    // Cannot use generate anchors for unopend files,
+    // so we are forced to use point coords instead
+    PointUtf16 start = 7;
+    PointUtf16 end = 8;
     bytes signature = 9;
 }
 
@@ -1042,12 +1044,7 @@ message Range {
     uint64 end = 2;
 }
 
-message Point {
-    uint32 row = 1;
-    uint32 column = 2;
-}
-
-message UnclippedPoint {
+message PointUtf16 {
     uint32 row = 1;
     uint32 column = 2;
 }