#region License // Copyright 2005-2019 Paul Kohler (https://github.com/paulkohler/minisqlquery). All rights reserved. // This source code is made available under the terms of the GNU Lesser General Public License v3.0 // https://github.com/paulkohler/minisqlquery/blob/master/LICENSE #endregion namespace MiniSqlQuery.Core { /// /// An interface for a "document" that can be navigated with a cursor, e.g. position at line 1, column 4 etc. /// public interface INavigatableDocument : ISupportCursorOffset { /// /// Gets the current column the cursor is in. /// /// The cursor column. int CursorColumn { get; } /// /// Gets the current line the cursor is on. /// /// The cursor line. int CursorLine { get; } /// /// Gets the the total number of lines in the editor. /// /// The total lines. int TotalLines { get; } /// /// Sets the cursor by and . /// /// The line number. /// The column number. /// The set cursor by location. bool SetCursorByLocation(int line, int column); /// /// Sets the cursor position by offset. /// /// The offset for the cursor. /// The set cursor by offset. bool SetCursorByOffset(int offset); } }