Crate nu_protocol

Source
Expand description

§nu-protocol

The nu-protocol crate holds the definitions of structs/traits that are used throughout Nushell. This gives us one way to expose them to many other crates, as well as make these definitions available to each other, without causing mutually recursive dependencies.

Re-exports§

Modules§

  • Types representing parsed Nushell code (the Abstract Syntax Tree)
  • Module managing the streaming of raw bytes between pipeline elements
  • This module manages the step of turning error types into printed error messages
  • Module containing the internal representation of user configuration
  • Module containing the trait to instrument the engine for debugging and profiling
  • Representation of the engine state and many of the details that implement the scoping
  • Foundational Eval trait allowing dispatch between const-eval and regular evaluation
  • Implementation of const-evaluation
  • Module managing the streaming of individual Values as a ListStream between pipeline elements
  • Handling of external subprocesses
  • Our insertion ordered map-type Record
  • Span to point to sections of source code and the Spanned wrapper type

Macros§

Structs§

Enums§

  • The source of bytes for a ByteStream.
  • Optional type color for ByteStream, which determines type compatibility.
  • Command categories
  • An internal compiler error, generally means a Nushell bug rather than an issue with user error since parsing and typechecking has already passed.
  • The errors that may occur when updating the config
  • Describes where the particular PipelineMetadata originates.
  • Describes where to direct the stdout or stderr output stream of external command to.
  • The foundational abstraction for input and output to commands
  • Possibly valid data about a plugin in a PluginRegistryFile. If deserialization fails, it will be Invalid.
  • The fundamental error type for the evaluation engine. These cases represent different kinds of errors the evaluator might face, along with helpful spans to label. An error renderer will take this error value and pass it into an error viewer to display to the user.
  • The types of things that can be signaled. It’s anticipated this will change as we learn more about how we’d like signals to be handled.
  • The syntactic shapes that describe how a sequence should be parsed.
  • Core structured values that pass through the pipeline in Nushell.

Traits§

Functions§

Type Aliases§

Derive Macros§

  • Derive macro generating an impl of the trait FromValue.
  • Derive macro generating an impl of the trait IntoValue.