2023-01-16 22:26:34 +00:00
ace . define ( "ace/mode/sparql_highlight_rules" , [ "require" , "exports" , "module" , "ace/lib/oop" , "ace/mode/text_highlight_rules" ] , function ( require , exports , module ) { /* This file was autogenerated from sparql.tmLanguage (uuid: ) */
2017-02-05 20:05:00 +00:00
"use strict" ;
var oop = require ( "../lib/oop" ) ;
var TextHighlightRules = require ( "./text_highlight_rules" ) . TextHighlightRules ;
2023-01-16 22:26:34 +00:00
var SPARQLHighlightRules = function ( ) {
2017-02-05 20:05:00 +00:00
this . $rules = {
start : [ {
2023-01-16 22:26:34 +00:00
include : "#comments"
} , {
include : "#strings"
} , {
include : "#string-language-suffixes"
} , {
include : "#string-datatype-suffixes"
} , {
include : "#logic-operators"
} , {
include : "#relative-urls"
} , {
include : "#xml-schema-types"
} , {
include : "#rdf-schema-types"
} , {
include : "#owl-types"
} , {
include : "#qnames"
} , {
include : "#keywords"
} , {
include : "#built-in-functions"
} , {
include : "#variables"
} , {
include : "#boolean-literal"
} , {
include : "#punctuation-operators"
} ] ,
2017-02-05 20:05:00 +00:00
"#boolean-literal" : [ {
2023-01-16 22:26:34 +00:00
token : "constant.language.boolean.sparql" ,
regex : /true|false/
} ] ,
2017-02-05 20:05:00 +00:00
"#built-in-functions" : [ {
2023-01-16 22:26:34 +00:00
token : "support.function.sparql" ,
regex : /[Aa][Bb][Ss]|[Aa][Vv][Gg]|[Bb][Nn][Oo][Dd][Ee]|[Bb][Oo][Uu][Nn][Dd]|[Cc][Ee][Ii][Ll]|[Cc][Oo][Aa][Ll][Ee][Ss][Cc][Ee]|[Cc][Oo][Nn][Cc][Aa][Tt]|[Cc][Oo][Nn][Tt][Aa][Ii][Nn][Ss]|[Cc][Oo][Uu][Nn][Tt]|[Dd][Aa][Tt][Aa][Tt][Yy][Pp][Ee]|[Dd][Aa][Yy]|[Ee][Nn][Cc][Oo][Dd][Ee]_[Ff][Oo][Rr]_[Uu][Rr][Ii]|[Ee][Xx][Ii][Ss][Tt][Ss]|[Ff][Ll][Oo][Oo][Rr]|[Gg][Rr][Oo][Uu][Pp]_[Cc][Oo][Nn][Cc][Aa][Tt]|[Hh][Oo][Uu][Rr][Ss]|[Ii][Ff]|[Ii][Rr][Ii]|[Ii][Ss][Bb][Ll][Aa][Nn][Kk]|[Ii][Ss][Ii][Rr][Ii]|[Ii][Ss][Ll][Ii][Tt][Ee][Rr][Aa][Ll]|[Ii][Ss][Nn][Uu][Mm][Ee][Rr][Ii][Cc]|[Ii][Ss][Uu][Rr][Ii]|[Ll][Aa][Nn][Gg]|[Ll][Aa][Nn][Gg][Mm][Aa][Tt][Cc][Hh][Ee][Ss]|[Ll][Cc][Aa][Ss][Ee]|[Mm][Aa][Xx]|[Mm][Dd]5|[Mm][Ii][Nn]|[Mm][Ii][Nn][Uu][Tt][Ee][Ss]|[Mm][Oo][Nn][Tt][Hh]|[Nn][Oo][Ww]|[Rr][Aa][Nn][Dd]|[Rr][Ee][Gg][Ee][Xx]|[Rr][Ee][Pp][Ll][Aa][Cc][Ee]|[Rr][Oo][Uu][Nn][Dd]|[Ss][Aa][Mm][Ee][Tt][Ee][Rr][Mm]|[Ss][Aa][Mm][Pp][Ll][Ee]|[Ss][Ee][Cc][Oo][Nn][Dd][Ss]|[Ss][Ee][Pp][Aa][Rr][Aa][Tt][Oo][Rr]|[Ss][Hh][Aa](?:1|256|384|512)|[Ss][Tt][Rr]|[Ss][Tt][Rr][Aa][Ff][Tt][Ee][Rr]|[Ss][Tt][Rr][Bb][Ee][Ff][Oo][Rr][Ee]|[Ss][Tt][Rr][Dd][Tt]|[Ss][Tt][Rr][Ee][Nn][Dd][Ss]|[Ss][Tt][Rr][Ll][Aa][Nn][Gg]|[Ss][Tt][Rr][Ll][Ee][Nn]|[Ss][Tt][Rr][Ss][Tt][Aa][Rr][Tt][Ss]|[Ss][Tt][Rr][Uu][Uu][Ii][Dd]|[Ss][Uu][Bb][Ss][Tt][Rr]|[Ss][Uu][Mm]|[Tt][Ii][Mm][Ee][Zz][Oo][Nn][Ee]|[Tt][Zz]|[Uu][Cc][Aa][Ss][Ee]|[Uu][Rr][Ii]|[Uu][Uu][Ii][Dd]|[Yy][Ee][Aa][Rr]/
} ] ,
2017-02-05 20:05:00 +00:00
"#comments" : [ {
2023-01-16 22:26:34 +00:00
token : [
"punctuation.definition.comment.sparql" ,
"comment.line.hash.sparql"
] ,
regex : /(#)(.*$)/
} ] ,
2017-02-05 20:05:00 +00:00
"#keywords" : [ {
2023-01-16 22:26:34 +00:00
token : "keyword.other.sparql" ,
regex : /[Aa][Dd][Dd]|[Aa][Ll][Ll]|[Aa][Ss]|[As][Ss][Cc]|[Aa][Ss][Kk]|[Bb][Aa][Ss][Ee]|[Bb][Ii][Nn][Dd]|[Bb][Yy]|[Cc][Ll][Ee][Aa][Rr]|[Cc][Oo][Nn][Ss][Tt][Rr][Uu][Cc][Tt]|[Cc][Oo][Pp][Yy]|[Cc][Rr][Ee][Aa][Tt][Ee]|[Dd][Aa][Tt][Aa]|[Dd][Ee][Ff][Aa][Uu][Ll][Tt]|[Dd][Ee][Ll][Ee][Tt][Ee]|[Dd][Ee][Sc][Cc]|[Dd][Ee][Ss][Cc][Rr][Ii][Bb][Ee]|[Dd][Ii][Ss][Tt][Ii][Nn][Cc][Tt]|[Dd][Rr][Oo][Pp]|[Ff][Ii][Ll][Tt][Ee][Rr]|[Ff][Rr][Oo][Mm]|[Gg][Rr][Aa][Pp][Hh]|[Gg][Rr][Oo][Uu][Pp]|[Hh][Aa][Vv][Ii][Nn][Gg]|[Ii][Nn][Ss][Ee][Rr][Tt]|[Ll][Ii][Mm][Ii][Tt]|[Ll][Oo][Aa][Dd]|[Mm][Ii][Nn][Uu][Ss]|[Mm][Oo][Vv][Ee]|[Nn][Aa][Mm][Ee][Dd]|[Oo][Ff][Ff][Ss][Ee][Tt]|[Oo][Pp][Tt][Ii][Oo][Nn][Aa][Ll]|[Oo][Rr][Dd][Ee][Rr]|[Pp][Rr][Ee][Ff][Ii][Xx]|[Rr][Ee][Dd][Uu][Cc][Ee][Dd]|[Ss][Ee][Ll][Ee][Cc][Tt]|[Ss][Ee][Pp][Aa][Rr][Aa][Tt][Oo][Rr]|[Ss][Ee][Rr][Vv][Ii][Cc][Ee]|[Ss][Ii][Ll][Ee][Nn][Tt]|[Tt][Oo]|[Uu][Nn][Dd][Ee][Ff]|[Uu][Nn][Ii][Oo][Nn]|[Uu][Ss][Ii][Nn][Gg]|[Vv][Aa][Ll][Uu][Ee][Ss]|[Ww][He][Ee][Rr][Ee]|[Ww][Ii][Tt][Hh]/
} ] ,
2017-02-05 20:05:00 +00:00
"#logic-operators" : [ {
2023-01-16 22:26:34 +00:00
token : "keyword.operator.logical.sparql" ,
regex : /\|\||&&|=|!=|<|>|<=|>=|(?:^|!?\s)IN(?:!?\s|$)|(?:^|!?\s)NOT(?:!?\s|$)|-|\+|\*|\/|\!/
} ] ,
2017-02-05 20:05:00 +00:00
"#owl-types" : [ {
2023-01-16 22:26:34 +00:00
token : "support.type.datatype.owl.sparql" ,
regex : /owl:[a-zA-Z]+/
} ] ,
2017-02-05 20:05:00 +00:00
"#punctuation-operators" : [ {
2023-01-16 22:26:34 +00:00
token : "keyword.operator.punctuation.sparql" ,
regex : /;|,|\.|\(|\)|\{|\}|\|/
} ] ,
2017-02-05 20:05:00 +00:00
"#qnames" : [ {
2023-01-16 22:26:34 +00:00
token : "entity.name.other.qname.sparql" ,
regex : /(?:[a-zA-Z][-_a-zA-Z0-9]*)?:(?:[_a-zA-Z][-_a-zA-Z0-9]*)?/
} ] ,
2017-02-05 20:05:00 +00:00
"#rdf-schema-types" : [ {
2023-01-16 22:26:34 +00:00
token : "support.type.datatype.rdf.schema.sparql" ,
regex : /rdfs?:[a-zA-Z]+|(?:^|\s)a(?:\s|$)/
} ] ,
2017-02-05 20:05:00 +00:00
"#relative-urls" : [ {
token : "string.quoted.other.relative.url.sparql" ,
2023-01-16 22:26:34 +00:00
regex : /</ ,
push : [ {
token : "string.quoted.other.relative.url.sparql" ,
regex : />/ ,
next : "pop"
} , {
defaultToken : "string.quoted.other.relative.url.sparql"
} ]
} ] ,
2017-02-05 20:05:00 +00:00
"#string-datatype-suffixes" : [ {
2023-01-16 22:26:34 +00:00
token : "keyword.operator.datatype.suffix.sparql" ,
regex : /\^\^/
} ] ,
2017-02-05 20:05:00 +00:00
"#string-language-suffixes" : [ {
2023-01-16 22:26:34 +00:00
token : [
"keyword.operator.language.suffix.sparql" ,
"constant.language.suffix.sparql"
] ,
regex : /(?!")(@)([a-z]+(?:\-[a-z0-9]+)*)/
} ] ,
2017-02-05 20:05:00 +00:00
"#strings" : [ {
token : "string.quoted.triple.sparql" ,
regex : /"""/ ,
2023-01-16 22:26:34 +00:00
push : [ {
token : "string.quoted.triple.sparql" ,
regex : /"""/ ,
next : "pop"
} , {
defaultToken : "string.quoted.triple.sparql"
} ]
2017-02-05 20:05:00 +00:00
} , {
token : "string.quoted.double.sparql" ,
regex : /"/ ,
2023-01-16 22:26:34 +00:00
push : [ {
token : "string.quoted.double.sparql" ,
regex : /"/ ,
next : "pop"
} , {
token : "invalid.string.newline" ,
regex : /$/
} , {
token : "constant.character.escape.sparql" ,
regex : /\\./
} , {
defaultToken : "string.quoted.double.sparql"
} ]
} ] ,
2017-02-05 20:05:00 +00:00
"#variables" : [ {
2023-01-16 22:26:34 +00:00
token : "variable.other.sparql" ,
regex : /(?:\?|\$)[-_a-zA-Z0-9]+/
} ] ,
2017-02-05 20:05:00 +00:00
"#xml-schema-types" : [ {
2023-01-16 22:26:34 +00:00
token : "support.type.datatype.schema.sparql" ,
regex : /xsd?:[a-z][a-zA-Z]+/
} ]
2020-04-14 12:14:48 +00:00
} ;
2017-02-05 20:05:00 +00:00
this . normalizeRules ( ) ;
} ;
SPARQLHighlightRules . metaData = {
fileTypes : [ "rq" , "sparql" ] ,
name : "SPARQL" ,
scopeName : "source.sparql"
2020-04-14 12:14:48 +00:00
} ;
2017-02-05 20:05:00 +00:00
oop . inherits ( SPARQLHighlightRules , TextHighlightRules ) ;
exports . SPARQLHighlightRules = SPARQLHighlightRules ;
2023-01-16 22:26:34 +00:00
} ) ;
2017-02-05 20:05:00 +00:00
2023-01-16 22:26:34 +00:00
ace . define ( "ace/mode/folding/cstyle" , [ "require" , "exports" , "module" , "ace/lib/oop" , "ace/range" , "ace/mode/folding/fold_mode" ] , function ( require , exports , module ) { "use strict" ;
2017-02-05 20:05:00 +00:00
var oop = require ( "../../lib/oop" ) ;
var Range = require ( "../../range" ) . Range ;
var BaseFoldMode = require ( "./fold_mode" ) . FoldMode ;
2023-01-16 22:26:34 +00:00
var FoldMode = exports . FoldMode = function ( commentRegex ) {
2017-02-05 20:05:00 +00:00
if ( commentRegex ) {
2023-01-16 22:26:34 +00:00
this . foldingStartMarker = new RegExp ( this . foldingStartMarker . source . replace ( /\|[^|]*?$/ , "|" + commentRegex . start ) ) ;
this . foldingStopMarker = new RegExp ( this . foldingStopMarker . source . replace ( /\|[^|]*?$/ , "|" + commentRegex . end ) ) ;
2017-02-05 20:05:00 +00:00
}
} ;
oop . inherits ( FoldMode , BaseFoldMode ) ;
2023-01-16 22:26:34 +00:00
( function ( ) {
2020-04-14 12:14:48 +00:00
this . foldingStartMarker = /([\{\[\(])[^\}\]\)]*$|^\s*(\/\*)/ ;
this . foldingStopMarker = /^[^\[\{\(]*([\}\]\)])|^[\s\*]*(\*\/)/ ;
2023-01-16 22:26:34 +00:00
this . singleLineBlockCommentRe = /^\s*(\/\*).*\*\/\s*$/ ;
2017-02-05 20:05:00 +00:00
this . tripleStarBlockCommentRe = /^\s*(\/\*\*\*).*\*\/\s*$/ ;
this . startRegionRe = /^\s*(\/\*|\/\/)#?region\b/ ;
this . _getFoldWidgetBase = this . getFoldWidget ;
2023-01-16 22:26:34 +00:00
this . getFoldWidget = function ( session , foldStyle , row ) {
2017-02-05 20:05:00 +00:00
var line = session . getLine ( row ) ;
if ( this . singleLineBlockCommentRe . test ( line ) ) {
if ( ! this . startRegionRe . test ( line ) && ! this . tripleStarBlockCommentRe . test ( line ) )
return "" ;
}
var fw = this . _getFoldWidgetBase ( session , foldStyle , row ) ;
if ( ! fw && this . startRegionRe . test ( line ) )
return "start" ; // lineCommentRegionStart
return fw ;
} ;
2023-01-16 22:26:34 +00:00
this . getFoldWidgetRange = function ( session , foldStyle , row , forceMultiline ) {
2017-02-05 20:05:00 +00:00
var line = session . getLine ( row ) ;
if ( this . startRegionRe . test ( line ) )
return this . getCommentRegionBlock ( session , line , row ) ;
var match = line . match ( this . foldingStartMarker ) ;
if ( match ) {
var i = match . index ;
if ( match [ 1 ] )
return this . openingBracketBlock ( session , match [ 1 ] , row , i ) ;
var range = session . getCommentFoldRange ( row , i + match [ 0 ] . length , 1 ) ;
if ( range && ! range . isMultiLine ( ) ) {
if ( forceMultiline ) {
range = this . getSectionRange ( session , row ) ;
2023-01-16 22:26:34 +00:00
}
else if ( foldStyle != "all" )
2017-02-05 20:05:00 +00:00
range = null ;
}
return range ;
}
if ( foldStyle === "markbegin" )
return ;
var match = line . match ( this . foldingStopMarker ) ;
if ( match ) {
var i = match . index + match [ 0 ] . length ;
if ( match [ 1 ] )
return this . closingBracketBlock ( session , match [ 1 ] , row , i ) ;
return session . getCommentFoldRange ( row , i , - 1 ) ;
}
} ;
2023-01-16 22:26:34 +00:00
this . getSectionRange = function ( session , row ) {
2017-02-05 20:05:00 +00:00
var line = session . getLine ( row ) ;
var startIndent = line . search ( /\S/ ) ;
var startRow = row ;
var startColumn = line . length ;
row = row + 1 ;
var endRow = row ;
var maxRow = session . getLength ( ) ;
while ( ++ row < maxRow ) {
line = session . getLine ( row ) ;
var indent = line . search ( /\S/ ) ;
if ( indent === - 1 )
continue ;
2023-01-16 22:26:34 +00:00
if ( startIndent > indent )
2017-02-05 20:05:00 +00:00
break ;
var subRange = this . getFoldWidgetRange ( session , "all" , row ) ;
if ( subRange ) {
if ( subRange . start . row <= startRow ) {
break ;
2023-01-16 22:26:34 +00:00
}
else if ( subRange . isMultiLine ( ) ) {
2017-02-05 20:05:00 +00:00
row = subRange . end . row ;
2023-01-16 22:26:34 +00:00
}
else if ( startIndent == indent ) {
2017-02-05 20:05:00 +00:00
break ;
}
}
endRow = row ;
}
return new Range ( startRow , startColumn , endRow , session . getLine ( endRow ) . length ) ;
} ;
2023-01-16 22:26:34 +00:00
this . getCommentRegionBlock = function ( session , line , row ) {
2017-02-05 20:05:00 +00:00
var startColumn = line . search ( /\s*$/ ) ;
var maxRow = session . getLength ( ) ;
var startRow = row ;
var re = /^\s*(?:\/\*|\/\/|--)#?(end)?region\b/ ;
var depth = 1 ;
while ( ++ row < maxRow ) {
line = session . getLine ( row ) ;
var m = re . exec ( line ) ;
2023-01-16 22:26:34 +00:00
if ( ! m )
continue ;
if ( m [ 1 ] )
depth -- ;
else
depth ++ ;
if ( ! depth )
break ;
2017-02-05 20:05:00 +00:00
}
var endRow = row ;
if ( endRow > startRow ) {
return new Range ( startRow , startColumn , endRow , line . length ) ;
}
} ;
} ) . call ( FoldMode . prototype ) ;
} ) ;
2023-01-16 22:26:34 +00:00
ace . define ( "ace/mode/sparql" , [ "require" , "exports" , "module" , "ace/lib/oop" , "ace/mode/text" , "ace/mode/sparql_highlight_rules" , "ace/mode/folding/cstyle" ] , function ( require , exports , module ) { / *
THIS FILE WAS AUTOGENERATED BY mode . tmpl . js
* /
2017-02-05 20:05:00 +00:00
"use strict" ;
var oop = require ( "../lib/oop" ) ;
var TextMode = require ( "./text" ) . Mode ;
var SPARQLHighlightRules = require ( "./sparql_highlight_rules" ) . SPARQLHighlightRules ;
var FoldMode = require ( "./folding/cstyle" ) . FoldMode ;
2023-01-16 22:26:34 +00:00
var Mode = function ( ) {
2017-02-05 20:05:00 +00:00
this . HighlightRules = SPARQLHighlightRules ;
this . foldingRules = new FoldMode ( ) ;
} ;
oop . inherits ( Mode , TextMode ) ;
2023-01-16 22:26:34 +00:00
( function ( ) {
2020-04-14 12:14:48 +00:00
this . $id = "ace/mode/sparql" ;
2017-02-05 20:05:00 +00:00
} ) . call ( Mode . prototype ) ;
exports . Mode = Mode ;
2023-01-16 22:26:34 +00:00
2020-04-14 12:14:48 +00:00
} ) ; ( function ( ) {
ace . require ( [ "ace/mode/sparql" ] , function ( m ) {
if ( typeof module == "object" && typeof exports == "object" && module ) {
module . exports = m ;
}
} ) ;
} ) ( ) ;