Completion Context Objects (found in xonsh.parsers.completion_context
)¶
- class xonsh.parsers.completion_context.CompletionContext(command: Optional[xonsh.parsers.completion_context.CommandContext] = None, python: Optional[xonsh.parsers.completion_context.PythonContext] = None)[source]¶
The object containing the current completion context.
Create new instance of CompletionContext(command, python)
- command: Optional[xonsh.parsers.completion_context.CommandContext]¶
The current command. This will be
None
when we can’t be completing a command, e.g.echo @(<TAB>
.
- python: Optional[xonsh.parsers.completion_context.PythonContext]¶
The current python code. This will be
None
when we can’t be completing python, e.g.echo $(<TAB>
.
- class xonsh.parsers.completion_context.CommandContext(args: Tuple[xonsh.parsers.completion_context.CommandArg, ...], arg_index: int, prefix: str = '', suffix: str = '', opening_quote: str = '', closing_quote: str = '', is_after_closing_quote: bool = False, subcmd_opening: str = '')[source]¶
The object containing the current command’s completion context.
Create new instance of CommandContext(args, arg_index, prefix, suffix, opening_quote, closing_quote, is_after_closing_quote, subcmd_opening)
- completing_command(command: str) bool [source]¶
Return whether this context is completing args for a command
- arg_index: int¶
The current argument’s index
- args: Tuple[xonsh.parsers.completion_context.CommandArg, ...]¶
The arguments in the command
- closing_quote: str¶
The current arg’s closing quote if it exists (e.g.
'
,"
,'''
)
- is_after_closing_quote: bool¶
The cursor is appending to a closed string literal, i.e. cursor at the end of
ls "/usr/"
. This affects the completion’s behaviour - seeCompleter.complete
inxonsh/completer.py
.
- opening_quote: str¶
The current arg’s opening quote if it exists (e.g.
'
,r"
,'''
)
- prefix: str¶
The current string arg’s prefix
- property raw_prefix¶
Prefix before the cursor, including quotes
- subcmd_opening: str¶
If this command is inside a subproc expression (e.g.
$(
,![
)
- suffix: str¶
The current string arg’s suffix
- class xonsh.parsers.completion_context.CommandArg(value: str, opening_quote: str = '', closing_quote: str = '')[source]¶
An argument for a command
Create new instance of CommandArg(value, opening_quote, closing_quote)
- closing_quote: str¶
The arg’s closing quote (if it exists)
- opening_quote: str¶
The arg’s opening quote (if it exists)
- property raw_value¶
The complete argument including quotes
- value: str¶
The argument’s value
- class xonsh.parsers.completion_context.PythonContext(multiline_code: str, cursor_index: int, is_sub_expression: bool = False, ctx: Optional[Dict[str, Any]] = None)[source]¶
The object containing the current python code completion context.
Create new instance of PythonContext(multiline_code, cursor_index, is_sub_expression, ctx)
- ctx: Optional[Dict[str, Any]]¶
Objects in the current execution context
- cursor_index: int¶
The cursor’s index in the multiline code
- is_sub_expression: bool¶
Whether this is a sub expression (
@(...)
)
- multiline_code: str¶
The multi-line python code
- property prefix¶
The code from the start to the cursor (may be multiline)