moonrepo / starbase

Framework for building performant command line applications and developer tools.
MIT License
68 stars 6 forks source link

[Feature] Add support for more shells #87

Open abhishek818 opened 2 days ago

abhishek818 commented 2 days ago

Hello there, I am new to moonrepo and its usecases. Gave a quick search about starbase and some code browsing to understand the way things are working here.

Since Starbase is just not limited to the moonrepo org but also published as its own crate, I was wondering if some additional shells can be supported in Starbase : (hook implementation can be left empty for some of them)

```
1. dash (Debian Almquist Shell): A lightweight and fast POSIX-compliant shell often used in Debian-based systems.

2. vim : who doesnt know about it.

3. ksh (Korn Shell): A powerful POSIX-compliant shell used in many enterprise environments.

4. tcsh (TENEX C Shell): An enhanced version of the original C Shell (csh), used in some Unix systems.

5. mksh (MirBSD Korn Shell): A portable successor to the Public Domain Korn Shell (pdksh).

6. busybox ash (Almquist Shell):  Commonly used in embedded systems due to its minimal footprint.

7. oksh (OpenBSD Korn Shell): A port of the OpenBSD ksh that aims for portability across different Unix-like systems.

8. scsh (Scheme Shell): A shell that integrates the Scheme programming language for scripting.

9. tcl or tickle (optional or not needed)

10. eshell (Emacs Shell): An Emacs Lisp shell that integrates closely with the Emacs editor.
abhishek818 commented 2 days ago

@milesj tagging contributors of the repo..

abhishek818 commented 2 days ago

PS: we can even have a single code file for all posix based shell implementations..

milesj commented 2 days ago

Right now I'm supporting shells based on request/popularity. I haven't heard of most of these :P

PS: we can even have a single code file for all posix based shell implementations..

I've thought about this, but escape/quote rules, and the hook stuff is always different.