mirror of
https://github.com/nushell/nushell.git
synced 2024-11-22 08:23:24 +01:00
Source path including tilda (#3059)
* Use expand_path to handle the path including tilda * Publish path::expand_path for using in nu-command * cargo fmt Co-authored-by: Wataru Yamaguchi <nagisamark2@gmail.com>
This commit is contained in:
parent
48a90fea70
commit
0795d56c1c
@ -2,6 +2,7 @@ use crate::prelude::*;
|
||||
use nu_engine::WholeStreamCommand;
|
||||
|
||||
use nu_errors::ShellError;
|
||||
use nu_parser::expand_path;
|
||||
use nu_protocol::{Signature, SyntaxShape};
|
||||
use nu_source::Tagged;
|
||||
|
||||
@ -46,7 +47,7 @@ pub async fn source(args: CommandArgs) -> Result<OutputStream, ShellError> {
|
||||
// Note: this is a special case for setting the context from a command
|
||||
// In this case, if we don't set it now, we'll lose the scope that this
|
||||
// variable should be set into.
|
||||
let contents = std::fs::read_to_string(&filename.item);
|
||||
let contents = std::fs::read_to_string(expand_path(&filename.item).into_owned());
|
||||
match contents {
|
||||
Ok(contents) => {
|
||||
let result = crate::script::run_script_standalone(contents, true, &ctx, false).await;
|
||||
|
@ -15,6 +15,7 @@ pub use lex::lexer::{lex, parse_block};
|
||||
pub use lex::tokens::{LiteBlock, LiteCommand, LiteGroup, LitePipeline};
|
||||
pub use parse::{classify_block, garbage, parse, parse_full_column_path, parse_math_expression};
|
||||
pub use path::expand_ndots;
|
||||
pub use path::expand_path;
|
||||
pub use scope::ParserScope;
|
||||
pub use shapes::shapes;
|
||||
pub use signature::{Signature, SignatureRegistry};
|
||||
|
@ -1788,7 +1788,9 @@ fn parse_call(
|
||||
)),
|
||||
);
|
||||
}
|
||||
if let Ok(contents) = std::fs::read_to_string(&lite_cmd.parts[1].item) {
|
||||
if let Ok(contents) =
|
||||
std::fs::read_to_string(expand_path(&lite_cmd.parts[1].item).into_owned())
|
||||
{
|
||||
let _ = parse(&contents, 0, scope);
|
||||
} else {
|
||||
return (
|
||||
|
Loading…
Reference in New Issue
Block a user