codemp-proto/proto/cursor.proto

36 lines
829 B
Protocol Buffer
Raw Permalink Normal View History

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);
}
// 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;
// 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;
// new cursor position
required CursorPosition position = 2;
}