var searchIndex = {}; searchIndex["commands"] = {"doc":"# Commands","items":[[0,"command_table","commands","# Command Tables",null,null],[3,"CommandTableEntry","commands::command_table","Information about a command in a command table.",null,null],[12,"name","","Name of a command. This is used for command line entry.",0,null],[12,"command","","The underlying command that can be executed.",0,null],[3,"MenuDefinition","","The definition to be used to generate a menu or\ntoolbar in whatever GUI framework is being used.",null,null],[12,"items","","The items in the menu. Ordered vector.",1,null],[3,"CommandTable","","A group of related commands",null,null],[12,"name","","The name of the command table",2,null],[12,"inherit","","Tables inherited by this table",2,null],[12,"commands","","Commands in this table",2,null],[12,"menu_definition","","Menu description",2,null],[4,"MenuItem","","Types of menu items.",null,null],[13,"Separator","","A separator item in a menu.",3,null],[8,"Command","","A command",null,null],[10,"execute","","Execute the command",4,null],[11,"new","","Construct a `CommandTable`.",2,{"inputs":[{"name":"string"},{"name":"vec"},{"name":"vec"}],"output":{"name":"rc"}}],[0,"parser","commands","# Command Parser",null,null],[3,"Parser","commands::parser","Command parser",null,null],[12,"nodes","","The nodes which have been accepted during `parse` or `advance`.",5,null],[12,"tokens","","The tokens which have been accepted during `parse` or `advance`.",5,null],[0,"nodes","","# Parser Nodes",null,null],[3,"NodeFields","commands::parser::nodes","A parse tree node.",null,null],[12,"successors","","Possible successor nodes. Collected while building.",6,null],[12,"name","","The name of this node.",6,null],[12,"priority","","Match and complete priority.",6,null],[12,"hidden","","Hidden nodes are not completed. This doesn't modify matching.",6,null],[3,"RootNode","","",null,null],[3,"CommandNode","","",null,null],[3,"CommandNodeFields","","",null,null],[3,"WrapperNode","","",null,null],[3,"WrapperNodeFields","","",null,null],[3,"ParameterNameNode","","",null,null],[3,"RepeatableNodeFields","","",null,null],[3,"ParameterNameNodeFields","","",null,null],[3,"ParameterNodeFields","","",null,null],[3,"FlagParameterNode","","",null,null],[3,"NamedParameterNode","","",null,null],[3,"SimpleParameterNode","","",null,null],[17,"PRIORITY_MINIMUM","","Minimum priority.",null,null],[17,"PRIORITY_PARAMETER","","The default priority for a parameter.",null,null],[17,"PRIORITY_DEFAULT","","The default priority.",null,null],[8,"Node","","",null,null],[10,"node_data","","",7,null],[11,"successors","","",7,null],[11,"help_symbol","","",7,null],[11,"help_text","","",7,null],[11,"hidden","","",7,null],[11,"name","","",7,null],[11,"priority","","",7,null],[8,"ParameterNode","","",null,null],[10,"parameter_data","","",8,null],[11,"repeatable","","",8,null],[11,"repeat_marker","","",8,null],[11,"required","","",8,null],[11,"node_data","","",9,null],[11,"node_data","","",10,null],[11,"parameters","","Get the parameter nodes for this command",10,null],[11,"node_data","","",11,null],[11,"node_data","","",12,null],[11,"help_symbol","","",12,null],[11,"help_text","","",12,null],[11,"repeatable","","",12,null],[11,"repeat_marker","","",12,null],[11,"node_data","","",8,null],[11,"help_symbol","","",8,null],[11,"help_text","","",8,null],[11,"parameter_data","","",13,null],[11,"parameter_data","","",14,null],[11,"parameter_data","","",15,null],[0,"completion","commands::parser","# Completion",null,null],[3,"CompletionOption","commands::parser::completion","Represents a single option returned by `complete`.",null,null],[12,"option_string","","String for this option.",16,null],[12,"complete","","True if this option is complete and a valid value.",16,null],[3,"Completion","","Represents the result of completing a node.",null,null],[12,"help_symbol","","Value placeholder for help.",17,null],[12,"help_text","","Main help text.",17,null],[12,"token","","Token used to hint the completion, if provided.",17,null],[12,"exhaustive","","Was this completion exhaustive? If yes, then only\nthe given completion options are valid.",17,null],[12,"options","","The actual completion options.",17,null],[8,"Complete","","Trait for nodes that support completion.",null,null],[10,"complete","","Given a node and an optional token, provide the completion options.",18,null],[11,"new","","CompletionOption constructor",16,{"inputs":[{"name":"str"},{"name":"bool"}],"output":{"name":"completionoption"}}],[11,"new","","",17,{"inputs":[{"name":"node"},{"name":"option"},{"name":"bool"},{"name":"vec"},{"name":"vec"}],"output":{"name":"completion"}}],[11,"complete","commands::parser::nodes","",7,null],[11,"complete","","",9,null],[11,"complete","","",10,null],[11,"complete","","",12,null],[11,"new","commands::parser","Construct a parser with a root node.",5,{"inputs":[{"name":"rootnode"}],"output":{"name":"parser"}}],[11,"push_command","","XXX: Temporarily public.",5,null],[11,"parse","","Parse a vector of tokens, advancing through the\nnode hierarchy.",5,null],[11,"advance","","Parse a single token, advancing through the node hierarchy.",5,null],[11,"execute","","Execute the command that has been accepted by the parser.",5,null],[11,"verify","","Verify that the parser is in a valid state with\nrespect to having accepted a command and all\nrequired parameters.",5,null],[0,"tokenizer","commands","# Command Tokenization",null,null],[3,"SourceOffset","commands::tokenizer","A position within a body of text.",null,null],[12,"char","","The index of this character within the body of text.",19,null],[12,"line","","The line number on which this character may be found.",19,null],[12,"column","","The column on which this character may be found.",19,null],[3,"SourceLocation","","A range within a body of text.",null,null],[12,"start","","The start of the range.",20,null],[12,"end","","The end of the range.",20,null],[3,"Token","","A token from a body of text.",null,null],[12,"text","","The text of the token.",21,null],[12,"token_type","","The type of the token (`Whitespace` or `Word`).",21,null],[12,"location","","The location of the token in the source body of text.",21,null],[4,"TokenizerError","","Errors",null,null],[13,"CharacterNotAllowedHere","","Character not allowed here",22,null],[13,"SpecialNotYetImplemented","","Special not yet implemented",22,null],[13,"EscapingBackslashAtEndOfInput","","Escaping backslash at end of input",22,null],[13,"UnclosedDoubleQuoteAtEndOfInput","","Unclosed double quote at end of input",22,null],[13,"EscapedDoubleQuoteAtEndOfInput","","Escaped double quote at end of input",22,null],[4,"TokenType","","The role that a token plays: `Whitespace` or `Word`.",null,null],[13,"Invalid","","Internal usage only.",23,null],[13,"Whitespace","","The token represents whitespace and not a word.",23,null],[13,"Word","","The token represents a word within the body of text. This\ntakes double quoted strings into account.",23,null],[5,"tokenize","","Tokenize a body of text.",null,{"inputs":[{"name":"str"}],"output":{"name":"result"}}],[11,"eq","","",19,null],[11,"ne","","",19,null],[11,"fmt","","",19,null],[11,"new","","Construct a `SourceOffset`.",19,{"inputs":[{"name":"usize"},{"name":"usize"},{"name":"usize"}],"output":{"name":"sourceoffset"}}],[11,"eq","","",20,null],[11,"ne","","",20,null],[11,"fmt","","",20,null],[11,"new","","Construct a `SourceLocation`.",20,{"inputs":[{"name":"sourceoffset"},{"name":"sourceoffset"}],"output":{"name":"sourcelocation"}}],[11,"eq","","",23,null],[11,"fmt","","",23,null],[11,"clone","","",23,null],[11,"eq","","",21,null],[11,"ne","","",21,null],[11,"fmt","","",21,null],[11,"new","","Construct a `Token`. The lifetime parameter `'t` refers to the lifetime of the\ntext being tokenized.",21,{"inputs":[{"name":"str"},{"name":"tokentype"},{"name":"sourcelocation"}],"output":{"name":"token"}}],[0,"util","commands","Utilities",null,null],[5,"longest_common_prefix","commands::util","Longest Common Prefix",null,{"inputs":[{"name":"vec"}],"output":{"name":"str"}}]],"paths":[[3,"CommandTableEntry"],[3,"MenuDefinition"],[3,"CommandTable"],[4,"MenuItem"],[8,"Command"],[3,"Parser"],[3,"NodeFields"],[8,"Node"],[8,"ParameterNode"],[3,"RootNode"],[3,"CommandNode"],[3,"WrapperNode"],[3,"ParameterNameNode"],[3,"FlagParameterNode"],[3,"NamedParameterNode"],[3,"SimpleParameterNode"],[3,"CompletionOption"],[3,"Completion"],[8,"Complete"],[3,"SourceOffset"],[3,"SourceLocation"],[3,"Token"],[4,"TokenizerError"],[4,"TokenType"]]}; initSearch(searchIndex);