Ejemplo n.º 1
0
 public ArgumentPrompter(
     IPrompter prompter,
     Func <CommandContext, IArgument, string>?getPromptTextCallback = null)
 {
     _prompter = prompter;
     _getPromptTextCallback = getPromptTextCallback;
 }
Ejemplo n.º 2
0
 public PickTagActionHandler(
     IMediator mediator,
     IPrompter prompter)
 {
     _mediator = mediator;
     _prompter = prompter;
 }
Ejemplo n.º 3
0
        public void Init()
        {
            prompter = new BasicConsolePrompter();

            this.originalSw = Console.Out;

            this.sw = new StringWriter();
            Console.SetOut(sw);
        }
Ejemplo n.º 4
0
        public void Knock(IConsole console, IPrompter prompter)
        {
            if (prompter.TryPromptForValue("who's there?", out var answer1, out bool isCancellationRequested) && !isCancellationRequested)
            {
                var answer2 = prompter.PromptForValue($"{answer1} who?", out isCancellationRequested);

                console.Out.WriteLine($"{answer2}");
                console.Out.WriteLine("lulz");
            }
        }
Ejemplo n.º 5
0
 public Rover(IPosition position, IPrompter prompter, DirectionType directionType)
 {
     _position = position;
     _prompter = prompter;
     _directionType = directionType;
 }
Ejemplo n.º 6
0
 public void Dispose()
 {
     Console.SetOut(this.originalSw);
     sw       = null;
     prompter = null;
 }
Ejemplo n.º 7
0
 public Generator(IPrompter prompter)
 {
     Prompter = prompter;
 }
Ejemplo n.º 8
0
 public Generator()
 {
     Prompter = new Prompter();
 }
Ejemplo n.º 9
0
            // end-snippet

            // begin-snippet: passwords_prompt
            public void Prompt(IConsole console, IPrompter prompter, string username)
            {
                var password = prompter.PromptForValue("password", out _, isPassword: true);

                console.WriteLine($"u:{username} p:{password}");
            }
Ejemplo n.º 10
0
            public void Do(IConsole console, IPrompter prompter)
            {
                var answer = prompter.PromptForValue("knock knock", out bool isCancellationRequested);

                console.Out.WriteLine(answer);
            }
Ejemplo n.º 11
0
 public void AddNotifier(IPrompter prompter)
 {
     prompters.Add(prompter);
 }
Ejemplo n.º 12
0
        public void status(
            IPrompter prompter,
            CancellationToken cancellationToken,
            ProjectsOptions projectsOptions,
            CommitsAndFilesArgs commitsAndFilesArgs,
            [Option(ShortName = "s", Description = "list only the project and change summary")] bool summaryOnly = false,
            [Option(ShortName = "i", Description = "prompt to increment version for each project with changes")] bool interactive = false)
        {
            foreach (var project in _repo.GetProjects(projectsOptions))
            {
                _writeln(null);
                if (project.LatestTag == null)
                {
                    _writeln($"{project.Theme_ProjectIndexAndName()}: {"no tag".Pastel(Color.Orange)}");
                    continue;
                }

                var taggedCommit = project.LatestTaggedCommit;
                var tip          = project.Branch.Tip;

                var changes = project.GetFilesChangedSinceLatestTag(tip).ToList();

                _writeln($"{project.Theme_ProjectIndexAndName()}: {changes.Summary()}");
                if (!summaryOnly)
                {
                    using (_writer.Indent())
                    {
                        _writeln($"branch: {tip.Committer.Theme_WhenDateTime()} {project.Branch.FriendlyName.Theme_GitName()} {tip.Author.Theme_Name()}");
                        _writeln($"        {tip.MessageShort}");
                        _writeln($"tag   : {taggedCommit.Committer.Theme_WhenDateTime()} {project.LatestTag.Tag.FriendlyName.Theme_GitName()} {taggedCommit.Author.Theme_Name()}");
                        _writeln($"        {taggedCommit.MessageShort}");

                        if (changes.Any())
                        {
                            using (_writer.Indent())
                            {
                                WriteCommitsAndFiles(_writer, project, project.LatestTag,
                                                     commitsAndFilesArgs,
                                                     cancellationToken);
                            }

                            if (interactive)
                            {
                                var response = prompter.PromptForValue("increment version? [major(j)>,minor(n),patch(p),skip(s)]", out bool isCancellationRequested);
                                if (isCancellationRequested)
                                {
                                    return;
                                }

                                if (response.Equals("major", StringComparison.OrdinalIgnoreCase) || response.Equals("m", StringComparison.OrdinalIgnoreCase))
                                {
                                    this.increment(project.Name, SemVerElement.major);
                                }
                                else if (response.Equals("minor", StringComparison.OrdinalIgnoreCase) || response.Equals("n", StringComparison.OrdinalIgnoreCase))
                                {
                                    this.increment(project.Name, SemVerElement.minor);
                                }
                                else if (response.Equals("patch", StringComparison.OrdinalIgnoreCase) || response.Equals("p", StringComparison.OrdinalIgnoreCase))
                                {
                                    this.increment(project.Name, SemVerElement.patch);
                                }
                            }
                        }
                    }
                }
            }
        }