From fc37d15e3e102ecba8fcdf38f389843fcab11065 Mon Sep 17 00:00:00 2001 From: Jun-ichi Takimoto Date: Thu, 22 Mar 2018 12:53:40 +0900 Subject: 42191: new completion for otool (macOS) --- ChangeLog | 4 ++++ Completion/Darwin/Command/_otool | 47 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 51 insertions(+) create mode 100644 Completion/Darwin/Command/_otool diff --git a/ChangeLog b/ChangeLog index ff845df5f..1868161d7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2018-03-22 Jun-ichi Takimoto + + * 42191: Completion/Darwin/Command/_otool: new completion + 2018-03-21 Peter Stephenson * 42487: Src/Zle/compctl.c: remove gcc 7.3.0 warnings and diff --git a/Completion/Darwin/Command/_otool b/Completion/Darwin/Command/_otool new file mode 100644 index 000000000..8c6c00867 --- /dev/null +++ b/Completion/Darwin/Command/_otool @@ -0,0 +1,47 @@ +#compdef otool llvm-otool +# +local opts args files variant curcontext=$context state state_descr line +typeset -A opt_args + +_arguments \ + '-a[display the archive header]' \ + '-S[display the contents of the __.SYMDEF file]' \ + '-f[display the universal headers]' \ + '-h[display the Mach header]' \ + '-l[display the load commands]' \ + '-L[display names and versions of shared libs that the object file uses]' \ + '-D[display just the internal name of shared lib]' \ + '-s[display the contents of the specified section]:segment name: :section name: ' \ + '-t[display the contents of (__TEXT,__text) section]' \ + '-d[display the contents of (__DATA,__data) section]' \ + '-o[display the contents of __OBJC segment]' \ + '-r[display the relocation entries]' \ + '-c[display the argument strings from a core file]' \ + '-I[display the indirect symbol table]' \ + '-T[display the table of contents for a dynamic shared library]' \ + '-R[display the reference table of a dynamic shared library]' \ + '-M[display the module table of dymamic shared library]' \ + '-H[display the two-level namespace hints table]' \ + '-G[display the data in code table]' \ + '-C[display the linker optimization hints]' \ + '-P[print the info_plist section as strings]' \ + '-p[with -t and -v/V: start disassembly from the specified symbol]:symbol name: ' \ + '-v[display verbosely (symbolically) when possible]' \ + '-V[display disassembled operands symbolically]' \ + "-X[don't print leading addresses/headers with disassembly]" \ + '-q[use the llvm disassembler (default)]' \ + '-mcpu=[use the specified cpu for the llvm disassembler]:target:->targets' \ + '-function_offsets[with disassembly, print decimal offset from the last label]' \ + '-j[with disassembly, print opcode bytes]' \ + "-Q[use otool's disassembler]" \ + '-arch[select the specified architecture from a universal file]:arch:(i386 x86_64)' \ + '-m[object file names are not assuemd to be in archive(member) syntax]' \ + '(- *)--version[print version of otool]' \ + '*:file:_object_files' && return 0 + +case $state in + targets) + _values "target architecture" "${(z)${(@)${(f)$(_call_program targets + ${~words[1]} --version 2>/dev/null)##*Registered Targets:}/ -*}}" + ;; +esac -- cgit 1.4.1