From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED, UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 2872 invoked from network); 23 Feb 2021 03:12:41 -0000 Received: from zero.zsh.org (2a02:898:31:0:48:4558:7a:7368) by inbox.vuxu.org with ESMTPUTF8; 23 Feb 2021 03:12:41 -0000 ARC-Seal: i=1; cv=none; a=rsa-sha256; d=zsh.org; s=rsa-20200801; t=1614049961; b=P4oskGTL/Z0OEBp52XtR/wl0H8rycKj4tYIELN2ofsYe9nFYFa4Rqv5vh/TezClAovNNNvsCST Y0zaIS4to0pHxMrTv/oKot/BzdyzMZLHSY2vUJ+3BkxsRWO6V7SL4Mfl1u+qSYiAzbxaz5wt0M c7s/lDgAalWR4IA7xnZx3qU0hTZR8wtLhdJx0Rj6LNeNRqMvTYzULJfBZuV8iN1dVNNBn7nnOs hlg5BdYRgIO4B4fd07giMpONpF+8L+5vod7ZVmEAxELdcgo/JEgOG3nvqAFrpTLDX8dRtxz7a2 aN4afK9vFCOujPMRiMi9LmARrC9Mu+Y6ThBnRfSjq2ahrA==; ARC-Authentication-Results: i=1; zsh.org; iprev=pass (mail-oi1-f169.google.com) smtp.remote-ip=209.85.167.169; dkim=pass header.d=gmail.com header.s=20161025 header.a=rsa-sha256; dmarc=pass header.from=gmail.com; arc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed; d=zsh.org; s=rsa-20200801; t=1614049961; bh=xXhdMMVKVO14BorZdUCxJ4IH/Q0ahT72SZHUv8zrFww=; h=List-Archive:List-Owner:List-Post:List-Unsubscribe:List-Subscribe:List-Help: List-Id:Sender:To:Date:Message-ID:Subject:MIME-Version: Content-Transfer-Encoding:Content-Type:From:DKIM-Signature:DKIM-Signature; b=JTwx8ed96rNWNEKF8OjU5Am3tiCU7/WTxvbtMS4FcQPD/6icDBgSgyKpnMmsjvS/ledoM/i9R1 h6lVfcYRzu4utEjlxN1wHVD2OtilOe3a5gOtbEH8OjKuSviJNJXjAn35gzqiL76Vx/iwDK5P8E ibph/t0+hrukzvmcZbJrD4hP410ibkHCL++Yc1DiZBKvk+O7gRvugmmiQhSajCue9bgzF6+qH2 meXbuDW2r5dm0cJzuOkQu/ajJ8T80ZVSBCoxPz3VgKcOXHXFASlF84GebshooaCaiuUdwIB0R/ nQ/v5r8A80oqwTgad/a2b9RKaQQDAZLVb/cDh3IEsBGUMw==; DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=zsh.org; s=rsa-20200801; h=List-Archive:List-Owner:List-Post:List-Unsubscribe: List-Subscribe:List-Help:List-Id:Sender:To:Date:Message-Id:Subject: Mime-Version:Content-Transfer-Encoding:Content-Type:From:Reply-To:Cc: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References; bh=/jBC/bAMW0ExWCJQbN4i/mGGIHayBI3m0n6LBZO2WyY=; b=omIaa64ZosQ1dvnmkcdwc/JLVD D04Ypx8iZ69K91f3D3+n9kok87ZnhvAUBlV5ZFUo2ZSP4xg7vMNiGBHmXNBvU/6u/gB/vkRJ6ZVQQ lzp5POxI89X9BIT2Qv5QiWbzOE4BPFtC67D68DpFuNs2ovNkNdAIUYERKHfpwWDWl7qeiF5PCLAmj 0ikWCHWxrLknPn/LehMdQWZ2SdHJ3gtTfFtnH1iWOYBL1s+XvazpQY/BX0jKTiM6KwpEi8JcA4BvE PGmNdJZRAU0JMInfV1RJJbcI72h4MYdZ4PqSCP3IUv/RYCZAULx0+4wqQaoLj6pisTPLZobjbzalm N5oRboLQ==; Received: from authenticated user by zero.zsh.org with local id 1lEO7r-0009fR-Jn; Tue, 23 Feb 2021 03:12:39 +0000 Authentication-Results: zsh.org; iprev=pass (mail-oi1-f169.google.com) smtp.remote-ip=209.85.167.169; dkim=pass header.d=gmail.com header.s=20161025 header.a=rsa-sha256; dmarc=pass header.from=gmail.com; arc=none Received: from mail-oi1-f169.google.com ([209.85.167.169]:40455) by zero.zsh.org with esmtps (TLS1.3:TLS_AES_128_GCM_SHA256:128) id 1lEO7E-0009St-Hu; Tue, 23 Feb 2021 03:12:01 +0000 Received: by mail-oi1-f169.google.com with SMTP id 18so16302986oiz.7 for ; Mon, 22 Feb 2021 19:12:00 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:content-transfer-encoding:mime-version:subject:message-id:date :to; bh=/jBC/bAMW0ExWCJQbN4i/mGGIHayBI3m0n6LBZO2WyY=; b=IWqOx1bi6JGN5LygTKXp5Un2FiPmV69P/zzwzlY8k7MqbB2WfU8Row8aZFIYtuUpLd 3iCdy6vVQWOSojvj/ZC2T7PUEuePC/W0idG1p33HBBq0uXsmrK0PpPqmJD/1Suudsedu b1hCKbV4fCV1zYw93NU3t2c3gwRpeOr0sqe0n9ChedMA1QFUFSt9NWmgd0F+69JNrZd7 EKkYbIY+go9VXmEmRJkZ9bB2pqQBUb3C7x1YE9aXZg4rmc9Bic0QvxGEuuWeClTFOUb2 sDNo9EKD/EUA0FqD09QkGdl73TvELEpqfcyWYTaanCqT4VDh03oqY3dassLi8goJVsnl rWjg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:content-transfer-encoding:mime-version :subject:message-id:date:to; bh=/jBC/bAMW0ExWCJQbN4i/mGGIHayBI3m0n6LBZO2WyY=; b=pbAA91N8J1fIBoDfIJvoiFLTvpGLeHvuwgllU93d3InmzveEiVC4ViTvJFqYjksHAb cLvmn1HOimG9BCl8iwhyT4lBCnBcc1wnSH3IvhpnIRJaM4BYBAsUOs7WXKiUGaAEnRDP csiFehAwvowxetzctxYgDzoMKhYrIYPiLT/OUlkTF2yCIjbyEIAdjDdRMvtVxIK0EZpa KfzIlS1BZTxnvxO5ZrIrTQDiZLnwi3vjBXIgFSgEbS1Q4cNzYGgbU7g2VzqJDhaS9ygC s/1i4VAoFeitNuUr4Oc0Cgu+rqKW8IOfBjgm2ZirqV57lQ4aUMnZrnLQG79zNGn0DVG2 CqTQ== X-Gm-Message-State: AOAM5309oHOPTjwqx267oR2Tf4HKM0EJFPi2b6cNh9oSaF7SnUArsNaP Pz9htML+weHyYEWW/WdvNVwZqnT/TZLB4g== X-Google-Smtp-Source: ABdhPJx04GYylKVkFkvpqONrwATQ7JVO9nyhjubJssFQwu+iUBSwwmSbYPADn8kSz/s2v44CcrPQSg== X-Received: by 2002:aca:f388:: with SMTP id r130mr18365105oih.55.1614049919089; Mon, 22 Feb 2021 19:11:59 -0800 (PST) Received: from ?IPv6:2601:2c3:ca81:7bc0:147a:84dc:a9b:ce74? ([2601:2c3:ca81:7bc0:147a:84dc:a9b:ce74]) by smtp.gmail.com with ESMTPSA id h24sm4050398otl.50.2021.02.22.19.11.58 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 22 Feb 2021 19:11:58 -0800 (PST) From: Jacob Gelbman Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable Mime-Version: 1.0 (Mac OS X Mail 13.4 \(3608.120.23.2.4\)) Subject: Completion script for the ctags program Message-Id: Date: Mon, 22 Feb 2021 21:11:57 -0600 To: zsh-workers@zsh.org X-Mailer: Apple Mail (2.3608.120.23.2.4) X-Seq: 48096 Archived-At: X-Loop: zsh-workers@zsh.org Errors-To: zsh-workers-owner@zsh.org Precedence: list Precedence: bulk Sender: zsh-workers-request@zsh.org X-no-archive: yes List-Id: List-Help: List-Subscribe: List-Unsubscribe: List-Post: List-Owner: List-Archive: Archived-At: I wrote a completion script for the ctags program. Someone might be able = to use it: #compdef ctags local state _arguments \ "-?[help text]" \ "-a[append the tags to an existing tag file]" \ "-B[use backward searching patterns (?...?)]" \ "-D[give definition for macro]:macro definition:" \ "-e[output tag file for use with emacs]" \ "-f[write tags to specified file. - is stdout]:file:_files" \ "-F[use forward searching patterns]" \ "-G[equivalent to --guess-language-eagerly]" \ "-h[specify list of file extensions to be treated as include = files]:" \ "-I[a list of tokens to be specifically handled is read from either = the command line or the specified file]:" \ "-L[a list of input file names is read from the specified file. - is = stdin]:file:_files" \ "-n[equivalent to --excmd=3Dnumber]" \ "-N[equivalent to --excmd=3Dpattern]" \ "-o[alternative to -f]:file:_files" \ "-R[equivalent to --recurse]" \ "-u[equivalent to --sort=3Dno]" \ "-V[equivalent to --verbose]" \ "-x[print a tabular cross reference file to stdout]" \ "--alias-=3D[add a pattern detecting a name, can be used as an = alt name for lang]:pattern" \ "--append=3D[should tags be appended to existing tag file]:bool:(yes = no)" \ "--etags-include=3D[include reference to file in emacs style tag = file]:file:_files" \ "--exclude=3D[exclude files and directories matching = pattern]:pattern" \ "--exclude-exception=3D[don't exclude files and directories matching = pattern even if they match the pattern specified with = --exclude]:pattern" \ "--excmd=3D[uses the specified type of ex command to locate tags]:ex = command type:(number pattern mix combine)" \ "--extras=3D[include extra tag entries for selected information = (flags fFgpqrs)]:flags" \ "--extras-=3D[include own extra tag entries for = selected information]:flags" \ "--fields=3D[include selected extension fields (flags = aCeEfFikKlmnNpPrRsStxzZ)]:flags" \ "--fields-=3D[include selected own extension = fields]:flags" \ "--filter=3D[behave as a filter, reading file names from stdin and = writing tags to stdout]:bool:(yes no)" \ "--filter-terminator=3D[specify string to print to stdout following = the tags for each file parsed when --filter is enabled]:string" \ "--format=3D[force output of specified tag file format]:level" \ "--guess-language-eagerly[guess the language of input file more = eagerly]" \ "--help[help text]" \ "--help-full[help text with experimental features]" \ "--if0=3D[should code within #if 0 conditionals be parsed]:bool:(yes = no)" \ "--input-encoding=3D[specify encoding of all input files]:encoding" = \ "--input-encoding-=3D[specify encoding of the input = files]:encoding" \ "--kinddef-=3D[define new kind for ]:kind" \ "--kinds-=3D[enable/disable tag kinds for ]:kind" \ "--langdef=3D[define a new language to be parsed with regular = expressions]:name" \ "--langmap=3D[override default mapping of language to input file = extension]:maps" \ "--language-force=3D[force all files to be interpreted using = specified language]:language:->language" \ "--languages=3D[restrict files scanned to these comma-separated = languages]:language:->languages" \ "--license[print details of software license]" \ "--line-directives=3D[should #line directives be = processed]:bool:(yes no)" \ "--links=3D[indicate whether symlinks should be followed]:bool:(yes = no)" \ "--list-aliases=3D[list of alias patterns]:language:->language" \ "--list-excludes[list of exclude patterns for files/dirs]" \ "--list-extras=3D[list of extra tag flags]:language:->language" \ "--list-features[list of compiled features]" \ "--list-fields=3D[list of fields]:language:->language" \ "--list-kinds=3D[list of all tag kinds for = lang]:language:->language" \ "--list-kinds-full=3D[list details of all tag kinds for = lang]:language:->language" \ "--list-languages[list of supported languages]" \ "--list-map-extensions=3D[list of language extensions in = mapping]:language:->language" \ "--list-map-patterns=3D[list of language patterns in = mapping]:language:->language" \ "--list-maps=3D[list of language mappings (both extensions and = patterns)]:language:->language" \ "--list-mline-regex-flags[list of flags which can be used in a = multiline regex parser definition]" \ "--list-params=3D[list of language parameters. works with = --machinable]:language:->language" \ "--list-pseudo-tags[list of pseudo tags]" \ "--list-regex-flags[list of flags which can be used in a regex = parser definition]" \ "--list-roles=3D[list of all roles of tag kinds specified for = langs]:language:->language" \ "--list-subparsers=3D[list of subparsers for the base = lang]:language:->language" \ "--machinable=3D[use tab separated representation in --list-* = output]:bool:(yes no)" \ "--map-=3D[set, add(+), or remove(-) the map for = ]:pattern" \ "--maxdepth=3D[specify maximum recursion depth]:depth" \ "--mline-regex-=3D[define multiline regex for locating tags in = ]:pattern" \ "--options=3D[specify file (or dir) from which command line options = should be read]:file:_files" \ "--options-maybe=3D[same as --options but doesn't = error]:file:_files" \ "--optlib-dir=3D[add or set dir to optlib search path]:dir:_files = -/" \ "--output-encoding=3D[the encoding to write the tag file = in]:encoding" \ "--output-format=3D[specify the output format]:format:(u-ctags = e-ctags etags xref)" \ "--param-=3D[set specific parameter]:argument" \ "--pattern-length-limit=3D[cutoff patterns of tag entries after N = characters]:number" \ "--print-language[don't make tags file but just print the guessed = lang name for input file]" \ "--pseudo-tags=3D[enable/disable emitting pseudo tag named ptag. if = *, enable emitting all pseudo tags]:ptag" \ "--put-field-prefix[put UCTAGS as prefix for the name of fields = newly introducted in universal ctags]" \ "--quiet=3D[don't print notice class messages]:bool:(yes no)" \ "--recurse=3D[recurse]:bool:(yes no)" \ "--regex-=3D[define regex for locating tags in specific = lang]:pattern" \ "--roles-.=3D[enable/disable tag roles for kinds of = ]:role" \ "--sort=3D[should tags be sorted]:argument:(yes no foldcase)" \ "--tag-relative=3D[should paths be relative to location of tag = file]:argument:(yes no always never)" \ "--totals=3D[print stats about input and tag files]:arguments:(yes = no extra)" \ "--verbose=3D[enable verbose messages describing actions]:bool:(yes = no)" \ "--version[print version]" \ "--with-list-header=3D[prepend the column descriptions in --list-* = output]:bool:(yes no)" \ "*:file:_files" if [ "$state" =3D "language" ]; then compadd `ctags --list-languages | cut -d" " -f1` elif [ "$state" =3D "languages" ]; then _values -s , "languages" `ctags --list-languages | cut -d" " -f1` fi