Nushell core team meeting 2023-11-15

Attendees

  • Darren
  • Sophia
  • Stefan
  • Terts
  • Jakub
  • Antoine
  • Michael
  • WindSoilder

Agenda

Discussed Topics

cd, PWD, and friends

  • critical report: https://github.com/nushell/nushell/issues/10832
  • $env is special in nushell
    • using the system environment mechanism is not sufficient for us
  • we manage PWD ourselves
  • everything that looks in the system env inside nushell will be in pain
    • uutil ported commands
  • we set it for spawning external commands
  • where to fix it => pass the correct path to the uutil implementation
  • error message:
    • we would like to passs the qualified path but would not match the arguments provided
    • Terts: simple solution would be to give just an index to the violating argument. then nushell can figure

general observation

  • be cogniscent about when we expand
    • mechanism to toggle expansion from the user perspective that is consistent across the board
  • can we factor that out explicitly
    • would allow us to provide that behavior to user defined commands

To hotfix or not to hotfix

  • we shouldn't depend on making major changes to uu_cp internals.
  • making an absolute path and handing that over should be fine for now. (Lead: Kubouch)
  • this will degrade errors slightly but then the second phase would be
    • uutils could possibly figure out a way to return from which argument a problem originated (e.g. copy could have recursive paths so substring matching could become ambiguous) - discussed with Terts release probably around the time of the next nu release

(sub)module autodiscovery

  • package directory structure

https://github.com/nushell/nupm/tree/main/nupm

mod.nu as the source of the module
autodiscovery of submodules

Goal: we want to have a just dump a file behavior for adding completion

Pain point: implicit behavior is bad for manually curated projects -> explicit export use like rust python etc. would

Darren: explicit over implicit

Antoine could we have a wildcard like reexport that gets you all the files for ease of use where it matterns

With a well-oiled package manager, some of the complications could be managed automagically

Survey results

Sophia prepared a write up based on the survey results:
https://github.com/nushell/nushell.github.io/pull/1143

We are happy to land it at the next opportunity!

std clip

  • calls out of nushell into system externals
    • shoot in the dark
  • currently had some bugs
  • not following the letter of the stdlibrary law

General vibe:

move it to nu_scripts warn with a message in the std library "impl"

bracketed paste and multiline paste

true bracketed paste works and moves multiple lines into the repl

if disabled (like on windows due to crossterm/conhost.exe) after each new line we will check if it is a complete command and submit. (relevant difference between win and unix!)

Use paste heuristic to not validate after pasted newlines and emulate the same behvavior as with bracketed paste support

Select a repo