void InitIfNeeded()
		{
			if (s_Styles == null)
				s_Styles = new Styles();

			if (_navigateToItemProvider == null)
				_navigateToItemProvider = UnityEditorCompositionContainer.GetExportedValue<INavigateToItemProviderAggregator>();
		}
Exemplo n.º 2
0
        private void InitializeWorkspace(TestWorkspace workspace)
        {
            var aggregateListener = AggregateAsynchronousOperationListener.CreateEmptyListener();

            _provider = new NavigateToItemProvider(
                workspace,
                _glyphServiceMock.Object,
                aggregateListener,
                workspace.ExportProvider.GetExportedValues<Lazy<INavigateToOptionsService, VisualStudioVersionMetadata>>());
            _aggregator = new NavigateToTestAggregator(_provider);
        }
Exemplo n.º 3
0
        private TestWorkspace SetupWorkspace(params string[] lines)
        {
            var workspace = CSharpWorkspaceFactory.CreateWorkspaceFromLines(lines);
            var aggregateListener = AggregateAsynchronousOperationListener.CreateEmptyListener();

            _provider = new NavigateToItemProvider(
                workspace,
                _glyphServiceMock.Object,
                aggregateListener);
            _aggregator = new NavigateToTestAggregator(_provider);

            return workspace;
        }
Exemplo n.º 4
0
        private async Task<TestWorkspace> SetupWorkspaceAsync(params string[] files)
        {
            var workspace = await TestWorkspace.CreateCSharpAsync(files, parseOptions: Options.Script);
            var aggregateListener = AggregateAsynchronousOperationListener.CreateEmptyListener();

            _provider = new NavigateToItemProvider(
                workspace,
                _glyphServiceMock.Object,
                aggregateListener);
            _aggregator = new NavigateToTestAggregator(_provider);

            return workspace;
        }
Exemplo n.º 5
0
        private async Task<TestWorkspace> SetupWorkspaceAsync(string content)
        {
            var workspace = await CSharpWorkspaceFactory.CreateWorkspaceFromFileAsync(content);
            var aggregateListener = AggregateAsynchronousOperationListener.CreateEmptyListener();

            _provider = new NavigateToItemProvider(
                workspace,
                _glyphServiceMock.Object,
                aggregateListener);
            _aggregator = new NavigateToTestAggregator(_provider);

            return workspace;
        }
        public bool TryCreateNavigateToItemProvider(IServiceProvider serviceProvider, out INavigateToItemProvider provider)
        {
            var workspace = PrimaryWorkspace.Workspace;
            if (workspace == null)
            {
                // when Roslyn is not loaded, workspace is null, and so we don't want to 
                // participate in this Navigate To session. See bug 756800
                provider = null;
                return false;
            }

            provider = new NavigateToItemProvider(workspace, _glyphService,  _asyncListener, _optionsServices);
            return true;
        }
Exemplo n.º 7
0
        private async Task<TestWorkspace> SetupWorkspaceAsync(params string[] files)
        {
            var workspace = await TestWorkspace.CreateCSharpAsync(files, parseOptions: Options.Script);
            var aggregateListener = AggregateAsynchronousOperationListener.CreateEmptyListener();

            _provider = new NavigateToItemProvider(
                workspace,
                _glyphServiceMock.Object,
                aggregateListener,
                workspace.ExportProvider.GetExportedValues<Lazy<INavigateToOptionsService, VisualStudioVersionMetadata>>());
            _aggregator = new NavigateToTestAggregator(_provider);

            return workspace;
        }
Exemplo n.º 8
0
        public bool TryCreateNavigateToItemProvider(IServiceProvider serviceProvider, out INavigateToItemProvider provider)
        {
            var shell = serviceProvider.GetShell();
            var guid = GuidList.guidPythonToolsPackage;
            IVsPackage pkg;
            if (shell.IsPackageLoaded(ref guid, out pkg) == VSConstants.S_OK && pkg != null) {
                provider = serviceProvider.GetUIThread().Invoke(() => {
                    return new PythonNavigateToItemProvider(serviceProvider, _glyphService);
                });
                return true;
            }

            // Not loaded, so nothing to provide
            provider = null;
            return false;
        }
Exemplo n.º 9
0
        private void InitIfNeeded()
        {
            if(s_Styles == null)
                s_Styles = new Styles();

            if(_filePathProvider == null)
                _filePathProvider = ProviderFactory();
        }
 /// <summary>
 /// WARNING!!! This method is executed from a background thread
 /// </summary>
 bool INavigateToItemProviderFactory.TryCreateNavigateToItemProvider(IServiceProvider serviceProvider, out INavigateToItemProvider navigateToItemProvider)
 {
     navigateToItemProvider = new NavigateToItemProvider(this);
     return(true);
 }
 public bool TryCreateNavigateToItemProvider(IServiceProvider serviceProvider, out INavigateToItemProvider provider)
 {
     provider = new NavigateToItemProvider(BufferGraphFactoryService, this, DispatcherGlyphService, serviceProvider);
     return true;
 }
Exemplo n.º 12
0
        public NavigateToTestAggregator(INavigateToItemProvider itemProvider)
        {
            Contract.ThrowIfNull(itemProvider);

            _itemProvider = itemProvider;
        }
 public bool TryCreateNavigateToItemProvider(IServiceProvider serviceProvider, out INavigateToItemProvider provider)
 {
     provider = new Antlr4QuickSearchItemProvider(serviceProvider);
     return(true);
 }
 /// <summary>
 /// WARNING!!! This method is executed from a background thread
 /// </summary>
 bool INavigateToItemProviderFactory.TryCreateNavigateToItemProvider(IServiceProvider serviceProvider, out INavigateToItemProvider navigateToItemProvider)
 {
     navigateToItemProvider = new NavigateToItemProvider(this);
     return true;
 }
Exemplo n.º 15
0
 public bool TryCreateNavigateToItemProvider(IServiceProvider serviceProvider, out INavigateToItemProvider provider)
 {
     provider = new JNavigateToItemProvider(serviceProvider, _glyphService, JToolsPackage.Instance);
     return true;
 }
 public bool TryCreateNavigateToItemProvider(IServiceProvider serviceProvider, out INavigateToItemProvider provider)
 {
     provider = new AntlrQuickSearchItemProvider(serviceProvider);
     return true;
 }
Exemplo n.º 17
0
 public bool TryCreateNavigateToItemProvider(IServiceProvider serviceProvider, out INavigateToItemProvider provider)
 {
 }
 public bool TryCreateNavigateToItemProvider(IServiceProvider serviceProvider, out INavigateToItemProvider provider)
 {
     provider = new GoToLineProvider(this);
     return true;
 }
Exemplo n.º 19
0
        public bool TryCreateNavigateToItemProvider(IServiceProvider serviceProvider, out INavigateToItemProvider provider)
        {
            var workspace = _primaryWorkspace.Workspace;

            if (workspace == null)
            {
                // when Roslyn is not loaded, workspace is null, and so we don't want to
                // participate in this Navigate To session. See bug 756800
                provider = null;
                return(false);
            }

            provider = new NavigateToItemProvider(workspace, _asyncListener);
            return(true);
        }
Exemplo n.º 20
0
        public bool TryCreateNavigateToItemProvider(IServiceProvider serviceProvider, out INavigateToItemProvider provider)
        {
            var        shell = serviceProvider.GetShell();
            var        guid  = GuidList.guidPythonToolsPackage;
            IVsPackage pkg;

            if (shell.IsPackageLoaded(ref guid, out pkg) == VSConstants.S_OK && pkg != null)
            {
                provider = serviceProvider.GetUIThread().Invoke(() => {
                    return(new PythonNavigateToItemProvider(serviceProvider, _glyphService));
                });
                return(true);
            }

            // Not loaded, so nothing to provide
            provider = null;
            return(false);
        }
Exemplo n.º 21
0
        public async Task NavigateToGeneratedFiles()
        {
            using (var workspace = await TestWorkspace.CreateAsync(@"
<Workspace>
    <Project Language=""C#"" CommonReferences=""true"">
        <Document FilePath=""File1.cs"">
            namespace N
            {
                public partial class C
                {
                    public void VisibleMethod() { }
                }
            }
        </Document>
        <Document FilePath=""File1.g.cs"">
            namespace N
            {
                public partial class C
                {
                    public void VisibleMethod_Generated() { }
                }
            }
        </Document>
    </Project>
</Workspace>
", exportProvider: s_exportProvider))
            {
                var aggregateListener = AggregateAsynchronousOperationListener.CreateEmptyListener();

                _provider = new NavigateToItemProvider(
                    workspace, _glyphServiceMock.Object, aggregateListener,
                    workspace.ExportProvider.GetExportedValues<Lazy<INavigateToOptionsService, VisualStudioVersionMetadata>>());
                _aggregator = new NavigateToTestAggregator(_provider);

                var items = _aggregator.GetItems("VisibleMethod");
                var expectedItems = new List<NavigateToItem>()
                {
                    new NavigateToItem("VisibleMethod", NavigateToItemKind.Method, "csharp", null, null, MatchKind.Exact, true, null),
                    new NavigateToItem("VisibleMethod_Generated", NavigateToItemKind.Method, "csharp", null, null, MatchKind.Prefix, true, null)
                };

                // The pattern matcher should match 'VisibleMethod' to both 'VisibleMethod' and 'VisibleMethod_Not', except that
                // the _Not method is declared in a generated file.
                VerifyNavigateToResultItems(expectedItems, items);
            }
        }
Exemplo n.º 22
0
 public bool TryCreateNavigateToItemProvider(IServiceProvider serviceProvider, out INavigateToItemProvider provider)
 {
     provider = new GoToLineProvider(this);
     return(true);
 }
Exemplo n.º 23
0
 internal void InitializeWorkspace(
     TestWorkspace workspace, IDocumentTrackingService documentTrackingService)
 {
     _provider   = new NavigateToItemProvider(workspace, AsynchronousOperationListenerProvider.NullListener, documentTrackingService);
     _aggregator = new NavigateToTestAggregator(_provider);
 }
Exemplo n.º 24
0
        public NavigateToTestAggregator(INavigateToItemProvider itemProvider)
        {
            Contract.ThrowIfNull(itemProvider);

            _itemProvider = itemProvider;
        }
 public bool TryCreateNavigateToItemProvider(IServiceProvider serviceProvider, out INavigateToItemProvider provider)
 {
     provider = new NitraNavigateToItemProvider(serviceProvider, _glyphService);
     return(true);
 }
Exemplo n.º 26
0
        public void NoNavigationToGeneratedFiles()
        {
            using (var workspace = TestWorkspaceFactory.CreateWorkspace(@"
<Workspace>
    <Project Language=""C#"" CommonReferences=""true"">
        <Document FilePath=""File1.cs"">
            namespace N
            {
                public partial class C
                {
                    public void VisibleMethod() { }
                }
            }
        </Document>
        <Document FilePath=""File1.g.cs"">
            namespace N
            {
                public partial class C
                {
                    public void VisibleMethod_Not() { }
                }
            }
        </Document>
    </Project>
</Workspace>
"))
            {
                var aggregateListener = AggregateAsynchronousOperationListener.CreateEmptyListener();

                _provider = new NavigateToItemProvider(workspace, _glyphServiceMock.Object, aggregateListener);
                _aggregator = new NavigateToTestAggregator(_provider);

                var items = _aggregator.GetItems("VisibleMethod");
                var expectedItems = new List<NavigateToItem>()
                {
                    new NavigateToItem("VisibleMethod", NavigateToItemKind.Method, "csharp", null, null, MatchKind.Exact, true, null)
                };

                // The pattern matcher should match 'VisibleMethod' to both 'VisibleMethod' and 'VisibleMethod_Not', except that
                // the _Not method is declared in a generated file.
                VerifyNavigateToResultItems(expectedItems, items);
            }
        }
 public bool TryCreateNavigateToItemProvider(IServiceProvider serviceProvider, out INavigateToItemProvider provider) {
     provider = new PythonNavigateToItemProvider(serviceProvider, _glyphService);
     return true;
 }