codemp/proto/cursor.proto

37 lines
830 B
Protocol Buffer
Raw Normal View History

2023-12-18 23:36:15 +01:00
syntax = "proto2";
package cursor;
import "common.proto";
import "files.proto";
// handle cursor events and broadcast to all users
service Cursor {
// subscribe to a workspace's cursor events
rpc Attach (stream cursor.CursorPosition) returns (stream cursor.CursorEvent);
}
2023-12-18 23:36:15 +01:00
// 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 files.BufferNode buffer = 1;
2023-12-18 23:36:15 +01:00
// 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.Identity user = 1;
2023-12-18 23:36:15 +01:00
// new cursor position
required CursorPosition position = 2;
}