nushell/src/parser
Yehuda Katz 4d3e7efe25 Close a bunch of holes in external command args
Previously, there was a single parsing rule for "bare words" that
applied to both internal and external commands.

This meant that, because `cargo +nightly` needed to work, we needed to
add `+` as a valid character in bare words.

The number of characters continued to grow, and the situation was
becoming untenable. The current strategy would eventually eat up all
syntax and make it impossible to add syntax like `@foo` to internal
commands.

This patch significantly restricts bare words and introduces a new token
type (`ExternalWord`). An `ExternalWord` expands to an error in the
internal syntax, but expands to a bare word in the external syntax.

`ExternalWords` are highlighted in grey in the shell.
2019-09-09 10:43:10 -07:00
..
hir Close a bunch of holes in external command args 2019-09-09 10:43:10 -07:00
parse Close a bunch of holes in external command args 2019-09-09 10:43:10 -07:00
deserializer.rs Move internal terminology to tables/rows 2019-09-06 04:23:42 +12:00
hir.rs Close a bunch of holes in external command args 2019-09-09 10:43:10 -07:00
parse_command.rs Close a bunch of holes in external command args 2019-09-09 10:43:10 -07:00
parse.rs Replace crate visibility identifier with pub(crate) 2019-08-29 13:09:09 +02:00
registry.rs Remove unused code 2019-09-01 23:11:05 -07:00