You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ngcp-panel/share/static/js/libs/codemirror/mode/yaml-min.js

1 line
1.9 KiB

(function(a){if(typeof exports=="object"&&typeof module=="object"){a(require("../../lib/codemirror"))}else{if(typeof define=="function"&&define.amd){define(["../../lib/codemirror"],a)}else{a(CodeMirror)}}})(function(a){a.defineMode("yaml",function(){var b=["true","false","on","off","yes","no"];var c=new RegExp("\\b(("+b.join(")|(")+"))$","i");return{token:function(g,f){var e=g.peek();var d=f.escaped;f.escaped=false;if(e=="#"&&(g.pos==0||/\s/.test(g.string.charAt(g.pos-1)))){g.skipToEnd();return"comment"}if(g.match(/^('([^']|\\.)*'?|"([^"]|\\.)*"?)/)){return"string"}if(f.literal&&g.indentation()>f.keyCol){g.skipToEnd();return"string"}else{if(f.literal){f.literal=false}}if(g.sol()){f.keyCol=0;f.pair=false;f.pairStart=false;if(g.match(/---/)){return"def"}if(g.match(/\.\.\./)){return"def"}if(g.match(/\s*-\s+/)){return"meta"}}if(g.match(/^(\{|\}|\[|\])/)){if(e=="{"){f.inlinePairs++}else{if(e=="}"){f.inlinePairs--}else{if(e=="["){f.inlineList++}else{f.inlineList--}}}return"meta"}if(f.inlineList>0&&!d&&e==","){g.next();return"meta"}if(f.inlinePairs>0&&!d&&e==","){f.keyCol=0;f.pair=false;f.pairStart=false;g.next();return"meta"}if(f.pairStart){if(g.match(/^\s*(\||\>)\s*/)){f.literal=true;return"meta"}if(g.match(/^\s*(\&|\*)[a-z0-9\._-]+\b/i)){return"variable-2"}if(f.inlinePairs==0&&g.match(/^\s*-?[0-9\.\,]+\s?$/)){return"number"}if(f.inlinePairs>0&&g.match(/^\s*-?[0-9\.\,]+\s?(?=(,|}))/)){return"number"}if(g.match(c)){return"keyword"}}if(!f.pair&&g.match(/^\s*(?:[,\[\]{}&*!|>'"%@`][^\s'":]|[^,\[\]{}#&*!|>'"%@`])[^#]*?(?=\s*:($|\s))/)){f.pair=true;f.keyCol=g.indentation();return"atom"}if(f.pair&&g.match(/^:\s*/)){f.pairStart=true;return"meta"}f.pairStart=false;f.escaped=(e=="\\");g.next();return null},startState:function(){return{pair:false,pairStart:false,keyCol:0,inlinePairs:0,inlineList:0,literal:false,escaped:false}},lineComment:"#",fold:"indent"}});a.defineMIME("text/x-yaml","yaml");a.defineMIME("text/yaml","yaml")});