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 6159 invoked from network); 9 Jun 2021 13:23:19 -0000 Received: from zero.zsh.org (2a02:898:31:0:48:4558:7a:7368) by inbox.vuxu.org with ESMTPUTF8; 9 Jun 2021 13:23:19 -0000 ARC-Seal: i=1; cv=none; a=rsa-sha256; d=zsh.org; s=rsa-20200801; t=1623244999; b=oVmEkGzcj/0svWMFp3/4JbNOHrzpPFIopZKzEinVwDmEMl/NbmbhyuXz0jmGgWlifJcFn3VUWf OslWu11ejSUj/U887tjQdUwHm7BJ+3pbHreZlOr05oYOUKTOHOVvL6gtGjn7hOAxmT1cSxZ3j+ Zan6kj9pASCDb8xIzdLSBtSpO66jwuYnwiVDJApSoM8n1ONYDDZZXwURSiYedWkiAeXVg/3cqU CMScNaOU6zwswzZrHBGJrXc9hT8sPpnuFXC3DJbnMmDBUVHbsYvst0iwF5XfACNi82LHeV3qaa ZtYNtgcK75DJvYRWwyuS7UbrTCSDAtPvSiYkD7cSxOhWRg==; ARC-Authentication-Results: i=1; zsh.org; iprev=pass (mail-lf1-f53.google.com) smtp.remote-ip=209.85.167.53; 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=1623244999; bh=KEZLafWxf0fQW2f/Ye9Y4ypRXlI2L04++Ri3yE/a000=; h=List-Archive:List-Owner:List-Post:List-Unsubscribe:List-Subscribe:List-Help: List-Id:Sender:Content-Type:Cc:To:Subject:Message-ID:Date:From:In-Reply-To: References:MIME-Version:DKIM-Signature:DKIM-Signature; b=l7HqcV4ig288M1MA0ENBO3gcfSFIOahbN4kc6dfdAVDc6e/ueOMQnI+UnjnrPzi7wkCrp1Lxjj oHCeDlrWUI5DDkJ7cPxA6AvHcTO3JW1arzIPGpW4o8k5v7BK7EkSmawUKX5IDD6Ici9+5znKX5 RdcAxATK93dZ9PiWUCYE0WXlVLWedjgWtY/AXU1YmSR4PPUkz+9wMZb4pccmFhOsoVqnf2rN+B qeI/QYoUQBXB4gXSv8hrof2HZZS2bwTWQJxOp/SVUxX1YGh1/ktF/bZywYwsdtdnav6O1ABzvW aZ5thX6EhfEa+yWg61jkbdVL6e3+EJhltK7NtsY7vGRdLQ==; 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:Content-Type:Cc:To:Subject:Message-ID :Date:From:In-Reply-To:References:MIME-Version:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID; bh=usgxleJoZuJF9c/Gx1IO6Rs2hwouYAl+5XxFvuibPp0=; b=LC0hSWFTeaQRYooMlPrMPfyIQV FB8mSsrFzDS6WoYnoM0+0xzKVZ2htrSGRivoEzqZtfn7nIjHcugr1JyIuZ3kF2ZfrRpPu6lg5sXDY Tc8rk30ps909EN/9g7lBPxIZjwvE8a2PIAu5TjfNindZ7zsyAx4ZUVxgFtxxNNUo/RWdnxevQyaFI hcDnBg/ZQgaieNJuIK8ly2nwxv6+vQVWKUUW+Z+QQM5oR9AYUbTqVDkvB9jOT7hVwQi7hB+irfGKN TGjxu2gLa/Uv3bjlP2snmzkLKmh5WgJb+DEmAnFFkQ093fG59oaunLcHeG6dx88tuxxXOITHYFa6Q +s2cMJ9Q==; Received: from authenticated user by zero.zsh.org with local id 1lqyAw-000KZY-UJ; Wed, 09 Jun 2021 13:23:18 +0000 Authentication-Results: zsh.org; iprev=pass (mail-lf1-f53.google.com) smtp.remote-ip=209.85.167.53; dkim=pass header.d=gmail.com header.s=20161025 header.a=rsa-sha256; dmarc=pass header.from=gmail.com; arc=none Received: from mail-lf1-f53.google.com ([209.85.167.53]:45679) by zero.zsh.org with esmtps (TLS1.3:TLS_AES_128_GCM_SHA256:128) id 1lqyAb-000KH1-Pg; Wed, 09 Jun 2021 13:22:58 +0000 Received: by mail-lf1-f53.google.com with SMTP id a1so28262040lfr.12 for ; Wed, 09 Jun 2021 06:22:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=usgxleJoZuJF9c/Gx1IO6Rs2hwouYAl+5XxFvuibPp0=; b=tzs4BDlRvFD/RO/LNEjnLoAT/tSHe0mq8Sj0oifu8tTS8b8PxxqbNmXoLb6mjnv61l 39nTx/4xbvVYRBf5qaJINjvzyCikxNkzlE7XAb72Yhd79ktMowvLsjXqcLYQwflsqHvV MLKmTMI8ETmw26ciYk4pnzskyJvOOGEuSSxRFV7HBpEVob7LWmssxlviIVeGXkTZNBrG tva+G02WQICusEplQVfSJXx78zqlB0WaefHs72eQ4QRUOrD9mXQl/wvZidMct66XA7oW Xr0xg0pUgvnGsDt+m37Ps+fMd0TUTBbJDGFRuNU/MNmZEZS7x1mvzeE9FPr5Fgxb2Vwz Fy5w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=usgxleJoZuJF9c/Gx1IO6Rs2hwouYAl+5XxFvuibPp0=; b=aodJadEGLtgGEmSMXEXLwhxdWtPkQglcKg5cJRjl+4UNYVFuCOIZ4B+z8HNo1LbKsZ x44BdNMhEGmI7XYH2XcaZmNnjWJ5nW/vkZAHnFTvtKKrjYYw8K6RbyL9wqPWNMwzUsvx 9w+05X04aNaEjv1WIzFgcTYbpQfAPe2WIHHGeBDgJdx/83YWIbiqMPNWUSo63ViHJP1p NMKxIf8H7hDD3gG07ksJa8ZTzqa56eVTyNiLhC44/2Zqckr0sUpXlyXLz509G6niM7e4 GvJxpQf3oThfA6FZoeGPtHSIdiEJOXafpUv9ReVoCq6xvOxtvDeddfRXteco5vjgYKdc 1i2w== X-Gm-Message-State: AOAM532bTxOrxWkA+YVv3Jox1tz50PalewDUCmds1L9Y7j4CeuiHD0kJ pvishzGHf0uHHF/Bf3lRglw7FA3ZBv+m2bRrI0U= X-Google-Smtp-Source: ABdhPJwePfISBaS359fQ2e1kZKajiyjyGi1dCUEmjuniHZ/T3WWphnDG5DxMoLXVBsjocoGpxAmqGZg5GWPSugDdFvY= X-Received: by 2002:ac2:5ff1:: with SMTP id s17mr18957334lfg.554.1623244976969; Wed, 09 Jun 2021 06:22:56 -0700 (PDT) MIME-Version: 1.0 References: <7E71FA83-356E-448B-9726-02DF3FF5BD14@gmail.com> <873D08A9-F321-474A-8440-CCE7DCCBA529@gmail.com> <20210414120551.GA3882@tarpaulin.shahaf.local2> <6CEA4F3E-9A64-44E1-9121-FA9D5E053AB5@gmail.com> <20210414140909.GG3882@tarpaulin.shahaf.local2> <29E16F69-B09E-44BF-9009-1CF53053D4FC@gmail.com> <20210416171321.GC4535@tarpaulin.shahaf.local2> <93FFDA3D-3C4A-414E-9220-1032ECE5B04C@gmail.com> <20210416193037.GD15670@tarpaulin.shahaf.local2> <9dc589f1-65b6-48b7-a7cb-81f9e2e16795@www.fastmail.com> <48174137-a8a7-4171-bcda-0899ebc19433@www.fastmail.com> <8082812e-b595-403b-9c8c-8956b6af08cd@www.fastmail.com> In-Reply-To: From: Roman Perepelitsa Date: Wed, 9 Jun 2021 15:22:45 +0200 Message-ID: Subject: Re: [PATCH] Add customizable `vcs` prompt theme (was Re: [RFC][PATCH] `newuser` prompt theme) To: Marlon Richert Cc: Zsh hackers list , Bart Schaefer Content-Type: text/plain; charset="UTF-8" X-Seq: 49037 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: On Wed, Jun 9, 2021 at 2:59 PM Marlon Richert wrote: > > I decided to make some simplifications to this prompt theme. Here's a new version of the patch. A few questions/comments after a cursory look. Why is prompt_vcs_chpwd using exec + read instead of $(...)? Why hook zle-line-init instead of precmd? There is a comment saying that it's "so you can press Enter on an empty line to update VCS info" but I don't understand it. When I press Enter in zle with an empty buffer, precmd does get called. There is a race that may cause incorrect git status to be displayed. For example, suppose I run these commands in quick succession in a large git repository: git checkout -b foo git checkout -b bar If the two background vcs processes finish out of order, prompt will incorrectly display "foo" when the current branch is "bar". This error will persist until another command (perhaps empty) is executed. Pressing and holding Enter in a large repository may cause large (and unbounded) strain on the machine. Roman.