import net.sourceforge.phpdt.ui.text.IColorManager;
import net.sourceforge.phpdt.ui.text.JavaTextTools;
import net.sourceforge.phpeclipse.PHPeclipsePlugin;
-import net.sourceforge.phpeclipse.phpeditor.php.IPHPPartitionScannerConstants;
+import net.sourceforge.phpeclipse.phpeditor.php.HTMLCompletionProcessor;
import net.sourceforge.phpeclipse.phpeditor.php.PHPCompletionProcessor;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.jface.preference.PreferenceConverter;
-import org.eclipse.jface.text.IDocument;
import org.eclipse.jface.text.contentassist.ContentAssistant;
import org.eclipse.jface.text.contentassist.IContentAssistProcessor;
import org.eclipse.jface.util.PropertyChangeEvent;
import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.graphics.RGB;
-
public class ContentAssistPreference {
-
+
/** Preference key for content assist auto activation */
- private final static String AUTOACTIVATION= PreferenceConstants.CODEASSIST_AUTOACTIVATION;
+ private final static String AUTOACTIVATION = PreferenceConstants.CODEASSIST_AUTOACTIVATION;
+
/** Preference key for content assist auto activation delay */
- private final static String AUTOACTIVATION_DELAY= PreferenceConstants.CODEASSIST_AUTOACTIVATION_DELAY;
+ private final static String AUTOACTIVATION_DELAY = PreferenceConstants.CODEASSIST_AUTOACTIVATION_DELAY;
+
/** Preference key for content assist proposal color */
- private final static String PROPOSALS_FOREGROUND= PreferenceConstants.CODEASSIST_PROPOSALS_FOREGROUND;
+ private final static String PROPOSALS_FOREGROUND = PreferenceConstants.CODEASSIST_PROPOSALS_FOREGROUND;
+
/** Preference key for content assist proposal color */
- private final static String PROPOSALS_BACKGROUND= PreferenceConstants.CODEASSIST_PROPOSALS_BACKGROUND;
+ private final static String PROPOSALS_BACKGROUND = PreferenceConstants.CODEASSIST_PROPOSALS_BACKGROUND;
+
/** Preference key for content assist parameters color */
- private final static String PARAMETERS_FOREGROUND= PreferenceConstants.CODEASSIST_PARAMETERS_FOREGROUND;
+ private final static String PARAMETERS_FOREGROUND = PreferenceConstants.CODEASSIST_PARAMETERS_FOREGROUND;
+
/** Preference key for content assist parameters color */
- private final static String PARAMETERS_BACKGROUND= PreferenceConstants.CODEASSIST_PARAMETERS_BACKGROUND;
+ private final static String PARAMETERS_BACKGROUND = PreferenceConstants.CODEASSIST_PARAMETERS_BACKGROUND;
+
/** Preference key for content assist completion replacement color */
- private final static String COMPLETION_REPLACEMENT_FOREGROUND= PreferenceConstants.CODEASSIST_REPLACEMENT_FOREGROUND;
+ private final static String COMPLETION_REPLACEMENT_FOREGROUND = PreferenceConstants.CODEASSIST_REPLACEMENT_FOREGROUND;
+
/** Preference key for content assist completion replacement color */
- private final static String COMPLETION_REPLACEMENT_BACKGROUND= PreferenceConstants.CODEASSIST_REPLACEMENT_BACKGROUND;
+ private final static String COMPLETION_REPLACEMENT_BACKGROUND = PreferenceConstants.CODEASSIST_REPLACEMENT_BACKGROUND;
+
/** Preference key for content assist auto insert */
- private final static String AUTOINSERT= PreferenceConstants.CODEASSIST_AUTOINSERT;
-
+ private final static String AUTOINSERT = PreferenceConstants.CODEASSIST_AUTOINSERT;
+
/** Preference key for php content assist auto activation triggers */
- private final static String AUTOACTIVATION_TRIGGERS_JAVA= PreferenceConstants.CODEASSIST_AUTOACTIVATION_TRIGGERS_JAVA;
+ private final static String AUTOACTIVATION_TRIGGERS_JAVA = PreferenceConstants.CODEASSIST_AUTOACTIVATION_TRIGGERS_JAVA;
+
/** Preference key for phpdoc content assist auto activation triggers */
- private final static String AUTOACTIVATION_TRIGGERS_JAVADOC= PreferenceConstants.CODEASSIST_AUTOACTIVATION_TRIGGERS_JAVADOC;
-
+ private final static String AUTOACTIVATION_TRIGGERS_JAVADOC = PreferenceConstants.CODEASSIST_AUTOACTIVATION_TRIGGERS_JAVADOC;
+
+ /** Preference key for html content assist auto activation triggers */
+ private final static String AUTOACTIVATION_TRIGGERS_HTML = PreferenceConstants.CODEASSIST_AUTOACTIVATION_TRIGGERS_HTML;
+
/** Preference key for visibility of proposals */
- private final static String SHOW_VISIBLE_PROPOSALS= PreferenceConstants.CODEASSIST_SHOW_VISIBLE_PROPOSALS;
+ private final static String SHOW_VISIBLE_PROPOSALS = PreferenceConstants.CODEASSIST_SHOW_VISIBLE_PROPOSALS;
+
/** Preference key for alphabetic ordering of proposals */
- private final static String ORDER_PROPOSALS= PreferenceConstants.CODEASSIST_ORDER_PROPOSALS;
+ private final static String ORDER_PROPOSALS = PreferenceConstants.CODEASSIST_ORDER_PROPOSALS;
+
/** Preference key for case sensitivity of propsals */
- private final static String CASE_SENSITIVITY= PreferenceConstants.CODEASSIST_CASE_SENSITIVITY;
+ private final static String CASE_SENSITIVITY = PreferenceConstants.CODEASSIST_CASE_SENSITIVITY;
+
/** Preference key for adding imports on code assist */
- private final static String ADD_IMPORT= PreferenceConstants.CODEASSIST_ADDIMPORT;
+ private final static String ADD_IMPORT = PreferenceConstants.CODEASSIST_ADDIMPORT;
+
/** Preference key for inserting content assist */
- private static final String INSERT_COMPLETION= PreferenceConstants.CODEASSIST_INSERT_COMPLETION;
+ private static final String INSERT_COMPLETION = PreferenceConstants.CODEASSIST_INSERT_COMPLETION;
+
/** Preference key for filling argument names on method completion */
- private static final String FILL_METHOD_ARGUMENTS= PreferenceConstants.CODEASSIST_FILL_ARGUMENT_NAMES;
+ private static final String FILL_METHOD_ARGUMENTS = PreferenceConstants.CODEASSIST_FILL_ARGUMENT_NAMES;
+
/** Preference key for guessing argument names on method completion */
- private static final String GUESS_METHOD_ARGUMENTS= PreferenceConstants.CODEASSIST_GUESS_METHOD_ARGUMENTS;
+ private static final String GUESS_METHOD_ARGUMENTS = PreferenceConstants.CODEASSIST_GUESS_METHOD_ARGUMENTS;
-
- private static Color getColor(IPreferenceStore store, String key, IColorManager manager) {
- RGB rgb= PreferenceConverter.getColor(store, key);
+ private static Color getColor(IPreferenceStore store, String key,
+ IColorManager manager) {
+ RGB rgb = PreferenceConverter.getColor(store, key);
return manager.getColor(rgb);
}
-
+
private static Color getColor(IPreferenceStore store, String key) {
- JavaTextTools textTools= PHPeclipsePlugin.getDefault().getJavaTextTools();
+ JavaTextTools textTools = PHPeclipsePlugin.getDefault()
+ .getJavaTextTools();
return getColor(store, key, textTools.getColorManager());
}
-
- private static PHPCompletionProcessor getJavaProcessor(ContentAssistant assistant) {
- IContentAssistProcessor p= assistant.getContentAssistProcessor(IPHPPartitionScannerConstants.PHP);
+
+ private static PHPCompletionProcessor getJavaProcessor(
+ ContentAssistant assistant) {
+ IContentAssistProcessor p = assistant
+ .getContentAssistProcessor(IPHPPartitions.PHP_PARTITIONING);
if (p instanceof PHPCompletionProcessor)
- return (PHPCompletionProcessor) p;
+ return (PHPCompletionProcessor) p;
return null;
}
-
- private static PHPDocCompletionProcessor getJavaDocProcessor(ContentAssistant assistant) {
- IContentAssistProcessor p= assistant.getContentAssistProcessor(IPHPPartitionScannerConstants.PHP_MULTILINE_COMMENT);
- if (p instanceof PHPDocCompletionProcessor)
+
+ private static PHPDocCompletionProcessor getJavaDocProcessor(
+ ContentAssistant assistant) {
+ IContentAssistProcessor p = assistant
+ .getContentAssistProcessor(IPHPPartitions.PHP_PHPDOC_COMMENT);
+ if (p instanceof PHPDocCompletionProcessor)
return (PHPDocCompletionProcessor) p;
return null;
}
-
- private static void configureJavaProcessor(ContentAssistant assistant, IPreferenceStore store) {
- PHPCompletionProcessor jcp= getJavaProcessor(assistant);
- if (jcp == null)
+
+ private static HTMLCompletionProcessor getHTMLProcessor(
+ ContentAssistant assistant) {
+ IContentAssistProcessor p = assistant
+ .getContentAssistProcessor(IPHPPartitions.HTML);
+ if (p instanceof HTMLCompletionProcessor)
+ return (HTMLCompletionProcessor) p;
+ return null;
+ }
+
+ private static void configureJavaProcessor(ContentAssistant assistant,
+ IPreferenceStore store) {
+ PHPCompletionProcessor pcp = getJavaProcessor(assistant);
+ if (pcp == null)
return;
-
- String triggers= store.getString(AUTOACTIVATION_TRIGGERS_JAVA);
+
+ String triggers = store.getString(AUTOACTIVATION_TRIGGERS_JAVA);
if (triggers != null)
- jcp.setCompletionProposalAutoActivationCharacters(triggers.toCharArray());
-
-// boolean enabled= store.getBoolean(SHOW_VISIBLE_PROPOSALS);
-// jcp.restrictProposalsToVisibility(enabled);
-//
-// enabled= store.getBoolean(CASE_SENSITIVITY);
-// jcp.restrictProposalsToMatchingCases(enabled);
-//
-// enabled= store.getBoolean(ORDER_PROPOSALS);
-// jcp.orderProposalsAlphabetically(enabled);
-//
-// enabled= store.getBoolean(ADD_IMPORT);
-// jcp.allowAddingImports(enabled);
+ pcp.setCompletionProposalAutoActivationCharacters(triggers
+ .toCharArray());
+ boolean enabled;
+ // boolean enabled= store.getBoolean(SHOW_VISIBLE_PROPOSALS);
+ // jcp.restrictProposalsToVisibility(enabled);
+ //
+ // enabled= store.getBoolean(CASE_SENSITIVITY);
+ // jcp.restrictProposalsToMatchingCases(enabled);
+ //
+ enabled = store.getBoolean(ORDER_PROPOSALS);
+ pcp.orderProposalsAlphabetically(enabled);
+ //
+ // enabled= store.getBoolean(ADD_IMPORT);
+ // jcp.allowAddingImports(enabled);
}
-
- private static void configureJavaDocProcessor(ContentAssistant assistant, IPreferenceStore store) {
- PHPDocCompletionProcessor jdcp= getJavaDocProcessor(assistant);
- if (jdcp == null)
+
+ private static void configureJavaDocProcessor(ContentAssistant assistant,
+ IPreferenceStore store) {
+ PHPDocCompletionProcessor pdcp = getJavaDocProcessor(assistant);
+ if (pdcp == null)
+ return;
+
+ String triggers = store.getString(AUTOACTIVATION_TRIGGERS_JAVADOC);
+ if (triggers != null)
+ pdcp.setCompletionProposalAutoActivationCharacters(triggers
+ .toCharArray());
+
+ boolean enabled = store.getBoolean(CASE_SENSITIVITY);
+ pdcp.restrictProposalsToMatchingCases(enabled);
+
+ enabled = store.getBoolean(ORDER_PROPOSALS);
+ pdcp.orderProposalsAlphabetically(enabled);
+ }
+
+ private static void configureHTMLProcessor(ContentAssistant assistant,
+ IPreferenceStore store) {
+ HTMLCompletionProcessor hcp = getHTMLProcessor(assistant);
+ if (hcp == null)
return;
-
- String triggers= store.getString(AUTOACTIVATION_TRIGGERS_JAVADOC);
+
+ String triggers = store.getString(AUTOACTIVATION_TRIGGERS_HTML);
if (triggers != null)
- jdcp.setCompletionProposalAutoActivationCharacters(triggers.toCharArray());
-
- boolean enabled= store.getBoolean(CASE_SENSITIVITY);
- jdcp.restrictProposalsToMatchingCases(enabled);
-
- enabled= store.getBoolean(ORDER_PROPOSALS);
- jdcp.orderProposalsAlphabetically(enabled);
+ hcp.setCompletionProposalAutoActivationCharacters(triggers
+ .toCharArray());
+
+ boolean enabled;
+ // boolean enabled = store.getBoolean(CASE_SENSITIVITY);
+ // jdcp.restrictProposalsToMatchingCases(enabled);
+
+ enabled = store.getBoolean(ORDER_PROPOSALS);
+ hcp.orderProposalsAlphabetically(enabled);
}
-
+
/**
* Configure the given content assistant from the given store.
*/
- public static void configure(ContentAssistant assistant, IPreferenceStore store) {
-
- JavaTextTools textTools= PHPeclipsePlugin.getDefault().getJavaTextTools();
- IColorManager manager= textTools.getColorManager();
-
-
- boolean enabled= store.getBoolean(AUTOACTIVATION);
+ public static void configure(ContentAssistant assistant,
+ IPreferenceStore store) {
+
+ JavaTextTools textTools = PHPeclipsePlugin.getDefault()
+ .getJavaTextTools();
+ IColorManager manager = textTools.getColorManager();
+
+ boolean enabled = store.getBoolean(AUTOACTIVATION);
assistant.enableAutoActivation(enabled);
-
- int delay= store.getInt(AUTOACTIVATION_DELAY);
+
+ int delay = store.getInt(AUTOACTIVATION_DELAY);
assistant.setAutoActivationDelay(delay);
-
- Color c= getColor(store, PROPOSALS_FOREGROUND, manager);
+
+ Color c = getColor(store, PROPOSALS_FOREGROUND, manager);
assistant.setProposalSelectorForeground(c);
-
- c= getColor(store, PROPOSALS_BACKGROUND, manager);
+
+ c = getColor(store, PROPOSALS_BACKGROUND, manager);
assistant.setProposalSelectorBackground(c);
-
- c= getColor(store, PARAMETERS_FOREGROUND, manager);
+
+ c = getColor(store, PARAMETERS_FOREGROUND, manager);
assistant.setContextInformationPopupForeground(c);
assistant.setContextSelectorForeground(c);
-
- c= getColor(store, PARAMETERS_BACKGROUND, manager);
+
+ c = getColor(store, PARAMETERS_BACKGROUND, manager);
assistant.setContextInformationPopupBackground(c);
assistant.setContextSelectorBackground(c);
-
- enabled= store.getBoolean(AUTOINSERT);
+
+ enabled = store.getBoolean(AUTOINSERT);
assistant.enableAutoInsert(enabled);
configureJavaProcessor(assistant, store);
configureJavaDocProcessor(assistant, store);
+ configureHTMLProcessor(assistant, store);
}
-
-
- private static void changeJavaProcessor(ContentAssistant assistant, IPreferenceStore store, String key) {
- PHPCompletionProcessor jcp= getJavaProcessor(assistant);
+
+ private static void changeJavaProcessor(ContentAssistant assistant,
+ IPreferenceStore store, String key) {
+ PHPCompletionProcessor jcp = getJavaProcessor(assistant);
if (jcp == null)
return;
-
+
if (AUTOACTIVATION_TRIGGERS_JAVA.equals(key)) {
- String triggers= store.getString(AUTOACTIVATION_TRIGGERS_JAVA);
+ String triggers = store.getString(AUTOACTIVATION_TRIGGERS_JAVA);
if (triggers != null)
- jcp.setCompletionProposalAutoActivationCharacters(triggers.toCharArray());
- }
-// else if (SHOW_VISIBLE_PROPOSALS.equals(key)) {
-// boolean enabled= store.getBoolean(SHOW_VISIBLE_PROPOSALS);
-// jcp.restrictProposalsToVisibility(enabled);
-// } else if (CASE_SENSITIVITY.equals(key)) {
-// boolean enabled= store.getBoolean(CASE_SENSITIVITY);
-// jcp.restrictProposalsToMatchingCases(enabled);
-// } else if (ORDER_PROPOSALS.equals(key)) {
-// boolean enable= store.getBoolean(ORDER_PROPOSALS);
-// jcp.orderProposalsAlphabetically(enable);
-// } else if (ADD_IMPORT.equals(key)) {
-// boolean enabled= store.getBoolean(ADD_IMPORT);
-// jcp.allowAddingImports(enabled);
-// }
+ jcp.setCompletionProposalAutoActivationCharacters(triggers
+ .toCharArray());
+ }
+ // else if (SHOW_VISIBLE_PROPOSALS.equals(key)) {
+ // boolean enabled= store.getBoolean(SHOW_VISIBLE_PROPOSALS);
+ // jcp.restrictProposalsToVisibility(enabled);
+ // } else if (CASE_SENSITIVITY.equals(key)) {
+ // boolean enabled= store.getBoolean(CASE_SENSITIVITY);
+ // jcp.restrictProposalsToMatchingCases(enabled); }
+ else if (ORDER_PROPOSALS.equals(key)) {
+ boolean enable = store.getBoolean(ORDER_PROPOSALS);
+ jcp.orderProposalsAlphabetically(enable);
+ // } else if (ADD_IMPORT.equals(key)) {
+ // boolean enabled= store.getBoolean(ADD_IMPORT);
+ // jcp.allowAddingImports(enabled);
+ }
}
-
- private static void changeJavaDocProcessor(ContentAssistant assistant, IPreferenceStore store, String key) {
- PHPDocCompletionProcessor jdcp= getJavaDocProcessor(assistant);
+
+ private static void changeJavaDocProcessor(ContentAssistant assistant,
+ IPreferenceStore store, String key) {
+ PHPDocCompletionProcessor jdcp = getJavaDocProcessor(assistant);
if (jdcp == null)
return;
-
+
if (AUTOACTIVATION_TRIGGERS_JAVADOC.equals(key)) {
- String triggers= store.getString(AUTOACTIVATION_TRIGGERS_JAVADOC);
+ String triggers = store.getString(AUTOACTIVATION_TRIGGERS_JAVADOC);
if (triggers != null)
- jdcp.setCompletionProposalAutoActivationCharacters(triggers.toCharArray());
+ jdcp.setCompletionProposalAutoActivationCharacters(triggers
+ .toCharArray());
} else if (CASE_SENSITIVITY.equals(key)) {
- boolean enabled= store.getBoolean(CASE_SENSITIVITY);
+ boolean enabled = store.getBoolean(CASE_SENSITIVITY);
jdcp.restrictProposalsToMatchingCases(enabled);
} else if (ORDER_PROPOSALS.equals(key)) {
- boolean enable= store.getBoolean(ORDER_PROPOSALS);
+ boolean enable = store.getBoolean(ORDER_PROPOSALS);
jdcp.orderProposalsAlphabetically(enable);
}
}
-
+
+ private static void changeHTMLProcessor(ContentAssistant assistant,
+ IPreferenceStore store, String key) {
+ HTMLCompletionProcessor jdcp = getHTMLProcessor(assistant);
+ if (jdcp == null)
+ return;
+
+ if (AUTOACTIVATION_TRIGGERS_HTML.equals(key)) {
+ String triggers = store.getString(AUTOACTIVATION_TRIGGERS_HTML);
+ if (triggers != null)
+ jdcp.setCompletionProposalAutoActivationCharacters(triggers
+ .toCharArray());
+ // } else if (CASE_SENSITIVITY.equals(key)) {
+ // boolean enabled = store.getBoolean(CASE_SENSITIVITY);
+ // jdcp.restrictProposalsToMatchingCases(enabled);
+ } else if (ORDER_PROPOSALS.equals(key)) {
+ boolean enable = store.getBoolean(ORDER_PROPOSALS);
+ jdcp.orderProposalsAlphabetically(enable);
+ }
+ }
+
/**
- * Changes the configuration of the given content assistant according to the given property
- * change event and the given preference store.
+ * Changes the configuration of the given content assistant according to the
+ * given property change event and the given preference store.
*/
- public static void changeConfiguration(ContentAssistant assistant, IPreferenceStore store, PropertyChangeEvent event) {
-
- String p= event.getProperty();
-
+ public static void changeConfiguration(ContentAssistant assistant,
+ IPreferenceStore store, PropertyChangeEvent event) {
+
+ String p = event.getProperty();
+
if (AUTOACTIVATION.equals(p)) {
- boolean enabled= store.getBoolean(AUTOACTIVATION);
+ boolean enabled = store.getBoolean(AUTOACTIVATION);
assistant.enableAutoActivation(enabled);
} else if (AUTOACTIVATION_DELAY.equals(p)) {
- int delay= store.getInt(AUTOACTIVATION_DELAY);
+ int delay = store.getInt(AUTOACTIVATION_DELAY);
assistant.setAutoActivationDelay(delay);
} else if (PROPOSALS_FOREGROUND.equals(p)) {
- Color c= getColor(store, PROPOSALS_FOREGROUND);
+ Color c = getColor(store, PROPOSALS_FOREGROUND);
assistant.setProposalSelectorForeground(c);
} else if (PROPOSALS_BACKGROUND.equals(p)) {
- Color c= getColor(store, PROPOSALS_BACKGROUND);
+ Color c = getColor(store, PROPOSALS_BACKGROUND);
assistant.setProposalSelectorBackground(c);
} else if (PARAMETERS_FOREGROUND.equals(p)) {
- Color c= getColor(store, PARAMETERS_FOREGROUND);
+ Color c = getColor(store, PARAMETERS_FOREGROUND);
assistant.setContextInformationPopupForeground(c);
assistant.setContextSelectorForeground(c);
} else if (PARAMETERS_BACKGROUND.equals(p)) {
- Color c= getColor(store, PARAMETERS_BACKGROUND);
+ Color c = getColor(store, PARAMETERS_BACKGROUND);
assistant.setContextInformationPopupBackground(c);
assistant.setContextSelectorBackground(c);
} else if (AUTOINSERT.equals(p)) {
- boolean enabled= store.getBoolean(AUTOINSERT);
+ boolean enabled = store.getBoolean(AUTOINSERT);
assistant.enableAutoInsert(enabled);
}
-
+
changeJavaProcessor(assistant, store, p);
changeJavaDocProcessor(assistant, store, p);
+ changeHTMLProcessor(assistant, store, p);
}
public static boolean fillArgumentsOnMethodCompletion(IPreferenceStore store) {
return store.getBoolean(FILL_METHOD_ARGUMENTS);
}
}
-