public GoTo Parse(string argument) { var chunks = argument.Split(new string[] { "|" }, StringSplitOptions.RemoveEmptyEntries); if (chunks.Length == 0) return null; var goTo = new GoTo(); if (!File.Exists(chunks[0])) return null; goTo.File = chunks[0]; if (chunks.Length == 1) return goTo; int line; if (!int.TryParse(chunks[1], out line)) return goTo; goTo.Line = line; if (chunks.Length == 2) return goTo; int column; if (!int.TryParse(chunks[2], out column)) return goTo; goTo.Column = column; if (chunks.Length == 3) return goTo; goTo.Window = chunks[3]; return goTo; }
public EditorInsertMessage(string text, GoTo destination, Position offset) { Text = text; Destination = destination; MoveOffset = offset; }
public EditorReplaceMessage(string content, GoTo start, GoTo end) { Text = content; Start = start; End = end; }
public EditorRemoveMessage(GoTo start, GoTo end) { Start = start; End = end; }