Craig Oates
4 years ago
1 changed files with 31 additions and 1 deletions
@ -1 +1,31 @@
|
||||
Welcome to the Wiki. |
||||
Because of how Console.Waterworks (C.W.) is set-up, the command the end-user enters into the prompt **must match the name of the command-method** -- in "ConsoleCommands.fs". Before we get too far into discussing that, though, we must look at how the program creates the input-loop. |
||||
|
||||
```f# |
||||
open Console.Waterworks |
||||
|
||||
[<EntryPoint>] |
||||
let main argv = |
||||
let liaison = new CW_Liaison () |
||||
liaison.Run ("Commands", true) |
||||
0 // return an integer exit code |
||||
``` |
||||
|
||||
That snippet of code is all there is in "Program.fs". Once you know what is happening in here, you should never need to look at this file much -- if at all. |
||||
|
||||
What is happening is a new `CW_Liaison` object is created and is told to `run`. This is where C.W. creates the input-loop which runs indefinitely until the end-user closes the console (or the program crashes). The first argument passed into `run` refers to the name-space of the `ConsoleCommands` module. In this case it is `Commands`. The second one refers to the information displayed in the console when you run it. When set to `true`, the console displays information found in "AssemblyInfo.fs". If you use `false`, the only thing you will see is the prompt. You can check the name-space of the `ConsoleCommand` module via the following link: |
||||
|
||||
- [ConsoleCommands.fs](https://git.abbether.net/craig.oates/Smouldering-Beach-Ball/blob/master/SmoulderingBeachBallCLI/ConsoleCommands.fs) |
||||
|
||||
How C.W. creates and manages the input-loop is out of this wiki's scope. Although, if you would like to know more about how is created, you can use the following link: |
||||
|
||||
- [Console.Waterworks Wiki](https://git.abbether.net/craig.oates/Console.Waterworks/wikis/The-Flow-of-the-System) |
||||
|
||||
Here are examples of what is displayed at run-time when you pass `true` or `false` into the `liaison.Run` command, mentioned above. |
||||
|
||||
![console with assembly info](console-with-assembly-info.png) |
||||
|
||||
![console with no assembly info](console-with-no-assembly-info.png) |
||||
|
||||
Up above, I said I would elaborate on why the end-user's commands must match the name of the commands in the `ConsoleCommands` module. I will do that but not here because it ventures a little too far off topic for this section. So, I have created a dedicated section for it. You can access it with the following link: |
||||
|
||||
- [Command-Methods Overview](Command-Methods-Overview) |
Loading…
Reference in new issue