Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[cdt-patch] Fix for C++ header files keyword highlighting only c keywords

Fix for problem where a header file in a CPP project was treated (parsed) as
a C header file, which resulted in C++ keywords not being highlighted and C
keywords being highlighted.

***
cvs diff -N -u "CEditor.java"
  Index: CEditor.java
  ===================================================================
  RCS file:
/home/tools/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/editor/CEdito
r.java,v
  retrieving revision 1.8
  diff -u -r1.8 CEditor.java
  --- CEditor.java	1 Oct 2002 01:19:32 -0000	1.8
  +++ CEditor.java	17 Oct 2002 19:01:59 -0000
  @@ -12,6 +12,7 @@
   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.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 @@
   	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);
   	}



¨¨¨°ºo§oº°¨¨¨¨°ºo§oº°¨¨¨¨°ºo§oº°¨¨¨¨°ºo§oº°¨¨¨
Judy N. Green 		   (w) 613 591-0931 x 9709
Software Engineer		   (c) 613 863-2791
QNX Software Systems Ltd.  75 Terence Matthews Cres.
www.qnx.com			   Kanata, Ont. K2M 1W8
¨¨¨°ºo§oº°¨¨¨¨°ºo§oº°¨¨¨¨°ºo§oº°¨¨¨¨°ºo§oº°¨¨¨


Back to the top