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.3 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 9433 invoked from network); 10 Feb 2021 15:41:24 -0000 Received: from zero.zsh.org (2a02:898:31:0:48:4558:7a:7368) by inbox.vuxu.org with ESMTPUTF8; 10 Feb 2021 15:41:24 -0000 ARC-Seal: i=1; cv=none; a=rsa-sha256; d=zsh.org; s=rsa-20200801; t=1612971684; b=ydti4Qosh1OGgs2CmisqQhighLBv3Vdj7A88xICa6z2VbxpBklI3COI8F41CPfS9GA1n+GsSU9 SqlZ5iii0YDGYltVpTlHQnOwqByeHyr0adeJpAXnro1+4HXFiljQ8P/4zED/AIcVk1Eh7DvqDh CL9DexYa55jO1W+LV2/JLTBw/QoRyXrpNrH3gU5ySXu+o3lkpH8mSoOZtuKFNrF004YmOFpovF fI5zgg4NJI4IfexuBHFDgl8IyrH/0ro3iOXx9N5kmPHKHYm9d1YLrE/XkIKUfJEggOnBZGziqL QGl83G16AMmREvUAdkcM29F1pumgPV6vBehxze43yURWgw==; ARC-Authentication-Results: i=1; zsh.org; iprev=pass (mout.gmx.net) smtp.remote-ip=212.227.15.19; dkim=pass header.d=gmx.net header.s=badeba3b8450 header.a=rsa-sha256; dmarc=none header.from=gmx.de; arc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed; d=zsh.org; s=rsa-20200801; t=1612971684; bh=2/5JxL2GsHPR5Eq/48x0D5Mrdxe+A7BQk1+z1jiXEO0=; h=List-Archive:List-Owner:List-Post:List-Unsubscribe:List-Subscribe:List-Help: List-Id:Sender:Content-Transfer-Encoding:In-Reply-To:Content-Type: MIME-Version:References:Reply-To:Message-ID:Subject:To:From:Date: DKIM-Signature:DKIM-Signature; b=xmAJrtqsZWk54D0oMVpTolgP4kJlLROC6F1kcHKq62LML64SDWzYtrX1C2SzL1ZQ+lbuIWG0cW O8PTCmvm3PX7I9ay9vfJv7VJ0aMtoJNiQq4W1ljuaryziqBvEKSbpO5Ma4DrBher/NNvJAmy7p cbm3mjKC595YMx6Ss7e1gZdsO/KwoRx8JmeyvXfuC+csjU8xz3sb4EEJe/Q3uybc+rvHeXX5yn kvusxm5R7imsNCYBHni/ZHxKKeCTUmKNotxjt0/V47Tq1uJjg4vAtDTz6iFww64lP9fAe6mGtP nqJShoRsPyZ51MvnEbuRlmWB9kj3OoFmWTZFhinWJoU7+g==; 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-Transfer-Encoding:In-Reply-To :Content-Type:MIME-Version:References:Reply-To:Message-ID:Subject:To:From: Date:Cc:Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID; bh=HLk0wKUaJq1X7DJked9eKT/qaVUvAYsanQEG/ZoRAko=; b=MlXgkomrOKAmCs4BB6EmzgMa0M 4+WTzrjF1XvVh3yWsOi/4D+MYWLwE7yp3nJXPGqMjd6btd4AP6qjAnSduDeXgq+ixQdQKX1SdrJN8 wPDn7ecK/qMHCewbe70GXsZwL1nM6UM6e0ToqEQLfEspIQujXBCeGPWMTzClnirg50bmpXJQd+yze nnJb6jUoOAIdgFY4LNH0gAtGWpWMhe6fOOUH432RT9h3mFv/fs/Pbjo7p0tqhvB0DcxnMsTQ6e3mx 9+Z5qU4jDF0dYVm11THRul/Satl05NzSUwujchE0WaugmNX63ysdMtvCjF9bCNVqnTsl7vYy0HLsl NhHZENxw==; Received: from authenticated user by zero.zsh.org with local id 1l9rcK-0009TB-Bz; Wed, 10 Feb 2021 15:41:24 +0000 Authentication-Results: zsh.org; iprev=pass (mout.gmx.net) smtp.remote-ip=212.227.15.19; dkim=pass header.d=gmx.net header.s=badeba3b8450 header.a=rsa-sha256; dmarc=none header.from=gmx.de; arc=none Received: from mout.gmx.net ([212.227.15.19]:57281) by zero.zsh.org with esmtps (TLS1.3:TLS_AES_256_GCM_SHA384:256) id 1l9rbm-00096j-KC; Wed, 10 Feb 2021 15:40:51 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1612971649; bh=2/5JxL2GsHPR5Eq/48x0D5Mrdxe+A7BQk1+z1jiXEO0=; h=X-UI-Sender-Class:Date:From:To:Subject:Reply-To:References: In-Reply-To; b=Q2BhhD9XgxG0W2lX3+uPfX0bps9EQaOxmhvGWYCuj8DZiteEmZbMAggcLbs+99mx0 +0Ck6HYRkQJjASx4wK5pNKJzBuVYeoa7iq+WRHrYNlrlAe2Bn1aHYA5DfLxwB5+1r8 a+N7ECPIjXdL1t507dcgiX36T/jmnIoSLUDOrr20= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from zitrone.obstwiese ([46.223.162.48]) by mail.gmx.net (mrgmx005 [212.227.17.190]) with ESMTPSA (Nemesis) id 1MgNcz-1lplbq2sSF-00hwlV for ; Wed, 10 Feb 2021 16:40:49 +0100 Received: from luthien by zitrone.obstwiese with local (Exim 4.92) (envelope-from ) id 1l9rbf-0000pE-EY; Wed, 10 Feb 2021 16:40:43 +0100 Date: Wed, 10 Feb 2021 16:40:43 +0100 From: Dominik Vogt To: zsh-users@zsh.org Subject: Re: Shortened bit branch in prompt Message-ID: <20210210154043.GA2143@gmx.de> Reply-To: dominik.vogt@gmx.de Mail-Followup-To: zsh-users@zsh.org References: <20210210120501.GA3727@gmx.de> <1216298849.3722151.1612961113500@mail2.virginmedia.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1216298849.3722151.1612961113500@mail2.virginmedia.com> User-Agent: Mutt/1.10.1 (2018-07-13) X-Provags-ID: V03:K1:o11qLr5GVnBTSkLj21Sl3LFl5OF0u7olcArPUuajMKTg2bowQMn yPXMuWuiS7ceWpLuUG6yePhNJ9oeqmc4++Ln4LITLivTDJFgd1GnAWIRdqktKmZHrojm/Qh txGVbFd0ck3/9D4KQSaEPmikU606YLzlKosWLIre/vj5AggclVf73LrETKhTXrSu6hbB7Rv /B9bfHyOhKbTDkGDi+7fA== X-UI-Out-Filterresults: notjunk:1;V03:K0:OyeqdOn/x58=:Ux7OSRPZpk0hvul3AeOPo7 8cYYgVeC3//pPxwPm09TkbNfjgDWk1QSAYQarkVY8xiWg75iOJCo5TnyXaR41xtTH6ZPhM52+ 2KdwBqIhSPIdyeEGY20qEVcxLMavTSbYPZE4eTMr3HiSnOypTS0RJDFHdYgbn6qbO71AYv42H c25JTQgJ/l33sqK+C5ha2BS5OQLELt/SltP0NPHCcO7cMbHRKxlTb7alkFftR+D5T5CQbEODG yiju4kFbfw+SY2yln4fAcRKnExuqf3o0SppP8LooSV1g8E1tz/73nJcCmb+0qpz0nvsiFW07D Oi+XqeTIdlA5TJOHOoDVBgBs/OBlPe+X5f7gXNoCYt9zcuPzm1Hl0Fg4BKfY8UEpF2OHR9mBn sVAoOi0QubYlgTWW0ERC+faH1ZOh8KJNW4KJa0nqFl4vR8VPYKTBhOhKgdZ+oQr97FBFMl3ht Je7i1OA7kDmwbwH3aBxqajKWfhM2IroBy/NJFqfPOmP8+7CWlCU7dXZo7eMP9sd3ORGzG21TC CI59QubgOwgi1SjiH0Lx1Ioz7jXfSWDPPQcnVTfJQBByXjiRF5CJuGo2eOi9Vs+T50F9ypdpC WJBWGTkqzBjWmXWe8+85WFW8YgADb2jJkCQ4jMzp4kgsrsysanLFxFWy1e7SaeOZQwxEOVxnL TGS6zFf+rp8UP8clHxm/OaKiPnAfiVJCTHRCHqUdgrSTW6INX0UP4kRvNsasIDy2WUnndY0ew /Ht6KZELOpn/wcGZiFloVyf3IclGnrJ5IZBKX2KFnzdXW8SxFFg8Wc4aHXtoZPGep7I3McTSi FbrwYJQIs10SWihcQziQ7i2wdEi7TY8gWCMDcCjP8oXCiX9tws4btqOiNk8Tx5gcN1WRtDY02 V+vDWoiMiAgPoSQ4XIcg== Content-Transfer-Encoding: quoted-printable X-Seq: 26492 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: Archived-At: On Wed, Feb 10, 2021 at 12:45:13PM +0000, Peter Stephenson wrote: > > On 10 February 2021 at 12:05 Dominik Vogt wrote: > > I want to change that so > > > > * If the branch name is max. 25 characters, print it umodified. > > * If the branch ame is loger, print > > > > ... > > > > E.g. if the branch name is abcdefghijklmnopqrstuvwxyz0123456789, > > the prompt should have > > > > abcdefghijklmnopq...56789 > > > > Of course this should be done with zsh functionality only. > > It's possible to be completely general about printing a variable substit= ution > based on the length, in this case of variable "foo": > > print ${${${${${:-$(( ${#foo} > 25 ))}##1}:-Printed if long}##0}:-Printe= d if short} > > Those arbitrary chunks are subject to further expansion, so put the expr= essions > you need there --- in particular, $foo, ${foo[1.17]}...${foo[-5,-1]}, I = haven't > put those in myself just for the sake of clarity of what's going on. Okay, that's past my abilities of reading expansions ... I've done it with a bit of builtin scripting instead, using the $b[n,m] syntax that I didn't know yet. __git_ps1 () { local b b=3D"$(git symbolic-ref -q HEAD 2> /dev/null)" case "$?" in 128) return ;; 0) ;; *) b=3D'*none*' ;; esac b=3D"${b##refs/heads/}" test ${#b} -gt 25 && b=3D"$b[1,17]...$b[-5,-1]" test ${#b} -gt 0 && printf " (%s)" "$b" } Thanks for the help! Ciao Dominik ^_^ ^_^ =2D- Dominik Vogt