summaryrefslogtreecommitdiff
path: root/public/vendor/codemirror/mode/dockerfile
diff options
context:
space:
mode:
authorWu Cheng-Han2015-05-04 15:53:29 +0800
committerWu Cheng-Han2015-05-04 15:53:29 +0800
commit4b0ca55eb79e963523eb6c8197825e9e8ae904e2 (patch)
tree574f3923af77b37b41dbf1b00bcd7827ef724a28 /public/vendor/codemirror/mode/dockerfile
parent61eb11d23c65c9e5c493c67d055f785cbec139e2 (diff)
First commit, version 0.2.7
Diffstat (limited to '')
-rwxr-xr-xpublic/vendor/codemirror/mode/dockerfile/dockerfile.js76
-rwxr-xr-xpublic/vendor/codemirror/mode/dockerfile/index.html73
2 files changed, 149 insertions, 0 deletions
diff --git a/public/vendor/codemirror/mode/dockerfile/dockerfile.js b/public/vendor/codemirror/mode/dockerfile/dockerfile.js
new file mode 100755
index 00000000..6d517750
--- /dev/null
+++ b/public/vendor/codemirror/mode/dockerfile/dockerfile.js
@@ -0,0 +1,76 @@
+// CodeMirror, copyright (c) by Marijn Haverbeke and others
+// Distributed under an MIT license: http://codemirror.net/LICENSE
+
+(function(mod) {
+ if (typeof exports == "object" && typeof module == "object") // CommonJS
+ mod(require("../../lib/codemirror"), require("../../addon/mode/simple"));
+ else if (typeof define == "function" && define.amd) // AMD
+ define(["../../lib/codemirror", "../../addon/mode/simple"], mod);
+ else // Plain browser env
+ mod(CodeMirror);
+})(function(CodeMirror) {
+ "use strict";
+
+ // Collect all Dockerfile directives
+ var instructions = ["from", "maintainer", "run", "cmd", "expose", "env",
+ "add", "copy", "entrypoint", "volume", "user",
+ "workdir", "onbuild"],
+ instructionRegex = "(" + instructions.join('|') + ")",
+ instructionOnlyLine = new RegExp(instructionRegex + "\\s*$", "i"),
+ instructionWithArguments = new RegExp(instructionRegex + "(\\s+)", "i");
+
+ CodeMirror.defineSimpleMode("dockerfile", {
+ start: [
+ // Block comment: This is a line starting with a comment
+ {
+ regex: /#.*$/,
+ token: "comment"
+ },
+ // Highlight an instruction without any arguments (for convenience)
+ {
+ regex: instructionOnlyLine,
+ token: "variable-2"
+ },
+ // Highlight an instruction followed by arguments
+ {
+ regex: instructionWithArguments,
+ token: ["variable-2", null],
+ next: "arguments"
+ },
+ {
+ regex: /./,
+ token: null
+ }
+ ],
+ arguments: [
+ {
+ // Line comment without instruction arguments is an error
+ regex: /#.*$/,
+ token: "error",
+ next: "start"
+ },
+ {
+ regex: /[^#]+\\$/,
+ token: null
+ },
+ {
+ // Match everything except for the inline comment
+ regex: /[^#]+/,
+ token: null,
+ next: "start"
+ },
+ {
+ regex: /$/,
+ token: null,
+ next: "start"
+ },
+ // Fail safe return to start
+ {
+ token: null,
+ next: "start"
+ }
+ ]
+ });
+
+ CodeMirror.defineMIME("text/x-dockerfile", "dockerfile");
+});
diff --git a/public/vendor/codemirror/mode/dockerfile/index.html b/public/vendor/codemirror/mode/dockerfile/index.html
new file mode 100755
index 00000000..a31759bc
--- /dev/null
+++ b/public/vendor/codemirror/mode/dockerfile/index.html
@@ -0,0 +1,73 @@
+<!doctype html>
+
+<title>CodeMirror: Dockerfile mode</title>
+<meta charset="utf-8"/>
+<link rel=stylesheet href="../../doc/docs.css">
+
+<link rel="stylesheet" href="../../lib/codemirror.css">
+<script src="../../lib/codemirror.js"></script>
+<script src="../../addon/mode/simple.js"></script>
+<script src="dockerfile.js"></script>
+<style type="text/css">.CodeMirror {border-top: 1px solid black; border-bottom: 1px solid black;}</style>
+<div id=nav>
+ <a href="http://codemirror.net"><h1>CodeMirror</h1><img id=logo src="../../doc/logo.png"></a>
+
+ <ul>
+ <li><a href="../../index.html">Home</a>
+ <li><a href="../../doc/manual.html">Manual</a>
+ <li><a href="https://github.com/codemirror/codemirror">Code</a>
+ </ul>
+ <ul>
+ <li><a href="../index.html">Language modes</a>
+ <li><a class=active href="#">Dockerfile</a>
+ </ul>
+</div>
+
+<article>
+<h2>Dockerfile mode</h2>
+<form><textarea id="code" name="code"># Install Ghost blogging platform and run development environment
+#
+# VERSION 1.0.0
+
+FROM ubuntu:12.10
+MAINTAINER Amer Grgic "amer@livebyt.es"
+WORKDIR /data/ghost
+
+# Install dependencies for nginx installation
+RUN apt-get update
+RUN apt-get install -y python g++ make software-properties-common --force-yes
+RUN add-apt-repository ppa:chris-lea/node.js
+RUN apt-get update
+# Install unzip
+RUN apt-get install -y unzip
+# Install curl
+RUN apt-get install -y curl
+# Install nodejs & npm
+RUN apt-get install -y rlwrap
+RUN apt-get install -y nodejs
+# Download Ghost v0.4.1
+RUN curl -L https://ghost.org/zip/ghost-latest.zip -o /tmp/ghost.zip
+# Unzip Ghost zip to /data/ghost
+RUN unzip -uo /tmp/ghost.zip -d /data/ghost
+# Add custom config js to /data/ghost
+ADD ./config.example.js /data/ghost/config.js
+# Install Ghost with NPM
+RUN cd /data/ghost/ && npm install --production
+# Expose port 2368
+EXPOSE 2368
+# Run Ghost
+CMD ["npm","start"]
+</textarea></form>
+
+ <script>
+ var editor = CodeMirror.fromTextArea(document.getElementById("code"), {
+ lineNumbers: true,
+ mode: "dockerfile"
+ });
+ </script>
+
+ <p>Dockerfile syntax highlighting for CodeMirror. Depends on
+ the <a href="../../demo/simplemode.html">simplemode</a> addon.</p>
+
+ <p><strong>MIME types defined:</strong> <code>text/x-dockerfile</code></p>
+ </article>