/// <summary>
        /// Создание контента
        /// </summary>
        /// <param name="text">текст</param>
        /// <param name="startBracket">открывающая скобка</param>
        /// <param name="endBracket">закрывающая скобка</param>
        private void CreateBracketContent(ref string text, BracketPosition startBracket, BracketPosition endBracket)
        {
            int    shift         = _saver.GetRealPositionShift(startBracket.Position);
            int    endShift      = _saver.GetRealPositionShift(endBracket.Position);
            int    contentStart  = startBracket.Position - shift;
            int    contentLength = endBracket.Position - endShift - startBracket.Position + 1;
            string content       = text.Substring(contentStart, contentLength);

            if (IsBracketContent(content))
            {
                _saver.Save(new BracketContent(content, _saver.GetRealPosition(startBracket.Position),
                                               text.CharOrDefault(contentStart - 1),
                                               text.CharOrDefault(contentStart + contentLength)),
                            startBracket.Position);
                text = text.Remove(contentStart, contentLength);
            }
        }
Exemplo n.º 2
0
        public static char GetBracket(BracketType type, BracketPosition position)
        {
            var bracketsOfType = BracketsByType[type];

            return(position == BracketPosition.Opening ? bracketsOfType[0] : bracketsOfType[1]);
        }