show possible choices

This commit is contained in:
Isaac 2023-05-04 21:12:24 -07:00
parent 639e88262e
commit bbc3e9d717
No known key found for this signature in database
GPG Key ID: E69FB5A841448A48
1 changed files with 22 additions and 6 deletions

View File

@ -66,6 +66,15 @@ def bash_completion():
) )
) )
file_metavars = (
'FILENAME',
'PATH',
)
file_destinations = (
'config_paths'
)
def conditionally_emit_file_completion(action: Action): def conditionally_emit_file_completion(action: Action):
''' '''
@ -74,15 +83,22 @@ def conditionally_emit_file_completion(action: Action):
Otherwise, return an empty string. Otherwise, return an empty string.
''' '''
if not action.metavar:
return ''
args = ' '.join(action.option_strings) args = ' '.join(action.option_strings)
return dedent( if action.metavar in file_metavars or action.dest in file_destinations:
f''' return dedent(
complete -c borgmatic -a '{args}' -Fr -n "__borgmatic_last_arg {args}"''' f'''
) complete -c borgmatic -a '{args}' -Fr -n "__borgmatic_last_arg {args}"'''
)
if action.choices:
return dedent(
f'''
complete -c borgmatic -a '{' '.join(map(str, action.choices))}' -n "__borgmatic_last_arg {args}"'''
)
return ''
def dedent_strip_as_tuple(string: str): def dedent_strip_as_tuple(string: str):