private IDocumentPeekResult CreateResult(IAnalysisVariable variable) { var fileName = PathUtils.GetFileOrDirectoryName(variable.Location.FilePath); var displayInfo = new PeekResultDisplayInfo2( label: string.Format("{0} - ({1}, {2})", fileName, variable.Location.StartLine, variable.Location.StartColumn), labelTooltip: variable.Location.FilePath, title: fileName, titleTooltip: variable.Location.FilePath, startIndexOfTokenInLabel: 0, lengthOfTokenInLabel: 0 ); return(_peekResultFactory.Create( displayInfo, default(ImageMoniker), variable.Location.FilePath, variable.DefinitionLocation.StartLine - 1, variable.DefinitionLocation.StartColumn - 1, (variable.DefinitionLocation.EndLine ?? variable.DefinitionLocation.StartLine) - 1, (variable.DefinitionLocation.EndColumn ?? variable.DefinitionLocation.StartColumn) - 1, variable.Location.StartLine - 1, variable.Location.StartColumn - 1, (variable.Location.EndLine ?? variable.Location.StartLine) - 1, (variable.Location.EndColumn ?? variable.Location.StartColumn) - 1, isReadOnly: false )); }
private IDocumentPeekResult CreateResult(AnalysisLocation location) { var fileName = PathUtils.GetFileOrDirectoryName(location.FilePath); var displayInfo = new PeekResultDisplayInfo2( label: string.Format("{0} - ({1}, {2})", fileName, location.Line, location.Column), labelTooltip: location.FilePath, title: fileName, titleTooltip: location.FilePath, startIndexOfTokenInLabel: 0, lengthOfTokenInLabel: 0 ); int startLine = location.Line - 1; int startColumn = location.Column - 1; int endLine = startLine; int endColumn = startColumn; if (location.DefinitionStartLine.HasValue) { startLine = location.DefinitionStartLine.Value - 1; } if (location.DefinitionStartColumn.HasValue) { startColumn = location.DefinitionStartColumn.Value - 1; } if (location.DefinitionEndLine.HasValue) { endLine = location.DefinitionEndLine.Value - 1; } if (location.DefinitionEndColumn.HasValue) { endColumn = location.DefinitionEndColumn.Value - 1; } return(_peekResultFactory.Create( displayInfo, default(ImageMoniker), location.FilePath, startLine, startColumn, endLine, endColumn, location.Line - 1, location.Column - 1, location.Line - 1, location.Column - 1, isReadOnly: false, editorDestination: new Guid(PythonConstants.EditorFactoryGuid) )); }
public void FindResults(string relationshipName, IPeekResultCollection resultCollection, CancellationToken cancellationToken, IFindPeekResultsCallback callback) { try { if (relationshipName != PredefinedPeekRelationships.Definitions.Name) { return; } var fileName = Path.GetFileName(this.peekableItem._gotoElement.File.FullPath); if (string.IsNullOrEmpty(fileName)) { return; } var label = this.peekableItem._gotoElement.Name; var title = string.Format("{0} - ({1}, {2})", fileName, this.peekableItem._gotoElement.Range.StartLine, this.peekableItem._gotoElement.Range.StartColumn + 1); using (var displayInfo = new PeekResultDisplayInfo2(label: label, labelTooltip: this.peekableItem._gotoElement.File.FullPath, title: title, titleTooltip: this.peekableItem._gotoElement.File.FullPath, startIndexOfTokenInLabel: 0, lengthOfTokenInLabel: label.Length)) { var result = peekableItem._peekResultFactory.Create ( displayInfo, default(ImageMoniker), this.peekableItem._gotoElement.File.FullPath, this.peekableItem._gotoElement.Range.StartLine, this.peekableItem._gotoElement.Range.StartColumn - 1, this.peekableItem._gotoElement.Range.EndLine, this.peekableItem._gotoElement.Range.EndColumn - 1, this.peekableItem._gotoElement.Range.StartLine, this.peekableItem._gotoElement.Range.StartColumn - 1, this.peekableItem._gotoElement.Range.EndLine, this.peekableItem._gotoElement.Range.EndColumn - 1, false, new Guid(XSharpConstants.EditorFactoryGuidString) ); resultCollection.Add(result); callback.ReportProgress(1); } } catch (Exception ex) { XSettings.LogException(ex, "XSharpResultSource.FindResults failed : "); } }