Example #1
0
 public int LineToIndex(ILineAndColumn pos)
 {
     if (pos is LineColumnFileAndIndex)
     {
         return((pos as LineColumnFileAndIndex).OriginalIndex);
     }
     return(_obj.LineToIndex(pos));
 }
        public int LineToIndex(ILineAndColumn pos)
        {
            if (pos.Line <= 0)
            {
                return(-1);
            }
            if (pos.Line >= _ss.LineCount)
            {
                return(_ss.Length);
            }
            var line = _ss.GetLineFromLineNumber(pos.Line);

            return(line.Start.Position + (pos.Column - 1).PutInRange(0, line.Length + 1));
        }
Example #3
0
        public int LineToIndex(ILineAndColumn pos)
        {
            int lineIndex = LineToIndex(pos.Line);

            if (pos.Column > 0)
            {
                lineIndex += pos.Column - 1;
            }
            if (_startingPos != null && pos.Line == _startingPos.Line)
            {
                return(lineIndex + (_startingPos.Column - 1));
            }
            else
            {
                return(lineIndex);
            }
        }
Example #4
0
 public int LineToIndex(ILineAndColumn pos)
 {
     return(-1);
 }
Example #5
0
 public static int PosInLine(this ILineAndColumn c) => c.Column;