Nushell core team meeting 2025-02-26

Attendees

  • Jack
  • Darren
  • Michael
  • Rose
  • Renan - Cosineblast
  • Douglas
  • Piet - Piepmatz - sounds like Pete
  • Bahex

Agenda

  • Jobs merged <3 (next steps?)
  • Type checking discarded pipeline input (more details)
  • Nominate Kubouch as another GitHub Owner (Darren & Andres are the only two right now and Andres isn't around much these days)
  • env commands + case sensitivity

Discussed Topics

Jobs

Went on about jobs and how nice it is to have something in place. Discussed a manual job freeze command and/or hooking it up to SuspendThread through Ctrl+Break. Also discussed the Discord discussion about job spawn { job unfreeze } and adding a parameter to unfreeze but leave in the background

Type checking

Lots of discussion where rose presenting the "more details" link above. Took maybe 45 minutes, good discussion. We arrived at maybe allowing flags like into datetime --list to be able to output different types. The issue is not resolved but we're looking for a place to jump in and move foward. rose's 3 options help explain the delima.

piet suggests taking inspiration from typescript's function overloads

threads to investigate:

  • should we only bypass type checking discarded pipeline input in the implicit pipeline input case?
  • does $in count as discarding pipeline input?
  • maybe values on the rhs of a pipe count as discarding pipeline input as well
    • if we differentiate between implicit and explicit pipeline input, we could forbid explicitly piping commands into values (except $in)

Kubouch as GH Owner

Yes, no issues

env commands + case sensitivity

We ran out of time but darren referenced 15710 as an example. It seems like $env.path is working ok for case-insensitivity but all the other -env commands don't work that way, like load-env. We need to come to some resolution and Jack brought up how it will be OS dependent because Linux is case-sensitive, MacOS is ?, Windows is case-preserving. We should discuss more in another meeting to figure out what we want to do but it's going to require some investigation per os.

Select a repo