public void registerReferenceProviders()

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");
  }