SYMBOL INDEX (101 symbols across 15 files) FILE: cstudio-server/src/lib.rs type Document (line 25) | struct Document { method default (line 31) | fn default() -> Self { type Stats (line 41) | struct Stats { type ServerConfig (line 50) | pub struct ServerConfig { method default (line 56) | fn default() -> Self { function server (line 62) | pub fn server(config: ServerConfig) -> BoxedFilter<(impl Reply,)> { function frontend (line 70) | fn frontend() -> BoxedFilter<(impl Reply,)> { function backend (line 77) | fn backend(config: ServerConfig) -> BoxedFilter<(impl Reply,)> { constant HOUR (line 127) | const HOUR: Duration = Duration::from_secs(3600); function cleaner (line 130) | async fn cleaner(state: Arc>, expiry_days: u32) { FILE: cstudio-server/src/main.rs function main (line 4) | async fn main() { FILE: cstudio-server/src/ot.rs function transform_index (line 6) | pub fn transform_index(operation: &OperationSeq, position: u32) -> u32 { FILE: cstudio-server/src/rustpad.rs type Rustpad (line 18) | pub struct Rustpad { method on_connection (line 112) | pub async fn on_connection(&self, socket: WebSocket) { method text (line 127) | pub fn text(&self) -> String { method revision (line 133) | pub fn revision(&self) -> usize { method handle_connection (line 138) | async fn handle_connection(&self, id: u64, mut socket: WebSocket) -> R... method send_initial (line 171) | async fn send_initial(&self, id: u64, socket: &mut WebSocket) -> Resul... method send_history (line 205) | async fn send_history(&self, start: usize, socket: &mut WebSocket) -> ... method handle_message (line 223) | async fn handle_message(&self, id: u64, message: Message) -> Result<()> { method apply_edit (line 258) | fn apply_edit(&self, id: u64, revision: usize, mut operation: Operatio... type State (line 31) | struct State { type UserOperation (line 40) | struct UserOperation { type UserInfo (line 46) | struct UserInfo { type CursorData (line 52) | struct CursorData { type ClientMsg (line 59) | enum ClientMsg { type ServerMsg (line 75) | enum ServerMsg { method from (line 92) | fn from(msg: ServerMsg) -> Self { method default (line 99) | fn default() -> Self { FILE: cstudio-wasm/src/lib.rs type OpSeq (line 15) | pub struct OpSeq(OperationSeq); method transform_raw (line 36) | pub fn transform_raw(&self, other: &OpSeq) -> Option<(OpSeq, OpSeq)> { method new (line 45) | pub fn new() -> Self { method with_capacity (line 51) | pub fn with_capacity(capacity: usize) -> Self { method compose (line 65) | pub fn compose(&self, other: &OpSeq) -> Option { method delete (line 70) | pub fn delete(&mut self, n: u32) { method insert (line 75) | pub fn insert(&mut self, s: &str) { method retain (line 80) | pub fn retain(&mut self, n: u32) { method transform (line 93) | pub fn transform(&self, other: &OpSeq) -> Option { method apply (line 104) | pub fn apply(&self, s: &str) -> Option { method invert (line 113) | pub fn invert(&self, s: &str) -> Self { method is_noop (line 119) | pub fn is_noop(&self) -> bool { method base_len (line 125) | pub fn base_len(&self) -> usize { method target_len (line 132) | pub fn target_len(&self) -> usize { method transform_index (line 137) | pub fn transform_index(&self, position: u32) -> u32 { method from_str (line 159) | pub fn from_str(s: &str) -> Option { method to_string (line 165) | pub fn to_string(&self) -> String { type OpSeqPair (line 21) | pub struct OpSeqPair(OpSeq, OpSeq); method first (line 173) | pub fn first(&self) -> OpSeq { method second (line 178) | pub fn second(&self) -> OpSeq { FILE: cstudio-wasm/src/utils.rs function set_panic_hook (line 7) | pub fn set_panic_hook() { FILE: src/App.tsx function initAbc (line 8) | async function initAbc() { function App (line 59) | function App() { FILE: src/components/ConnectionStatus.tsx type ConnectionStatusProps (line 4) | type ConnectionStatusProps = { function ConnectionStatus (line 9) | function ConnectionStatus({ connection, darkMode }: ConnectionStatusProp... FILE: src/components/Footer.tsx function Footer (line 4) | function Footer() { FILE: src/components/LandingFeature.tsx type LandingFeatureProps (line 3) | type LandingFeatureProps = { function LandingFeature (line 8) | function LandingFeature({ title, image }: LandingFeatureProps) { FILE: src/components/Score.tsx class CursorControl (line 7) | class CursorControl { method constructor (line 13) | constructor(private readonly rootSelector: string) {} method onStart (line 15) | onStart() { method removeSelection (line 31) | removeSelection() { method onEvent (line 40) | onEvent(ev: any) { method onFinished (line 63) | onFinished() { type ScoreProps (line 75) | type ScoreProps = { function Score (line 80) | function Score({ notes, darkMode }: ScoreProps) { FILE: src/components/User.tsx type UserProps (line 23) | type UserProps = { function User (line 31) | function User({ FILE: src/lib/rustpad.ts type RustpadOptions (line 10) | type RustpadOptions = { type UserInfo (line 22) | type UserInfo = { class Rustpad (line 28) | class Rustpad { method constructor (line 55) | constructor(readonly options: RustpadOptions) { method dispose (line 89) | dispose() { method setLanguage (line 100) | setLanguage(language: string): boolean { method setInfo (line 106) | setInfo(info: UserInfo) { method tryConnect (line 122) | private tryConnect() { method handleMessage (line 159) | private handleMessage(msg: ServerMsg) { method serverAck (line 203) | private serverAck() { method applyServer (line 215) | private applyServer(operation: OpSeq) { method applyClient (line 229) | private applyClient(operation: OpSeq) { method sendOperation (line 241) | private sendOperation(operation: OpSeq) { method sendInfo (line 246) | private sendInfo() { method sendCursorData (line 252) | private sendCursorData() { method applyOperation (line 258) | private applyOperation(operation: OpSeq) { method transformCursors (line 319) | private transformCursors(operation: OpSeq) { method updateCursors (line 330) | private updateCursors() { method onChange (line 383) | private onChange(event: editor.IModelContentChangedEvent) { method onCursor (line 416) | private onCursor(event: editor.ICursorPositionChangedEvent) { method onSelection (line 421) | private onSelection(event: editor.ICursorSelectionChangedEvent) { type UserOperation (line 430) | type UserOperation = { type CursorData (line 435) | type CursorData = { type ServerMsg (line 440) | type ServerMsg = { function unicodeLength (line 458) | function unicodeLength(str: string): number { function unicodeOffset (line 466) | function unicodeOffset(model: editor.ITextModel, pos: IPosition): number { function unicodePosition (line 473) | function unicodePosition(model: editor.ITextModel, offset: number): IPos... function generateCssStyles (line 489) | function generateCssStyles(hue: number) { FILE: src/pages/EditorPage.tsx function getWsUri (line 43) | function getWsUri(id: string) { function generateName (line 51) | function generateName() { function generateHue (line 55) | function generateHue() { function EditorPage (line 59) | function EditorPage() { FILE: src/pages/LandingPage.tsx function getRandomId (line 20) | function getRandomId() { function LandingPage (line 24) | function LandingPage() {