Enum nu_protocol::SyntaxShape
source · [−]pub enum SyntaxShape {
Show 28 variants
Keyword(Vec<u8>, Box<SyntaxShape>),
Any,
String,
CellPath,
FullCellPath,
Number,
Range,
Int,
Filepath,
GlobPattern,
ImportPattern,
Binary,
Block(Option<Vec<SyntaxShape>>),
Table,
List(Box<SyntaxShape>),
Filesize,
Duration,
DateTime,
Operator,
RowCondition,
MathExpression,
Variable,
VarWithOptType,
Signature,
Expression,
Boolean,
Record,
Custom(Box<SyntaxShape>, DeclId),
}
Expand description
The syntactic shapes that values must match to be passed into a command. You can think of this as the type-checking that occurs when you call a function.
Variants
Keyword(Vec<u8>, Box<SyntaxShape>)
A specific match to a word or symbol
Any
Any syntactic form is allowed
String
Strings and string-like bare words are allowed
CellPath
A dotted path to navigate the table
FullCellPath
A dotted path to navigate the table (including variable)
Number
Only a numeric (integer or decimal) value is allowed
Range
A range is allowed (eg, 1..3
)
Int
Only an integer value is allowed
Filepath
A filepath is allowed
GlobPattern
A glob pattern is allowed, eg foo*
ImportPattern
A module path pattern used for imports
Binary
A binary literal
Block(Option<Vec<SyntaxShape>>)
A block is allowed, eg {start this thing}
Table
A table is allowed, eg [[first, second]; [1, 2]]
List(Box<SyntaxShape>)
A table is allowed, eg [first second]
Filesize
A filesize value is allowed, eg 10kb
Duration
A duration value is allowed, eg 19day
DateTime
A datetime value, eg 2022-02-02
or 2019-10-12T07:20:50.52+00:00
Operator
An operator
RowCondition
A math expression which expands shorthand forms on the lefthand side, eg foo > 1
The shorthand allows us to more easily reach columns inside of the row being passed in
MathExpression
A general math expression, eg 1 + 2
Variable
A variable name
VarWithOptType
A variable with optional type, x
or x: int
Signature
A signature for a definition, [x:int, --foo]
Expression
A general expression, eg 1 + 2
or foo --bar
Boolean
A boolean value
Record
A record value
Custom(Box<SyntaxShape>, DeclId)
A custom shape with custom completion logic
Implementations
sourceimpl SyntaxShape
impl SyntaxShape
Trait Implementations
sourceimpl Clone for SyntaxShape
impl Clone for SyntaxShape
sourcefn clone(&self) -> SyntaxShape
fn clone(&self) -> SyntaxShape
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
sourceimpl Debug for SyntaxShape
impl Debug for SyntaxShape
sourceimpl<'de> Deserialize<'de> for SyntaxShape
impl<'de> Deserialize<'de> for SyntaxShape
sourcefn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
sourceimpl Display for SyntaxShape
impl Display for SyntaxShape
sourceimpl PartialEq<SyntaxShape> for SyntaxShape
impl PartialEq<SyntaxShape> for SyntaxShape
sourcefn eq(&self, other: &SyntaxShape) -> bool
fn eq(&self, other: &SyntaxShape) -> bool
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
sourcefn ne(&self, other: &SyntaxShape) -> bool
fn ne(&self, other: &SyntaxShape) -> bool
This method tests for !=
.
sourceimpl Serialize for SyntaxShape
impl Serialize for SyntaxShape
impl Eq for SyntaxShape
impl StructuralEq for SyntaxShape
impl StructuralPartialEq for SyntaxShape
Auto Trait Implementations
impl RefUnwindSafe for SyntaxShape
impl Send for SyntaxShape
impl Sync for SyntaxShape
impl Unpin for SyntaxShape
impl UnwindSafe for SyntaxShape
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<Q, K> Equivalent<K> for Q where
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Q where
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
sourcefn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to key
and return true
if they are equal.
sourceimpl<T> Serialize for T where
T: Serialize + ?Sized,
impl<T> Serialize for T where
T: Serialize + ?Sized,
fn erased_serialize(&self, serializer: &mut dyn Serializer) -> Result<Ok, Error>
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more