-
Notifications
You must be signed in to change notification settings - Fork 0
mcroop/staticshell
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Matthew Croop (mcroop) and Alex Marple (amarple) The shell requires either Editline or Readline; it is currently configured to use readline, but can be switched to editline by switching the import at the top of Main.hs and removing "EL.resetLineState". Build with ghc --make Main.hs; run with ./Main. Note: although the shell does build using ghc --make Main.hs, properly managing output to the terminal from background threads only works properly using `runghc Main.hs`, though that may have other issues depending on system configuration. Included Files: Command.hs ========== Here we define the types we use to deal with Commands. ArgType is meant to represent the syntax of possible command completions, and Command is intended to represent full commands, ready for execution CmdParser.hs ============ Here we define a tokenizer for basic shell input and a function to transform parsed tokens into Commands Completion.hs ============= Here we define the infrastructure for building up tree-like completions Derivative.hs ============= Here we define a derivative parser for Commands Schema.hs ========= Here we define the schema for Commands, which consists of a few basic shell conventions (filenames, pipes, redirects) as well as a few example programs (echo, cat, QQ, diff) and their associated ArgType structures Main.hs ======= Here we define the main loop, which is just a shell prompt Libraries we depend on: HSH (HSH-2.0.3) Text.PrettyPrint.HughesPJ System.Console.Readline / System.Console.Editline.Readline Control.Concurrent Data.String.Utils Data.Tree Data.List Data.List.Utils Data.String.Utils Control.Concurrent System.Posix.Signals
About
No description, website, or topics provided.
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published