Re:Fishshell rewrite-it-in Rust progress: 100%
by ComputerGuru on Monday January 15, 2024 @03:14PM
(#39005502)
Absolutely not. Fish may be written in more of a cross-platform language/ecosystem now but as a unix shell, we make heavy use of unixisms that have no windows equivalent throughout its architecture, design, and implementation.
Is it theoretically, someday possible? Sure. Does rust bring us closer? Maybe a tiny bit, but honestly not much (it has a more elegant per-platform targeting/conditional compilation model but it’s nothing that wasn’t possible in C/C++, and we don’t use the “native” oob cross-platform std lib stuff like launching procs).
Re:Fishshell rewrite-it-in Rust progress: 100%
by simcop2387 on Monday January 15, 2024 @08:14PM
(#39008211)
Looks like rust is reasonably well working with cygwin/msys2 based on some github issues, https://github.com/rust-lang/rust/issues/79854 . Given that, I'd expect that this rust rewrite should work under them at least. Though it's obviously not a fully native build since you've got a bunch of compatibility layers involved to bring in those mentioned unixisms.
Re:Fishshell rewrite-it-in Rust progress: 100%
by ComputerGuru on Monday January 15, 2024 @03:19PM
(#39005552)
Ironically the RIIR project makes this more difficult; we lost support for Cygwin altogether and I think the msys2 stuff would need to be re-explored if it even remains possible.
Re:Fishshell rewrite-it-in Rust progress: 100%
by steveklabnik on Monday January 15, 2024 @08:46PM
(#39008395)
It says in the post:
> at this stage I think it looks like CMake will be hanging around, much simplified, to handle some of the configure/install targets, while cargo is used for the actual build.
Re:Fishshell rewrite-it-in Rust progress: 100%
by btreecat on Tuesday January 16, 2024 @08:29AM
(#39013037)
Love fish, it's my default shell on my machine where I have a UI, Linux or OSX.
I do wish there was better bash compatibility though, it keeps me from using fish on remote hosts, and some of my work tools are not fish compatible. I usually just switch to bash for a bit, but then I don't have my normal completion, history, git branch identification etc that comes out of the box with fish.
I'm a huge fan of sane defaults. Fish strikes a great balance here where I feel zsh requires a larger minimum amount of effort to be comfortable.
Re:Fishshell rewrite-it-in Rust progress: 100%
by stonecharioteer on Tuesday January 16, 2024 @01:29PM
(#39016777)
I use fish, have been for 6 years now? I always default to bash for work scripts and nowadays use justfiles to bring them together. I don't like using fish for scripting, that's what bash is for.
Is it theoretically, someday possible? Sure. Does rust bring us closer? Maybe a tiny bit, but honestly not much (it has a more elegant per-platform targeting/conditional compilation model but it’s nothing that wasn’t possible in C/C++, and we don’t use the “native” oob cross-platform std lib stuff like launching procs).
WSL is a priority target though.
Not gonna say it’s easy but may be less difficult than it appears to some.
However personally I’d still recommend WSL if just for the coreutils userland.
Disclaimer: I’m the author of Murex shell
would you share a link please?
Top hit for me is https://pkg.go.dev/github.com/lmorg/murex
> at this stage I think it looks like CMake will be hanging around, much simplified, to handle some of the configure/install targets, while cargo is used for the actual build.
I do wish there was better bash compatibility though, it keeps me from using fish on remote hosts, and some of my work tools are not fish compatible. I usually just switch to bash for a bit, but then I don't have my normal completion, history, git branch identification etc that comes out of the box with fish.
I'm a huge fan of sane defaults. Fish strikes a great balance here where I feel zsh requires a larger minimum amount of effort to be comfortable.