Skip to content

mcroop/staticshell

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

57 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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

No packages published

Contributors 2

  •  
  •