(function(c){"object"==typeof exports&&"object"==typeof module?c(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],c):c(CodeMirror)})(function(c){c.defineMode("http",function(){function f(a,b){a.skipToEnd();b.cur=e;return"error"}function h(a,b){return a.match(/^HTTP\/\d\.\d/)?(b.cur=k,"keyword"):a.match(/^[A-Z]+/)&&/[ \t]/.test(a.peek())?(b.cur=l,"keyword"):f(a,b)}function k(a,b){var d=a.match(/^\d+/);if(!d)return f(a,b);b.cur=m;a=Number(d[0]);
return 100<=a&&200>a?"positive informational":200<=a&&300>a?"positive success":300<=a&&400>a?"positive redirect":400<=a&&500>a?"negative client-error":500<=a&&600>a?"negative server-error":"error"}function m(a,b){a.skipToEnd();b.cur=e;return null}function l(a,b){a.eatWhile(/\S/);b.cur=n;return"string-2"}function n(a,b){return a.match(/^HTTP\/\d\.\d$/)?(b.cur=e,"keyword"):f(a,b)}function e(a){if(a.sol()&&!a.eat(/[ \t]/)){if(a.match(/^.*?:/))return"atom";a.skipToEnd();return"error"}a.skipToEnd();return"string"}
function g(a){a.skipToEnd();return null}return{token:function(a,b){var d=b.cur;return d!=e&&d!=g&&a.eatSpace()?null:d(a,b)},blankLine:function(a){a.cur=g},startState:function(){return{cur:h}}}});c.defineMIME("message/http","http")});
