import { __require as i } from "./markup-templating.mjs";
var r, s;
function d() {
  if (s)
    return r;
  s = 1;
  var l = i();
  r = e, e.displayName = "handlebars", e.aliases = ["hbs"];
  function e(t) {
    t.register(l), function(a) {
      a.languages.handlebars = {
        comment: /\{\{![\s\S]*?\}\}/,
        delimiter: {
          pattern: /^\{\{\{?|\}\}\}?$/,
          alias: "punctuation"
        },
        string: /(["'])(?:\\.|(?!\1)[^\\\r\n])*\1/,
        number: /\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee][+-]?\d+)?/,
        boolean: /\b(?:false|true)\b/,
        block: {
          pattern: /^(\s*(?:~\s*)?)[#\/]\S+?(?=\s*(?:~\s*)?$|\s)/,
          lookbehind: !0,
          alias: "keyword"
        },
        brackets: {
          pattern: /\[[^\]]+\]/,
          inside: {
            punctuation: /\[|\]/,
            variable: /[\s\S]+/
          }
        },
        punctuation: /[!"#%&':()*+,.\/;<=>@\[\\\]^`{|}~]/,
        variable: /[^!"#%&'()*+,\/;<=>@\[\\\]^`{|}~\s]+/
      }, a.hooks.add("before-tokenize", function(n) {
        var u = /\{\{\{[\s\S]+?\}\}\}|\{\{[\s\S]+?\}\}/g;
        a.languages["markup-templating"].buildPlaceholders(n, "handlebars", u);
      }), a.hooks.add("after-tokenize", function(n) {
        a.languages["markup-templating"].tokenizePlaceholders(n, "handlebars");
      }), a.languages.hbs = a.languages.handlebars;
    }(t);
  }
  return r;
}
export {
  d as __require
};
