var n, r;
function s() {
  if (r)
    return n;
  r = 1;
  function i(e) {
    const a = "[a-z][a-zA-Z0-9_]*", t = {
      className: "string",
      begin: "\\$.{1}"
    }, l = {
      className: "symbol",
      begin: "#" + e.UNDERSCORE_IDENT_RE
    };
    return {
      name: "Smalltalk",
      aliases: ["st"],
      keywords: [
        "self",
        "super",
        "nil",
        "true",
        "false",
        "thisContext"
      ],
      contains: [
        e.COMMENT('"', '"'),
        e.APOS_STRING_MODE,
        {
          className: "type",
          begin: "\\b[A-Z][A-Za-z0-9_]*",
          relevance: 0
        },
        {
          begin: a + ":",
          relevance: 0
        },
        e.C_NUMBER_MODE,
        l,
        t,
        {
          // This looks more complicated than needed to avoid combinatorial
          // explosion under V8. It effectively means `| var1 var2 ... |` with
          // whitespace adjacent to `|` being optional.
          begin: "\\|[ ]*" + a + "([ ]+" + a + ")*[ ]*\\|",
          returnBegin: !0,
          end: /\|/,
          illegal: /\S/,
          contains: [{ begin: "(\\|[ ]*)?" + a }]
        },
        {
          begin: "#\\(",
          end: "\\)",
          contains: [
            e.APOS_STRING_MODE,
            t,
            e.C_NUMBER_MODE,
            l
          ]
        }
      ]
    };
  }
  return n = i, n;
}
export {
  s as __require
};
