From ab99ce52be4cb4d416dd78c2b00e64baa763ee4e Mon Sep 17 00:00:00 2001 From: Doug Schaefer Date: Tue, 12 Apr 2005 15:37:55 +0000 Subject: [PATCH] Quick fix to get completion working again in C, i.e. use the old completion with C files. --- .../ui/text/CSourceViewerConfiguration.java | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/CSourceViewerConfiguration.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/CSourceViewerConfiguration.java index a8a53e8af16..dee42077bac 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/CSourceViewerConfiguration.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/CSourceViewerConfiguration.java @@ -6,6 +6,10 @@ package org.eclipse.cdt.internal.ui.text; import java.util.Vector; +import org.eclipse.cdt.core.CCorePlugin; +import org.eclipse.cdt.core.filetype.ICFileType; +import org.eclipse.cdt.core.filetype.ICFileTypeConstants; +import org.eclipse.cdt.core.model.IWorkingCopy; import org.eclipse.cdt.internal.ui.editor.CEditor; import org.eclipse.cdt.internal.ui.editor.CElementHyperlinkDetector; import org.eclipse.cdt.internal.ui.editor.CSourceViewer; @@ -16,6 +20,8 @@ import org.eclipse.cdt.internal.ui.text.contentassist.CCompletionProcessor2; import org.eclipse.cdt.internal.ui.text.contentassist.ContentAssistPreference; import org.eclipse.cdt.ui.CElementContentProvider; import org.eclipse.cdt.ui.CUIPlugin; +import org.eclipse.core.resources.IProject; +import org.eclipse.core.resources.IResource; import org.eclipse.jface.dialogs.IDialogSettings; import org.eclipse.jface.preference.IPreferenceStore; import org.eclipse.jface.text.DefaultInformationControl; @@ -192,14 +198,20 @@ public class CSourceViewerConfiguration extends TextSourceViewerConfiguration { * @see SourceViewerConfiguration#getContentAssistant(ISourceViewer) */ public IContentAssistant getContentAssistant(ISourceViewer sourceViewer) { - if(getEditor() == null) { + if (getEditor() == null) { return null; } ContentAssistant assistant = new ContentAssistant(); + IWorkingCopy workingCopy = CUIPlugin.getDefault().getWorkingCopyManager().getWorkingCopy(getEditor().getEditorInput()); + IResource resource = workingCopy.getResource(); + IProject project = resource.getProject(); + ICFileType type = CCorePlugin.getDefault().getFileType(project, resource.getLocation().lastSegment()); + IContentAssistProcessor processor - = getPreferenceStore().getBoolean(ContentAssistPreference.DONT_USE_DOM) + = (type.getLanguage().getId().equals(ICFileTypeConstants.LANG_C) + || getPreferenceStore().getBoolean(ContentAssistPreference.DONT_USE_DOM)) ? (IContentAssistProcessor)new CCompletionProcessor(getEditor()) : (IContentAssistProcessor)new CCompletionProcessor2(getEditor()); assistant.setContentAssistProcessor(processor, IDocument.DEFAULT_CONTENT_TYPE);