Пример #1
0
        public static IEnumerable <TextElementBase> EnumerateLineMatches(this TextElementBase sourceLine, IEnumerable <DataEntry> simularEntries)
        {
            var language     = sourceLine.Language;
            var sourceString = sourceLine.ToString();

            foreach (var entry in simularEntries)
            {
                foreach (var line in entry.EnumerateLines())
                {
                    if (line is TextLink)
                    {
                        continue;
                    }

                    if (line.Language != language)
                    {
                        continue;
                    }

                    if (!string.Equals(line.ToString(), sourceString, StringComparison.Ordinal))
                    {
                        continue;
                    }

                    yield return(line);
                }
            }
        }
Пример #2
0
        private static void EndTokenBlock(List <TokenBlockBase> linesInBlock)
        {
            if (!linesInBlock.Any())
            {
                return;
            }

            var textTokenLine = linesInBlock.Last() as TextTokenBlock;

            if (textTokenLine == null)
            {
                return;
            }

            TextElementBase textElementBase = textTokenLine.Inlines.LastOrDefault();

            if (!(textElementBase is EOPElement) && !(textElementBase is EOLElement))
            {
                if (!string.IsNullOrEmpty(textTokenLine.GetLastPart()))
                {
                    textTokenLine.EndLine();
                }
                else
                {
                    textTokenLine.EndParagraph();
                }
            }
        }