XConsole.NET 1.0.0

A console wrapper that can run your custom programs in console and allows you to respond to user commands from console application through events. The application also supports console sounds (beeps), customizing colors, keeping history and other interesting stuff.

There is a newer version of this package available.
See the version list below for details.
Install-Package XConsole.NET -Version 1.0.0
dotnet add package XConsole.NET --version 1.0.0
<PackageReference Include="XConsole.NET" Version="1.0.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add XConsole.NET --version 1.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: XConsole.NET, 1.0.0"
#r directive can be used in F# Interactive, C# scripting and .NET Interactive. Copy this into the interactive tool or source code of the script to reference the package.
// Install XConsole.NET as a Cake Addin
#addin nuget:?package=XConsole.NET&version=1.0.0

// Install XConsole.NET as a Cake Tool
#tool nuget:?package=XConsole.NET&version=1.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

Using XConsole:

  1. Add reference to XConsole DLL if not added automatically by NuGet
  2. Import the namespace XConsoleNET
using XConsoleNET;
  1. Use the following code to initialize your XConsole app (this is a demo code and not all properties of XSettings are needed)
		XConsole.Init(new XSettings
            {
                BackgroundColor = System.ConsoleColor.White,
                ForegroundColor = System.ConsoleColor.Black,
                ErrorBackgroundColor = System.ConsoleColor.Yellow,
                ErrorForegroundColor = System.ConsoleColor.Red,
                ExitCommand = new XCommand() { Command = "exit", Delimiter = ' ' },
                HelpCommand = new XCommand() { Command = "help", Delimiter = ' ' },
                HistoryCommand = new XCommand() { Command = "hist", Delimiter = ' ' },
                WelcomeMessage = "Hello my app",
                Commands = new System.Collections.Generic.List<XCommand>
                {
                    new XCommand { Command = "nq", Delimiter = ' ', ParametersCount = 1, Description = "A command to enqueue a value selected by user. ex {nq 10}" },
                    new XCommand { Command = "dq", Delimiter = ' ', ParametersCount = 0, Description= "A command to dequeue the next value from q"},
                },
            });
  1. Handle CommandFired event as follows:
        XConsole.CommandFired += XConsole_CommandFired;
  1. The handler method should be something like that
        private static void XConsole_CommandFired(XConsoleNET.Events.XEventArgs e)
        {
            if (e.Command == null)
            {
                XConsole.Write("Bad Command");
                return;
            }
            switch (e.Command.Command)
            {
                case "nq":
                    XConsole.Write($"Enqueueing value : {e.Command.Parameters.FirstOrDefault()}");
                    break;

                case "dq":
                    XConsole.Write($"Dequeuing the next value");
                    break;
                default:
                    break;
            }
        }
  1. Call RunProgram to start your program in console
        XConsole.RunProgram();
Your program can display help by typing "help" (as default) and will terminate by typing "exit" (by default)

enjoy...

Using XConsole:

  1. Add reference to XConsole DLL if not added automatically by NuGet
  2. Import the namespace XConsoleNET
using XConsoleNET;
  1. Use the following code to initialize your XConsole app (this is a demo code and not all properties of XSettings are needed)
		XConsole.Init(new XSettings
            {
                BackgroundColor = System.ConsoleColor.White,
                ForegroundColor = System.ConsoleColor.Black,
                ErrorBackgroundColor = System.ConsoleColor.Yellow,
                ErrorForegroundColor = System.ConsoleColor.Red,
                ExitCommand = new XCommand() { Command = "exit", Delimiter = ' ' },
                HelpCommand = new XCommand() { Command = "help", Delimiter = ' ' },
                HistoryCommand = new XCommand() { Command = "hist", Delimiter = ' ' },
                WelcomeMessage = "Hello my app",
                Commands = new System.Collections.Generic.List<XCommand>
                {
                    new XCommand { Command = "nq", Delimiter = ' ', ParametersCount = 1, Description = "A command to enqueue a value selected by user. ex {nq 10}" },
                    new XCommand { Command = "dq", Delimiter = ' ', ParametersCount = 0, Description= "A command to dequeue the next value from q"},
                },
            });
  1. Handle CommandFired event as follows:
        XConsole.CommandFired += XConsole_CommandFired;
  1. The handler method should be something like that
        private static void XConsole_CommandFired(XConsoleNET.Events.XEventArgs e)
        {
            if (e.Command == null)
            {
                XConsole.Write("Bad Command");
                return;
            }
            switch (e.Command.Command)
            {
                case "nq":
                    XConsole.Write($"Enqueueing value : {e.Command.Parameters.FirstOrDefault()}");
                    break;

                case "dq":
                    XConsole.Write($"Dequeuing the next value");
                    break;
                default:
                    break;
            }
        }
  1. Call RunProgram to start your program in console
        XConsole.RunProgram();
Your program can display help by typing "help" (as default) and will terminate by typing "exit" (by default)

enjoy...

Release Notes

Release 1.0

Dependencies

This package has no dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version History

Version Downloads Last updated
2.0.0 257 5/20/2019
1.0.0 255 3/31/2019