package completion
Type Members
- trait CompletionSupport extends Parsers with CompletionTypes
CompletionSupportadds completion capability to parsers.CompletionSupportadds completion capability to parsers.When mixed-in, this trait extends the scala.util.parsing.combinator.Parsers.Parser type with the abstract method com.nexthink.utils.parsing.combinator.completion.CompletionSupport.Parser#completions which returns a instance of com.nexthink.utils.parsing.combinator.completion.CompletionTypes.Completions for a certain input.
Combinators are overloaded to cover the additional completion aspect, so that no change is required in the grammar.
Note that the derived trait com.nexthink.utils.parsing.combinator.completion.RegexCompletionSupport can be mixed-in with
RegexParsersto automatically obtain completion behavior for string literals.A set of additional operators allow defining completions and specifying structural properties of completions (tag, score, meta, etc.) for a
Parser. - trait CompletionTypes extends AnyRef
Collection of data types allowing definition of structured parser completions.
Collection of data types allowing definition of structured parser completions. A
Completionsinstance can contain multipleCompletionSets instances. ACompletionSetprovides a set ofCompletionentries and is tagged with aCompletionTag.Sets allow structuring the completion entries into groups, each group tagged with a
label(plus optionaldescriptionandmeta, the latter allowing e.g. encoding visual attributes for the set). Sets also feature a score, which defines the order between sets within theCompletionsinstance.Each
Completionentry within a set has avalue, ascoreand ameta: the score allows ordering the entries within a set, and the meta can e.g. be used to assign a representation style for a particular completion entry.Note that specifying tags and sets is optional: if no tag is specified upon creation,
Completionsinstances create a unique default set with an empty tag.