Current File : /home/pacjaorg/public_html/kmm/media/vendor/codemirror/mode/turtle/turtle.min.js |
(function(o){typeof exports=="object"&&typeof module=="object"?o(require("../../lib/codemirror")):typeof define=="function"&&define.amd?define(["../../lib/codemirror"],o):o(CodeMirror)})(function(o){"use strict";o.defineMode("turtle",function(v){var y=v.indentUnit,r;function f(n){return new RegExp("^(?:"+n.join("|")+")$","i")}var h=f([]),p=f(["@prefix","@base","a"]),x=/[*+\-<>=&|]/;function d(n,e){var t=n.next();if(r=null,t=="<"&&!n.match(/^[\s\u00a0=]/,!1))return n.match(/^[^\s\u00a0>]*>?/),"atom";if(t=='"'||t=="'")return e.tokenize=k(t),e.tokenize(n,e);if(/[{}\(\),\.;\[\]]/.test(t))return r=t,null;if(t=="#")return n.skipToEnd(),"comment";if(x.test(t))return n.eatWhile(x),null;if(t==":")return"operator";if(n.eatWhile(/[_\w\d]/),n.peek()==":")return"variable-3";var i=n.current();return p.test(i)?"meta":t>="A"&&t<="Z"?"comment":"keyword";var i=n.current();return h.test(i)?null:p.test(i)?"meta":"variable"}function k(n){return function(e,t){for(var i=!1,l;(l=e.next())!=null;){if(l==n&&!i){t.tokenize=d;break}i=!i&&l=="\\"}return"string"}}function c(n,e,t){n.context={prev:n.context,indent:n.indent,col:t,type:e}}function u(n){n.indent=n.context.indent,n.context=n.context.prev}return{startState:function(){return{tokenize:d,context:null,indent:0,col:0}},token:function(n,e){if(n.sol()&&(e.context&&e.context.align==null&&(e.context.align=!1),e.indent=n.indentation()),n.eatSpace())return null;var t=e.tokenize(n,e);if(t!="comment"&&e.context&&e.context.align==null&&e.context.type!="pattern"&&(e.context.align=!0),r=="(")c(e,")",n.column());else if(r=="[")c(e,"]",n.column());else if(r=="{")c(e,"}",n.column());else if(/[\]\}\)]/.test(r)){for(;e.context&&e.context.type=="pattern";)u(e);e.context&&r==e.context.type&&u(e)}else r=="."&&e.context&&e.context.type=="pattern"?u(e):/atom|string|variable/.test(t)&&e.context&&(/[\}\]]/.test(e.context.type)?c(e,"pattern",n.column()):e.context.type=="pattern"&&!e.context.align&&(e.context.align=!0,e.context.col=n.column()));return t},indent:function(n,e){var t=e&&e.charAt(0),i=n.context;if(/[\]\}]/.test(t))for(;i&&i.type=="pattern";)i=i.prev;var l=i&&t==i.type;return i?i.type=="pattern"?i.col:i.align?i.col+(l?0:1):i.indent+(l?0:y):0},lineComment:"#"}}),o.defineMIME("text/turtle","turtle")});