CompletionContext describes a place in code where completion was triggered, containing the type of completion and the context around it.
a string literal argument for a command like getDataSet. We can delegate completion to an engine for this command.
we are within the body of a command such as "plot" and we want to see what the arguments and named parameters are.
the context type, such as COMMAND_ARGUMENT or STRING_LITERAL_ARGUMENT. In ds= getDataSet('/hom<C>'), this is STRING_LITERAL_ARGUMENT
the context string, such as a command name. In ds= getDataSet('/hom<C>'), this is 'getDataSet'
the item on which completion was triggered. In ds= getDataSet('/hom<C>'), this is '/hom'
return null or the class for the context.