Hackfut Security File Manager
Current Path:
/opt/alt/python38/lib/python3.8/site-packages/click
opt
/
alt
/
python38
/
lib
/
python3.8
/
site-packages
/
click
/
📁
..
📄
__init__.py
(2.79 KB)
📁
__pycache__
📄
_bashcomplete.py
(2.37 KB)
📄
_compat.py
(20.22 KB)
📄
_termui_impl.py
(15.99 KB)
📄
_textwrap.py
(1.17 KB)
📄
_unicodefun.py
(4.17 KB)
📄
_winconsole.py
(7.61 KB)
📄
core.py
(68.44 KB)
📄
decorators.py
(10.68 KB)
📄
exceptions.py
(6.63 KB)
📄
formatting.py
(8.68 KB)
📄
globals.py
(1.48 KB)
📄
parser.py
(15.15 KB)
📄
termui.py
(20.52 KB)
📄
testing.py
(10.75 KB)
📄
types.py
(18.42 KB)
📄
utils.py
(14.57 KB)
Editing: _bashcomplete.py
import os import re from .utils import echo from .parser import split_arg_string from .core import MultiCommand, Option COMPLETION_SCRIPT = ''' %(complete_func)s() { COMPREPLY=( $( env COMP_WORDS="${COMP_WORDS[*]}" \\ COMP_CWORD=$COMP_CWORD \\ %(autocomplete_var)s=complete $1 ) ) return 0 } complete -F %(complete_func)s -o default %(script_names)s ''' _invalid_ident_char_re = re.compile(r'[^a-zA-Z0-9_]') def get_completion_script(prog_name, complete_var): cf_name = _invalid_ident_char_re.sub('', prog_name.replace('-', '_')) return (COMPLETION_SCRIPT % { 'complete_func': '_%s_completion' % cf_name, 'script_names': prog_name, 'autocomplete_var': complete_var, }).strip() + ';' def resolve_ctx(cli, prog_name, args): ctx = cli.make_context(prog_name, args, resilient_parsing=True) while ctx.args + ctx.protected_args and isinstance(ctx.command, MultiCommand): a = ctx.args + ctx.protected_args cmd = ctx.command.get_command(ctx, a[0]) if cmd is None: return None ctx = cmd.make_context(a[0], a[1:], parent=ctx, resilient_parsing=True) return ctx def get_choices(cli, prog_name, args, incomplete): ctx = resolve_ctx(cli, prog_name, args) if ctx is None: return choices = [] if incomplete and not incomplete[:1].isalnum(): for param in ctx.command.params: if not isinstance(param, Option): continue choices.extend(param.opts) choices.extend(param.secondary_opts) elif isinstance(ctx.command, MultiCommand): choices.extend(ctx.command.list_commands(ctx)) for item in choices: if item.startswith(incomplete): yield item def do_complete(cli, prog_name): cwords = split_arg_string(os.environ['COMP_WORDS']) cword = int(os.environ['COMP_CWORD']) args = cwords[1:cword] try: incomplete = cwords[cword] except IndexError: incomplete = '' for item in get_choices(cli, prog_name, args, incomplete): echo(item) return True def bashcomplete(cli, prog_name, complete_var, complete_instr): if complete_instr == 'source': echo(get_completion_script(prog_name, complete_var)) return True elif complete_instr == 'complete': return do_complete(cli, prog_name) return False
Upload File
Create Folder