using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Windows.Foundation; namespace Monaco.Editor { #pragma warning disable CS1591 /// /// https://github.com/Microsoft/vscode/blob/master/src/vs/editor/common/editorCommon.ts#L228 /// public enum EndOfLinePreference { TextDefined = 0, LF = 1, CRLF = 2 } /// /// https://github.com/Microsoft/vscode/blob/master/src/vs/editor/common/editorCommon.ts#L260 /// public enum EndOfLineSequence { LF = 0, CRLF = 1 } /// /// https://microsoft.github.io/monaco-editor/api/interfaces/monaco.editor.imodel.html /// public interface IModel { // TODO: Events string Id { get; } Uri Uri { get; } //IIdentifiedSingleEditOperation[] ApplyEditsAsync(IIdentifiedSingleEditOperation[] operations) //DeltaDecorationsAsync IAsyncAction DetectIndentationAsync(bool defaultInsertSpaces, bool defaultTabSize); //FindMatchesAsync(string searchString, bool searchOnlyEditableRange, bool isRegex, ...) //FindNextMatchAsync //FindPreviousMatchAsync //GetAllDecorationsAsync IAsyncOperation GetAlternativeVersionIdAsync(); //GetDecorationOptionsAsync //GetDecorationRangeAsync //GetDecorationsInRangeAsync IAsyncOperation GetEOLAsync(); IAsyncOperation GetFullModelRangeAsync(); IAsyncOperation GetLineContentAsync(uint lineNumber); IAsyncOperation GetLineCountAsync(); //GetLineDecorationsAsync IAsyncOperation GetLineFirstNonWhitespaceColumnAsync(uint lineNumber); IAsyncOperation GetLineLastNonWhitespaceColumnAsync(uint lineNumber); IAsyncOperation GetLineLengthAsync(uint lineNumber); IAsyncOperation GetLineMaxColumnAsync(uint lineNumber); IAsyncOperation GetLineMinColumnAsync(uint lineNumber); IAsyncOperation> GetLinesContentAsync(); //GetLinesDecorationsAsync IAsyncOperation GetModelIdAsync(); IAsyncOperation GetOffsetAtAsync(IPosition position); IAsyncOperation GetOneIndentAsync(); //GetOptionsAsync IAsyncOperation GetPositionAtAsync(uint offset); IAsyncOperation GetValueAsync(); // TextDefined is default eol IAsyncOperation GetValueAsync(EndOfLinePreference eol); IAsyncOperation GetValueAsync(EndOfLinePreference eol, bool preserveBOM); IAsyncOperation GetValueInRangeAsync(IRange range); IAsyncOperation GetValueInRangeAsync(IRange range, EndOfLinePreference eol); IAsyncOperation GetValueLengthAsync(); IAsyncOperation GetValueLengthAsync(EndOfLinePreference eol); IAsyncOperation GetValueLengthAsync(EndOfLinePreference eol, bool preserveBOM); IAsyncOperation GetValueLengthInRangeAsync(IRange range); IAsyncOperation GetVersionIdAsync(); IAsyncOperation GetWordAtPositionAsync(IPosition position); IAsyncOperation GetWordUntilPositionAsync(IPosition position); IAsyncOperation ModifyPositionAsync(IPosition position, int number); IAsyncOperation NormalizeIndentationAsync(string str); //PushEditOperationsAsync IAsyncAction PushStackElementAsync(); IAsyncAction SetEOLAsync(EndOfLineSequence eol); IAsyncAction SetValue(string newValue); //IAsyncAction UpdateOptions(ITextModelUpdateOptions newOpts); IAsyncOperation ValidatePositionAsync(IPosition position); IAsyncOperation ValidateRangeAsync(IRange range); } #pragma warning restore CS1591 }