f.displayName = "javadoclike";
f.aliases = [];
function f(c) {
  (function(i) {
    var p = i.languages.javadoclike = {
      parameter: {
        pattern: /(^[\t ]*(?:\/{3}|\*|\/\*\*)\s*@(?:arg|arguments|param)\s+)\w+/m,
        lookbehind: !0
      },
      keyword: {
        // keywords are the first word in a line preceded be an `@` or surrounded by curly braces.
        // @word, {@word}
        pattern: /(^[\t ]*(?:\/{3}|\*|\/\*\*)\s*|\{)@[a-z][a-zA-Z-]+\b/m,
        lookbehind: !0
      },
      punctuation: /[{}]/
    };
    function s(t, n) {
      var r = "doc-comment", a = i.languages[t];
      if (a) {
        var e = a[r];
        if (!e) {
          var d = {};
          d[r] = {
            pattern: /(^|[^\\])\/\*\*[^/][\s\S]*?(?:\*\/|$)/,
            lookbehind: !0,
            alias: "comment"
          }, a = i.languages.insertBefore(t, "comment", d), e = a[r];
        }
        if (e instanceof RegExp && (e = a[r] = {
          pattern: e
        }), Array.isArray(e))
          for (var o = 0, m = e.length; o < m; o++)
            e[o] instanceof RegExp && (e[o] = {
              pattern: e[o]
            }), n(e[o]);
        else
          n(e);
      }
    }
    function u(t, n) {
      typeof t == "string" && (t = [t]), t.forEach(function(r) {
        s(r, function(a) {
          a.inside || (a.inside = {}), a.inside.rest = n;
        });
      });
    }
    Object.defineProperty(p, "addSupport", {
      value: u
    }), p.addSupport(["java", "javascript", "php"], p);
  })(c);
}
export {
  f as default
};
//# sourceMappingURL=javadoclike.es.js.map
