Skip to content

Commit 13a3480

Browse files
committed
[#63] fix outline view for external files
fixes #63 LSP4E 0.23.0 is needed for this fix. Bundle version >= 0.16.1
1 parent ec31fc7 commit 13a3480

File tree

5 files changed

+12
-8
lines changed

5 files changed

+12
-8
lines changed

bundles/org.eclipse.cdt.lsp.clangd/META-INF/MANIFEST.MF

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ Require-Bundle: org.eclipse.cdt.lsp;bundle-version="0.0.0",
2525
org.eclipse.core.runtime;bundle-version="0.0.0",
2626
org.eclipse.jface;bundle-version="0.0.0",
2727
org.eclipse.jface.text;bundle-version="0.0.0",
28-
org.eclipse.lsp4e;bundle-version="0.0.0",
28+
org.eclipse.lsp4e;bundle-version="0.16.1",
2929
org.eclipse.lsp4j;bundle-version="0.0.0",
3030
org.eclipse.ui.ide;bundle-version="0.0.0",
3131
org.eclipse.ui.workbench;bundle-version="0.0.0",

bundles/org.eclipse.cdt.lsp/META-INF/MANIFEST.MF

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ Bundle-Activator: org.eclipse.cdt.lsp.LspPlugin
1111
Bundle-Vendor: Eclipse.org
1212
Require-Bundle: org.eclipse.ui,
1313
org.eclipse.core.runtime,
14-
org.eclipse.lsp4e,
14+
org.eclipse.lsp4e;bundle-version="0.16.1",
1515
org.eclipse.tm4e.ui,
1616
org.eclipse.tm4e.languageconfiguration,
1717
org.eclipse.ui.genericeditor,

bundles/org.eclipse.cdt.lsp/src/org/eclipse/cdt/lsp/ui/navigator/CSymbolsContentProvider.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@ public Object[] getChildren(Object parentElement) {
6969
return NO_CHILDREN;
7070
}
7171

72+
@Override
7273
protected Object[] getTranslationUnitChildren(ITranslationUnit unit) throws CModelException {
7374
if (unit.getResource() instanceof IFile) {
7475
refreshTreeContentFromLS((IFile) unit.getResource());
@@ -102,11 +103,11 @@ protected void refreshTreeContentFromLS(IFile file) {
102103
}
103104
}
104105
symbols.thenAcceptAsync(response -> {
105-
symbolsModel.setFile(file);
106+
symbolsModel.setUri(file.getLocationURI());
106107
symbolsModel.update(response);
107108
}).join();
108109
} else {
109-
symbolsModel.setFile(file);
110+
symbolsModel.setUri(file.getLocationURI());
110111
symbolsModel.update(null);
111112
}
112113

bundles/org.eclipse.cdt.lsp/src/org/eclipse/cdt/lsp/ui/navigator/CSymbolsOpenActionProvider.java

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ public void run() {
5454
if (fOpenElement != null) {
5555
IEditorPart part;
5656
try {
57-
part = IDE.openEditor(this.page, fOpenElement.file);
57+
part = IDE.openEditor(this.page, fOpenElement.uri, "org.eclipse.cdt.lsp.CEditor", false); //$NON-NLS-1$
5858
revealInEditor(part, fOpenElement);
5959
} catch (CoreException exc) {
6060
Platform.getLog(getClass()).log(exc.getStatus());
@@ -85,7 +85,7 @@ private void revealInEditor(IEditorPart part, DocumentSymbolWithFile element) {
8585
if (part instanceof ITextEditor) {
8686
try {
8787
var range = element.symbol.getSelectionRange();
88-
var document = LSPEclipseUtils.getDocument(element.file);
88+
var document = LSPEclipseUtils.getDocument(part.getEditorInput());
8989
int startOffset = document.getLineOffset(range.getStart().getLine())
9090
+ range.getStart().getCharacter();
9191
int endOffset = document.getLineOffset(range.getEnd().getLine()) + range.getEnd().getCharacter();
@@ -158,7 +158,10 @@ private void fillOpenWithMenu(IMenuManager menu, IStructuredSelection selection)
158158
}
159159
IFile file;
160160
if (selection.getFirstElement() instanceof DocumentSymbolWithFile) {
161-
file = ((DocumentSymbolWithFile) selection.getFirstElement()).file;
161+
file = LSPEclipseUtils.getFileHandle(((DocumentSymbolWithFile) selection.getFirstElement()).uri);
162+
if (file == null) {
163+
return;
164+
}
162165
} else {
163166
return;
164167
}

releng/org.eclipse.cdt.lsp.target/org.eclipse.cdt.lsp.target.target

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
<unit id="org.eclipse.sdk.feature.group" version="0.0.0" />
2626
</location>
2727
<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="planner" includeSource="true" type="InstallableUnit">
28-
<repository location="https://download.eclipse.org/lsp4e/releases/0.22.0/" />
28+
<repository location="https://download.eclipse.org/lsp4e/releases/0.23.0/" />
2929
<unit id="org.eclipse.lsp4e" version="0.0.0" />
3030
<unit id="org.eclipse.lsp4e.debug" version="0.0.0" />
3131
</location>

0 commit comments

Comments
 (0)