import net.sourceforge.phpdt.internal.ui.text.SmartBackspaceManager;
 import net.sourceforge.phpdt.ui.PreferenceConstants;
+import net.sourceforge.phpdt.ui.text.PHPSourceViewerConfiguration;
 
 import org.eclipse.jface.preference.IPreferenceStore;
 import org.eclipse.jface.preference.PreferenceConverter;
 import org.eclipse.jface.text.Assert;
 import org.eclipse.jface.text.ITextPresentationListener;
 import org.eclipse.jface.text.information.IInformationPresenter;
+import org.eclipse.jface.text.reconciler.IReconciler;
 import org.eclipse.jface.text.source.IOverviewRuler;
 import org.eclipse.jface.text.source.IVerticalRuler;
 import org.eclipse.jface.text.source.SourceViewerConfiguration;
                    case FORMAT:
                      Point point = getSelectedRange();
                      if (point.y==0) {
-                       setSelectedRange(0, getDocument().getLength());
+//                     setSelectedRange(0, getDocument().getLength());
+                       revealRange(0, getDocument().getLength());
                      }
                      break;
                }
                        fBackspaceManager.uninstall();
                        fBackspaceManager= null;
                }
-
+        
                super.handleDispose();
        }
        
                fTextPresentationListeners.remove(listener);
                fTextPresentationListeners.add(0, listener);
        }
+       /**
+        * Sets the given reconciler.
+        *  
+        * @param reconciler the reconciler
+        * @since 3.0
+        */
+       void setReconciler(IReconciler reconciler) {
+               fReconciler= reconciler;
+       }
+
+       /**
+        * Returns the reconciler.
+        * 
+        * @return the reconciler or <code>null</code> if not set
+        * @since 3.0
+        */
+       Object getReconciler() {
+               return fReconciler;
+       }
 }