Incs/codemirror/mode/dockerfile/test.js

(开头部分) 2KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

// CodeMirror, copyright (c) by Marijn Haverbeke and others
// Distributed under an MIT license: https://codemirror.net/LICENSE

(function() {
  var mode = CodeMirror.getMode({indentUnit: 2}, "text/x-dockerfile");
  function MT(name) { test.mode(name, mode, Array.prototype.slice.call(arguments, 1)); }

  MT("simple_nodejs_dockerfile",
     "[keyword FROM] node:carbon",
     "[comment # Create app directory]",
     "[keyword WORKDIR] /usr/src/app",
     "[comment # Install app dependencies]",
     "[comment # A wildcard is used to ensure both package.json AND package-lock.json are copied]",
     "[comment # where available (npm@5+)]",
     "[keyword COPY] package*.json ./",
     "[keyword RUN] npm install",
     "[keyword COPY] . .",
     "[keyword EXPOSE] [number 8080] [number 3000]",
     "[keyword ENV] NODE_ENV development",
     "[keyword CMD] [[ [string \"npm\"], [string \"start\"] ]]");

  // Ideally the last space should not be highlighted.
  MT("instruction_without_args_1",
     "[keyword CMD] ");

  MT("instruction_without_args_2",
     "[comment # An instruction without args...]",
     "[keyword ARG] [error #...is an error]");

  MT("multiline",
     "[keyword RUN] apt-get update && apt-get install -y \\",
     "  mercurial \\",
     "  subversion \\",
     "  && apt-get clean \\",
     "  && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*");

  MT("from_comment",
     "  [keyword FROM] debian:stretch # I tend to use stable as that is more stable",
     "  [keyword FROM] debian:stretch [keyword AS] stable # I am even more stable",
     " [keyword FROM] [error # this is an error]");

  MT("from_as",
     "[keyword FROM] golang:1.9.2-alpine3.6 [keyword AS] build",
     "[keyword COPY] --from=build /bin/project /bin/project",
     "[keyword ENTRYPOINT] [[ [string \"/bin/project\"] ]]",
     "[keyword CMD] [[ [string \"--help\"] ]]");

  MT("arg",
     "[keyword ARG] VERSION=latest",
     "[keyword FROM] busybox:$VERSION",
     "[keyword ARG] VERSION",
     "[keyword RUN] echo $VERSION > image_version");

  MT("label",
     "[keyword LABEL] com.example.label-with-value=[string \"foo\"]");

  MT("label_multiline",
     "[keyword LABEL] description=[string \"This text illustrates ]\\",
     "[string that label-values can span multiple lines.\"]");

24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明

AI 解读

登录后可用,每次 10 积分,解读结果公开显示在下面。

还没有人解读过这个文件。