Example #1
0
        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();
            }
        }
Example #4
0
        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.");
                }
            }
        }
Example #5
0
        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();
            }
        }
Example #6
0
        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);
        }
Example #7
0
 public BookmarkQueryCommand(TerminalCommandLine terminalCommandLine)
     : base(terminalCommandLine)
 {
 }
 public BookmarkUpdateCommand(TerminalCommandLine terminalCommandLine)
     : base(terminalCommandLine)
 {
 }
 public TerminalCommandBase(TerminalCommandLine terminalCommandLine)
 {
     TerminalCommandLine = terminalCommandLine;
 }
 public AppStatusTerminalCommand(TerminalCommandLine terminalCommandLine)
     : base(terminalCommandLine)
 {
 }
Example #11
0
 public BookmarkSearchCommand(TerminalCommandLine terminalCommandLine)
     : base(terminalCommandLine)
 {
 }