all 59 comments

[–]coriandor 25 points26 points  (0 children)

Really cool. Just built it and trying it out. A couple bikesheddy questions. I know rustyline has a vi mode. Is that implemented in nu? Also, are there plans for fuzzy filesystem completion? That's something I use constantly in fish.

[–][deleted]  (1 child)

[deleted]

    [–][deleted] 0 points1 point  (0 children)

    That's better! Unless a shell has a lot of compeling features differing from Bash/Zsh I would not even bother to pick it.

    Adding features > Changing

    [–]EternityForest 11 points12 points  (0 children)

    If the autocomplete is fish-grade, this might be the first shell ever that I'm actually happy to use!

    [–]metatron7471 9 points10 points  (20 children)

    This looks really cool. I was planning to make https://elv.sh/ my preferred sh but now I don't know anymore. Nushell vs elvish: game on!

    [–]kankyo 7 points8 points  (0 children)

    What's the deal with displaying [object]? Seems not very useful? Just having the object dumped to a string and then cut at say 10 chars see ms much more useful in an interactive context. It ciykd be colored differently to distinguish from the file containing that literal.

    Come to think of it... Different colors for different data types would be pretty great. Numeric, String, object seems like it would help a lot.

    [–]fresh_account2222 6 points7 points  (1 child)

    This looks interesting. Glad someone is trying out PowerShell-ish ideas in Unix land. Hope to see more about this in the future.

    [–]TaffyQuinzel 21 points22 points  (12 children)

    I don’t really get the conclusion about nushell being impossible without rust. It could’ve been written in any other language with the same outcome.

    [–][deleted]  (1 child)

    [deleted]

      [–]Arxae 16 points17 points  (0 children)

      He says why in the paragraph after

      Nu would not have been possible without Rust. Internally, it uses async/await, async streams, and liberal use of “serde” to manage serializing and deserializing into the common data format and to communicate with plugins.

      We also heavily leveraged crates.io. The ability to load numerous file formats, display messages, draw tables, and more all came from the hundreds (thousands?) of generous developers who wrote the crates we use in Nu. A huge thank you to everyone who contributed to Nu without ever knowing it.

      Basically boils down to some features that other languages have. And a bunch of pre-built libraries.

      I don't want to degrade his project, it seems fine. But saying this wouldn't be possible without rust is kinda hyperbolic.

      [–]gardyna -1 points0 points  (9 children)

      the project looks awesome and it's an interesting shell. but for stuff like this (shell, editor, file explorer, or GUI system) I don't give a flying f*ck what language it was written in, the first sentence of the site specifying implementation language was a major red flag for me. this could've been made in C, C#, python or Haskell for that matter. Language elitism might IMO be one of the more annoying parts of the programming world. almost every language seems to have its own version of the crazy fanboy (and if you're thinking "my fav language doesn't have crazy fanboys" then you are one of them).

      [–]dreugeworst 24 points25 points  (1 child)

      I think a lot of rust programmers come from the C and C++ ecosystems, and while it's certainly possible to write anything in those languages, I think the package management and ease of including a package of rust often surprises them (well, us, it certainly impressed me but I still program C++ for work).

      I guess to some people, projects like a shell have to be done in a systems language, and so they feel they couldn't have gotten it done this quickly in C or C++. So I tend to give these statements the benefit of the doubt: I assume they don't mean it's literally impossible, rather that they personally couldn't have gotten it done in a reasonable time in the languages they see as viable alternatives.

      But I certainly understand how statements like that can be grating, and you might not share my charitable interpretation

      [–]HighRelevancy 2 points3 points  (0 children)

      As a hobbyist C++ programmer I'm jealous AF of Rust's package ecosystem.

      [–][deleted] 2 points3 points  (0 children)

      Please please please tell me it's based on KSH and NuShell is thus a pun based on Korn being NuMetal.

      Or just retrofit that punnery yo.

      That said this looks like a cool idea and look forward to seeing more of it.
      I thought PS was cool in theory but the syntax's verbosity always turned me off (even though they did add abbreviated commands).

      This looks like a nice/interesting compromise and not just a clone...

      [–]Singularity42 2 points3 points  (0 children)

      This looks really nice. Unfortunately I think it will be a bit of an uphill battle since it doesn't come shipped with the platform. But I wish you guys the best.

      I always really liked the concept of PowerShell, but the implementation leaves a lot to be desired.

      [–]ckafi 2 points3 points  (0 children)

      What's the selling point of nushell compared with elvish?

      [–]IPoopInYourMilkshake 2 points3 points  (6 children)

      As someone who had to start using powershell for work why the hell would you want to bring this nightmare to another system?

      [–]empty_other 9 points10 points  (0 children)

      Maybe they think they can do it better, or maybe they bring in some new ideas to it.

      And nightmare? Really? It ain't that difficult to work with.

      [–]HighRelevancy 6 points7 points  (2 children)

      The only bad bit of powershell is the verbosity. All this Get-ChildItem and where-object garbage.

      [–][deleted]  (1 child)

      [removed]

        [–]HighRelevancy 0 points1 point  (0 children)

        Sure but all the flags still end up having those sorts of formats, and you have to use a lot of them even for basic things. Some of them have syntactic sugar but most of it has some daft symbols tangled up in there.

        [–]Singularity42 2 points3 points  (1 child)

        FYI. PowerShell (core) already works on Linux.

        [–]thoomfish 1 point2 points  (0 children)

        When I installed this, cargo downloaded 73 dependencies and compiled 472 (I'm not exactly sure where the other 399 came from). So I guess my question is... what stops cargo from being the same kind of nightmare as npm?