about summary refs log tree commit diff
path: root/Completion/Unix/Command/_nm
blob: 3ceb8c932f3617203273c3c5dcf0c731fc696b4c (plain) (blame)
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
#compdef nm

# This is a stub.  It's main reason for existence is to offer
# object files with nm.  Feel free to extend it.  If you do, remove
# this comment.

local state context line expl
local -A opt_args
local -a args
integer ret=1

if _pick_variant gnu='Free Soft' unix --version; then
  args+=(-s --)
fi
args+=('*:file:->file')

_arguments "$args[@]" && ret=0

case $state in
  (file)
  _alternative \
    "object-files:object file:_path_files -g '*.o'" \
    "executable-files:executable file:_path_files -g '*(*)'" \
    "dynamic-libraries:dynamic library:_path_files -g '*.so(.*)#'" \
    "static-libraries:static library:_path_files -g '*.a'" \
    "directories:directory:_path_files -g '*(/)'" && ret=0
  ;;
esac

return ret