public override void Execute(ITerminalCommandChannel terminalCommandChannel, System.Action <string> prompt) { if (terminalCommandChannel is BookmarkTerminalCommandChannel) { Handled = true; var bookmarkTerminalCommandChannel = terminalCommandChannel as BookmarkTerminalCommandChannel; var bookmarkPage = bookmarkTerminalCommandChannel.BookmarkContainer.CurrentPage; if (TerminalCommandLine.ContainKeys("id")) { var bookmark = bookmarkPage.GetItemById((int)Convert.ChangeType(TerminalCommandLine["id"], typeof(int))); if (bookmark == null) { prompt.Invoke("bookmark not found."); } else { Result = bookmark; } } else { Result = bookmarkPage; } } }
public override void Execute(ITerminalCommandChannel terminalCommandChannel, Action <string> prompt) { if (terminalCommandChannel is BookmarkTerminalCommandChannel) { Handled = true; Result = "done."; var bookmarkTerminalCommandChannel = terminalCommandChannel as BookmarkTerminalCommandChannel; var bookmarkPage = bookmarkTerminalCommandChannel.BookmarkContainer.CurrentPage; BookmarkItem newerBookmarkItem = null; if (TerminalCommandLine.ContainKeys("cat", "idx", "desc", "path", "text", "line")) { newerBookmarkItem = new BookmarkItem() { Id = bookmarkPage.GenerateItemId(), Catalog = TerminalCommandLine["cat"], Index = (int)Convert.ChangeType(TerminalCommandLine["idx"], typeof(int)), Description = TerminalCommandLine["desc"], }; newerBookmarkItem.Locations.Add(new BookmarkLocation() { FileLocation = TerminalCommandLine["path"], LocateLineText = TerminalCommandLine["text"], LocateLineNumber = (int)Convert.ChangeType(TerminalCommandLine["line"], typeof(int)), }); } if (newerBookmarkItem == null) { prompt.Invoke("data is incomplete."); } if (TerminalCommandLine.ContainKeys("id")) { var olderBookmarkItem = bookmarkPage.GetItemById((int)Convert.ChangeType(TerminalCommandLine["id"], typeof(int))); if (olderBookmarkItem == null) { prompt.Invoke("id is invalid."); } olderBookmarkItem.ChildItems.Add(newerBookmarkItem); } else { bookmarkPage.RootItems.Add(newerBookmarkItem); } bookmarkTerminalCommandChannel.BookmarkContainer.Set(); } }
public override void Execute(ITerminalCommandChannel terminalCommandChannel, System.Action <string> prompt) { if (terminalCommandChannel is BookmarkTerminalCommandChannel) { Handled = true; Result = "done."; var bookmarkTerminalCommandChannel = terminalCommandChannel as BookmarkTerminalCommandChannel; var bookmarkPage = bookmarkTerminalCommandChannel.BookmarkContainer.CurrentPage; BookmarkItem olderBookmarkItem = null; if (TerminalCommandLine.ContainKeys("id")) { olderBookmarkItem = bookmarkPage.GetItemById((int)Convert.ChangeType(TerminalCommandLine["id"], typeof(int))); } if (olderBookmarkItem == null) { prompt.Invoke("bookmark not found."); return; } if (TerminalCommandLine.ContainKeys("cat")) { olderBookmarkItem.Catalog = TerminalCommandLine["cat"]; } if (TerminalCommandLine.ContainKeys("idx")) { olderBookmarkItem.Index = (int)Convert.ChangeType(TerminalCommandLine["idx"], typeof(int)); } if (TerminalCommandLine.ContainKeys("desc")) { olderBookmarkItem.Description = TerminalCommandLine["desc"]; } bookmarkTerminalCommandChannel.BookmarkContainer.Set(); } }
public override void Execute(ITerminalCommandChannel terminalCommandChannel, System.Action <string> prompt) { if (terminalCommandChannel is BookmarkTerminalCommandChannel) { Handled = true; var bookmarkTerminalCommandChannel = terminalCommandChannel as BookmarkTerminalCommandChannel; var bookmarkPage = bookmarkTerminalCommandChannel.BookmarkContainer.CurrentPage; if (TerminalCommandLine.ContainKeys("kw")) { Result = bookmarkPage.GetItemsByKeyword(TerminalCommandLine["kw"]); } else { prompt.Invoke("keyword is empty."); } } }
public override void Execute(ITerminalCommandChannel terminalCommandChannel, System.Action <string> prompt) { if (terminalCommandChannel is BookmarkTerminalCommandChannel) { Handled = true; Result = "done."; var bookmarkTerminalCommandChannel = terminalCommandChannel as BookmarkTerminalCommandChannel; var bookmarkPage = bookmarkTerminalCommandChannel.BookmarkContainer.CurrentPage; BookmarkItem olderBookmarkItem = null; if (TerminalCommandLine.ContainKeys("id")) { olderBookmarkItem = bookmarkPage.GetItemById((int)Convert.ChangeType(TerminalCommandLine["id"], typeof(int))); } if (olderBookmarkItem == null) { prompt.Invoke("bookmark not found."); return; } var parentItem = bookmarkPage.GetParentItemById((int)Convert.ChangeType(TerminalCommandLine["id"], typeof(int))); if (parentItem == null) { bookmarkPage.RootItems.Remove(olderBookmarkItem); } else { parentItem.ChildItems.Remove(olderBookmarkItem); } bookmarkTerminalCommandChannel.BookmarkContainer.Set(); } }
public static TerminalCommandLine Parse(string terminalCommandText) { terminalCommandText = terminalCommandText.Trim(); if (string.IsNullOrEmpty(terminalCommandText)) { return(null); } var current = terminalCommandText.IndexOf(' '); if (current == -1) { return(new TerminalCommandLine(terminalCommandText, terminalCommandText)); } var terminalCommandLine = new TerminalCommandLine(terminalCommandText, terminalCommandText.Substring(0, current)); string key = null, value = null; for (var i = current; i < terminalCommandText.Length;) { if (terminalCommandText[i] == ' ') { i++; continue; } else if (terminalCommandText[i] == '-') { if (i == terminalCommandText.Length - 1) { return(null); } var end = terminalCommandText.IndexOf(' ', i); if (end == -1) { return(null); } else { key = terminalCommandText.Substring(i + 1, end - i - 1); i = end + 1; } } else if (terminalCommandText[i] == '"') { var end = terminalCommandText.IndexOf('"', i + 1); if (end == -1) { return(null); } value = terminalCommandText.Substring(i + 1, end - i - 1).Trim(); i = end + 1; if (key == null) { return(null); } terminalCommandLine.AddArg(key, value); key = null; value = null; } else { var end = terminalCommandText.IndexOf(' ', i); if (end == -1) { value = terminalCommandText.Substring(i).Trim(); i = terminalCommandText.Length; } else { value = terminalCommandText.Substring(i, end - i).Trim(); i = end + 1; } if (key == null) { return(null); } terminalCommandLine.AddArg(key, value); key = null; value = null; } } return(terminalCommandLine); }
public BookmarkQueryCommand(TerminalCommandLine terminalCommandLine) : base(terminalCommandLine) { }
public BookmarkUpdateCommand(TerminalCommandLine terminalCommandLine) : base(terminalCommandLine) { }
public TerminalCommandBase(TerminalCommandLine terminalCommandLine) { TerminalCommandLine = terminalCommandLine; }
public AppStatusTerminalCommand(TerminalCommandLine terminalCommandLine) : base(terminalCommandLine) { }
public BookmarkSearchCommand(TerminalCommandLine terminalCommandLine) : base(terminalCommandLine) { }