Our improvements to the parser as part of 0.9.0 also come with some fun perks. One of these is that unknown flags, and similar errors, will now get highlighted red to let you know that this isn't a valid input to the command.
## Shelling out (sophiajt)
An early feature of Nu that people that has been a popular request to bring back is "shelling out". When Nu doesn't recognize a command, it will try to find it as an external command. In the last few versions, this was limited as Nu was not able to execute shell scripts, .cmd scripts... basically anything that wasn't an executable. The problem is that lots of apps use scripts as a way to configure what to execute (commands like `code`, `npm`, and others are common scripts behind the scenes).
With 0.9.0, we're returning to our earlier behavior and executing both binaries and shell scripts by calling to the platform-native shell when we call an external command. While this should largely be invisible as a user, more things should "just work" how they would in bash or Windows Terminal.
## New commands
### du (Amanita-muscaria)
Nu now has its own `du` command to show the disk usage of a part of the file system. This is a handy way of quickly looking for where all your free space went.
```
❯ du
───┬───────────────┬─────────┬────────────────
# │ name │ size │ contents
───┼───────────────┼─────────┼────────────────
0 │ .git │ 4.7 MB │ [table 6 rows]
1 │ .jekyll-cache │ 49.0 KB │ [table 1 rows]
2 │ _includes │ 881 B │
3 │ _layouts │ 4.3 KB │
4 │ _posts │ 82.4 KB │
5 │ _sass │ 21.5 KB │
6 │ _site │ 5.3 MB │ [table 4 rows]
7 │ assets │ 2.4 MB │ [table 1 rows]
8 │ images │ 2.4 MB │
───┴───────────────┴─────────┴────────────────
```
### clear (JesterOrNot)
Short, sweet, and to the point, you can now `clear` your screen with the new `clear` command. Like our other commands, this works across all the platforms Nu runs on.
## New welcome message (sophiajt)