A repository for testing and demonstrating the Console.Waterworks (Full & Core) NuGet packages. The main aim is to see how well they work in an F#-only environment.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

47 lines
1.8 KiB

namespace Commands
module ConsoleCommands =
open System
open Console.Waterworks.Core
open Console.Waterworks.Core.Attributes
open FunkyFishCore // This is where the "LibraryTest" functions are -- in BFLibCore
[<ListCommand>]
[<Description "Display a message to the console signifying the program is running as intended.">]
[<Parameters "none">]
[<Usage "> test">]
let test() = "The console is working"
[<ListCommand>]
[<Description "Closes the program.">]
[<Parameters "none">]
[<Usage "> exit">]
let exit() = System.Environment.Exit(Environment.ExitCode)
[<ListCommand>]
[<Description "Display a list of available commands, info. about the command, its parameters and an example of how to use it.">]
[<Parameters "None">]
[<Usage "> help">]
let help() =
let liaison = CW_Liaison()
liaison.RequestHelpDocumentation("Commands")
[<ListCommand>]
[<Description "Adds the two numbers together.">]
[<Parameters "x:int y:int">]
[<Usage "> libtest1 5 10">]
let libtest1 x y = String.Format("Result: {0}" , LibraryTest1 x y)
[<ListCommand>]
[<Description "Multiplies x and y together then mulitplies that by z or... (x * y) * z">]
[<Parameters "x:int y:int z:int">]
[<Usage "> libtest2 5 10 2">]
let libtest2 x y z = String.Format("Result: {0}", (LibraryTest2 x y z))
[<ListCommand>]
[<Description "Appends the named passed into the console onto \"Hello\" and displays it in the console.">]
[<Parameters "name: string">]
[<Usage "> libtest3 \"Craig Oates\"">]
let libtest3 name = String.Format("Result: {0}", LibraryTest3 name)