Spanned as Tagged.

This commit is contained in:
Andrés N. Robalino 2019-08-01 00:32:36 -05:00
parent c195c1d21d
commit 0231e64e37

View File

@ -78,10 +78,9 @@ impl Str {
field: &Option<String>, field: &Option<String>,
) -> Result<Tagged<Value>, ShellError> { ) -> Result<Tagged<Value>, ShellError> {
match value.item { match value.item {
Value::Primitive(Primitive::String(s)) => Ok(Spanned { Value::Primitive(Primitive::String(ref s)) => {
item: self.apply(&s), Ok(Tagged::from_item(self.apply(&s), value.span()))
span: value.span, }
}),
Value::Object(_) => match field { Value::Object(_) => match field {
Some(f) => { Some(f) => {
let replacement = match value.item.get_data_by_path(value.span(), f) { let replacement = match value.item.get_data_by_path(value.span(), f) {
@ -188,13 +187,13 @@ mod tests {
use super::Str; use super::Str;
use indexmap::IndexMap; use indexmap::IndexMap;
use nu::{ use nu::{
Args, CallInfo, Plugin, ReturnSuccess, SourceMap, Span, Spanned, SpannedDictBuilder, Args, CallInfo, Plugin, ReturnSuccess, SourceMap, Span, Tagged, TaggedDictBuilder,
SpannedItem, Value, TaggedItem, Value,
}; };
struct CallStub { struct CallStub {
positionals: Vec<Spanned<Value>>, positionals: Vec<Tagged<Value>>,
flags: IndexMap<String, Spanned<Value>>, flags: IndexMap<String, Tagged<Value>>,
} }
impl CallStub { impl CallStub {
@ -208,14 +207,14 @@ mod tests {
fn with_long_flag(&mut self, name: &str) -> &mut Self { fn with_long_flag(&mut self, name: &str) -> &mut Self {
self.flags.insert( self.flags.insert(
name.to_string(), name.to_string(),
Value::boolean(true).spanned(Span::unknown()), Value::boolean(true).tagged(Span::unknown()),
); );
self self
} }
fn with_parameter(&mut self, name: &str) -> &mut Self { fn with_parameter(&mut self, name: &str) -> &mut Self {
self.positionals self.positionals
.push(Value::string(name.to_string()).spanned(Span::unknown())); .push(Value::string(name.to_string()).tagged(Span::unknown()));
self self
} }
@ -228,10 +227,10 @@ mod tests {
} }
} }
fn sample_record(key: &str, value: &str) -> Spanned<Value> { fn sample_record(key: &str, value: &str) -> Tagged<Value> {
let mut record = SpannedDictBuilder::new(Span::unknown()); let mut record = TaggedDictBuilder::new(Span::unknown());
record.insert(key.clone(), Value::string(value)); record.insert(key.clone(), Value::string(value));
record.into_spanned_value() record.into_tagged_value()
} }
#[test] #[test]
@ -344,7 +343,7 @@ mod tests {
let output = plugin.filter(subject).unwrap(); let output = plugin.filter(subject).unwrap();
match output[0].as_ref().unwrap() { match output[0].as_ref().unwrap() {
ReturnSuccess::Value(Spanned { ReturnSuccess::Value(Tagged {
item: Value::Object(o), item: Value::Object(o),
.. ..
}) => assert_eq!( }) => assert_eq!(
@ -372,7 +371,7 @@ mod tests {
let output = plugin.filter(subject).unwrap(); let output = plugin.filter(subject).unwrap();
match output[0].as_ref().unwrap() { match output[0].as_ref().unwrap() {
ReturnSuccess::Value(Spanned { ReturnSuccess::Value(Tagged {
item: Value::Object(o), item: Value::Object(o),
.. ..
}) => assert_eq!( }) => assert_eq!(
@ -400,7 +399,7 @@ mod tests {
let output = plugin.filter(subject).unwrap(); let output = plugin.filter(subject).unwrap();
match output[0].as_ref().unwrap() { match output[0].as_ref().unwrap() {
ReturnSuccess::Value(Spanned { ReturnSuccess::Value(Tagged {
item: Value::Object(o), item: Value::Object(o),
.. ..
}) => assert_eq!( }) => assert_eq!(