public void ShowReplHelp()

in TeamCity.CSharpInteractive/Info.cs [50:86]


    public void ShowReplHelp()
    {
        var lines = new List<Text>
        {
            new("Keyboard shortcuts:", Color.Header), Text.NewLine,
            Text.Tab, new("Enter        ", Color.Header), new("If the current submission appears to be complete, evaluate it. Otherwise, insert a new line."), Text.NewLine,
            Text.Tab, new("Escape       ", Color.Header), new("Clear the current submission."), Text.NewLine,
            Text.Tab, new("UpArrow      ", Color.Header), new("Replace the current submission with a previous submission."), Text.NewLine,
            Text.Tab, new("DownArrow    ", Color.Header), new("Replace the current submission with a subsequent submission (after having previously navigated backwards)."), Text.NewLine,
            Text.Tab, new("Ctrl-C       ", Color.Header), new("Exit the REPL."), Text.NewLine,
            new("REPL commands:", Color.Header), Text.NewLine,
            Text.Tab, new("#help        ", Color.Header), new("Display help on available commands and key bindings."), Text.NewLine
        };

        var settingLines =
            from setting in _settingDescriptions
            where setting.IsVisible
            select new[]
            {
                Text.Tab, new Text($"#{setting.Key,-12}", Color.Header),
                new Text($"{setting.Description} {string.Join(", ", Enum.GetValues(setting.SettingType).OfType<Enum>().Select(i => i.ToString()))}, e.g. "),
                new Text($"#{setting.Key} {Enum.GetValues(setting.SettingType).OfType<Enum>().LastOrDefault()}", Color.Highlighted),
                new Text("."),
                Text.NewLine
            };

        lines.AddRange(settingLines.SelectMany(i => i));

        lines.AddRange(new[]
        {
            new Text("Script directives:", Color.Header), Text.NewLine,
            Text.Tab, new Text("#r           ", Color.Header), new Text("Add a reference to a NuGet package or specified assembly and all its dependencies, e.g., "), new Text("#r \"nuget:MyPackage, 1.2.3\"", Color.Highlighted), new Text(" or "), new Text("#r \"nuget:MyPackage\"", Color.Highlighted), new Text(" or "), new Text("#r \"MyLib.dll\"", Color.Highlighted), new Text("."), Text.NewLine,
            Text.Tab, new Text("#load        ", Color.Header), new Text("Load specified script file and execute it, e.g. "), new Text("#load \"script-file.csx\"", Color.Highlighted), new Text(".")
        });

        _stdOut.WriteLine(lines.ToArray());
    }