public void InteractiveWindow_GetHelpShortcutDescriptionss() { var interactiveCommands = new InteractiveCommandsFactory(null, null).CreateInteractiveCommands( Window, string.Empty, Enumerable.Empty <IInteractiveWindowCommand>()); var noSmartUpDownExpected = @" Enter If the current submission appears to be complete, evaluate it. Otherwise, insert a new line. Ctrl-Enter Within the current submission, evaluate the current submission. Within a previous submission, append the previous submission to the current submission. Shift-Enter Insert a new line. Escape Clear the current submission. Alt-UpArrow Replace the current submission with a previous submission. Alt-DownArrow Replace the current submission with a subsequent submission (after having previously navigated backwards). Ctrl-Alt-UpArrow Replace the current submission with a previous submission beginning with the same text. Ctrl-Alt-DownArrow Replace the current submission with a subsequent submission beginning with the same text (after having previously navigated backwards). Ctrl-K, Ctrl-Enter Paste the selection at the end of interactive buffer, leave caret at the end of input. Ctrl-E, Ctrl-Enter Paste and execute the selection before any pending input in the interactive buffer. Ctrl-A First press, select the submission containing the cursor. Second press, select all text in the window. "; // By default, SmartUpDown option is not set var descriptions = ((Commands.Commands)interactiveCommands).ShortcutDescriptions; Assert.Equal(noSmartUpDownExpected, descriptions); var withSmartUpDownExpected = @" Enter If the current submission appears to be complete, evaluate it. Otherwise, insert a new line. Ctrl-Enter Within the current submission, evaluate the current submission. Within a previous submission, append the previous submission to the current submission. Shift-Enter Insert a new line. Escape Clear the current submission. Alt-UpArrow Replace the current submission with a previous submission. Alt-DownArrow Replace the current submission with a subsequent submission (after having previously navigated backwards). Ctrl-Alt-UpArrow Replace the current submission with a previous submission beginning with the same text. Ctrl-Alt-DownArrow Replace the current submission with a subsequent submission beginning with the same text (after having previously navigated backwards). Ctrl-K, Ctrl-Enter Paste the selection at the end of interactive buffer, leave caret at the end of input. Ctrl-E, Ctrl-Enter Paste and execute the selection before any pending input in the interactive buffer. Ctrl-A First press, select the submission containing the cursor. Second press, select all text in the window. UpArrow At the end of the current submission, replace the current submission with a previous submission. Elsewhere, move the cursor up one line. DownArrow At the end of the current submission, replace the current submission with a subsequent submission (after having previously navigated backwards). Elsewhere, move the cursor down one line. "; // Set SmartUpDown option to true Window.TextView.Options.SetOptionValue(InteractiveWindowOptions.SmartUpDown, true); descriptions = ((Commands.Commands)interactiveCommands).ShortcutDescriptions; Assert.Equal(withSmartUpDownExpected, descriptions); }
public void InteractiveWindow_GetCommands() { var interactiveCommands = new InteractiveCommandsFactory(null, null).CreateInteractiveCommands( Window, "#", _testHost.ExportProvider.GetExports <IInteractiveWindowCommand>().Select(x => x.Value).ToArray()); var commands = interactiveCommands.GetCommands(); Assert.NotEmpty(commands); Assert.NotNull(commands.Where(n => n.Name == "cls").SingleOrDefault()); Assert.NotNull(commands.Where(n => n.Name == "help").SingleOrDefault()); Assert.NotNull(commands.Where(n => n.Name == "reset").SingleOrDefault()); }