From cbcaf432bb6cd00277f6a70b3dddcafb17ea10f7 Mon Sep 17 00:00:00 2001 From: "Judy N. Green" Date: Thu, 17 Oct 2002 19:03:45 +0000 Subject: [PATCH] Fixed problem with C++ header files only showing highlighed C keywords --- .../org/eclipse/cdt/internal/ui/editor/CEditor.java | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/editor/CEditor.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/editor/CEditor.java index 27b9062ad22..49cd24ca0cb 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/editor/CEditor.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/editor/CEditor.java @@ -12,6 +12,7 @@ import java.util.List; import java.util.Map; import org.eclipse.cdt.core.model.CModelException; +import org.eclipse.cdt.core.model.CoreModel; import org.eclipse.cdt.core.model.ISourceRange; import org.eclipse.cdt.core.model.ISourceReference; import org.eclipse.cdt.internal.ui.CPlugin; @@ -21,6 +22,7 @@ import org.eclipse.cdt.internal.ui.text.CTextTools; import org.eclipse.cdt.internal.ui.text.IColorManager; import org.eclipse.core.resources.IFile; import org.eclipse.core.resources.IMarker; +import org.eclipse.core.resources.IProject; import org.eclipse.core.resources.IWorkspaceRoot; import org.eclipse.core.resources.ResourcesPlugin; import org.eclipse.core.runtime.CoreException; @@ -1408,9 +1410,14 @@ public class CEditor extends AbstractTextEditor implements ISelectionChangedList protected ISourceViewer createSourceViewer(Composite parent, IVerticalRuler ruler, int styles) { // Figure out if this is a C or C++ source file String filename = getEditorInput().getName(); - boolean c_file = false; - c_file |= filename.endsWith(".c"); - c_file |= filename.endsWith(".h"); + boolean c_file = filename.endsWith(".c"); + + if (!c_file && filename.endsWith(".h")){ + // ensure that this .h file is part of a C project & not a CPP project + + IProject project = getInputFile().getProject(); + c_file = !CoreModel.getDefault().hasCCNature(project); + } return new AdaptedSourceViewer(parent, ruler, styles, c_file ? LANGUAGE_C : LANGUAGE_CPP); }