public NodeTreeParserConfig With(IDelimiter delimiter) { this.delimiters.Add(delimiter); this.locators.Add(new LinkedTextLocator(delimiter)); return this; }
IDelimiter delimi; // Delimiter用 #endregion Fields #region Constructors public Form1() { InitializeComponent(); // 起動時は NullObject 設定 delimi = new NullObjDelimter(); }
public AstNode GetAstNode(IDelimiter delimiter, int position) { if (delimiter.GetDelimiterType() == DelimiterType.Single) { return(new AstNode(astNodeTypes[delimiter.GetName()], delimiter.GetName())); } return(null); }
/// <summary> /// Reads the next word without advancing the stream /// </summary> /// <returns>The next word from the stream.</returns> /// <param name="delimiter"> /// The delimiter that defines word boundaries. /// <see cref="Read(IDelimiter)"/> /// </param> public string Peek(IDelimiter delimiter) { long oldPosition = BaseStream.Position; string ret = Read(delimiter); Seek(oldPosition); return(ret); }
public Func <int, bool> GetStopFunction(IDelimiter delimiter, string markdown, int position) { return((pos) => { if (pos < markdown.Length) { return (delimiter as ISingleDelimiter).IsEndOfVisibleArea(markdown[pos]); } return (delimiter as ISingleDelimiter).IsEndOfVisibleArea((char)0); }); }
private AstNode AstDoubleDelimiter(IDelimiter delimiter, int position) { if (delimiter.GetDelimiterType() == DelimiterType.Double) { if (correctDoubleDelimitersPositions.ContainsKey(position)) { return(new AstNode(astNodeTypes[delimiter.GetName()], delimiter.GetName())); } return(new AstNode(AstNodeType.Text, delimiter.GetName())); } return(null); }
public void SetDelimiter() { if (_sequence.DelimiterString == null) { _delimiter = new SimpleDelimiter(""); } else { string bracketCheckRegex = @"\[.+\]"; var matches = Regex.Matches(_sequence.DelimiterString, bracketCheckRegex); _delimiter = (matches.Count == 0 ? new OptionalDelimiter(@"\/\/(.*?)\n") : new OptionalDelimiter(@"\[(.*?)\]|\/\/(.)\n")); } }
IDelimiter delimi; // Delimiter用 private void Form1_Load(object sender, EventArgs e) { string commandBaseStr = "Command1"; string commandStr = ""; // delimi を NullObjDelmiter にしてあるので // if(delimi!=null) の判断しない。 // AddDelimier を callしても 例外にならない。 // 処理も何もしない、引数で受けたものをそのまま返す。 commandStr = delimi.AddDelimiter(commandBaseStr); textBox1.Text = commandStr; commandStr = ""; // delimiter を設定 delimi = new Delimiter(";"); // delimiterを';'とした commandStr = delimi.AddDelimiter(commandBaseStr); // 引数に Delimiter追加 textBox2.Text = commandStr; }
private void Form1_Load(object sender, EventArgs e) { string commandBaseStr = "Command1"; string commandStr = ""; // delimi を NullObjDelmiter にしてあるので // if(delimi!=null) の判断しない。 // AddDelimier を callしても 例外にならない。 // 処理も何もしない、引数で受けたものをそのまま返す。 commandStr = delimi.AddDelimiter(commandBaseStr); textBox1.Text = commandStr; commandStr = ""; // delimiter を設定 delimi = new Delimiter(";"); // delimiterを';'とした commandStr = delimi.AddDelimiter(commandBaseStr); // 引数に Delimiter追加 textBox2.Text = commandStr; }
/// <summary> /// Reads the next word using the given IDelimiters. If a delimiter /// can be matched to the beginning of the string, it will be /// preferred. Otherwise, the text up to the first delimiter will be /// returned. /// </summary> /// <returns>The next word from the stream.</returns> /// <param name="delimiter"> /// The delimiter that defines word boundaries. In practice, DelimiterCollection is /// likely the best type to use here. /// </param> public string Read(IDelimiter delimiter) { // Read until we have a match. string word = Read(s => { var m = delimiter.Match(s); if (!m.Success) { return(-1); } return(m.Index); }); // Read until we find a delimiter match. if (String.IsNullOrEmpty(word)) { word = Read(s => { int matchLength = delimiter.Match(s).Length; return(matchLength == 0 || matchLength == s.Length ? -1 : matchLength); }); } return(word); }
public CommonActionResult(IRequestRepository requestRepo, IEnumerable<IViewModel> viewModels, IDelimiter pattern) { this.ViewModels = new List<IViewModel>(viewModels); this.Delimiter = pattern; this.RequestRepo = requestRepo; }
public static char GetValue(this IDelimiter delimiter) { return(delimiter?.Value ?? ','); }
public AstNode GetAstNode(IDelimiter delimiter, int position) { return(AstDoubleDelimiter(delimiter, position)); }
public Func <int, bool> GetStopFunction(IDelimiter delimiter, string mardown, int position) { return((pos) => pos == correctDoubleDelimitersPositions[position]); }
public InjectableStringUserType(IDelimiter delimiter) { this.delimiter = delimiter; }
public static string ToViewModelString(this IList<IViewModel> viewModelList, IDelimiter pattern) { return ResultBuilder.BuildInstanceList<IViewModel>(viewModelList, pattern); }
public CommonActionResult(IRequestRepository requestRepo, IViewModel viewModel, IDelimiter pattern) { this.ViewModels = new List<IViewModel> { viewModel }; this.Delimiter = pattern; this.RequestRepo = requestRepo; }
public virtual string ToViewModelString(IDelimiter pattern) { return ResultBuilder.BuildInstance(this, pattern); }
public string ToViewModelString(IDelimiter pattern) { return this.Value.ToString(); }
public LinkedTextLocator(IDelimiter delimiter) : this((ITextLocator)delimiter) { if (delimiter == null) throw new ArgumentNullException("delimiter"); this.delimiter = delimiter; this.type = LocatorType.Delimiter; }
public ChildCommonActionResult(IRequestRepository requestRepo, IViewModel model, IDelimiter pattern) : base(requestRepo, model, pattern) { }
public string ToViewModelString(IDelimiter pattern) { return "TestViewModel"; }