jughead is an acronym for: Jonzy's Universal Gopher Hierarchy Excavation And Display jughead head can act as a search engine on a prebuilt table that allows searching through menus, or can create a linear view of menu space. When running jughead you can specify what part of gopherspace you want search tables built or a linear view thereof. When running as a search engine, jughead listens out a port for a connection and a search string. The search string can contain the boolean operations "AND", "OR", and "NOT" between words. If no operator is specified between words, it is an implied "AND" operation. For example either: "University of utah" or "University AND of AND Utah" will yield all gopher entries with "university" and "of" and "utah" in the title. The case of the letters is irrelevant. Now suppose you enter the string "university of utah NOT gopher". This will return the same information as the first search except for those entries containing the word "gopher". Currently there is no way to search on the words "AND", "OR", or "NOT"; nor is there a way to break an expression into a group of smaller expressions. jughead also supports partial word searches, where the asterik '*' is the wildcard character. The wildcard character cannot be the first or only character in a search word, and all characters following the wildcard are ignored. For example: both "*", and "*opher" are not valid, while "go*r" will return all items that have a word beginning with "go" in the title. Note that the 'r' following the asterik is ignored in the search. The maximum number of entries returned is 1024 unless you use a special command described at the end of this document. All words are broken into smaller words if any word contains a whitespace character or one of the following characters: !"#$%&'()+,-./:;<=>?@[\]^_`{|}~ Thus if a menu item has the name "A sample.file", this is broken into the three words "A", "sample", and "file. So if your search statement is: "sample.file some_thing-else", your query gets broken into the statment: "sample AND file AND some AND thing AND else", which will only return those items with all these words in the menu. jughead supports some special commands, where each special command must be preceeded by a question mark '?', and are listed below: ?all what ?help [what] ?limit=n what ?version [what] where 'what' is a standard search string, anything enclosed in square brackets is optional, and all special commands must be preceeded with '?'. And each command is described below: ?all what returns all the hits on 'what'. Otherwise items will only be returned it there are fewer than 1024 items. ?help [what] Gives you this document and any optional hits on 'what'. ?limit=n what Returns the first 'n' items on 'what'. ?version [what] Returns the version of jughead and any optional hits on 'what'. Only 1 special command is supported per query, and if any syntax error is reported as the title to this document.