nushell/src
Yehuda Katz 4be88ff572 Modernize external parse and improve trace
The original purpose of this PR was to modernize the external parser to
use the new Shape system.

This commit does include some of that change, but a more important
aspect of this change is an improvement to the expansion trace.

Previous commit 6a7c00ea adding trace infrastructure to the syntax coloring
feature. This commit adds tracing to the expander.

The bulk of that work, in addition to the tree builder logic, was an
overhaul of the formatter traits to make them more general purpose, and
more structured.

Some highlights:

- `ToDebug` was split into two traits (`ToDebug` and `DebugFormat`)
  because implementations needed to become objects, but a convenience
  method on `ToDebug` didn't qualify
- `DebugFormat`'s `fmt_debug` method now takes a `DebugFormatter` rather
  than a standard formatter, and `DebugFormatter` has a new (but still
  limited) facility for structured formatting.
- Implementations of `ExpandSyntax` need to produce output that
  implements `DebugFormat`.

Unlike the highlighter changes, these changes are fairly focused in the
trace output, so these changes aren't behind a flag.
2019-11-01 08:45:45 -07:00
..
commands Modernize external parse and improve trace 2019-11-01 08:45:45 -07:00
data Modernize external parse and improve trace 2019-11-01 08:45:45 -07:00
env Replace crate visibility identifier with pub(crate) 2019-08-29 13:09:09 +02:00
evaluate Add support for :path 2019-10-29 07:40:34 +13:00
format Rename <unknown> to <value> 2019-10-17 07:28:49 +13:00
parser Modernize external parse and improve trace 2019-11-01 08:45:45 -07:00
plugins Better error messages. 2019-10-31 04:36:08 -05:00
shell Modernize external parse and improve trace 2019-11-01 08:45:45 -07:00
cli.rs Modernize external parse and improve trace 2019-11-01 08:45:45 -07:00
commands.rs Add prepend and append commands 2019-10-30 19:54:06 +13:00
context.rs Modernize external parse and improve trace 2019-11-01 08:45:45 -07:00
data.rs Move internal terminology to tables/rows 2019-09-06 04:23:42 +12:00
env.rs Replace crate visibility identifier with pub(crate) 2019-08-29 13:09:09 +02:00
errors.rs Modernize external parse and improve trace 2019-11-01 08:45:45 -07:00
format.rs Replace vtable with pivot command 2019-09-17 19:07:11 +12:00
fuzzysearch.rs Finish the job of moving shapes into the stream 2019-10-22 16:19:22 -07:00
git.rs Fix formatting with cargo fmt 2019-08-26 20:19:05 +02:00
lib.rs Modernize external parse and improve trace 2019-11-01 08:45:45 -07:00
main.rs Modernize external parse and improve trace 2019-11-01 08:45:45 -07:00
parser.rs Finish the job of moving shapes into the stream 2019-10-22 16:19:22 -07:00
plugin.rs Overhaul the coloring system 2019-10-10 19:30:04 -07:00
prelude.rs Modernize external parse and improve trace 2019-11-01 08:45:45 -07:00
shell.rs run rustfmt 2019-09-11 10:36:50 -04:00
stream.rs Stream support (#812) 2019-10-13 17:12:43 +13:00
traits.rs Modernize external parse and improve trace 2019-11-01 08:45:45 -07:00
utils.rs Allow handling errors with failure callbacks. 2019-10-30 17:46:40 -05:00