---
source: prqlc/prqlc/src/cli/test.rs
info:
program: prqlc
args:
- "--color=never"
- shell-completion
- powershell
env:
CLICOLOR_FORCE: ""
NO_COLOR: "1"
RUST_BACKTRACE: ""
RUST_LOG: ""
---
success: true
exit_code: 0
----- stdout -----
using namespace System.Management.Automation
using namespace System.Management.Automation.Language
Register-ArgumentCompleter -Native -CommandName 'prqlc' -ScriptBlock {
param($wordToComplete, $commandAst, $cursorPosition)
$commandElements = $commandAst.CommandElements
$command = @(
'prqlc'
for ($i = 1; $i -lt $commandElements.Count; $i++) {
$element = $commandElements[$i]
if ($element -isnot [StringConstantExpressionAst] -or
$element.StringConstantType -ne [StringConstantType]::BareWord -or
$element.Value.StartsWith('-') -or
$element.Value -eq $wordToComplete) {
break
}
$element.Value
}) -join ';'
$completions = @(switch ($command) {
'prqlc' {
[CompletionResult]::new('--color', '--color', [CompletionResultType]::ParameterName, 'Controls when to use color')
[CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
[CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
[CompletionResult]::new('-V', '-V ', [CompletionResultType]::ParameterName, 'Print version')
[CompletionResult]::new('--version', '--version', [CompletionResultType]::ParameterName, 'Print version')
[CompletionResult]::new('parse', 'parse', [CompletionResultType]::ParameterValue, 'Parse into PL AST')
[CompletionResult]::new('lex', 'lex', [CompletionResultType]::ParameterValue, 'Lex into Lexer Representation')
[CompletionResult]::new('fmt', 'fmt', [CompletionResultType]::ParameterValue, 'Parse & generate PRQL code back')
[CompletionResult]::new('collect', 'collect', [CompletionResultType]::ParameterValue, 'Parse the whole project and collect it into a single PRQL source file')
[CompletionResult]::new('debug', 'debug', [CompletionResultType]::ParameterValue, 'Commands for meant for debugging, prone to change')
[CompletionResult]::new('experimental', 'experimental', [CompletionResultType]::ParameterValue, 'Experimental commands are prone to change')
[CompletionResult]::new('compile', 'compile', [CompletionResultType]::ParameterValue, 'Parse, resolve, lower into RQ & compile to SQL')
[CompletionResult]::new('watch', 'watch', [CompletionResultType]::ParameterValue, 'Watch a directory and compile .prql files to .sql files')
[CompletionResult]::new('list-targets', 'list-targets', [CompletionResultType]::ParameterValue, 'Show available compile target names')
[CompletionResult]::new('lsp', 'lsp', [CompletionResultType]::ParameterValue, 'Language Server Protocol')
[CompletionResult]::new('shell-completion', 'shell-completion', [CompletionResultType]::ParameterValue, 'Print a shell completion for supported shells')
[CompletionResult]::new('help', 'help', [CompletionResultType]::ParameterValue, 'Print this message or the help of the given subcommand(s)')
break
}
'prqlc;parse' {
[CompletionResult]::new('--format', '--format', [CompletionResultType]::ParameterName, 'format')
[CompletionResult]::new('--color', '--color', [CompletionResultType]::ParameterName, 'Controls when to use color')
[CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
[CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
break
}
'prqlc;lex' {
[CompletionResult]::new('--format', '--format', [CompletionResultType]::ParameterName, 'format')
[CompletionResult]::new('--color', '--color', [CompletionResultType]::ParameterName, 'Controls when to use color')
[CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
[CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
break
}
'prqlc;fmt' {
[CompletionResult]::new('--color', '--color', [CompletionResultType]::ParameterName, 'Controls when to use color')
[CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
[CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
break
}
'prqlc;collect' {
[CompletionResult]::new('--color', '--color', [CompletionResultType]::ParameterName, 'Controls when to use color')
[CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
[CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
break
}
'prqlc;debug' {
[CompletionResult]::new('--color', '--color', [CompletionResultType]::ParameterName, 'Controls when to use color')
[CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
[CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
[CompletionResult]::new('annotate', 'annotate', [CompletionResultType]::ParameterValue, 'Parse, resolve & combine source with comments annotating relation type')
[CompletionResult]::new('lineage', 'lineage', [CompletionResultType]::ParameterValue, 'Output column-level lineage graph')
[CompletionResult]::new('ast', 'ast', [CompletionResultType]::ParameterValue, 'Print info about the AST data structure')
[CompletionResult]::new('json-schema', 'json-schema', [CompletionResultType]::ParameterValue, 'Print JSON Schema')
[CompletionResult]::new('help', 'help', [CompletionResultType]::ParameterValue, 'Print this message or the help of the given subcommand(s)')
break
}
'prqlc;debug;annotate' {
[CompletionResult]::new('--color', '--color', [CompletionResultType]::ParameterName, 'Controls when to use color')
[CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
[CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
break
}
'prqlc;debug;lineage' {
[CompletionResult]::new('--format', '--format', [CompletionResultType]::ParameterName, 'format')
[CompletionResult]::new('--color', '--color', [CompletionResultType]::ParameterName, 'Controls when to use color')
[CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help (see more with ''--help'')')
[CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help (see more with ''--help'')')
break
}
'prqlc;debug;ast' {
[CompletionResult]::new('--color', '--color', [CompletionResultType]::ParameterName, 'Controls when to use color')
[CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
[CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
break
}
'prqlc;debug;json-schema' {
[CompletionResult]::new('--ir-type', '--ir-type', [CompletionResultType]::ParameterName, 'ir-type')
[CompletionResult]::new('--color', '--color', [CompletionResultType]::ParameterName, 'Controls when to use color')
[CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
[CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
break
}
'prqlc;debug;help' {
[CompletionResult]::new('annotate', 'annotate', [CompletionResultType]::ParameterValue, 'Parse, resolve & combine source with comments annotating relation type')
[CompletionResult]::new('lineage', 'lineage', [CompletionResultType]::ParameterValue, 'Output column-level lineage graph')
[CompletionResult]::new('ast', 'ast', [CompletionResultType]::ParameterValue, 'Print info about the AST data structure')
[CompletionResult]::new('json-schema', 'json-schema', [CompletionResultType]::ParameterValue, 'Print JSON Schema')
[CompletionResult]::new('help', 'help', [CompletionResultType]::ParameterValue, 'Print this message or the help of the given subcommand(s)')
break
}
'prqlc;debug;help;annotate' {
break
}
'prqlc;debug;help;lineage' {
break
}
'prqlc;debug;help;ast' {
break
}
'prqlc;debug;help;json-schema' {
break
}
'prqlc;debug;help;help' {
break
}
'prqlc;experimental' {
[CompletionResult]::new('--color', '--color', [CompletionResultType]::ParameterName, 'Controls when to use color')
[CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
[CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
[CompletionResult]::new('doc', 'doc', [CompletionResultType]::ParameterValue, 'Generate Markdown documentation')
[CompletionResult]::new('highlight', 'highlight', [CompletionResultType]::ParameterValue, 'Syntax highlight')
[CompletionResult]::new('help', 'help', [CompletionResultType]::ParameterValue, 'Print this message or the help of the given subcommand(s)')
break
}
'prqlc;experimental;doc' {
[CompletionResult]::new('--format', '--format', [CompletionResultType]::ParameterName, 'format')
[CompletionResult]::new('--color', '--color', [CompletionResultType]::ParameterName, 'Controls when to use color')
[CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
[CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
break
}
'prqlc;experimental;highlight' {
[CompletionResult]::new('--color', '--color', [CompletionResultType]::ParameterName, 'Controls when to use color')
[CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
[CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
break
}
'prqlc;experimental;help' {
[CompletionResult]::new('doc', 'doc', [CompletionResultType]::ParameterValue, 'Generate Markdown documentation')
[CompletionResult]::new('highlight', 'highlight', [CompletionResultType]::ParameterValue, 'Syntax highlight')
[CompletionResult]::new('help', 'help', [CompletionResultType]::ParameterValue, 'Print this message or the help of the given subcommand(s)')
break
}
'prqlc;experimental;help;doc' {
break
}
'prqlc;experimental;help;highlight' {
break
}
'prqlc;experimental;help;help' {
break
}
'prqlc;compile' {
[CompletionResult]::new('-t', '-t', [CompletionResultType]::ParameterName, 'Target to compile to')
[CompletionResult]::new('--target', '--target', [CompletionResultType]::ParameterName, 'Target to compile to')
[CompletionResult]::new('--debug-log', '--debug-log', [CompletionResultType]::ParameterName, 'File path into which to write the debug log to')
[CompletionResult]::new('--color', '--color', [CompletionResultType]::ParameterName, 'Controls when to use color')
[CompletionResult]::new('--hide-signature-comment', '--hide-signature-comment', [CompletionResultType]::ParameterName, 'Exclude the signature comment containing the PRQL version')
[CompletionResult]::new('--no-format', '--no-format', [CompletionResultType]::ParameterName, 'Emit unformatted, dense SQL')
[CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help (see more with ''--help'')')
[CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help (see more with ''--help'')')
break
}
'prqlc;watch' {
[CompletionResult]::new('--color', '--color', [CompletionResultType]::ParameterName, 'Controls when to use color')
[CompletionResult]::new('--no-format', '--no-format', [CompletionResultType]::ParameterName, 'no-format')
[CompletionResult]::new('--no-signature', '--no-signature', [CompletionResultType]::ParameterName, 'no-signature')
[CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
[CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
break
}
'prqlc;list-targets' {
[CompletionResult]::new('--color', '--color', [CompletionResultType]::ParameterName, 'Controls when to use color')
[CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
[CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
break
}
'prqlc;lsp' {
[CompletionResult]::new('--color', '--color', [CompletionResultType]::ParameterName, 'Controls when to use color')
[CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
[CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
break
}
'prqlc;shell-completion' {
[CompletionResult]::new('--color', '--color', [CompletionResultType]::ParameterName, 'Controls when to use color')
[CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
[CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
break
}
'prqlc;help' {
[CompletionResult]::new('parse', 'parse', [CompletionResultType]::ParameterValue, 'Parse into PL AST')
[CompletionResult]::new('lex', 'lex', [CompletionResultType]::ParameterValue, 'Lex into Lexer Representation')
[CompletionResult]::new('fmt', 'fmt', [CompletionResultType]::ParameterValue, 'Parse & generate PRQL code back')
[CompletionResult]::new('collect', 'collect', [CompletionResultType]::ParameterValue, 'Parse the whole project and collect it into a single PRQL source file')
[CompletionResult]::new('debug', 'debug', [CompletionResultType]::ParameterValue, 'Commands for meant for debugging, prone to change')
[CompletionResult]::new('experimental', 'experimental', [CompletionResultType]::ParameterValue, 'Experimental commands are prone to change')
[CompletionResult]::new('compile', 'compile', [CompletionResultType]::ParameterValue, 'Parse, resolve, lower into RQ & compile to SQL')
[CompletionResult]::new('watch', 'watch', [CompletionResultType]::ParameterValue, 'Watch a directory and compile .prql files to .sql files')
[CompletionResult]::new('list-targets', 'list-targets', [CompletionResultType]::ParameterValue, 'Show available compile target names')
[CompletionResult]::new('lsp', 'lsp', [CompletionResultType]::ParameterValue, 'Language Server Protocol')
[CompletionResult]::new('shell-completion', 'shell-completion', [CompletionResultType]::ParameterValue, 'Print a shell completion for supported shells')
[CompletionResult]::new('help', 'help', [CompletionResultType]::ParameterValue, 'Print this message or the help of the given subcommand(s)')
break
}
'prqlc;help;parse' {
break
}
'prqlc;help;lex' {
break
}
'prqlc;help;fmt' {
break
}
'prqlc;help;collect' {
break
}
'prqlc;help;debug' {
[CompletionResult]::new('annotate', 'annotate', [CompletionResultType]::ParameterValue, 'Parse, resolve & combine source with comments annotating relation type')
[CompletionResult]::new('lineage', 'lineage', [CompletionResultType]::ParameterValue, 'Output column-level lineage graph')
[CompletionResult]::new('ast', 'ast', [CompletionResultType]::ParameterValue, 'Print info about the AST data structure')
[CompletionResult]::new('json-schema', 'json-schema', [CompletionResultType]::ParameterValue, 'Print JSON Schema')
break
}
'prqlc;help;debug;annotate' {
break
}
'prqlc;help;debug;lineage' {
break
}
'prqlc;help;debug;ast' {
break
}
'prqlc;help;debug;json-schema' {
break
}
'prqlc;help;experimental' {
[CompletionResult]::new('doc', 'doc', [CompletionResultType]::ParameterValue, 'Generate Markdown documentation')
[CompletionResult]::new('highlight', 'highlight', [CompletionResultType]::ParameterValue, 'Syntax highlight')
break
}
'prqlc;help;experimental;doc' {
break
}
'prqlc;help;experimental;highlight' {
break
}
'prqlc;help;compile' {
break
}
'prqlc;help;watch' {
break
}
'prqlc;help;list-targets' {
break
}
'prqlc;help;lsp' {
break
}
'prqlc;help;shell-completion' {
break
}
'prqlc;help;help' {
break
}
})
$completions.Where{ $_.CompletionText -like "$wordToComplete*" } |
Sort-Object -Property ListItemText
}
----- stderr -----