public DocumentAnalysis(IDocument document, IDocumentTokenizer tokenizer, IParser parser) { _document = document; _tokenizer = tokenizer; _parser = parser; _resultsRequests = new OrderedFixedSizeDictionary <ITextSnapshot, Task <IAnalysisResult> >(10); tokenizer.TokenizerUpdated += TokenizerUpdated; TokenizerUpdated(tokenizer.CurrentResult, CancellationToken.None); }
public LocalThreadWorkerNodesLifecycleManager(IMessageHub messageHub, IMessageSink messageSink, IDocumentTokenizer documentTokenizer, IWeightNormalizer weightNormalizer, ISimilarityComparer similarityComparer, Options options) { this.messageHub = messageHub ?? throw new ArgumentNullException(nameof(messageHub)); this.messageSink = messageSink ?? throw new ArgumentNullException(nameof(messageSink)); this.documentTokenizer = documentTokenizer ?? throw new ArgumentNullException(nameof(documentTokenizer)); this.weightNormalizer = weightNormalizer ?? throw new ArgumentNullException(nameof(weightNormalizer)); this.similarityComparer = similarityComparer ?? throw new ArgumentNullException(nameof(similarityComparer)); this.options = options ?? throw new ArgumentNullException(nameof(options)); }
internal BraceHighlighter(ITextView view, ITextBuffer sourceBuffer, IDocumentTokenizer documentTokenizer) { _view = view; _buffer = sourceBuffer; _tokenizer = documentTokenizer; wordSpans = new NormalizedSnapshotSpanCollection(); indentCts = new CancellationTokenSource(); currentWord = null; _view.Caret.PositionChanged += CaretPositionChanged; _view.LayoutChanged += ViewLayoutChanged; }
public LocalThreadWorkerNode(int id, IMessageHub messageHub, IMessageSink messageSink, IDocumentTokenizer documentTokenizer, IWeightNormalizer weightNormalizer, ISimilarityComparer similarityComparer) { Id = id; this.messageHub = messageHub ?? throw new ArgumentNullException(nameof(messageHub)); this.messageSink = messageSink ?? throw new ArgumentNullException(nameof(messageSink)); this.documentTokenizer = documentTokenizer ?? throw new ArgumentNullException(nameof(documentTokenizer)); this.weightNormalizer = weightNormalizer ?? throw new ArgumentNullException(nameof(weightNormalizer)); this.similarityComparer = similarityComparer ?? throw new ArgumentNullException(nameof(similarityComparer)); workIsDoneTCS = new TaskCompletionSource <int>(); assignments = messageHub.WorkAssignemnts .Where(assignment => assignment.NodeId == id); }
private static string TryGetDescriptionToTheRight(IDocumentTokenizer tokenizer, ITokenizerResult tokenizerResult, SnapshotPoint tokenEnd) { var currentLine = tokenEnd.GetContainingLine(); var currentLineComment = tokenizerResult .GetTokens(new Span(tokenEnd, currentLine.End - tokenEnd)) .Where(t => tokenizer.IsTypeOf(t.Type, RadAsmTokenType.Comment)) .ToList(); if (currentLineComment.Count == 0) { return(null); } var text = currentLineComment .First() .GetText(tokenEnd.Snapshot); return(GetCommentText(text)); }
private static string TryGetDescriptionAbove(IDocumentTokenizer tokenizer, ITokenizerResult tokenizerResult, SnapshotPoint tokenEnd) { var lines = new LinkedList <string>(); var currentLineNumber = tokenEnd.GetContainingLine().LineNumber - 1; var snapshot = tokenEnd.Snapshot; while (currentLineNumber >= 0) { var currentLine = snapshot.GetLineFromLineNumber(currentLineNumber); var currentLineComment = tokenizerResult .GetTokens(new Span(currentLine.Start, currentLine.Length)) .ToList(); // if there are some other tokens, then the comment ended if (currentLineComment.Any(t => !tokenizer.IsTypeOf(t.Type, RadAsmTokenType.Comment) && !tokenizer.IsTypeOf(t.Type, RadAsmTokenType.Whitespace))) { break; } currentLineComment.RemoveAll(t => tokenizer.IsTypeOf(t.Type, RadAsmTokenType.Whitespace)); if (currentLineComment.Count != 1) { break; } var trackingToken = currentLineComment.First(); var tokenSpan = new SnapshotSpan(snapshot, trackingToken.GetSpan(snapshot)); var tokenText = GetCommentText(tokenSpan.GetText()); lines.AddFirst(tokenText); currentLineNumber = tokenSpan.Start.GetContainingLine().LineNumber - 1; } return(lines.Count != 0 ? string.Join(System.Environment.NewLine, lines) : null); }
public PositionalIndex(IDocumentTokenizer<string> tokenizer) { _tokenizer = tokenizer; }
public TokenizerClassifier(IDocumentTokenizer tokenizer) { _tokenizer = tokenizer; _tokenizer.TokenizerUpdated += TokenizerUpdated; TokenizerUpdated(_tokenizer.CurrentResult, CancellationToken.None); }
private static bool IsTypeOf(this IDocumentTokenizer tokenizer, int tokenType, RadAsmTokenType targetTokenType) => tokenizer.GetTokenType(tokenType) == targetTokenType;