Dulcimer/specifications/commands.gv

25 lines
1.1 KiB
Plaintext

digraph finite_state_machine {
rankdir=LR;
node [shape = doublecircle, fixedsize = true, width = 1.2, height = 1.2]; standard;
node [shape = circle];
standard -> standard [ label = "any key" ];
standard -> "command\nmode" [ label = "hotkey" ];
"command\nmode" -> standard [ label = "single key command" ];
"command\nmode" -> standard [ label = "invalid key" ];
"command\nmode" -> "macro\ncommand" [ label = "m" ];
"macro\ncommand" -> "macro\ndefinition" [ label = "macro key" ];
"macro\ndefinition" -> "macro\ndefinition" [ label = "any key" ];
"macro\ndefinition" -> standard [ label = "hotkey" ];
"command\nmode" -> "macro\ndelete" [ label = "M" ];
"macro\ndelete" -> standard [ label = "macro key" ];
"command\nmode" -> "complex\ncommand" [ label = "multi key command" ];
"complex\ncommand" -> "complex\ncommand" [ label = "any key" ];
"complex\ncommand" -> standard [ label = "hotkey" ];
"complex\ncommand" -> standard [ label = "invalid key" ];
}