nuta / nsh

A command-line shell like fish, but POSIX compatible.
906 stars 34 forks source link

design concept: how to prevent functionality creep #19

Open matu3ba opened 2 years ago

matu3ba commented 2 years ago

Bash has the problem of most shells: >100k LOC with not offering proper error handling or being able to do basic safety checks. Most of them are due to POSIX being underspecified.

  1. How do you solve error handling?
  2. How do you plan to do such checks?
  3. What kind of script invocation checks (behavior on symbol clashes and explicit or implicit recursion) behavior is planned?
  4. Do you have a concept for CLI tab-completion from programs to replace the terrible slow and arcane bash stuff? A DSL is unfortunately qute abit redundant to man pages.

Necessary functionality

  1. Do you provide a proper list type?
  2. Do you plan modularity + modules?
  3. How do you keep language complexity and implementation small?

And: How does your project differ from ion shell and oh?