public static bool TryGetAbsoluteIndex(this OmniSharpPosition position, SourceText sourceText, ILogger logger, out int absoluteIndex)
        {
            if (position is null)
            {
                throw new ArgumentNullException(nameof(position));
            }

            if (sourceText is null)
            {
                throw new ArgumentNullException(nameof(sourceText));
            }

            return(TryGetAbsoluteIndex(position.Character, position.Line, sourceText, logger, out absoluteIndex));
        }
        public static int CompareTo(this OmniSharpPosition position, OmniSharpPosition other)
        {
            if (position is null)
            {
                throw new ArgumentNullException(nameof(position));
            }

            if (other is null)
            {
                throw new ArgumentNullException(nameof(other));
            }

            var result = position.Line.CompareTo(other.Line);

            return(result != 0 ? result : position.Character.CompareTo(other.Character));
        }
        public static bool IsValid(this OmniSharpPosition position, SourceText sourceText)
        {
            if (position is null)
            {
                throw new ArgumentNullException(nameof(position));
            }

            if (sourceText is null)
            {
                throw new ArgumentNullException(nameof(sourceText));
            }

            return(position.Line >= 0 &&
                   position.Character >= 0 &&
                   position.Line < sourceText.Lines.Count &&
                   sourceText.Lines[position.Line].Start + position.Character <= sourceText.Length);
        }
Esempio n. 4
0
 public abstract bool TryMapToProjectedDocumentPosition(RazorCodeDocument codeDocument, int absoluteIndex, out Position projectedPosition, out int projectedIndex);
Esempio n. 5
0
 public abstract bool TryMapFromProjectedDocumentPosition(RazorCodeDocument codeDocument, int csharpAbsoluteIndex, out Position originalPosition, out int originalIndex);
 public static Position AsVSPosition(this OmniSharpPosition position)
 {
     return(new Position(position.Line, position.Character));
 }
 public Position(LspPosition position)
 {
     Line      = position.Line;
     Character = position.Character;
 }