Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAnton Leherbauer2008-03-28 13:05:55 +0000
committerAnton Leherbauer2008-03-28 13:05:55 +0000
commit1ed39d8cead7a8ad064e237b56398b20389bcb4d (patch)
tree70be38628a78b42fcaf2391ffc39d0fe7507cf82
parent5107c2084986f78523cded1b8eebaff054eda3e8 (diff)
downloadorg.eclipse.cdt-1ed39d8cead7a8ad064e237b56398b20389bcb4d.tar.gz
org.eclipse.cdt-1ed39d8cead7a8ad064e237b56398b20389bcb4d.tar.xz
org.eclipse.cdt-1ed39d8cead7a8ad064e237b56398b20389bcb4d.zip
Fix inclusion proposal for project local includes
-rw-r--r--core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist2/CompletionTests.java9
-rw-r--r--core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/contentassist/InclusionProposalComputer.java10
2 files changed, 16 insertions, 3 deletions
diff --git a/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist2/CompletionTests.java b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist2/CompletionTests.java
index 87528ed007a..fb19a95a594 100644
--- a/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist2/CompletionTests.java
+++ b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist2/CompletionTests.java
@@ -990,6 +990,14 @@ public class CompletionTests extends AbstractContentAssistTest {
};
assertCompletionResults(fCursorOffset, expected, AbstractContentAssistTest.COMPARE_REP_STRINGS);
+ createFile(fProject, "inc113568.h", "");
+ expected= new String[] {
+ "\"inc1.h",
+ "\"inc113568.h",
+ "\"inc2.h"
+ };
+ assertCompletionResults(fCursorOffset, expected, AbstractContentAssistTest.COMPARE_REP_STRINGS);
+
getDocument().replace(fCursorOffset-1, 1, "sub1/");
expected= new String[] {
"\"sub1/inc11.h"
@@ -1028,4 +1036,5 @@ public class CompletionTests extends AbstractContentAssistTest {
}
TestScannerProvider.sIncludes= (String[]) includeDirs.toArray(new String[includeDirs.size()]);
}
+
}
diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/contentassist/InclusionProposalComputer.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/contentassist/InclusionProposalComputer.java
index c29ce55502c..6ea1928b69f 100644
--- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/contentassist/InclusionProposalComputer.java
+++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/contentassist/InclusionProposalComputer.java
@@ -304,9 +304,13 @@ public class InclusionProposalComputer implements ICompletionProposalComputer {
final IProject project= tu.getCProject().getProject();
parent.accept(new IResourceProxyVisitor() {
public boolean visit(IResourceProxy proxy) throws CoreException {
+ final int type= proxy.getType();
+ if (type == IResource.PROJECT) {
+ return true;
+ }
final String name= proxy.getName();
- if (name.length() < prefixLength && namePrefix.equalsIgnoreCase(name.substring(0, prefixLength))) {
- if (proxy.getType() == IResource.FILE) {
+ if (name.length() >= prefixLength && namePrefix.equalsIgnoreCase(name.substring(0, prefixLength))) {
+ if (type == IResource.FILE) {
if (isCpp) {
if (CoreModel.isValidCXXHeaderUnitName(project, name)) {
includeFiles.add(cPrefixPath.append(name).toString());
@@ -316,7 +320,7 @@ public class InclusionProposalComputer implements ICompletionProposalComputer {
includeFiles.add(cPrefixPath.append(name).toString());
}
}
- } else if (proxy.getType() == IResource.FOLDER) {
+ } else if (type == IResource.FOLDER) {
includeFiles.add(cPrefixPath.append(name).addTrailingSeparator().toString());
}
}

Back to the top