From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-0.9 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,HTML_MESSAGE,MAILING_LIST_MULTI autolearn=ham autolearn_force=no version=3.4.4 Received: from zero.zsh.org (zero.zsh.org [IPv6:2a02:898:31:0:48:4558:7a:7368]) by inbox.vuxu.org (Postfix) with ESMTP id DA790249FF for ; Sun, 12 May 2024 02:19:58 +0200 (CEST) ARC-Seal: i=1; cv=none; a=rsa-sha256; d=zsh.org; s=rsa-20210803; t=1715473198; b=BSpTwionDSwpQd4nqbvHtgnEDwGs2oGdST32p5DFEEtX52nzllJsqzxt/uObD4B1ATmr1z0b67 OODG8d09hy68gHvlaXi3ed60UFeUr91lJbXUhKaXE5D/LEIjMQMCB3Qv8/vmUrLUz7umpwvO9U Iq0yzTAeHtdXiC4EGPbzFMf8wOer76kF1TvCT4vnmZA6yyCOwto85VvnONsW4OCsYC6age7/MB TYIO4cnA3szaGaLX4B/C8D7D+18TV+3PDHHnzA0mUM1IIOgStX+5bITmubFzdtDgmLdfVYFUR0 KrcEJCBYIIFRMGlxwwCofk4fgwUZoB/3W2oo2l772ryhYw==; ARC-Authentication-Results: i=1; zsh.org; iprev=pass (mail-pj1-f49.google.com) smtp.remote-ip=209.85.216.49; dkim=pass header.d=gmail.com header.s=20230601 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-20210803; t=1715473198; bh=UAdaVQdN9ICwv1Rz/Drd0VYH17eBIKk6G75UGPJH0i0=; h=List-Archive:List-Owner:List-Post:List-Unsubscribe:List-Subscribe:List-Help: List-Id:Sender:In-Reply-To:From:References:Cc:To:Subject:MIME-Version:Date: Message-ID:Content-Type:DKIM-Signature:DKIM-Signature; b=gc3pHCEnsl4YuCHIg8T5FruQKk41ILHgfeXqY/7vRvg+BCq0CmzRD66OpbuWFSDteKBMKxrK3j wr3GtRgaAJgUXFQvwX5TMgui74x1VPs4i8sln+L604XOs7IgoVZmVAt0IoJ42NiqC1NvIQxPTw ACzPcReT3vnKWWP3CWNOn904deo+xwu5K11CcEAKtrBhNgep6sxPSM6BPb5CRU8e5n/WgdYeQj PigakwXcboHKjLXvQiAwwKT8PphCQw6MwDqRri3L8Uqdwk6uqcbwoPPm3kvvFGJRHei4vlU1V+ o0KzMbb8siIYDAm6R7zxllIlsQtgGrbubvSVc/1qnd4kpw==; DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=zsh.org; s=rsa-20210803; h=List-Archive:List-Owner:List-Post:List-Unsubscribe: List-Subscribe:List-Help:List-Id:Sender:In-Reply-To:From:References:Cc:To: Subject:MIME-Version:Date:Message-ID:Content-Type:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID; bh=Hyq166KFtW6WOQMyp/AaQhLX73pUZAR65EHEAywkgIQ=; b=ewsScjAuBPeWc6HftyqBB7pojR JXRhrA96BtEsopBDStS/KCyasEvYWz0PixijiinVl0VNmxQTlAKK2rZJlW7vba0CaVnk7cOev02T9 u8b4Ti/DgbHZLcZwiCYKu183IUBfhOnyAUSJFbJxJ77tO/cOMU/j9FomSVRYKrl9nE08vlqzSIyr9 DA2ZTaXIO8QxB8f4Vvkrix3iJk78Wn+BDnBpVxdbFvKek+pq+qstiJ97EeqwV0ieVCW0V4pmwb+3z EhPBEie8rRLnJs68yapEgNL1Qga8pAtcywEY155YI4ARS7Azs4gUhje6sLiYg1qQDjFesIyecAdkR 8WW1ZUWw==; Received: by zero.zsh.org with local id 1s5wwX-000OZb-DR; Sun, 12 May 2024 00:19:57 +0000 Authentication-Results: zsh.org; iprev=pass (mail-pj1-f49.google.com) smtp.remote-ip=209.85.216.49; dkim=pass header.d=gmail.com header.s=20230601 header.a=rsa-sha256; dmarc=pass header.from=gmail.com; arc=none Received: from mail-pj1-f49.google.com ([209.85.216.49]:48315) by zero.zsh.org with esmtps (TLS1.3:TLS_AES_128_GCM_SHA256:128) id 1s5wvr-000Nrg-EC; Sun, 12 May 2024 00:19:17 +0000 Received: by mail-pj1-f49.google.com with SMTP id 98e67ed59e1d1-2b33e342c03so2911474a91.0 for ; Sat, 11 May 2024 17:19:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1715473154; x=1716077954; darn=zsh.org; h=in-reply-to:from:content-language:references:cc:to:subject :user-agent:mime-version:date:message-id:from:to:cc:subject:date :message-id:reply-to; bh=Hyq166KFtW6WOQMyp/AaQhLX73pUZAR65EHEAywkgIQ=; b=k/4yvi2mYM6pbzcdpIWtAM1Ics2tkP2+YO/4peBZ4LkOT7IQKYWKnHNcpr+lCC889q 2g13au6Sm1VoWP0LXscPIUogncNe6r/Rj7esCDXz/0Ah6mvZ0XvROumtJWXIuzRqYp+T hhp0qnn2nURCAWxaCguGJWmudunqfqxeEJxRfptnNKyF9vHq8mscNbro9fevavHxTuIs qxPvcp9m20rzKDwCf9Kh0W/nuzs4HMTGY15epULhulhq1R5dIkhRBibtVZgP3CWQwYfh 1PGl6QiArmRJgQar4lFTohnhmRfrK8ezoe/+68YNPftZRSaV2pkkhj0gbzXlMwsVxrxp FFXg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1715473154; x=1716077954; h=in-reply-to:from:content-language:references:cc:to:subject :user-agent:mime-version:date:message-id:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=Hyq166KFtW6WOQMyp/AaQhLX73pUZAR65EHEAywkgIQ=; b=HN6sjSUo4BZp3cXy1FGtMExJ3BFYG2nrNUXBdXzcTryDir3ffmk7KCl+SNSrCRwtoU HgQ4zSQWnx/VrOuzVvwAwh/LI/xfIc9jvtp85ZvF1c3coZV/jo+TGV3IkjSgUpTyWeB+ THn04wS3aAeu21NkoU+2f3r+8Udpg3YCTSufTc/2Gt7MpRRRcH4tuzT1b4oRSmMqpFs7 X8Bkd7gLQdWc5FoFn1cKiwiXgZE4FOB1GCN0aClG8Qhkh3U7/R6pkDLCIgGjGEE+QGJW k9cvAx7marYbN+j5S+rGRWS6F2VY1NXI2jVVS/WRZZblMKQku/PH4NFEN8xPol+nkF5g YRLg== X-Gm-Message-State: AOJu0Yw9uY6VZY9BVqJ85JdXBMDvz6V2qLGdawiEk9hJIuMSlyJOt3ap a58mtPf0m0GehrOIXCk7TnFNrXGYunCztCOMqi31x6OhROV4MxGs X-Google-Smtp-Source: AGHT+IF1aruBXhGqbPWZOL3UjMLpUqPMgFTk8aqWrVSH3MWfvi50nhLiBE6VKBEaTZMUzmXS8drlLA== X-Received: by 2002:a17:902:8f87:b0:1ef:35d5:e3ea with SMTP id d9443c01a7336-1ef44059ad9mr69134725ad.59.1715473153734; Sat, 11 May 2024 17:19:13 -0700 (PDT) Received: from [10.0.0.143] (99-43-252-18.lightspeed.sntcca.sbcglobal.net. [99.43.252.18]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-1ef0c2567ccsm54003155ad.301.2024.05.11.17.19.13 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 11 May 2024 17:19:13 -0700 (PDT) Content-Type: multipart/alternative; boundary="------------DFDgzcxeBHgQ0q8LL0ZIrJoW" Message-ID: Date: Sat, 11 May 2024 17:19:12 -0700 MIME-Version: 1.0 User-Agent: Betterbird (Linux) Subject: Re: colorizing printfs To: Roman Perepelitsa , Mikael Magnusson Cc: Zsh Users References: <8d1d947e-75af-4a9a-b726-dabe9858b2b0@gmail.com> Content-Language: en-US From: Kannan Varadhan In-Reply-To: X-Seq: 29930 Archived-At: X-Loop: zsh-users@zsh.org Errors-To: zsh-users-owner@zsh.org Precedence: list Precedence: bulk Sender: zsh-users-request@zsh.org X-no-archive: yes List-Id: List-Help: , List-Subscribe: , List-Unsubscribe: , List-Post: List-Owner: List-Archive: This is a multi-part message in MIME format. --------------DFDgzcxeBHgQ0q8LL0ZIrJoW Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit On 5/11/24 07:37, Roman Perepelitsa wrote: > On Sat, May 11, 2024 at 4:27 PM Mikael Magnusson wrote: >> On Sat, May 11, 2024 at 2:54 AM Kannan Varadhan wrote: >>> >>> ~⦒printf '%s.%s.%s\n' "${(%):-%F{blue}%B}" "test" "${(%):-%b}${(%):-%f}" >>> %B}.test. >> You probably have a badly made / cargo culted precmd() function >> active. I am sorry, I did not follow this. > That output is actually expected. The right curly must be escaped. > > printf '%s.%s.%s\n' "${(%):-%F{blue\}%B}" "test" "${(%):-%b}${(%):-%f}" Yes, this works, Is this something that I missed in the documentation? Many useful, useable variants, thank you for these. > However, it's easier to use `print -P`: > > print -P '%F{blue}%Btest%b%f' > > Or, when printing $var: > > print -rP '%F{blue}%B'${var//\%/%%}'%b%f' > > Alternatively: > > print -Pn '%F{blue}%B' > print -rn -- $var > print -P '%b%f' > > Another alternative: > > print -r -- ${(%):-'%F{blue}%B'${var//\%/%%}'%b%f'} Kannan --------------DFDgzcxeBHgQ0q8LL0ZIrJoW Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 8bit


On 5/11/24 07:37, Roman Perepelitsa wrote:
On Sat, May 11, 2024 at 4:27 PM Mikael Magnusson <mikachu@gmail.com> wrote:
On Sat, May 11, 2024 at 2:54 AM Kannan Varadhan <kvaradhan3@gmail.com> wrote:

~⦒printf '%s.%s.%s\n' "${(%):-%F{blue}%B}" "test" "${(%):-%b}${(%):-%f}"
%B}.test.
You probably have a badly made / cargo culted precmd() function
active.

I am sorry, I did not follow this.

That output is actually expected. The right curly must be escaped.

    printf '%s.%s.%s\n' "${(%):-%F{blue\}%B}" "test" "${(%):-%b}${(%):-%f}"

Yes, this works,  

Is this something that I missed in the documentation? 

Many useful, useable variants, thank you for these.

However, it's easier to use `print -P`:

    print -P '%F{blue}%Btest%b%f'

Or, when printing $var:

    print -rP '%F{blue}%B'${var//\%/%%}'%b%f'

Alternatively:

    print -Pn '%F{blue}%B'
    print -rn -- $var
    print -P '%b%f'

Another alternative:

    print -r -- ${(%):-'%F{blue}%B'${var//\%/%%}'%b%f'}


Kannan

--------------DFDgzcxeBHgQ0q8LL0ZIrJoW--