Ejemplo n.º 1
0
        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
                       ));
        }
Ejemplo n.º 2
0
        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)
                       ));
        }
Ejemplo n.º 3
0
        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 : ");
            }
        }