From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 19153 invoked by alias); 1 Aug 2018 18:18:14 -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: List-Unsubscribe: X-Seq: 23550 Received: (qmail 12739 invoked by uid 1010); 1 Aug 2018 18:18:14 -0000 X-Qmail-Scanner-Diagnostics: from mail-lj1-f181.google.com 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(209.85.208.181):SA:0(-1.9/5.0):. Processed in 1.906444 secs); 01 Aug 2018 18:18:14 -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.9 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2,SPF_PASS,T_DKIMWL_WL_MED,T_DKIM_INVALID autolearn=ham autolearn_force=no version=3.4.1 X-Envelope-From: schaefer@brasslantern.com X-Qmail-Scanner-Mime-Attachments: | X-Qmail-Scanner-Zip-Files: | DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=brasslantern-com.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=ZQEFJO9jY2lhmaCEtldmqAQuV4yyweRdUS37Wq1N/24=; b=lHXT+9mhTFLM/xZxUOK09vDP7UZ3tBdxLgktMqu4HO9ZxpWn60lJweBVQwDCXsKok2 ygVTrHeg4RKlvKRmwMVWbdhw3mro1ReqAEWK6afucgHYRy/PMnHxX/vJR34RD97ohJVR 9r63R/POWzKFweFJS9WWVjkhx4fI+c9Or3SwvBfWqPPBDldI+MZH53EmwphSxtEK4IPT NcdPfSuWQnS76grYRR/MbtspgFvT2m0VB/z4Qu+zFzGbsUSeOJ7JqImOJE49057NhRlp K762n+5fH8o2sYFzIqCj/asJwUQZ0pdSyf0gOUOXmUxJqj+dmLiE7ETFHYwHRJT9/ZU/ 6bTw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=ZQEFJO9jY2lhmaCEtldmqAQuV4yyweRdUS37Wq1N/24=; b=j7PakVW3PKdhue850ly4zubNxV7nZsOh974bA6pAkCgPcS5smRPVgo2wWPTqF89szr Yxc8wVmXQy5UO4rBqZDbvB8QZsEEvxAHPPPgtpIgR2S7ZRD3TJ751ShU0+AYyoPmhImM lwzZ0ajhb3vTprf6QJGUIsHCt7Hz5CydPhhRs++VdlGoI4T7j0HzpZX628wj1H9vkNjQ 31Apgo85E8nqYtR0VGbO129gU39tlaLxyte4BMqmCPOHqVVGS3w4WCBEDGLr7bcQZ7zb 8a9cWQoPNxEZ66e+BUyDYT25YxeUSvGz3uaNjirsy7f1XE2DTs62vkNyIpe676cLkJJv 4ZQw== X-Gm-Message-State: AOUpUlFa0wB77KYewKlwAgWS/5GP9Ar4YLx2hZVCWpYoeVSbI9kpndrO rNRANYjkC2ARJ+13c1BiQAbhWpkJh77yaa0VihumlA== X-Google-Smtp-Source: AAOMgpelPBfDKMLlf+gkYJQWFjY42e0IWBU2uIvitx5fjImgK+OF+JHC8cRxeEpnnj7KzFZV1qat6YjK+4NfhBdnTB8= X-Received: by 2002:a2e:1715:: with SMTP id l21-v6mr19614230lje.1.1533147487870; Wed, 01 Aug 2018 11:18:07 -0700 (PDT) MIME-Version: 1.0 In-Reply-To: References: From: Bart Schaefer Date: Wed, 1 Aug 2018 11:18:07 -0700 Message-ID: Subject: Re: Discovered pattern that ideally parses any quoting. Brackets highlighting in FSH. To: Sebastian Gniazdowski Cc: Zsh Users Content-Type: text/plain; charset="UTF-8" On Mon, Jul 30, 2018 at 12:09 AM, Sebastian Gniazdowski wrote: > > not only (z) can handle quoting, turns out regular pattern with while > loop can do it too: Yes, this is actually quite commonly done when writing ad-hoc parsers in perl via variations on while (s/^(the-leading-part)//g) { do something with $1; } Usually you need at least a counter to for example keep track of the depth of parenthesis nesting, but maybe that part is being handled outside the code snippet you demonstrate in this thread.