<commit_before>﻿using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Reflection;

namespace Helpers.Console
{
    public class ArgumentParserBuilder
    {
        private IList<ArgumentWithOptions> _argumentRecognizers = new List<ArgumentWithOptions>();
        private IList<ClassAndMethodRecognizer> _classAndMethodRecognizers = new List<ClassAndMethodRecognizer>();
        private CultureInfo _cultureInfo;
        private TypeConverterFunc _typeConverter;

        public ArgumentParserBuilder Recognize(ArgumentParameter argument, bool required = false)
        {
            if (_classAndMethodRecognizers.Any()) throw new NotImplementedException("Will not recognize any non class recognizers.");
            _argumentRecognizers.Add(new ArgumentWithOptions(argument, null, required));
            return this;
        }

        public ArgumentParserBuilder Action(ArgumentParameter argument, Action<string> action, bool required = false)
        {
            if (_classAndMethodRecognizers.Any()) throw new NotImplementedException("Will not recognize any non class recognizers.");
            _argumentRecognizers.Add(new ArgumentWithOptions(argument, action, required));
            return this;<commit_msg>Renamed to Parameter in ArgumentParserBuilder<commit_after>﻿using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Reflection;

namespace Helpers.Console
{
    public class ArgumentParserBuilder
    {
        private IList<ArgumentWithOptions> _argumentRecognizers = new List<ArgumentWithOptions>();
        private IList<ClassAndMethodRecognizer> _classAndMethodRecognizers = new List<ClassAndMethodRecognizer>();
        private CultureInfo _cultureInfo;
        private TypeConverterFunc _typeConverter;

        public ArgumentParserBuilder Parameter(ArgumentParameter argument, bool required = false)
        {
            if (_classAndMethodRecognizers.Any()) throw new NotImplementedException("Will not recognize any non class recognizers.");
            _argumentRecognizers.Add(new ArgumentWithOptions(argument, null, required));
            return this;
        }

        public ArgumentParserBuilder Parameter(ArgumentParameter argument, Action<string> action, bool required = false)
        {
            if (_classAndMethodRecognizers.Any()) throw new NotImplementedException("Will not recognize any non class recognizers.");
            _argumentRecognizers.Add(new ArgumentWithOptions(argument, action, required));
            return this;
{'fraction_non_alphanumeric': 0.06896551724137931, 'fraction_numerical': 0.0, 'mean_word_length': 3.9941972920696327, 'pattern_counts': {'":': 0, '<': 13, '<?xml version=': 0, '>': 13, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4884138', 'n_tokens_mistral': 597, 'n_tokens_neox': 574, 'n_words': 165}