Contributors:
IBM Corporation - Initial implementation
- Klaus Hartlage - www.eclipseproject.de
+ www.phpeclipse.de
**********************************************************************/
package net.sourceforge.phpdt.ui.text;
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;
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.
*
* (non-Javadoc) Method declared on SourceViewerConfiguration
*/
public IAutoIndentStrategy getAutoIndentStrategy(ISourceViewer sourceViewer, String contentType) {
+ 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))
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.
*
*
* @return the Smarty source code scanner
*/
-// protected RuleBasedScanner getSmartyScanner() {
-// return fJavaTextTools.getSmartyScanner();
-// }
-
+ // protected RuleBasedScanner getSmartyScanner() {
+ // return fJavaTextTools.getSmartyScanner();
+ // }
/*
* @see SourceViewerConfiguration#getReconciler(ISourceViewer)
*/
*
* @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.
*
// 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);