1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
|
#compdef lldb
local curcontext=$curcontext state state_descr line expl ret=1
typeset -A opt_args
typeset -a opts args
[[ $EUID = 0 || $_comp_priv_prefix[1] = sudo ]] && opts=( -a )
args=(
'*'{-o+,--one-line=}'[run one-line lldb command after loading executable]:lldb command: '
'*'{-s+,--source=}'[run lldb commands from a file after loading executable]:file:_files'
'*'{-O+,--one-line-before-file=}'[run one-line lldb command before loading executable]:lldb command'
'*'{-S+,--source-before-file=}'[run lldb commands from a file before loading executable]:file:_files'
'(-k --one-line-on-crash)'{-k+,--one-line-on-crash=}'[run one-line lldb command if target crashes in batch mode]:lldb command'
'(-K --source-on-crash)'{-K+,--source-on-crash=}'[run lldb commands from a file if target crashes in batch mode]:file:_files'
'(-b --batch)'{-b,--batch}'[run commands from -s -S -o -O and quit]'
'(-Q --source-quietly)'{-Q,--source-quietly}'[suppress output from -s, -S, -o or -O]'
'(-e --editor)'{-e,--editor}'[open source files using "external editor" mechanism]'
'(-x --no-lldbinit)'{-x,--no-lldbinit}'[do not automatically parse .lldbinit files]'
'(-X --no-use-colors)'{-X,--no-use-colors}'[do not use colors]'
'(-d --debug)'{-d,--debug}'[print extra information for debugging itself]'
'(-r --repl)'{-r,--repl}'[run lldb in REPL mode]'
'(-l --script-language)'{-l+,--script-language=}'[use the specified scripting language]:language:(Python Perl Ruby Tcl)'
- info
'(-)'{-h,--help}'[print the usage information]'
'(-)'{-v,--version}'[print the current version number]'
'(-)'{-P,--python-path}'[print path to the lldb.py file]'
- file
'(-f --file)'{-f+,--file=}'[specify executable file to debug]:executable:_files -g "*(-*)"'
'(-a --arch)'{-a+,--arch=}'[use the specified architecture]:arch'
'(-c --core)'{-c+,--core=}'[specify core file to open]:core file:_files -g "*core*(-.)"'
'*::executable and arguments:->exe_args'
- name
'(-n --attach-name)'{-n+,--attach-name=}"[attach to the named process]: :_process_names $opts"
'(-w --wait-for)'{-w,--wait-for}'[wait for the specified process to launch]'
- pid
'(-p --attach-pid)'{-p+,--attach-pid=}'[attach to the specified process]:pid:_pids'
)
_arguments -C -s -S : $args && return 0
case $state in
(exe_args)
if [[ -z $opt_args[(I)file-(-f|--file)] ]]; then
if [[ $CURRENT -eq 1 ]]; then
_wanted executables expl 'executable' _files -g '*(-*)' && ret=0
else
_normal && ret=0
fi
else
words=( ${(v)opt_args[(i)file-(-f|--file)]} "$words[@]" )
(( CURRENT++ ))
_normal && ret=0
fi
esac
return ret
|