X-Git-Url: http://secure.phpeclipse.com diff --git a/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/phpeditor/PHPSourceViewerConfiguration.java b/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/phpeditor/PHPSourceViewerConfiguration.java index af8b262..b519646 100644 --- a/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/phpeditor/PHPSourceViewerConfiguration.java +++ b/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/phpeditor/PHPSourceViewerConfiguration.java @@ -13,6 +13,8 @@ package net.sourceforge.phpeclipse.phpeditor; import java.util.Vector; +import net.sourceforge.phpdt.internal.ui.text.java.JavaFormattingStrategy; +import net.sourceforge.phpdt.internal.ui.text.phpdoc.PHPDocCompletionProcessor; import net.sourceforge.phpeclipse.PHPeclipsePlugin; import net.sourceforge.phpeclipse.phpeditor.html.HTMLFormattingStrategy; import net.sourceforge.phpeclipse.phpeditor.php.HTMLCompletionProcessor; @@ -33,6 +35,7 @@ import org.eclipse.jface.text.contentassist.ContentAssistant; import org.eclipse.jface.text.contentassist.IContentAssistant; import org.eclipse.jface.text.formatter.ContentFormatter; import org.eclipse.jface.text.formatter.IContentFormatter; +import org.eclipse.jface.text.formatter.IFormattingStrategy; import org.eclipse.jface.text.presentation.IPresentationReconciler; import org.eclipse.jface.text.presentation.PresentationReconciler; import org.eclipse.jface.text.rules.BufferedRuleBasedScanner; @@ -75,16 +78,39 @@ public class PHPSourceViewerConfiguration extends SourceViewerConfiguration { * @see SourceViewerConfiguration#getContentFormatter(ISourceViewer) */ public IContentFormatter getContentFormatter(ISourceViewer sourceViewer) { +// if (fFormatter == null) { +// fFormatter = new ContentFormatter(); +// fFormattingStrategy = new HTMLFormattingStrategy(this, sourceViewer); +// fFormatter.setFormattingStrategy(fFormattingStrategy, HTML_DEFAULT); +// fFormatter.enablePartitionAwareFormatting(false); +// fFormatter.setPartitionManagingPositionCategories(getConfiguredContentTypes(null)); +// } +// return fFormatter; + if (fFormatter == null) { - fFormatter = new ContentFormatter(); - fFormattingStrategy = new HTMLFormattingStrategy(this, sourceViewer); - fFormatter.setFormattingStrategy(fFormattingStrategy, HTML_DEFAULT); - fFormatter.enablePartitionAwareFormatting(false); - fFormatter.setPartitionManagingPositionCategories(getConfiguredContentTypes(null)); + //ContentFormatter + fFormatter= new ContentFormatter(); + IFormattingStrategy strategy= new JavaFormattingStrategy(sourceViewer); + + fFormatter.setFormattingStrategy(strategy, IDocument.DEFAULT_CONTENT_TYPE); + fFormatter.enablePartitionAwareFormatting(false); + fFormatter.setPartitionManagingPositionCategories(getPartitionManagingPositionCategories()); } return fFormatter; } + /** + * Returns the names of the document position categories used by the document + * partitioners created by this object to manage their partition information. + * If the partitioners don't use document position categories, the returned + * result is null. + * + * @return the partition managing position categories or null + * if there is none + */ + public String[] getPartitionManagingPositionCategories() { + return new String[] { DefaultPartitioner.CONTENT_TYPES_CATEGORY }; + } // /** // * Returns the names of the document position categories used by the document // * partitioners created by this object to manage their partition information. @@ -132,8 +158,8 @@ public class PHPSourceViewerConfiguration extends SourceViewerConfiguration { ContentAssistant assistant = new ContentAssistant(); assistant.setContentAssistProcessor(new HTMLCompletionProcessor(), IDocument.DEFAULT_CONTENT_TYPE); assistant.setContentAssistProcessor(new PHPCompletionProcessor(), PHPPartitionScanner.PHP); - //assistant.setContentAssistProcessor(new PHPCompletionProcessor(), PHPPartitionScanner.HTML); - + assistant.setContentAssistProcessor(new PHPDocCompletionProcessor(), PHPPartitionScanner.PHP_MULTILINE_COMMENT); + assistant.enableAutoActivation(true); assistant.setAutoActivationDelay(500); assistant.setProposalPopupOrientation(ContentAssistant.PROPOSAL_OVERLAY); @@ -231,6 +257,10 @@ public class PHPSourceViewerConfiguration extends SourceViewerConfiguration { reconciler.setDamager(dr, PHPPartitionScanner.PHP); reconciler.setRepairer(dr, PHPPartitionScanner.PHP); + dr = new DefaultDamagerRepairer(PHPEditorEnvironment.getPHPDocCodeScanner()); + reconciler.setDamager(dr, PHPPartitionScanner.PHP_MULTILINE_COMMENT); + reconciler.setRepairer(dr, PHPPartitionScanner.PHP_MULTILINE_COMMENT); + // dr = new DefaultDamagerRepairer(PHPEditorEnvironment.getHTMLCodeScanner()); // reconciler.setDamager(dr, PHPPartitionScanner.HTML); // reconciler.setRepairer(dr, PHPPartitionScanner.HTML);