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, T_SCC_BODY_TEXT_LINE,UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 25798 invoked from network); 10 Aug 2022 11:56:52 -0000 Received: from zero.zsh.org (2a02:898:31:0:48:4558:7a:7368) by inbox.vuxu.org with ESMTPUTF8; 10 Aug 2022 11:56:52 -0000 ARC-Seal: i=1; cv=none; a=rsa-sha256; d=zsh.org; s=rsa-20210803; t=1660132612; b=htY4Vz/scEVkkF92algVqvt2+qII3mbHHMr5ZTA3AhMUuts8X5k5AP4RBXmE/Ir954bm0cSceQ rDnwwxWAAthUWWzDXiBTsmGiLump91R/9ZjOG3eToVAA3JXITjbvaDhZpI0Nx40EY4GWbAgWNx SD6rFwdUO/T2RjzOhbsePKGZcSRNK5Zed5WGjv9jdrqHEQo/qn/exKPGpT20gqO6ntzBKHvPNH idjaYrb6qdR+TSNyOj+Ytr0X12Yd1QMZtBdUMcriMVwrK7ukaEsHcJWY9peCX1XKX4Zazq6nQs CIXPFnGFWSA8a/9KTRzC5Lwmyj4CG/8quipCpmtKOX2GLw==; ARC-Authentication-Results: i=1; zsh.org; iprev=pass (mail-oi1-f181.google.com) smtp.remote-ip=209.85.167.181; dkim=pass header.d=gmail.com header.s=20210112 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=1660132612; bh=srxo8zLSB8sMu3Z1kyJ8NRGdpmIag2xxoQXZS97eGIQ=; h=List-Archive:List-Owner:List-Post:List-Unsubscribe:List-Subscribe:List-Help: List-Id:Sender:Content-Transfer-Encoding:MIME-Version:Message-ID:Date: Subject:Cc:To:From:DKIM-Signature:DKIM-Signature; b=Kon7i5SO3QyVX6157isde7M8lJ3zwOm75fYhqhGZYaenosJZf2+ySYAKQTLGm4O5iqduoylYXN l6+SmPB5I0IKIGGkzg0fjOmjGBDcl1SJZDbosq/Ai8U5C35+F0dLisW3CnSdHpLdFuerHobbwJ qB0t20BU7ob4ZFvINRacb2zvnDljzb0/MRi6zHg/nQMuDHfEwIXZ6boBijHA99X7svqpk78zm/ Go70nAwFQNYvh6LaHBdXlHZk7GZzWCtPn41q5lOcSkGdY4m10L1w2ccl3rT5o3FtK/Y7lKUz/z dAW7zLqObphkW5Kp3f1Bve4VLzEm4fNRxi7XopR4PU4Psw==; 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-Transfer-Encoding: MIME-Version:Message-Id:Date:Subject:Cc:To:From:Reply-To:Content-Type: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References; bh=CP02kJgPebjputiwrn1ciDL8jmzDBgkUabbRSS8UF2Q=; b=dE0oY73xzCUonT9MvW0bzWRe9A 6ZoKQU8NkJWVH4a7dgA1/H6v1SMMSeEtp4KwdGTL+3006f2E3vasFCqBY52c23Kz685JGuNolRIn3 zn5wn3kedkt1w9Eci9bnOm2Yj13cvm75t6N09kpjrtZVqBXqgA9AvObF7hj1KUXNGxXFVgMrD2qOJ 94sl+UEVeqkF+4x4y9L1ttnCZ2gVfP8ZbDKCHm3G5oBU7cEe4m+z7BAxJJ7GvOnY9Azr5Ruo39el/ tbR6F/2JvHlLqAql7f1byLm0XhjJ3wQKmXYg8ZVhVyDXnfBiTDs4PCxgo7CaZrVY0JPURDCxeYPcN GRnrdTfw==; Received: from authenticated user by zero.zsh.org with local id 1oLkKQ-000KX3-Iz; Wed, 10 Aug 2022 11:56:50 +0000 Authentication-Results: zsh.org; iprev=pass (mail-oi1-f181.google.com) smtp.remote-ip=209.85.167.181; dkim=pass header.d=gmail.com header.s=20210112 header.a=rsa-sha256; dmarc=pass header.from=gmail.com; arc=none Received: from mail-oi1-f181.google.com ([209.85.167.181]:45952) by zero.zsh.org with esmtps (TLS1.3:TLS_AES_128_GCM_SHA256:128) id 1oLkFB-000K3Z-9d; Wed, 10 Aug 2022 11:51:25 +0000 Received: by mail-oi1-f181.google.com with SMTP id u9so17352798oiv.12; Wed, 10 Aug 2022 04:51:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc; bh=CP02kJgPebjputiwrn1ciDL8jmzDBgkUabbRSS8UF2Q=; b=Xf8PSPXGPzruofjYOINzis1gz3oS+p3ucNrwtDs3nFN0t0XVJ5RQqEX03hGR12YJAs TdoDPg7c0UTWybjfZ6rLQnqrtHSf5OpE0jqKplahPwSSW72aTc5menzuvmtIqOU4c0FL 1z3B2R0m9G/z3Olvq7MPGLwLSwhRB7gTzQY8iVhG5KKfFL56RtS/zxtT7EkmBnQGWWQY cjxn5unLEqZyvpbeC1cMAk6We/K9ptMeaMIDNAsvnZDqsJaaurGzvayF7w3+H0R+m0sV d98Tqe3wAfbL3vNLYAMHqRHEFVAUnM/k8bGRJB2QtvHVL3rYpXGPW1eZMJqDzcU1uYRy jgrQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc; bh=CP02kJgPebjputiwrn1ciDL8jmzDBgkUabbRSS8UF2Q=; b=NHhfRU/XMseNv1dzuFDijoMpBkjIjgteiU2AuJteILqGRlUwYm1AadRsHOtJggr4pE BSBfN/3WETCKNB0qsUQixUptX3TBDaCylWyu6A2xChlfOEo6BpJXYafPgwMgu4ENLYfF 0q+cnd6Sd0qCIjJDir7EKQpgoILQjauK7FCuMRSWngEoWWaPlubkX545CPk26oEZvD/4 gEdRA7DNuufqPyVoNYnDCUeoR9ab6yqfol8P5E2eurIjtW208YXfSc04V+U8TIQxR8i9 rKCNj5AIuOig20Izdr4ZiFjIibCVSWKGni3kIKe34IkQKyCDeXe6G6A0PTeIW/fRZdPN BOzA== X-Gm-Message-State: ACgBeo2f+T4sqDslXbW9bESLpPTJb1A4S5JyuFwb0pm08WdHgP7FFu6f 3pr9As32LsKEK9P7Vj/iWofEq8PiHwQ= X-Google-Smtp-Source: AA6agR6NYU6udCKArHaIF9l9MibN5Mx4Kv00+eDWLAfk3bPVZ0Tp5pZtNklyjAa7WwTL2q1kSAgFvA== X-Received: by 2002:a05:6808:13c6:b0:33b:2b03:cc43 with SMTP id d6-20020a05680813c600b0033b2b03cc43mr1289306oiw.258.1660132283165; Wed, 10 Aug 2022 04:51:23 -0700 (PDT) Received: from localhost ([2806:2f0:4060:fff1:4ae7:daff:fe31:3285]) by smtp.gmail.com with ESMTPSA id b1-20020a056870d1c100b001048f70e03dsm3753674oac.15.2022.08.10.04.51.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 10 Aug 2022 04:51:22 -0700 (PDT) From: Felipe Contreras To: zsh-workers@zsh.org Cc: Oliver Kiddle , dana , Felipe Contreras Subject: [PATCH] prompt: support generic non-visible regions Date: Wed, 10 Aug 2022 06:51:20 -0500 Message-Id: <20220810115120.182853-1-felipe.contreras@gmail.com> X-Mailer: git-send-email 2.37.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Seq: 50449 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: readline assumes anything between \001 (start of header) and \002 (start of text) is non-visible characters. In zsh we do this with `%F{color}`, but we could support `\001\e[31m\002` as well. Signed-off-by: Felipe Contreras --- I don't know if this is the right way to do it, but in my limited testing it seems to work fine. Src/prompt.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Src/prompt.c b/Src/prompt.c index 092de63a4..803937029 100644 --- a/Src/prompt.c +++ b/Src/prompt.c @@ -886,6 +886,12 @@ putpromptchar(int doprint, int endchar, zattr *txtchangep) bv->bp += strlen(bv->bp); } } + } else if(*bv->fm == 0x01) { // start non-visible characters + addbufspc(1); + *bv->bp++ = Inpar; + } else if(*bv->fm == 0x02) { // end non-visible characters + addbufspc(1); + *bv->bp++ = Outpar; } else { char c = *bv->fm == Meta ? *++bv->fm ^ 32 : *bv->fm; -- 2.37.1