public Task <ExecutionResult> Execute(IReplWindow window, string arguments) { if (string.IsNullOrWhiteSpace(arguments)) { var curValue = (bool)window.GetOptionValue(ReplOptions.ShowOutput); window.WriteLine("ECHO is " + (curValue ? "ON" : "OFF")); return(ExecutionResult.Succeeded); } if (arguments.Equals("on", System.StringComparison.InvariantCultureIgnoreCase)) { window.SetOptionValue(ReplOptions.ShowOutput, true); return(ExecutionResult.Succeeded); } else if (arguments.Equals("off", System.StringComparison.InvariantCultureIgnoreCase)) { window.SetOptionValue(ReplOptions.ShowOutput, false); return(ExecutionResult.Succeeded); } //Any other value passed to .echo we treat as a message window.WriteLine(arguments); return(ExecutionResult.Succeeded); }
public Task <ExecutionResult> Execute(IReplWindow window, string arguments) { var finder = new FileFinder(arguments); var eval = window.Evaluator as BasePythonReplEvaluator; if (eval != null && eval.CurrentOptions != null) { finder.Search(eval.CurrentOptions.WorkingDirectory); finder.SearchAll(eval.CurrentOptions.SearchPaths, ';'); } finder.ThrowIfNotFound(); string commandPrefix = (string)window.GetOptionValue(ReplOptions.CommandPrefix); string lineBreak = window.TextView.Options.GetNewLineCharacter(); IEnumerable <string> lines = File.ReadLines(finder.Filename); IEnumerable <string> submissions; if (eval != null) { submissions = eval.JoinCode(lines).Where(CommentPrefixPredicate); } else { // v1 behavior, will probably never be hit, but if someone was developing their own IReplEvaluator // and using this class it would be hit. var submissionList = new List <string>(); var currentSubmission = new List <string>(); foreach (var line in lines) { if (line.StartsWith(_commentPrefix)) { continue; } if (line.StartsWith(commandPrefix)) { AddSubmission(submissionList, currentSubmission, lineBreak); submissionList.Add(line); currentSubmission.Clear(); } else { currentSubmission.Add(line); } } AddSubmission(submissionList, currentSubmission, lineBreak); submissions = submissionList; } window.Submit(submissions); return(ExecutionResult.Succeeded); }
public Task<ExecutionResult> Execute(IReplWindow window, string arguments) { var finder = new FileFinder(arguments); var eval = window.Evaluator as BasePythonReplEvaluator; if (eval != null && eval.CurrentOptions != null) { finder.Search(eval.CurrentOptions.WorkingDirectory); finder.SearchAll(eval.CurrentOptions.SearchPaths, ';'); } finder.ThrowIfNotFound(); #if DEV14_OR_LATER string commandPrefix = "$"; #else string commandPrefix = (string)window.GetOptionValue(ReplOptions.CommandPrefix); #endif string lineBreak = window.TextView.Options.GetNewLineCharacter(); IEnumerable<string> lines = File.ReadLines(finder.Filename); IEnumerable<string> submissions; if (eval != null) { submissions = eval.JoinCode(lines).Where(CommentPrefixPredicate); } else { // v1 behavior, will probably never be hit, but if someone was developing their own IReplEvaluator // and using this class it would be hit. var submissionList = new List<string>(); var currentSubmission = new List<string>(); foreach (var line in lines) { if (line.StartsWith(_commentPrefix)) { continue; } if (line.StartsWith(commandPrefix)) { AddSubmission(submissionList, currentSubmission, lineBreak); submissionList.Add(line); currentSubmission.Clear(); } else { currentSubmission.Add(line); } } AddSubmission(submissionList, currentSubmission, lineBreak); submissions = submissionList; } window.Submit(submissions); return ExecutionResult.Succeeded; }
public Task<ExecutionResult> Execute(IReplWindow window, string arguments) { if (string.IsNullOrWhiteSpace(arguments)) { var curValue = (bool)window.GetOptionValue(ReplOptions.ShowOutput); window.WriteLine("ECHO is " + (curValue ? "ON" : "OFF")); return ExecutionResult.Succeeded; } if (arguments.Equals("on", System.StringComparison.InvariantCultureIgnoreCase)) { window.SetOptionValue(ReplOptions.ShowOutput, true); return ExecutionResult.Succeeded; } else if(arguments.Equals("off",System.StringComparison.InvariantCultureIgnoreCase)) { window.SetOptionValue(ReplOptions.ShowOutput, false); return ExecutionResult.Succeeded; } //Any other value passed to .echo we treat as a message window.WriteLine(arguments); return ExecutionResult.Succeeded; }