in struts2/src/main/java/com/intellij/struts2/reference/StrutsJQueryTaglibReferenceContributor.java [67:199]
public void registerReferenceProviders(@NotNull final PsiReferenceRegistrar registrar) {
// common attributes -------------------------------------
// CSS*
installCSS(registrar, CSS_TAGS);
// button
registerBoolean("button", registrar, BUTTON_TAGS);
registerTags(Holder.CSS_CLASS_PROVIDER, "buttonIcon", registrar, BUTTON_TAGS);
registerTags(Holder.CSS_CLASS_PROVIDER, "buttonIconSecondary", registrar, BUTTON_TAGS);
// effect
installEffect(registrar, "a", "div", "gridColumn", "radio", "submit", "tab", "textfield", "textarea");
// draggable*
installDraggable(registrar, DRAG_DROP_TAGS);
// droppable*
installDroppable(registrar, DRAG_DROP_TAGS);
// "events"
installEvents(registrar, "autocompleter", "div", "select");
// sortable**
installSortable(registrar, SORTABLE_TAGS);
// "resizableXX"
installResizable(registrar, RESIZABLE_TAGS);
// "selectable"
installSelectable(registrar, SELECTABLE_TAGS);
// "indicator"
installIndicator(registrar, "a", "autocompleter", "checkboxlist", "dialog", "div", "grid", "gridColumn",
"submit", "textfield", "textarea", "radio", "select");
// "errorElementId"
installErrorElementId(registrar, "a", "autocompleter", "checkboxlist", "dialog", "grid", "radio", "select", "submit", "tab",
"textfield");
// "disabled"
registerBoolean("disabled", registrar, ArrayUtil.mergeArrays(CSS_TAGS, REQUIRED_TAGS));
// "validate"
registerTags(new StaticStringValuesReferenceProvider(false, "true", "false", "only"),
"validate", registrar,
"a", "dialog", "grid", "gridColumn", "select", "submit", "tab", "textarea", "textfield");
// "required[position]"
installRequired(registrar, REQUIRED_TAGS);
// "targets"
installTargets(registrar, "a", "autocompleter", "checkboxlist", "dialog", "grid", "gridColumn", "select",
"submit", "textarea", "textfield", "tab");
// "labelposition"
installLabelposition(registrar, ArrayUtil.mergeArrays(CSS_TAGS, REQUIRED_TAGS));
// specific tags --------------------------------------------------------------
// <head>
registerBoolean("ajaxcache", registrar, "head");
registerBoolean("ajaxhistory", registrar, "head");
registerBoolean("compressed", registrar, "head");
registerTags(Holder.HTML_ID_REFERENCE_PROVIDER, "defaultIndicator", registrar, "head");
registerTags(new StaticStringValuesReferenceProvider("black-tie", "blitzer", "cupertino", "dot-luv",
"eggplant", "excite-bike", "flick", "hot-sneaks",
"humanity", "le-frog", "mint-choc", "overcast",
"pepper-grinder", "redmond", "smoothness", "start",
"sunny", "swanky-purse", "trontastic", "ui-darkness",
"ui-lightness", "vader"),
"jquerytheme", registrar, "head");
registerBoolean("jqueryui", registrar, "head");
registerBoolean("loadFromGoogle", registrar, "head");
// <submit>
registerBoolean("clearForm", registrar, "submit");
registerTags(Holder.RELATIVE_PATH_PROVIDER, "href", registrar, "submit");
registerBoolean("iframe", registrar, "submit");
registerBoolean("resetForm", registrar, "submit");
registerTags(new StaticStringValuesReferenceProvider(false, "button", "input", "image"),
"type", registrar, "submit");
// <dialog>
registerBoolean("autoOpen", registrar, "dialog");
registerTags(Holder.CSS_CLASS_PROVIDER, "dialogClass", registrar, "dialog");
registerTags(ALL_EFFECTS_PROVIDER, "hideEffect", registrar, "dialog");
registerBoolean("modal", registrar, "dialog");
registerTags(ALL_EFFECTS_PROVIDER, "showEffect", registrar, "dialog");
// <accordion>
registerTags(new StaticStringValuesReferenceProvider("false", "slide", "bounceslide", "fade"),
"animate", registrar, "accordion");
registerTags(new StaticStringValuesReferenceProvider("auto", "content", "fill"),
"heightStyle", registrar, "accordion");
registerBoolean("collapsible", registrar, "accordion");
registerBoolean("openOnMouseover", registrar, "accordion");
// <tabbedpanel>
registerTags(ALL_EFFECTS_PROVIDER, "hide", registrar, "tabbedpanel");
registerTags(ALL_EFFECTS_PROVIDER, "show", registrar, "tabbedpanel");
registerBoolean("cache", registrar, "tabbedpanel");
registerBoolean("collapsible", registrar, "tabbedpanel");
registerBoolean("openOnMouseover", registrar, "tabbedpanel");
registerBoolean("useSelectedTabCookie", registrar, "tabbedpanel");
// <tab>
registerTags(Holder.HTML_ID_REFERENCE_PROVIDER, "target", registrar, "tab");
// <datepicker>
registerBoolean("buttonImageOnly", registrar, "datepicker");
registerBoolean("changeMonth", registrar, "datepicker");
registerBoolean("changeYear", registrar, "datepicker");
registerTags(new StaticStringValuesReferenceProvider(false, "slow", "normal", "fast"),
"duration", registrar, "datepicker");
registerTags(new StaticStringValuesReferenceProvider(false, "0", "1", "2", "3", "4", "5", "6"),
"firstDay", registrar, "datepicker");
registerTags(new StaticStringValuesReferenceProvider("show", "slideDown", "fadeIn"),
"showAnim", registrar, "datepicker");
registerBoolean("showButtonPanel", registrar, "datepicker");
registerTags(new StaticStringValuesReferenceProvider(false, "focus", "button", "both"),
"showOn", registrar, "datepicker");
// <slider>
registerBoolean("animate", registrar, "slider");
registerTags(Holder.HTML_ID_REFERENCE_PROVIDER, "displayValueElement", registrar, "slider");
registerTags(new StaticStringValuesReferenceProvider(false, "horizontal", "vertical", "auto"),
"orientation", registrar, "slider");
// <select>
registerBoolean("emptyOption", registrar, "select");
}