I’ve noted that windows support landed a few years ago albeit partially, and is still under construction
The main blocker seems to be windows path handling.
How well does Crystal run within WSL? Any timeframe for when it will run well within WSL?
The reason I ask, is that I want to see if I can start leveraging Crystal within GitHub - bevry/dorothy: 🧙🏻♀️ Terminal ecosystem, featuring: ① Framework for cross-shell/cli/tui scripting: bash/nu/deno/unix/… ② Overlay for cross-shell/env/dotfile interop: bash/zsh/fish/nu/… ③ Manager for cross-source packages/apps/utilities: github/brew/apt/flatpak/appimage/cargo/npm/… ④ Hundreds of cross-os commands: macos/linux/windows, x86/arm. · GitHub in which macos, linux, and wsl support are required targets.
Some of the commands I want to start experimenting with won’t need filesystem access, so perhaps they could start being ported over?
Just want to get some awareness of what I would be getting into.
As for why crystal for me, as that seems to be a popular discussion point on this forum:
opened 01:41AM - 20 Jan 24 UTC
enhancement
ongoing
PR / Bounty only
As Dorothy is cross-shell compatible, here are additional shells we could target… :
- [ ] tcsh (maintained version of csh)
- bundled with macos: `tcsh 6.21.00 (Astron) 2019-05-08 (unknown-apple-darwin) options wide,nls,dl,bye,al,kan,sm,rh,color,filec`
- available via brew: `tcsh: stable 6.24.14 (bottled): Enhanced, fully compatible version of the Berkeley C shell: https://www.tcsh.org/`
- https://en.wikipedia.org/wiki/Tcsh
- https://www.tcsh.org/
- `.tcshrc` preferred, `.cshrc` fallback
- [ ] csh (legacy version of tcsh)
- bundled with macos: `csh --version` not supported
- not available via brew: `brew info csh`
- https://en.wikipedia.org/wiki/C_shell
- `.cshrc`
- [ ] murex (maintained)
- https://github.com/lmorg/murex
- https://murex.rocks
- https://murex.rocks/tour.html
- https://murex.rocks/user-guide/rosetta-stone.html#variables
- seems similar to nushell
- [ ] ion (last update 4 months ago)
- https://github.com/redox-os/ion
- https://gitlab.redox-os.org/redox-os/ion
- https://github.com/BoolPurist/ion_shell_study_report/blob/main/content/3_result.tex
- supported by starship
Listings of shells:
- https://github.com/oilshell/oil/wiki/Alternative-Shells
- https://github.com/stars/balupton/lists/shells
Not shells, but frameworks for invoking shells:
- https://github.com/dsherret/dax (deno)
Windows support is pretty advanced, actually. The remaining tasks are mostly polishing, edge cases and tooling. General platform support has been pretty solid for a while, and keeps getting better. At this point there should not be any surprises on Windows. I’d say Crystal is practically usable, but it’s just not there yet in terms of quality in a couple of niches.
Native windows targets MSVC and GNU are supported on both x86_64 and aarch64. We’re testing x86_64 MSVC, x86_64 MSYS2 UCRT and aarch64 MSYS2 CLANGARM in CI.
Crystal on WSL runs entirely fine. WSL is just a pretty standard Linux environment.
I use it for daily work.