Mercurial > libervia-backend
annotate misc/_jp @ 2923:1fd3ecb3351a
plugin XEP-0329: use local part of jid for components:
when used by a component, local part can now be used to specify owner of the file. Local part is escaped using XEP-0106, then:
- if the unescaped text contain a "@", it is used as a jid
- else, a jid is build by using this text and host of the component
author | Goffi <goffi@goffi.org> |
---|---|
date | Fri, 26 Apr 2019 11:57:26 +0200 |
parents | d17772b0fe22 |
children |
rev | line source |
---|---|
818
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
1 #compdef jp jp_dev |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
2 # jp: a SAT command line tool |
1766 | 3 # Copyright (C) 2009-2016 Jérôme Poisson (goffi@goffi.org) |
818
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
4 |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
5 # This program is free software: you can redistribute it and/or modify |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
6 # it under the terms of the GNU Affero General Public License as published by |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
7 # the Free Software Foundation, either version 3 of the License, or |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
8 # (at your option) any later version. |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
9 |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
10 # This program is distributed in the hope that it will be useful, |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
11 # but WITHOUT ANY WARRANTY; without even the implied warranty of |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
13 # GNU Affero General Public License for more details. |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
14 |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
15 # You should have received a copy of the GNU Affero General Public License |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
16 # along with this program. If not, see <http://www.gnu.org/licenses/>. |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
17 |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
18 |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
19 #TODO: - caching (see _store_cache en _retrieve_cache) |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
20 # - filtering imposibles arguments |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
21 # - arguments (jids, files) |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
22 |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
23 PYTHON='python2' |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
24 |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
25 local optionals subcommands arguments |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
26 local context state state_descr line |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
27 typeset -A val_args |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
28 |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
29 _jp() { |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
30 eval `/usr/bin/env $PYTHON 2> /dev/null <<- PYTHONEND |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
31 import re |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
32 from subprocess import check_output |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
33 |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
34 # import sys |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
35 # words_raw="jp_dev " + ' '.join(sys.argv[1:]) # for debugging in a script |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
36 words_raw="$words" # $words is the command line currently completed |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
37 |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
38 words_all = words_raw.split() |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
39 prog_name = words_all[0] |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
40 |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
41 words_no_opt = [word for word in words_all if not word.startswith('-')] # command line without optional arguments |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
42 |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
43 choices_cache = {} |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
44 |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
45 ARG = r'[-a-z0-9_]' # charset accepted for an argument name |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
46 subcommands_re = re.compile(r"^ +{((?:" + ARG + r"+)(?:," + ARG + r"+)*)}", re.MULTILINE) |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
47 optionals_re = re.compile(r"^ {2,}(--?" + ARG + r"+(?: [A-Z_0-9]+)?(?:, --" + ARG + r"+(?: [A-Z_0-9]+)?)?)\n? {2,}(.*(?:\n {4,}.*)*$)", re.MULTILINE) |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
48 arguments_re = re.compile(r"^ {2,}([a-z_]" + ARG + r"*) {2,}(.*$)", re.MULTILINE) |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
49 clean_re = re.compile(r"(?P<prefix_spaces>^ +)|(?P<double_spaces> {2,})|(?P<newline>\n)|(?P<quote>')|(?P<suffix_spaces> +$)", re.MULTILINE) |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
50 |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
51 def _clean(desc): |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
52 def sub_clean(match): |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
53 matched_dict = match.groupdict() |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
54 matched = {matched for matched in matched_dict if matched_dict[matched]} |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
55 if matched.intersection(('prefix_spaces', 'suffix_spaces')): |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
56 return '' |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
57 elif matched.intersection(('double_spaces', 'newline')): |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
58 return ' ' |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
59 elif matched.intersection(('quote',)): |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
60 return r"'\''" |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
61 else: |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
62 raise ValueError |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
63 return clean_re.sub(sub_clean, desc) |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
64 |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
65 def parse_help(jp_help): |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
66 # parse the help returning subcommands, optionals arguments, and mandatory arguments |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
67 subcommands = subcommands_re.findall(jp_help) |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
68 subcommands = {subcommand:"" for subcommand in subcommands[0].split(',')} if subcommands else {} |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
69 optionals = dict(optionals_re.findall(jp_help)) |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
70 arguments = dict(arguments_re.findall(jp_help)) |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
71 for subcommand in subcommands: |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
72 subcommands[subcommand] = arguments.pop(subcommand, '') |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
73 return subcommands, optionals, arguments |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
74 |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
75 def get_choice(opt_choice): |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
76 choices = choices_cache.get(opt_choice) |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
77 if choices is not None: |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
78 return choices |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
79 if opt_choice == 'PROFILE': |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
80 profiles = check_output([prog_name, 'profile', 'list']) |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
81 choices = ":profile:(%s)" % ' '.join(profiles.split('\n')) |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
82 if choices: |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
83 choices_cache[opt_choice] = choices |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
84 return choices |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
85 else: |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
86 return "" |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
87 |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
88 def construct_opt(opts, desc): |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
89 # construct zsh's _arguments line for optional arguments |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
90 arg_lines = [] |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
91 for opt in opts.split(', '): |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
92 try: |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
93 opt_name, opt_choice = opt.split() |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
94 except ValueError: |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
95 # there is no argument |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
96 opt_name, opt_choice = opt, None |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
97 # arg_lines.append("'()%s[%s]%s'" % (opt_name+('=' if opt_name.startswith('--') else '+'), |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
98 arg_lines.append("'()%s[%s]%s'" % (opt_name, |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
99 _clean(desc), |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
100 "%s" % get_choice(opt_choice) if opt_choice else '' |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
101 )) |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
102 return ' '.join(arg_lines) |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
103 |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
104 current_args = [] |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
105 |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
106 while True: |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
107 # parse jp's help recursively until words_no_opt doesn't correspond anymore to a subcommand |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
108 try: |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
109 current_args.append(words_no_opt.pop(0)) |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
110 jp_help = check_output(current_args + ['--help']) |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
111 # print "jp_help (%s):\n%s\n\n---\n" % (' '.join(current_args), jp_help) # for debugging |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
112 subcommands, optionals, arguments = parse_help(jp_help) |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
113 if words_no_opt[0] not in subcommands: |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
114 break |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
115 except IndexError: |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
116 break |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
117 |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
118 # now we fill the arrays so zsh can use them |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
119 env=[] |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
120 env.append("optionals=(%s)" % ' '.join(construct_opt(opt, desc) for opt, desc in optionals.items())) |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
121 env.append("subcommands=(%s)" % ' '.join(["'%s[%s]'" % (subcommand, _clean(desc)) for subcommand, desc in subcommands.items()])) |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
122 env.append("arguments=(%s)" % ' '.join(["'%s[%s]'" % (argument, _clean(desc)) for argument, desc in arguments.items()])) |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
123 |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
124 print ";".join(env) # this line is for eval |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
125 PYTHONEND |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
126 ` |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
127 |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
128 if [ -n "$optionals" ]; then |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
129 _values optional $optionals |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
130 |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
131 fi |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
132 if [ -n "$subcommands" ]; then |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
133 _values subcommand $subcommands |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
134 fi |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
135 if [ -n "$arguments" ]; then |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
136 #_values argument $arguments |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
137 fi |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
138 } |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
139 |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
140 |
c328bcc4db71
jp: zsh completion, first draft (added in a new /misc directory):
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
141 _jp "$@" |