X-Git-Url: http://secure.phpeclipse.com diff --git a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/ui/text/PHPSourceViewerConfiguration.java b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/ui/text/PHPSourceViewerConfiguration.java index 735dcec..cfd2d31 100644 --- a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/ui/text/PHPSourceViewerConfiguration.java +++ b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/ui/text/PHPSourceViewerConfiguration.java @@ -7,7 +7,7 @@ Contributors: IBM Corporation - Initial implementation - Klaus Hartlage - www.eclipseproject.de + www.phpeclipse.de **********************************************************************/ package net.sourceforge.phpdt.ui.text; @@ -19,7 +19,6 @@ import net.sourceforge.phpdt.internal.ui.text.ContentAssistPreference; import net.sourceforge.phpdt.internal.ui.text.HTMLTextPresenter; import net.sourceforge.phpdt.internal.ui.text.IPHPPartitions; import net.sourceforge.phpdt.internal.ui.text.JavaAnnotationHover; -import net.sourceforge.phpdt.internal.ui.text.JavaColorManager; import net.sourceforge.phpdt.internal.ui.text.JavaCompositeReconcilingStrategy; import net.sourceforge.phpdt.internal.ui.text.JavaElementProvider; import net.sourceforge.phpdt.internal.ui.text.JavaOutlineInformationControl; @@ -27,16 +26,17 @@ import net.sourceforge.phpdt.internal.ui.text.JavaPresentationReconciler; import net.sourceforge.phpdt.internal.ui.text.JavaReconciler; import net.sourceforge.phpdt.internal.ui.text.PreferencesAdapter; import net.sourceforge.phpdt.internal.ui.text.java.JavaFormattingStrategy; -import net.sourceforge.phpdt.internal.ui.text.java.JavaStringAutoIndentStrategy; +import net.sourceforge.phpdt.internal.ui.text.java.JavaStringAutoIndentStrategyDQ; +import net.sourceforge.phpdt.internal.ui.text.java.JavaStringAutoIndentStrategySQ; import net.sourceforge.phpdt.internal.ui.text.java.hover.JavaEditorTextHoverDescriptor; import net.sourceforge.phpdt.internal.ui.text.java.hover.JavaEditorTextHoverProxy; import net.sourceforge.phpdt.internal.ui.text.java.hover.JavaInformationProvider; +import net.sourceforge.phpdt.internal.ui.text.phpdoc.JavaDocAutoIndentStrategy; import net.sourceforge.phpdt.internal.ui.text.phpdoc.PHPDocCodeScanner; import net.sourceforge.phpdt.internal.ui.text.phpdoc.PHPDocCompletionProcessor; import net.sourceforge.phpdt.ui.PreferenceConstants; import net.sourceforge.phpeclipse.IPreferenceConstants; import net.sourceforge.phpeclipse.PHPeclipsePlugin; -import net.sourceforge.phpeclipse.phpeditor.PHPEditor; import net.sourceforge.phpeclipse.phpeditor.html.HTMLFormattingStrategy; import net.sourceforge.phpeclipse.phpeditor.php.HTMLCompletionProcessor; import net.sourceforge.phpeclipse.phpeditor.php.PHPAutoIndentStrategy; @@ -45,9 +45,6 @@ import net.sourceforge.phpeclipse.phpeditor.php.PHPCompletionProcessor; import net.sourceforge.phpeclipse.phpeditor.php.PHPDocumentPartitioner; import net.sourceforge.phpeclipse.phpeditor.php.PHPDoubleClickSelector; import net.sourceforge.phpeclipse.phpeditor.php.PHPPartitionScanner; -import net.sourceforge.phpeclipse.phpeditor.php.SmartyCodeScanner; -import net.sourceforge.phpeclipse.phpeditor.php.SmartyDocCodeScanner; -import net.sourceforge.phpeclipse.phpeditor.util.PHPColorProvider; import net.sourceforge.phpeclipse.xml.ui.XMLPlugin; import net.sourceforge.phpeclipse.xml.ui.internal.text.XMLConfiguration; import net.sourceforge.phpeclipse.xml.ui.internal.text.XMLPartitionScanner; @@ -224,41 +221,42 @@ public class PHPSourceViewerConfiguration extends SourceViewerConfiguration { fPreferenceStore = preferenceStore; fTextEditor = editor; fDocumentPartitioning = partitioning; -// fJavaTextTools = PHPeclipsePlugin.getDefault().getJavaTextTools(); + // fJavaTextTools = PHPeclipsePlugin.getDefault().getJavaTextTools(); fXMLTextTools = XMLPlugin.getDefault().getXMLTextTools(); xmlConfiguration = new XMLConfiguration(fXMLTextTools); - fColorManager= colorManager; - fPreferenceStore= preferenceStore; - fTextEditor= editor; - fDocumentPartitioning= partitioning; - + fColorManager = colorManager; + fPreferenceStore = preferenceStore; + fTextEditor = editor; + fDocumentPartitioning = partitioning; + initializeScanners(); } /** - * Creates a new Java source viewer configuration for viewers in the given editor - * using the given Java tools. - * - * @param tools the Java text tools to be used - * @param editor the editor in which the configured viewer(s) will reside - * @see JavaTextTools - * @deprecated As of 3.0, replaced by {@link JavaSourceViewerConfiguration#JavaSourceViewerConfiguration(IColorManager, IPreferenceStore, ITextEditor, String)} - */ -// public PHPSourceViewerConfiguration(JavaTextTools tools, PHPEditor editor, String partitioning) { -// fJavaTextTools = tools; -// fColorManager = tools.getColorManager(); -// fPreferenceStore = createPreferenceStore(); -// fDocumentPartitioning = partitioning; -// fCodeScanner = (AbstractJavaScanner) fJavaTextTools.getCodeScanner(); -// fMultilineCommentScanner = (AbstractJavaScanner) fJavaTextTools.getMultilineCommentScanner(); -// fSinglelineCommentScanner = (AbstractJavaScanner) fJavaTextTools.getSinglelineCommentScanner(); -// fStringScanner = (AbstractJavaScanner) fJavaTextTools.getStringScanner(); -// fJavaDocScanner = (AbstractJavaScanner) fJavaTextTools.getJavaDocScanner(); -// fTextEditor = editor; -// fXMLTextTools = XMLPlugin.getDefault().getXMLTextTools(); -// xmlConfiguration = new XMLConfiguration(fXMLTextTools); -// } - + * Creates a new Java source viewer configuration for viewers in the given editor using the given Java tools. + * + * @param tools + * the Java text tools to be used + * @param editor + * the editor in which the configured viewer(s) will reside + * @see JavaTextTools + * @deprecated As of 3.0, replaced by + * {@link JavaSourceViewerConfiguration#JavaSourceViewerConfiguration(IColorManager, IPreferenceStore, ITextEditor, String)} + */ + // public PHPSourceViewerConfiguration(JavaTextTools tools, PHPEditor editor, String partitioning) { + // fJavaTextTools = tools; + // fColorManager = tools.getColorManager(); + // fPreferenceStore = createPreferenceStore(); + // fDocumentPartitioning = partitioning; + // fCodeScanner = (AbstractJavaScanner) fJavaTextTools.getCodeScanner(); + // fMultilineCommentScanner = (AbstractJavaScanner) fJavaTextTools.getMultilineCommentScanner(); + // fSinglelineCommentScanner = (AbstractJavaScanner) fJavaTextTools.getSinglelineCommentScanner(); + // fStringScanner = (AbstractJavaScanner) fJavaTextTools.getStringScanner(); + // fJavaDocScanner = (AbstractJavaScanner) fJavaTextTools.getJavaDocScanner(); + // fTextEditor = editor; + // fXMLTextTools = XMLPlugin.getDefault().getXMLTextTools(); + // xmlConfiguration = new XMLConfiguration(fXMLTextTools); + // } /** * Returns the color manager for this configuration. * @@ -413,8 +411,13 @@ public class PHPSourceViewerConfiguration extends SourceViewerConfiguration { * (non-Javadoc) Method declared on SourceViewerConfiguration */ public IAutoIndentStrategy getAutoIndentStrategy(ISourceViewer sourceViewer, String contentType) { - if (IPHPPartitions.PHP_STRING_DQ.equals(contentType) || IPHPPartitions.PHP_STRING_SQ.equals(contentType)) - return new JavaStringAutoIndentStrategy(getConfiguredDocumentPartitioning(sourceViewer)); + if (IPHPPartitions.PHP_PHPDOC_COMMENT.equals(contentType) + || IPHPPartitions.PHP_MULTILINE_COMMENT.equals(contentType)) + return new JavaDocAutoIndentStrategy(getConfiguredDocumentPartitioning(sourceViewer)); + if (IPHPPartitions.PHP_STRING_DQ.equals(contentType)) + return new JavaStringAutoIndentStrategyDQ(getConfiguredDocumentPartitioning(sourceViewer)); + if (IPHPPartitions.PHP_STRING_SQ.equals(contentType)) + return new JavaStringAutoIndentStrategySQ(getConfiguredDocumentPartitioning(sourceViewer)); return (PHPDocumentPartitioner.PHP_TEMPLATE_DATA.equals(contentType) || PHPDocumentPartitioner.PHP_SCRIPT_CODE.equals(contentType) || IDocument.DEFAULT_CONTENT_TYPE.equals(contentType) @@ -430,35 +433,37 @@ public class PHPSourceViewerConfiguration extends SourceViewerConfiguration { protected RuleBasedScanner getCodeScanner() { return fCodeScanner; //fJavaTextTools.getCodeScanner(); } - /** - * Returns the Java multi-line comment scanner for this configuration. - * - * @return the Java multi-line comment scanner - * @since 2.0 - */ - protected RuleBasedScanner getMultilineCommentScanner() { - return fMultilineCommentScanner; - } - - /** - * Returns the Java single-line comment scanner for this configuration. - * - * @return the Java single-line comment scanner - * @since 2.0 - */ - protected RuleBasedScanner getSinglelineCommentScanner() { - return fSinglelineCommentScanner; - } - - /** - * Returns the Java string scanner for this configuration. - * - * @return the Java string scanner - * @since 2.0 - */ - protected RuleBasedScanner getStringScanner() { - return fStringScanner; - } + + /** + * Returns the Java multi-line comment scanner for this configuration. + * + * @return the Java multi-line comment scanner + * @since 2.0 + */ + protected RuleBasedScanner getMultilineCommentScanner() { + return fMultilineCommentScanner; + } + + /** + * Returns the Java single-line comment scanner for this configuration. + * + * @return the Java single-line comment scanner + * @since 2.0 + */ + protected RuleBasedScanner getSinglelineCommentScanner() { + return fSinglelineCommentScanner; + } + + /** + * Returns the Java string scanner for this configuration. + * + * @return the Java string scanner + * @since 2.0 + */ + protected RuleBasedScanner getStringScanner() { + return fStringScanner; + } + /** * Returns the HTML source code scanner for this configuration. * @@ -472,10 +477,9 @@ public class PHPSourceViewerConfiguration extends SourceViewerConfiguration { * * @return the Smarty source code scanner */ -// protected RuleBasedScanner getSmartyScanner() { -// return fJavaTextTools.getSmartyScanner(); -// } - + // protected RuleBasedScanner getSmartyScanner() { + // return fJavaTextTools.getSmartyScanner(); + // } /* * @see SourceViewerConfiguration#getReconciler(ISourceViewer) */ @@ -499,16 +503,6 @@ public class PHPSourceViewerConfiguration extends SourceViewerConfiguration { return null; } - // public IReconciler getReconciler(ISourceViewer sourceViewer) { - // if (getEditor() != null && getEditor().isEditable()) { - // JavaReconciler reconciler = new JavaReconciler(getEditor(), - // new JavaReconcilingStrategy(getEditor()), false); - // reconciler.setProgressMonitor(new NullProgressMonitor()); - // reconciler.setDelay(500); - // return reconciler; - // } - // return null; - // } /* * @see SourceViewerConfiguration#getConfiguredTextHoverStateMasks(ISourceViewer, String) * @since 2.1 @@ -577,10 +571,9 @@ public class PHPSourceViewerConfiguration extends SourceViewerConfiguration { * * @return the SmartyDoc source code scanner */ -// protected RuleBasedScanner getSmartyDocScanner() { -// return fJavaTextTools.getSmartyDocScanner(); -// } - + // protected RuleBasedScanner getSmartyDocScanner() { + // return fJavaTextTools.getSmartyDocScanner(); + // } /** * Returns the PHPDoc source code scanner for this configuration. * @@ -789,12 +782,12 @@ public class PHPSourceViewerConfiguration extends SourceViewerConfiguration { // dr = new DefaultDamagerRepairer(getHTMLScanner()); // reconciler.setDamager(dr, IPHPPartitions.JS_MULTILINE_COMMENT); // reconciler.setRepairer(dr, IPHPPartitions.JS_MULTILINE_COMMENT); -// DefaultDamagerRepairer phpDR = new DefaultDamagerRepairer(getSmartyScanner()); -// phpReconciler.setDamager(phpDR, IPHPPartitions.SMARTY); -// phpReconciler.setRepairer(phpDR, IPHPPartitions.SMARTY); -// phpDR = new DefaultDamagerRepairer(getSmartyDocScanner()); -// phpReconciler.setDamager(phpDR, IPHPPartitions.SMARTY_MULTILINE_COMMENT); -// phpReconciler.setRepairer(phpDR, IPHPPartitions.SMARTY_MULTILINE_COMMENT); + // DefaultDamagerRepairer phpDR = new DefaultDamagerRepairer(getSmartyScanner()); + // phpReconciler.setDamager(phpDR, IPHPPartitions.SMARTY); + // phpReconciler.setRepairer(phpDR, IPHPPartitions.SMARTY); + // phpDR = new DefaultDamagerRepairer(getSmartyDocScanner()); + // phpReconciler.setDamager(phpDR, IPHPPartitions.SMARTY_MULTILINE_COMMENT); + // phpReconciler.setRepairer(phpDR, IPHPPartitions.SMARTY_MULTILINE_COMMENT); // dr = new DefaultDamagerRepairer(new SingleTokenScanner(new TextAttribute(fJavaTextTools.getColorManager().getColor( // PHPColorProvider.MULTI_LINE_COMMENT)))); // reconciler.setDamager(dr, IPHPPartitions.HTML_MULTILINE_COMMENT); @@ -989,6 +982,7 @@ public class PHPSourceViewerConfiguration extends SourceViewerConfiguration { presenter.setAnchor(InformationPresenter.ANCHOR_GLOBAL); IInformationProvider provider = new JavaElementProvider(getEditor(), doCodeResolve); presenter.setInformationProvider(provider, IDocument.DEFAULT_CONTENT_TYPE); + presenter.setInformationProvider(provider, PHPDocumentPartitioner.PHP_SCRIPT_CODE); presenter.setInformationProvider(provider, IPHPPartitions.PHP_PARTITIONING); presenter.setInformationProvider(provider, IPHPPartitions.PHP_PHPDOC_COMMENT); presenter.setInformationProvider(provider, IPHPPartitions.SMARTY_MULTILINE_COMMENT);