!(function (e) { var n = '(?:[ \t]+(?![ \t])(?:)?|)'.replace( //g, function () { return '\\\\[\r\n](?:\\s|\\\\[\r\n]|#.*(?!.))*(?![\\s#]|\\\\[\r\n])'; } ), r = '"(?:[^"\\\\\r\n]|\\\\(?:\r\n|[^]))*"|\'(?:[^\'\\\\\r\n]|\\\\(?:\r\n|[^]))*\'', t = '--[\\w-]+=(?:|(?!["\'])(?:[^\\s\\\\]|\\\\.)+)'.replace( //g, function () { return r; } ), o = { pattern: RegExp(r), greedy: !0 }, i = { pattern: /(^[ \t]*)#.*/m, lookbehind: !0, greedy: !0 }; function a(e, r) { return ( (e = e .replace(//g, function () { return t; }) .replace(//g, function () { return n; })), RegExp(e, r) ); } (e.languages.docker = { instruction: { pattern: /(^[ \t]*)(?:ADD|ARG|CMD|COPY|ENTRYPOINT|ENV|EXPOSE|FROM|HEALTHCHECK|LABEL|MAINTAINER|ONBUILD|RUN|SHELL|STOPSIGNAL|USER|VOLUME|WORKDIR)(?=\s)(?:\\.|[^\r\n\\])*(?:\\$(?:\s|#.*$)*(?![\s#])(?:\\.|[^\r\n\\])*)*/im, lookbehind: !0, greedy: !0, inside: { options: { pattern: a('(^(?:ONBUILD)?\\w+)(?:)*', 'i'), lookbehind: !0, greedy: !0, inside: { property: { pattern: /(^|\s)--[\w-]+/, lookbehind: !0 }, string: [ o, { pattern: /(=)(?!["'])(?:[^\s\\]|\\.)+/, lookbehind: !0 }, ], operator: /\\$/m, punctuation: /=/, }, }, keyword: [ { pattern: a( '(^(?:ONBUILD)?HEALTHCHECK(?:)*)(?:CMD|NONE)\\b', 'i' ), lookbehind: !0, greedy: !0, }, { pattern: a( '(^(?:ONBUILD)?FROM(?:)*(?!--)[^ \t\\\\]+)AS', 'i' ), lookbehind: !0, greedy: !0, }, { pattern: a('(^ONBUILD)\\w+', 'i'), lookbehind: !0, greedy: !0 }, { pattern: /^\w+/, greedy: !0 }, ], comment: i, string: o, variable: /\$(?:\w+|\{[^{}"'\\]*\})/, operator: /\\$/m, }, }, comment: i, }), (e.languages.dockerfile = e.languages.docker); })(Prism);