From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 9476 invoked by alias); 16 Aug 2013 14:52:17 -0000 Mailing-List: contact zsh-users-help@zsh.org; run by ezmlm Precedence: bulk X-No-Archive: yes List-Id: Zsh Users List List-Post: List-Help: X-Seq: 17929 Received: (qmail 1235 invoked from network); 16 Aug 2013 14:52:01 -0000 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW autolearn=ham version=3.3.2 Received-SPF: pass (ns1.primenet.com.au: SPF record at _netblocks.google.com designates 209.85.212.179 as permitted sender) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type:content-transfer-encoding; bh=Yb0QpdQwnK6AFvNFDOkIQSdNKFnIMItQ84B1fGKRqwI=; b=sRhPAO7bMy/0JWu2tpYdF5RWu8oLI0kR1ygZiL3VNgyz1H8Mhzz6dIwrrsGeY4s77b LycnoHw7pgFU9nPkAinnsEp1HLN/S3eZFPrRAxuFVhU2s+vlhMcOs5T08wqYxf3qLfB1 PEfPhLKaTcxgrHRkCA26fmXiy/fK6xwAHDpwqnw8cu9E9h5/mnDaotwUS1iYTJyOapc2 agjwcEgcPkYjOCX1Bj5KDBu21jejd+VCu/rcj4FIL0WcNoxFFDTcTCP2vTK3xyQ+TBWr YuzVsnL2Ms2lDc22vtuRJQZQeTalAQ73nR9zjWoiFAuNyoTnASq1ejRKwvV9Yv84Z26d Ka9A== X-Received: by 10.180.106.228 with SMTP id gx4mr1363707wib.9.1376664713142; Fri, 16 Aug 2013 07:51:53 -0700 (PDT) MIME-Version: 1.0 In-Reply-To: References: From: =?UTF-8?B?SsOpcsOpbWllIFJvcXVldA==?= Date: Fri, 16 Aug 2013 16:51:38 +0200 Message-ID: Subject: Re: Match paren To: shawn wilson Cc: Zsh Users Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Hi, 2013/8/16 shawn wilson : > Has anyone made a script or omz plugin that visually highlights > matching parens, brackets, and curleys? I know this is being done > somehow as % works to move between them. However, I'd like to see the > match when I hover over it. The following code highlights the matching symbols when you type them. Unless I'm mistaken, it was originally written by Oliver Kiddle. function highlight-paren() { local i nested=3D1 typeset -A match match=3D( \) \( \] \[ \} \{ \" \" \' \' \` \` ) zle self-insert for ((i=3D$((CURSOR - 1)); i; --i)) { [[ $BUFFER[$i] =3D $match[$KEYS] ]] && (( ! --nested )) && break [[ $BUFFER[$i] =3D=3D $KEYS ]] && (( ++nested )) } region_highlight=3D("$((i-1)) $i standout") zle -R read -kt 1 && zle -U "$REPLY" region_highlight=3D() } zle -N highlight-paren Best regards, --=20 J=C3=A9r=C3=A9mie