UNPKG

@loftysoul/soul

Version:

The professional Content Management System, based ghost

10 lines (9 loc) 1.18 kB
(function(e){"object"==typeof exports&&"object"==typeof module?e(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],e):e(CodeMirror)})((function(e){"use strict" var t=["package","message","import","syntax","required","optional","repeated","reserved","default","extensions","packed","bool","bytes","double","enum","float","string","int32","int64","uint32","uint64","sint32","sint64","fixed32","fixed64","sfixed32","sfixed64","option","service","rpc","returns"],r=new RegExp("^(("+t.join(")|(")+"))\\b","i") e.registerHelper("hintWords","protobuf",t) var n=new RegExp("^[_A-Za-z¡-￿][_A-Za-z0-9¡-￿]*") function i(e){if(e.eatSpace())return null if(e.match("//"))return e.skipToEnd(),"comment" if(e.match(/^[0-9\.+-]/,!1)){if(e.match(/^[+-]?0x[0-9a-fA-F]+/))return"number" if(e.match(/^[+-]?\d*\.\d+([EeDd][+-]?\d+)?/))return"number" if(e.match(/^[+-]?\d+([EeDd][+-]?\d+)?/))return"number"}return e.match(/^"([^"]|(""))*"/)?"string":e.match(/^'([^']|(''))*'/)?"string":e.match(r)?"keyword":e.match(n)?"variable":(e.next(),null)}e.defineMode("protobuf",(function(){return{token:i}})),e.defineMIME("text/x-protobuf","protobuf")}))