本文整理汇总了C#中ITextBuffer.IsReadOnly方法的典型用法代码示例。如果您正苦于以下问题:C# ITextBuffer.IsReadOnly方法的具体用法?C# ITextBuffer.IsReadOnly怎么用?C# ITextBuffer.IsReadOnly使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ITextBuffer
的用法示例。
在下文中一共展示了ITextBuffer.IsReadOnly方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: TryPopulateOpenTextBufferManagerForBuffer
private bool TryPopulateOpenTextBufferManagerForBuffer(ITextBuffer buffer, IEnumerable<Document> documents)
{
AssertIsForeground();
VerifyNotDismissed();
if (_workspace.Kind == WorkspaceKind.Interactive)
{
Debug.Assert(documents.Count() == 1); // No linked files.
Debug.Assert(buffer.IsReadOnly(0) == buffer.IsReadOnly(Span.FromBounds(0, buffer.CurrentSnapshot.Length))); // All or nothing.
if (buffer.IsReadOnly(0))
{
return false;
}
}
var documentSupportsFeatureService = _workspace.Services.GetService<IDocumentSupportsFeatureService>();
if (!_openTextBuffers.ContainsKey(buffer) && documents.All(d => documentSupportsFeatureService.SupportsRename(d)))
{
_openTextBuffers[buffer] = new OpenTextBufferManager(this, buffer, _workspace, documents, _textBufferFactoryService);
return true;
}
return _openTextBuffers.ContainsKey(buffer);
}
示例2: IsReadOnly
/// <summary>
/// Default to seeing if the entire text buffer area is read only
/// </summary>
public virtual bool IsReadOnly(ITextBuffer textBuffer)
{
var span = new Span(0, textBuffer.CurrentSnapshot.Length);
return textBuffer.IsReadOnly(span);
}
示例3: TextOfLine
/// <summary>
/// Get a piece of text of a given line in a text buffer
/// </summary>
public string TextOfLine(ITextBuffer textBuffer, int lineNumber, int endColumn, out int start, bool skipReadOnly)
{
start = 0;
var line = textBuffer.CurrentSnapshot.GetLineFromLineNumber(lineNumber);
if (textBuffer.IsReadOnly(line.Extent.Span))
{
start = GetReadOnlyLength(textBuffer.CurrentSnapshot) - line.Start;
}
return line.GetText().Substring(start, endColumn - start);
}