public Highlighter(ISourceViewer sourceViewer, IDocument document, IFile file, ISharedTextColors sharedTextColors)
        {
            this.sourceViewer               = sourceViewer;
            this.document                   = document;
            this.sharedTextColors           = sharedTextColors;
            this.compilationUnitHighlighter = new CompilationUnitHighlighter();
            this.textListener               = new TextListener(this);

            initialize(document.get().toCharArray(), true);
        }
			public override IContentAssistant getContentAssistant(ISourceViewer sourceViewer) {
				ContentAssistant contentAssistant = new ContentAssistant();
				contentAssistant.enableAutoActivation(true);
				//contentAssistant.enableAutoInsert(true);
				contentAssistant.enablePrefixCompletion(true);
				contentAssistant.setContentAssistProcessor(new ContentAssistProcessor(editor, sourceViewer), IDocument.DEFAULT_CONTENT_TYPE);
				return contentAssistant;
			}
			public override IReconciler getReconciler(ISourceViewer sourceViewer) {
				return new MonoReconciler(new ReconcilingStrategy(editor), false);
			}
			// Enables the tooltips on the markers in the margin.
			public override IAnnotationHover getAnnotationHover(ISourceViewer sourceViewer) {
				return new AnnotationHover(editor);
			}