#compdef gcore _gcore() { local -a content content=( "anon[anonymous private mappings]" "ctf[CTF type information]" "data[writable private file mappings]" "dism[DISM mappings]" "heap[process heap]" "ism[ISM mappings]" "rodata[read-only private file mappings]" "shanon[anonymous shared mappings]" "shfile[file-backed shared mappings]" "shm[System V shared memory]" "stack[process stack]" "symtab[symbol table sections for loaded files]" "text[readable and executable private file mappings]" ) _arguments -s \ '-p[use per-process core file repository]' \ '-g[use global core file repository]' \ '-F[force grabbing the target process]' \ '-c[set core file content]:_values -s + "content" $content' \ '-o[set core file base name]:' \ '*:pids:_pids' } _gcore "$@"