1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
Prism.languages.turtle = {
comment: {
pattern: /#.*/,
greedy: true,
},
'multiline-string': {
pattern:
/"""(?:(?:""?)?(?:[^"\\]|\\.))*"""|'''(?:(?:''?)?(?:[^'\\]|\\.))*'''/,
greedy: true,
alias: 'string',
inside: {
comment: /#.*/,
},
},
string: {
pattern: /"(?:[^\\"\r\n]|\\.)*"|'(?:[^\\'\r\n]|\\.)*'/,
greedy: true,
},
url: {
pattern:
/<(?:[^\x00-\x20<>"{}|^`\\]|\\(?:u[\da-fA-F]{4}|U[\da-fA-F]{8}))*>/,
greedy: true,
inside: {
punctuation: /[<>]/,
},
},
function: {
pattern:
/(?:(?![-.\d\xB7])[-.\w\xB7\xC0-\uFFFD]+)?:(?:(?![-.])(?:[-.:\w\xC0-\uFFFD]|%[\da-f]{2}|\\.)+)?/i,
inside: {
'local-name': {
pattern: /([^:]*:)[\s\S]+/,
lookbehind: true,
},
prefix: {
pattern: /[\s\S]+/,
inside: {
punctuation: /:/,
},
},
},
},
number: /[+-]?\b\d+(?:\.\d*)?(?:e[+-]?\d+)?/i,
punctuation: /[{}.,;()[\]]|\^\^/,
boolean: /\b(?:false|true)\b/,
keyword: [/(?:\ba|@prefix|@base)\b|=/, /\b(?:base|graph|prefix)\b/i],
tag: {
pattern: /@[a-z]+(?:-[a-z\d]+)*/i,
inside: {
punctuation: /@/,
},
},
};
Prism.languages.trig = Prism.languages['turtle'];
|