codemp/proto/cursor.proto

38 lines
841 B
Protocol Buffer
Raw Normal View History

2023-12-18 23:36:15 +01:00
syntax = "proto2";
package cursor;
import "common.proto";
// handle cursor events and broadcast to all users
service Cursor {
// subscribe to a workspace's cursor events
rpc Attach (stream cursor.CursorEvent) returns (stream cursor.CursorEvent);
}
2023-12-18 23:36:15 +01:00
// empty request
message MovedResponse {}
// a tuple indicating row and column
message RowCol {
required int32 row = 1;
required int32 col = 2;
}
// cursor position object
message CursorPosition {
// path of current buffer this cursor is into
required string buffer = 1;
// cursor start position
required RowCol start = 2;
// cursor end position
required RowCol end = 3;
}
// cursor event, with user id and cursor position
message CursorEvent {
// user moving the cursor
required common.UserIdentity user = 1;
2023-12-18 23:36:15 +01:00
// new cursor position
required CursorPosition position = 2;
}