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, MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 25826 invoked from network); 24 Jan 2023 23:33:50 -0000 Received: from zero.zsh.org (2a02:898:31:0:48:4558:7a:7368) by inbox.vuxu.org with ESMTPUTF8; 24 Jan 2023 23:33:50 -0000 ARC-Seal: i=1; cv=none; a=rsa-sha256; d=zsh.org; s=rsa-20210803; t=1674603230; b=QkfFCI7X1o8TINw+4jeHunN5h2xvwLqYUnsy9nLdzPO+Ps4PJwJjVWPea1C1Rt80XZ+KYgJ+4T 0AOH0PRehEBTN7QrkseN6Xp+EBBtoTaO6YtGtw48T0tEzhBVPm5FawOW9MqBg3xotJ0Y1fWvlG nGGMUqdNMWXfH2+wSMwg0uVmXhSNaAeCL0CyKKx7GU2Mow8rXzxB5CxyDpyrWns5NEq/1NLgq6 LBu+8LVY3cOCqjhHuSka9K2kSPYv/0qsJqtC+7kH900sxWs7ySOetMny2mnJHBvQO9knQPa8FN CkrSoSs/XG3yCu+uYshdgFrebvYhdo9lMDNocJM5pZ6eCw==; ARC-Authentication-Results: i=1; zsh.org; iprev=pass (mail-ed1-f50.google.com) smtp.remote-ip=209.85.208.50; dkim=pass header.d=brasslantern-com.20210112.gappssmtp.com header.s=20210112 header.a=rsa-sha256; dmarc=none header.from=brasslantern.com; arc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed; d=zsh.org; s=rsa-20210803; t=1674603230; bh=CR64wSzny2Y6rUnk/TgYNI9dB1Nec0VQZqxZk/bCkL8=; h=List-Archive:List-Owner:List-Post:List-Unsubscribe:List-Subscribe:List-Help: List-Id:Sender:Content-Type:To:Subject:Message-ID:Date:From:In-Reply-To: References:MIME-Version:DKIM-Signature:DKIM-Signature; b=nqttUZXg1d10EmMhyUEidKLzx+ZQ0vzZS9IazzR6ABcgLlvWeasN4ouQeFLCCPTYvArCtVcVcI SrpO9tRqivYngIYGn/ICB+EnUhjCX0/rAOIHeHPBF/fXboI5SP4Tmb/hhACdP2DzVL18rZKWVi ncYMfN4jfftlEfSzOHzpV+eijyFp195R4kNc6HOgTgZ3aStCxRtWwVOFWXWhYOYXj3/jUVQbuw J2d38ii1Q8+g6JQBv1GI1jDkp3qDmLdvXBbi/et6f9AQwARZe927Ku0Uhkcbj5kBkBa7xf7UML KiwIlwrx0JgdMEnbtO2B1K47FXppS7U1QSaXWxMLW3/DgA==; 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:Content-Type:To:Subject:Message-ID: Date:From:In-Reply-To:References:MIME-Version:Reply-To:Cc: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID; bh=B/b+DIZIK89obAj3AxA29cayOzN5RPtCeNyhaWcwxu4=; b=WVxDaY2J8ZAfSVJeztV9H4P2Qn vpshLKYHZLk7yGkgDCdEbOuxaqI9vSufbnpp1cP5XyA1mTDB1gkZrd8Zx9n05Ig2JKNWeU4NjyKmd 5AkjYU7O1ByLzAXy1OKexKwtb4TPboEaxrFEKOTLdVOQrpbMhkjKC5SD1PU8rXpNqpEjQ+0tSuDHi Vj+BYkbbgp6hiKoUusppsDhR8l76AAE6bpZUZEVco9jtxD5kiMyiqLTmG4PkU6LO1mSN8WraxhMxh 5BxM1VrVKNy+QzhIjLXWMJ1ON/CZDZVvDpglQfU4oHZ/HAqgy8ga/9XS61zIbEh/X8gf+21N35k61 xBp5rBNg==; Received: by zero.zsh.org with local id 1pKSnW-0009XP-AB; Tue, 24 Jan 2023 23:33:50 +0000 Authentication-Results: zsh.org; iprev=pass (mail-ed1-f50.google.com) smtp.remote-ip=209.85.208.50; dkim=pass header.d=brasslantern-com.20210112.gappssmtp.com header.s=20210112 header.a=rsa-sha256; dmarc=none header.from=brasslantern.com; arc=none Received: from mail-ed1-f50.google.com ([209.85.208.50]:45712) by zero.zsh.org with esmtps (TLS1.3:TLS_AES_128_GCM_SHA256:128) id 1pKSmq-0008qN-4A; Tue, 24 Jan 2023 23:33:08 +0000 Received: by mail-ed1-f50.google.com with SMTP id g11so14533883eda.12 for ; Tue, 24 Jan 2023 15:33:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=brasslantern-com.20210112.gappssmtp.com; s=20210112; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :from:to:cc:subject:date:message-id:reply-to; bh=B/b+DIZIK89obAj3AxA29cayOzN5RPtCeNyhaWcwxu4=; b=FtVCBAOAyhSRIQlEadu7P4Sz29AVDp1K8AKzrS4Jiehwn+E/pg7AgpQS1VUaEZ3HWv wG2AaM5lAU22Icl5OH6JNVHWxXw7Pz/t1EiVu2nFJk/hSu9bgW7MuBG9kNJ3EW4eMlML wyUiE3mjeFNK3m9o0ZUQXV9Kgoh2JDEFnFDRqiuTvsEm5lbtLSpy7mXIg/iRPbn5uTCo fuoLviPdusGP/a0FhEQt6mw6NRYxZi0h2sfyM5px0wSz82nPmlcuCTV0YHpd08XkzynU 0A/ODOR8IWUzUpbZh818xHhLOGQHmhdyEt6i+a60vdCuHnq6WItmK+6ZEXYjMisqPeHO Pv5A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=B/b+DIZIK89obAj3AxA29cayOzN5RPtCeNyhaWcwxu4=; b=Zs4l65dXPotN7BLfF34UBrh4/iRT+1NKm0jKQOqHnnMv0Kg1TkgxVLJSDcYVbfMPyh 6/gX36m5wUwdQ62Zai76k3Kw4EquJPTf5hgZvaDZQIJkPzNJnDO+tiXnlIrudNMrNN4J bkqb6H5Th5eVOXanr7mujqmlFphkL3GoUTT0qa+nTjHzmkzwzGEJ3wRY+F+3XETB5cy6 bj4EIXveFFtLOymJPQnzy3tBFkw+Y0Fa6juRI/sYIjENF4PgX3uGin45pDihPTwuLjXK Yncpzop4AnMEv/JnwKdTtT9eblKI9yyJo+37eUsk3vqcQFhoB7QnckCd8rVj5UAb4glO ATJA== X-Gm-Message-State: AFqh2kpIQADu5iln10HdGjAd2lwboJt5lnvcLxOm4/ZX9+jHPVDupp1E MBwtwds5rJWIlxaaMsKmnuiVFoHbax9oJAllZbDeuw== X-Google-Smtp-Source: AMrXdXvkl9c0GJA3dBvNqX9JkZRdR4Xs1rA/eaCMD4399dKqtbNUA30g1qLMzf/qHM2YIcMt8eLST7iWnwbSdylTrXM= X-Received: by 2002:aa7:c548:0:b0:499:b60f:5741 with SMTP id s8-20020aa7c548000000b00499b60f5741mr3790573edr.80.1674603187774; Tue, 24 Jan 2023 15:33:07 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: Bart Schaefer Date: Tue, 24 Jan 2023 15:32:56 -0800 Message-ID: Subject: Re: time command with shell builtins To: dominik.vogt@gmx.de, zsh-users@zsh.org Content-Type: text/plain; charset="UTF-8" X-Seq: 28774 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: On Tue, Jan 24, 2023 at 2:48 AM Dominik Vogt wrote: > > [...] This is what I use now: > > -- snip -- > autoload -Uz add-zsh-hook > zmodload zsh/datetime > > function preexec_recordtime() { > typeset -g _zsh_time > _zsh_time="$EPOCHSECONDS" > } > add-zsh-hook preexec preexec_recordtime Unless you're already using psvar for something else, I would suggest function preexec_recordtime() { if [[ -n $REPORTTIME ]]; then psvar[1]="$EPOCHSECONDS" else psvar[1]='' fi } precmd_reporttime () { if [[ -n $REPORTTIME && -n $psvar[1] ]] then psvar[1]=$(( $EPOCHSECONDS - $psvar[1] )) if (( $psvar[1] <= $REPORTTIME )) then psvar[1]='' else psvar[1]=" $psvar[1]s " fi fi } add-zsh-hook preexec preexec_recordtime add-zsh-hook precmd precmd_reporttime PS1="<...>%1v<...>" Out of curiosity, why are you doing math on $EPOCHSECONDS rather than just use $SECONDS?