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=-0.8 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, HTML_MESSAGE,MAILING_LIST_MULTI,T_KAM_HTML_FONT_INVALID autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 4905 invoked from network); 2 Jan 2023 20:04:07 -0000 Received: from minnie.tuhs.org (50.116.15.146) by inbox.vuxu.org with ESMTPUTF8; 2 Jan 2023 20:04:07 -0000 Received: from minnie.tuhs.org (localhost [IPv6:::1]) by minnie.tuhs.org (Postfix) with ESMTP id 559194249B; Tue, 3 Jan 2023 06:03:31 +1000 (AEST) Received: from out5-smtp.messagingengine.com (out5-smtp.messagingengine.com [66.111.4.29]) by minnie.tuhs.org (Postfix) with ESMTPS id E4AA242495 for ; Tue, 3 Jan 2023 06:03:25 +1000 (AEST) Received: from compute2.internal (compute2.nyi.internal [10.202.2.46]) by mailout.nyi.internal (Postfix) with ESMTP id 058595C00CD for ; Mon, 2 Jan 2023 15:03:24 -0500 (EST) Received: from imap49 ([10.202.2.99]) by compute2.internal (MEProxy); Mon, 02 Jan 2023 15:03:24 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pobox.com; h=cc :content-type:date:date:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:sender:subject :subject:to:to; s=fm1; t=1672689804; x=1672776204; bh=kNLjT1jfEa XYkekT1Ot5SPVQ7QZzTWFlPvxrScMMeFQ=; b=u1wqufyzd8dg5QoQwyfSRLehHm db5iRiu7uSnYctXV0Z0xaV3vo+ihpti8zgKvKa1cPCnDysz6ItUvL0NnjgVZEfpJ RK8U8TGC9q3waJ2yeip6CShvy7gfhqPFUiKgEKGXKJ9JWVIYVidMsyi3zVuGs26J Bw0pMfXeYzuSsKQ8zcU/Pwp+1yGouPxuFHiRBeVJt44Ogfs1GSEc5jM/mYyG6AOj SkO7LIpgCUlYR3PyeLh5NZco3AnrMmx/PnjrZUBuyWyPtjcuGAuLtuWQdSHEsbga 6ovnDQlvQ9iubxxoqbZqlsGKlpPZczkgUPKZOUTMSnHogN+tYHPfGaoA273g== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:date:date:feedback-id :feedback-id:from:from:in-reply-to:in-reply-to:message-id :mime-version:references:reply-to:sender:subject:subject:to:to :x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm2; t=1672689804; x=1672776204; bh=kNLjT1jfEaXYkekT1Ot5SPVQ7QZz TWFlPvxrScMMeFQ=; b=vwhJ0CftgR2G+IJ6/1qu6Zr5C8gNcLY7b6e6kOmHd7y4 leOcJxv9pCXVLt+mIgZzXi25MdsBoT8OFGXtA+kYSoPflrlINZ3bXcWN0fkkR4cX SJpG3WGnGEoJ1f41XDgts8XahaZ6OqX/gYm9ElcHW7mCi11msrxWHsFg/q654kAb 0PnYevJUjA5FwFpn9hHWqPbgz28wCdATWVX7K02lokFTbcwwiV4Xy14IT+lBWFmH kx4QZYH+mcAnaBI7oukdFjVABuKOSX75aP5jH/0fMYi+tOSnqRLH7xk3H9UC9eWp M/ji+x+eqBBy5/koKG0FKVHCiWTyyUw7hEQmr9tF2Q== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrjedvgddufeegucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucenucfjughrpefofgggkfgjfhffhffvufgtsegrtd erreerreejnecuhfhrohhmpedflfhoshgvphhhucfjohhlshhtvghnfdcuoehjohhsvghp hhesjhhoshgvphhhhhholhhsthgvnhdrtghomheqnecuggftrfgrthhtvghrnhepveekie ejkedtueeuhedvudehteelvdefheejuedtleegffejjeffvefhleektdetnecuffhomhgr ihhnpehinhdquhhlmhdruggvpdhsfihttghhrdgtohhmnecuvehluhhsthgvrhfuihiivg eptdenucfrrghrrghmpehmrghilhhfrhhomhepjhhoshgvphhhsehjohhsvghphhhhohhl shhtvghnrdgtohhm X-ME-Proxy: Feedback-ID: i49d34368:Fastmail Received: by mailuser.nyi.internal (Postfix, from userid 501) id A5DD015A008E; Mon, 2 Jan 2023 15:03:23 -0500 (EST) X-Mailer: MessagingEngine.com Webmail Interface User-Agent: Cyrus-JMAP/3.7.0-alpha0-1185-g841157300a-fm-20221208.002-g84115730 Mime-Version: 1.0 Message-Id: In-Reply-To: <8ca17d52-a25a-dbbf-e1f0-d743b8884cfa@in-ulm.de> References: <52FB6638-AEFF-4A4F-8C2E-32089D577BA0@planet.nl> <464819f0-d2f6-2a60-6481-a194f4428b4d@case.edu> <20221230200246.GW5825@mcvoy.com> <8ca17d52-a25a-dbbf-e1f0-d743b8884cfa@in-ulm.de> Date: Mon, 02 Jan 2023 12:03:03 -0800 From: "Joseph Holsten" To: "Tautological Eunuch Horticultural Scythians" Content-Type: multipart/alternative; boundary=286239fc114c4e61b14ba5475cdc71f9 Message-ID-Hash: AQH3GAHIQOJKN7TI5MIYWTH3EGHSTLMQ X-Message-ID-Hash: AQH3GAHIQOJKN7TI5MIYWTH3EGHSTLMQ X-MailFrom: joseph@josephholsten.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-tuhs.tuhs.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.6b1 Precedence: list Subject: [TUHS] Command Line Editing in the Terminal Driver (Was: A few comments on porting the Bourne shell) List-Id: The Unix Heritage Society mailing list Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: --286239fc114c4e61b14ba5475cdc71f9 Content-Type: text/plain;charset=utf-8 Content-Transfer-Encoding: quoted-printable On Fri, Dec 30, 2022, at 12:42, Sven Mascheck wrote: > and in "ksh - An Extensible High Level Language" David Korn writes: >=20 > * "Originally the idea of adding command line editing to ksh was rej= ected in the hope that line editing would move into the terminal driver.= " [2] > [2] https://www.in-ulm.de/~mascheck/bourne/korn.html This phrase has haunted me for years. It=E2=80=99s so clearly the =E2=80= =9Ccorrect=E2=80=9D separation of concerns, until you actually attempt i= mplementing it. And Bourne=E2=80=99s irregular grammar certainly doesn=E2= =80=99t help here. I=E2=80=99d prefer to move beyond readline, ideally s= omething like text objects per vim/zsh/treesitter. But having one parser= in the interpreter and another in the line editor becomes quite excitin= g if you want a true bourne or even posix sh. But the thing that brought be back to playing against this quote again t= his year was starting to research the QED lineage and discovering helix = & kakoune. Honestly, they feels like the most coherent advancements in Q= ED-style editors since sam & acme. (Yes, I=E2=80=99m irrationally exclud= ing vim text-objects, mostly because no one removed editor features that= t-o made redundant. It=E2=80=99s as if ed had twice as many commands, o= ne for regexp matches and one for pre-ken-QEDist exact matches.) Anyway, the only time I=E2=80=99ve really seen =E2=80=9Cline editing [=E2= =80=A6] move into the terminal driver=E2=80=9D sound possible was acme=E2= =80=99s win. For those who haven=E2=80=99t had the pleasure, rsc describ= es it at 15:25 in https://research.swtch.com/acme. =E2=80=9CI worked for= many years in a shell without history or command line editing, and I ne= ver missed it because Acme is providing this for me.=E2=80=9D It=E2=80=99s hard to convey how surprisingly pleasant sh or rc can be wi= thin acme win to someone who has only used them within a mere terminal-e= mulator-emulator. Especially since a greenfield terminal app has more co= de emulating old xterm behaviors than physical vt100 behaviours. This is= especially exhausting when you try to use something like NeoVim=E2=80=99= s :term expecting it to just work and discover that buffer-line-wrapping= on window-resize hasn=E2=80=99t been implemented. Anyone seen any other =E2=80=9Cterminal drivers=E2=80=9D that provide a = pleasant alternative to line editing? -- ~j --286239fc114c4e61b14ba5475cdc71f9 Content-Type: text/html;charset=utf-8 Content-Transfer-Encoding: quoted-printable
On Fri, Dec 30,= 2022, at 12:42, Sven Mascheck wrote:

and in "ksh - An Extensible High Level Language= " David Korn writes:

  •  "Originally the idea of adding= command line editing to ksh was rejected in the hope that line editing would move into the terminal driver." [2]

This phrase has haunted me for years. = It=E2=80=99s so clearly the =E2=80=9Ccorrect=E2=80=9D separation of conc= erns, until you actually attempt implementing it. And Bourne=E2=80=99s i= rregular grammar certainly doesn=E2=80=99t help here. I=E2=80=99d prefer= to move beyond readline, ideally something like text objects per vim/zs= h/treesitter. But having one parser in the interpreter and another in th= e line editor becomes quite exciting if you want a true bourne or even p= osix sh.

But the thing that brought be back= to playing against this quote again this year was starting to research = the QED lineage and discovering helix & kakoune. Honestly, they feel= s like the most coherent advancements in QED-style editors since sam &am= p; acme. (Yes, I=E2=80=99m irrationally excluding vim text-objects, most= ly because no one removed editor features that t-o made redundant. It=E2= =80=99s as if ed had twice as many commands, one for regexp matches and = one for pre-ken-QEDist exact matches.)

Anyw= ay, the only time I=E2=80=99ve really seen =E2=80=9Cline editing [=E2=80= =A6] move into the terminal driver=E2=80=9D sound possible was acme=E2=80= =99s win. For those who haven=E2=80=99t had the pleasure, rsc describes = it at 15:25 in https://= research.swtch.com/acme. =E2=80=9CI worked for many years in a shell= without history or command line editing, and I never missed it because = Acme is providing this for me.=E2=80=9D

It=E2= =80=99s hard to convey how surprisingly pleasant sh or rc can be within = acme win to someone who has only used them within a mere terminal-emulat= or-emulator. Especially since a greenfield terminal app has more code emulating old xterm behaviors than physical= vt100 behaviours. This is especially exhausting when you try to use som= ething like NeoVim=E2=80=99s :term expecting it to just work and discove= r that buffer-line-wrapping on window-resize hasn=E2=80=99t been impleme= nted.

Anyone seen any other =E2=80=9Cterminal drivers=E2=80=9D that provide a= pleasant alternative to line editing?
--
= ~j
--286239fc114c4e61b14ba5475cdc71f9--