From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 6615 invoked by alias); 23 Aug 2018 16:21:22 -0000 Mailing-List: contact zsh-workers-help@zsh.org; run by ezmlm Precedence: bulk X-No-Archive: yes List-Id: Zsh Workers List List-Post: List-Help: List-Unsubscribe: X-Seq: 43328 Received: (qmail 7894 invoked by uid 1010); 23 Aug 2018 16:21:22 -0000 X-Qmail-Scanner-Diagnostics: from park01.gkg.net by f.primenet.com.au (envelope-from , uid 7791) with qmail-scanner-2.11 (clamdscan: 0.99.2/21882. spamassassin: 3.4.1. Clear:RC:0(205.235.26.22):SA:0(-1.6/5.0):. Processed in 1.448353 secs); 23 Aug 2018 16:21:22 -0000 X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=-1.6 required=5.0 tests=BAYES_00, FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,HEADER_FROM_DIFFERENT_DOMAINS, RCVD_IN_DNSWL_NONE,SPF_PASS,T_DKIM_INVALID autolearn=no autolearn_force=no version=3.4.1 X-Envelope-From: SRS0=T1c6=LG=yahoo.co.uk=okiddle@bounces.park01.gkg.net X-Qmail-Scanner-Mime-Attachments: | X-Qmail-Scanner-Zip-Files: | X-Virus-Scanned: by amavisd-new at gkg.net Authentication-Results: amavisd4.gkg.net (amavisd-new); dkim=pass (2048-bit key) header.d=yahoo.co.uk X-Greylist: domain auto-whitelisted by SQLgrey-1.8.0 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.co.uk; s=s2048; t=1535040770; bh=DGP97oMpDtOjTaTkQ5Vr9bEe1zn6+Z+obwTt2+m4VQM=; h=From:To:Subject:Date:From:Subject; b=TjrmT5jAU6Gc5aXD6NM5RK4qlYiRQ66bToURVyo6orhVYdnwAKn4ep0hUwm5gPmY2VmBu1Qfj1HLPO+pkJOx680tKOg6fqOVVj8PeZvMCN7nhaUc+ylLYnLli1thaSbGKyR3VyUsYPd8affse4kQcnRgXGNxXfbFsxLxzRgDa3Aa0Sv7ns/xVyarLd+4hCtRsf29p348PJDbdudAeMZsU4FLp+Q0LH9dL2SRD0tE7wGc3u4kZVj2nlR1GjUv7/dYHVDjfd5LbAFXRQ2+l6hq9okD9R7ejFHIG5YXJcrla9ThiDixG7FZWNjw+NErxVKEzABUTNgVpelBUHqxxhg0Nw== X-YMail-OSG: uwKGb.QVM1lpMi4ebgdoKBcJAKr5qwSTzPNRMgl2H7DzsQOFL6rS1U9W5Ll9.gh 1GBddy9EIJvNpG5.tcWoryfeFWeLtYvLhLH7jEjbb_sGPFsAPxfFfVwuQYvoF0xBG5F7t8YZZ6Hl igUDw0c9R1lacI8ysHzc9wAFrGIfxA4WFDNax515wsYoXp2A0UnjaHquJvwC66tW4wTsrbaJrhPf HzTHNWRJ9zrcgw7JRiOZhP001VjlWxo9lMFPisVADjNrCsyyh6uEOFPUt4GPVe7Obo7ybtcxFHtC XDmnPm1bp05AhXPWQOC7liyo41BxQRrYzeuK79hgwf2ULRjUp6M_cuGDG7sqM.Jfi5alStliiv9a eKvCo9p9FwXbDIw6avCQGchkDSJk5mvEqgaJdLLddGjJJw.azgn_2zwQS95GPr2zUalWnfIDbvSM .t0ZiJ8TQmHAMNNOYDngxtlooZODmku0DqZBnPeKZEumtPhkhc7DswrGzqdtyV0iq41LXfhyQMms bGqU6j5PiU69K5Pl.RuhRwi.xaCib3xGFcWJaR.XU9CdaQHAA27NxVc.7z21M9kmlpN07fKjMN6Y 85VIlQjsXEttWswvL0X9JrqCQux2RnKhAQHrJ6yzK9y8S7t1CvLQsZivpCV76k.nUq4jCl0Z20RY oT4U0tflf9XJg290YEPfPkYo91tlLpsMcsQRFuAKdmM_uUfuHw.t5DRNVToqAeaAMpTQUqHDJQnY I4lq6zMmLoiF_AUEMIxCvtLodSlE.OGLmwX.x0XXudW.O5_G7M4PeivrZrjwIcHe3tayG6LgdIx6 4E6L0ZXjT4X4Jh8rKiUxclhXrbKFt6nODPZXGE3QvdlSrf34bloMnFgrKFjfmZGvPrbl_u_UTRdV l3eykykgcJOH2AFyGDnb9Ap8iTFlH10bDuKmsJT7lDBz8hi9gqv_NeI9gs9YSvI1V2VxQKqnS3F9 3QpK6ZIb7o6_I5vPtrhEvm6UTaNnwzqpfjrvZ From: Oliver Kiddle To: Zsh workers Subject: PATCH: new completion for zeal offline documentation viewer MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-ID: <21856.1535040766.1@hydra> Date: Thu, 23 Aug 2018 18:12:46 +0200 Message-ID: <21857.1535040766@hydra> This adds completioin for zeal - https://zealdocs.org/ Oliver diff --git a/Completion/X/Command/_zeal b/Completion/X/Command/_zeal new file mode 100644 index 000000000..334331d40 --- /dev/null +++ b/Completion/X/Command/_zeal @@ -0,0 +1,43 @@ +#compdef zeal + +local curcontext="$curcontext" cfg docset setdir mbegin mend ret=1 +local -a state line expl suf docsets globbed match +local -A opt_args dsets + +_arguments -S \ + ':query:->queries' \ + + '(opt)' \ + {-h,--help}'[display help information]' \ + {-v,--version}'[display version information]' \ + {-f,--force}'[force the application to run]' && ret=0 + +if [[ -n $state ]]; then + cfg=${XDG_CONFIG_HOME:-~/.config}/Zeal/Zeal.conf + if [[ -r $cfg ]]; then + docsets=${${(M)${(f)"$(<$cfg)"}:#path=*}#path=} + else + docsets=${XDG_DATA_HOME:-~/.local/share}/Zeal/Zeal/docsets + fi + for docset in $docsets/*.docset/Contents/Info.plist(N); do + setdir=${docset:h:h:r:t:l:gs/+/p} + [[ $(<$docset) = *DocSetPlatformFamily\<[^\<]#\(#b)([^\<]#)* ]] || + match=( ${docset:h:h:r:t:l:gs/+/p} ) + dsets+=( $match[1] ${docset:h} ) + done + if compset -P 1 '*:'; then + globbed=( ${dsets[${IPREFIX%:}]}/Resources/docSet.dsidx(N[1]) ) + if (( $+commands[sqlite3] )) && [[ -e $globbed ]]; then + _description queries expl 'query' + compadd "$expl[@]" - ${(f)"$(_call_program queries + sqlite3 $globbed 'select name from searchIndex')"} && ret=0 + else + _message -e queries 'query' + fi + else + compset -S ':*' || suf=( -qS : ) + _description docsets expl 'docset' + compadd "$expl[@]" $suf -k dsets && ret=0 + fi +fi + +return ret