diff options
author | Anton Leherbauer | 2007-08-17 08:04:09 +0000 |
---|---|---|
committer | Anton Leherbauer | 2007-08-17 08:04:09 +0000 |
commit | 1cba2fab4ef5982b48c4551b9c583997b94b2119 (patch) | |
tree | aa783cd53022f2c426e8fb0af713dddd8f259e2d /build/org.eclipse.cdt.make.ui/src/org/eclipse/cdt/make/internal/ui/editor | |
parent | f4cfd2873651bc9fc20ceeedaba86e2e896e366e (diff) | |
download | org.eclipse.cdt-1cba2fab4ef5982b48c4551b9c583997b94b2119.tar.gz org.eclipse.cdt-1cba2fab4ef5982b48c4551b9c583997b94b2119.tar.xz org.eclipse.cdt-1cba2fab4ef5982b48c4551b9c583997b94b2119.zip |
Fix for 194198: No syntax highlighting when comparing makefiles
Diffstat (limited to 'build/org.eclipse.cdt.make.ui/src/org/eclipse/cdt/make/internal/ui/editor')
2 files changed, 53 insertions, 30 deletions
diff --git a/build/org.eclipse.cdt.make.ui/src/org/eclipse/cdt/make/internal/ui/editor/MakefileEditor.java b/build/org.eclipse.cdt.make.ui/src/org/eclipse/cdt/make/internal/ui/editor/MakefileEditor.java index 7885758e897..e5b48e631c4 100644 --- a/build/org.eclipse.cdt.make.ui/src/org/eclipse/cdt/make/internal/ui/editor/MakefileEditor.java +++ b/build/org.eclipse.cdt.make.ui/src/org/eclipse/cdt/make/internal/ui/editor/MakefileEditor.java @@ -22,17 +22,34 @@ import org.eclipse.core.runtime.ListenerList; import org.eclipse.jface.action.IAction; import org.eclipse.jface.action.IMenuManager; import org.eclipse.jface.preference.IPreferenceStore; -import org.eclipse.jface.text.*; +import org.eclipse.jface.text.BadLocationException; +import org.eclipse.jface.text.FindReplaceDocumentAdapter; +import org.eclipse.jface.text.IDocument; +import org.eclipse.jface.text.IRegion; +import org.eclipse.jface.text.ITextOperationTarget; +import org.eclipse.jface.text.ITextViewerExtension; import org.eclipse.jface.text.rules.IWordDetector; -import org.eclipse.jface.text.source.*; -import org.eclipse.jface.text.source.projection.*; +import org.eclipse.jface.text.source.IOverviewRuler; +import org.eclipse.jface.text.source.ISourceViewer; +import org.eclipse.jface.text.source.IVerticalRuler; +import org.eclipse.jface.text.source.SourceViewerConfiguration; +import org.eclipse.jface.text.source.projection.ProjectionAnnotationModel; +import org.eclipse.jface.text.source.projection.ProjectionSupport; +import org.eclipse.jface.text.source.projection.ProjectionViewer; import org.eclipse.jface.util.PropertyChangeEvent; -import org.eclipse.jface.viewers.*; +import org.eclipse.jface.viewers.ISelection; +import org.eclipse.jface.viewers.ISelectionChangedListener; +import org.eclipse.jface.viewers.IStructuredSelection; +import org.eclipse.jface.viewers.SelectionChangedEvent; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.*; -import org.eclipse.ui.editors.text.EditorsUI; +import org.eclipse.ui.IPartService; +import org.eclipse.ui.IWorkbenchPart; +import org.eclipse.ui.IWorkbenchWindow; import org.eclipse.ui.editors.text.TextEditor; -import org.eclipse.ui.texteditor.*; +import org.eclipse.ui.texteditor.DefaultRangeIndicator; +import org.eclipse.ui.texteditor.ITextEditorActionConstants; +import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; +import org.eclipse.ui.texteditor.TextOperationAction; import org.eclipse.ui.views.contentoutline.IContentOutlinePage; public class MakefileEditor extends TextEditor implements ISelectionChangedListener, IReconcilingParticipant { @@ -107,10 +124,7 @@ public class MakefileEditor extends TextEditor implements ISelectionChangedListe setEditorContextMenuId("#MakefileEditorContext"); //$NON-NLS-1$ setRulerContextMenuId("#MakefileRulerContext"); //$NON-NLS-1$ setDocumentProvider(MakeUIPlugin.getDefault().getMakefileDocumentProvider()); - IPreferenceStore[] stores = new IPreferenceStore[2]; - stores[0] = MakeUIPlugin.getDefault().getPreferenceStore(); - stores[1] = EditorsUI.getPreferenceStore(); - ChainedPreferenceStore chainedStore = new ChainedPreferenceStore(stores); + IPreferenceStore chainedStore = MakeUIPlugin.getDefault().getCombinedPreferenceStore(); setPreferenceStore(chainedStore); setSourceViewerConfiguration(new MakefileSourceConfiguration(chainedStore, this)); } diff --git a/build/org.eclipse.cdt.make.ui/src/org/eclipse/cdt/make/internal/ui/editor/MakefileSourceConfiguration.java b/build/org.eclipse.cdt.make.ui/src/org/eclipse/cdt/make/internal/ui/editor/MakefileSourceConfiguration.java index d2ffcbd7be2..a255c1ca4e5 100644 --- a/build/org.eclipse.cdt.make.ui/src/org/eclipse/cdt/make/internal/ui/editor/MakefileSourceConfiguration.java +++ b/build/org.eclipse.cdt.make.ui/src/org/eclipse/cdt/make/internal/ui/editor/MakefileSourceConfiguration.java @@ -82,23 +82,26 @@ public class MakefileSourceConfiguration extends TextSourceViewerConfiguration { * @see org.eclipse.jface.text.source.SourceViewerConfiguration#getContentAssistant(ISourceViewer) */ public IContentAssistant getContentAssistant(ISourceViewer sourceViewer) { - ContentAssistant assistant = new ContentAssistant(); - assistant.setContentAssistProcessor(new MakefileCompletionProcessor(fEditor), IDocument.DEFAULT_CONTENT_TYPE); - assistant.setContentAssistProcessor(new MakefileCompletionProcessor(fEditor), MakefilePartitionScanner.MAKEFILE_COMMENT_PARTITION); - assistant.setContentAssistProcessor(new MakefileCompletionProcessor(fEditor), MakefilePartitionScanner.MAKEFILE_DEF_BLOCK_PARTITION); - assistant.setContentAssistProcessor(new MakefileCompletionProcessor(fEditor), MakefilePartitionScanner.MAKEFILE_IF_BLOCK_PARTITION); - assistant.setContentAssistProcessor(new MakefileCompletionProcessor(fEditor), MakefilePartitionScanner.MAKEFILE_INCLUDE_BLOCK_PARTITION); - assistant.setContentAssistProcessor(new MakefileCompletionProcessor(fEditor), MakefilePartitionScanner.MAKEFILE_MACRO_ASSIGNEMENT_PARTITION); - - assistant.enableAutoActivation(true); - assistant.setAutoActivationDelay(500); - - assistant.setProposalPopupOrientation(IContentAssistant.CONTEXT_INFO_BELOW); - assistant.setContextInformationPopupOrientation(IContentAssistant.CONTEXT_INFO_BELOW); - //Set to Carolina blue - assistant.setContextInformationPopupBackground(colorManager.getColor(new RGB(0, 191, 255))); - - return assistant; + if (fEditor != null && fEditor.isEditable()) { + ContentAssistant assistant = new ContentAssistant(); + assistant.setContentAssistProcessor(new MakefileCompletionProcessor(fEditor), IDocument.DEFAULT_CONTENT_TYPE); + assistant.setContentAssistProcessor(new MakefileCompletionProcessor(fEditor), MakefilePartitionScanner.MAKEFILE_COMMENT_PARTITION); + assistant.setContentAssistProcessor(new MakefileCompletionProcessor(fEditor), MakefilePartitionScanner.MAKEFILE_DEF_BLOCK_PARTITION); + assistant.setContentAssistProcessor(new MakefileCompletionProcessor(fEditor), MakefilePartitionScanner.MAKEFILE_IF_BLOCK_PARTITION); + assistant.setContentAssistProcessor(new MakefileCompletionProcessor(fEditor), MakefilePartitionScanner.MAKEFILE_INCLUDE_BLOCK_PARTITION); + assistant.setContentAssistProcessor(new MakefileCompletionProcessor(fEditor), MakefilePartitionScanner.MAKEFILE_MACRO_ASSIGNEMENT_PARTITION); + + assistant.enableAutoActivation(true); + assistant.setAutoActivationDelay(500); + + assistant.setProposalPopupOrientation(IContentAssistant.CONTEXT_INFO_BELOW); + assistant.setContextInformationPopupOrientation(IContentAssistant.CONTEXT_INFO_BELOW); + //Set to Carolina blue + assistant.setContextInformationPopupBackground(colorManager.getColor(new RGB(0, 191, 255))); + + return assistant; + } + return null; } protected MakefileCodeScanner getCodeScanner() { @@ -167,13 +170,19 @@ public class MakefileSourceConfiguration extends TextSourceViewerConfiguration { * @see org.eclipse.jface.text.source.SourceViewerConfiguration#getTextHover(org.eclipse.jface.text.source.ISourceViewer, java.lang.String) */ public ITextHover getTextHover(ISourceViewer sourceViewer, String contentType) { - return new MakefileTextHover(fEditor); + if (fEditor != null) { + return new MakefileTextHover(fEditor); + } + return super.getTextHover(sourceViewer, contentType); } /* (non-Javadoc) * @see org.eclipse.jface.text.source.SourceViewerConfiguration#getAnnotationHover(org.eclipse.jface.text.source.ISourceViewer) */ public IAnnotationHover getAnnotationHover(ISourceViewer sourceViewer) { - return new MakefileAnnotationHover(fEditor); + if (fEditor != null) { + return new MakefileAnnotationHover(fEditor); + } + return super.getAnnotationHover(sourceViewer); } /** |