123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125 |
- Prism.languages.nevod = {
- 'comment': /\/\/.*|(?:\/\*[\s\S]*?(?:\*\/|$))/,
- 'string': {
- pattern: /(?:"(?:""|[^"])*"(?!")|'(?:''|[^'])*'(?!'))!?\*?/,
- greedy: true,
- inside: {
- 'string-attrs': /!$|!\*$|\*$/,
- },
- },
- 'namespace': {
- pattern: /(@namespace\s+)[a-zA-Z0-9\-.]+(?=\s*\{)/,
- lookbehind: true,
- },
- 'pattern': {
- pattern: /(@pattern\s+)?#?[a-zA-Z0-9\-.]+(?:\s*\(\s*(?:~\s*)?[a-zA-Z0-9\-.]+\s*(?:,\s*(?:~\s*)?[a-zA-Z0-9\-.]*)*\))?(?=\s*=)/,
- lookbehind: true,
- inside: {
- 'pattern-name': {
- pattern: /^#?[a-zA-Z0-9\-.]+/,
- alias: 'class-name',
- },
- 'fields': {
- pattern: /\(.*\)/,
- inside: {
- 'field-name': {
- pattern: /[a-zA-Z0-9\-.]+/,
- alias: 'variable',
- },
- 'punctuation': /[,()]/,
- 'operator': {
- pattern: /~/,
- alias: 'field-hidden-mark',
- },
- },
- },
- },
- },
- 'search': {
- pattern: /(@search\s+|#)[a-zA-Z0-9\-.]+(?:\.\*)?(?=\s*;)/,
- alias: 'function',
- lookbehind: true,
- },
- 'keyword': /@(?:having|inside|namespace|outside|pattern|require|search|where)\b/,
- 'standard-pattern': {
- pattern: /\b(?:Alpha|AlphaNum|Any|Blank|End|LineBreak|Num|NumAlpha|Punct|Space|Start|Symbol|Word|WordBreak)\b(?:\([a-zA-Z0-9\-.,\s+]*\))?/,
- inside: {
- 'standard-pattern-name': {
- pattern: /^[a-zA-Z0-9\-.]+/,
- alias: 'builtin',
- },
- 'quantifier': {
- pattern: /\b\d+(?:\s*\+|\s*-\s*\d+)?(?!\w)/,
- alias: 'number',
- },
- 'standard-pattern-attr': {
- pattern: /[a-zA-Z0-9\-.]+/,
- alias: 'builtin',
- },
- 'punctuation': /[,()]/,
- },
- },
- 'quantifier': {
- pattern: /\b\d+(?:\s*\+|\s*-\s*\d+)?(?!\w)/,
- alias: 'number',
- },
- 'operator': [
- {
- pattern: /=/,
- alias: 'pattern-def',
- },
- {
- pattern: /&/,
- alias: 'conjunction',
- },
- {
- pattern: /~/,
- alias: 'exception',
- },
- {
- pattern: /\?/,
- alias: 'optionality',
- },
- {
- pattern: /[[\]]/,
- alias: 'repetition',
- },
- {
- pattern: /[{}]/,
- alias: 'variation',
- },
- {
- pattern: /[+_]/,
- alias: 'sequence',
- },
- {
- pattern: /\.{2,3}/,
- alias: 'span',
- },
- ],
- 'field-capture': [
- {
- pattern: /([a-zA-Z0-9\-.]+\s*\()\s*[a-zA-Z0-9\-.]+\s*:\s*[a-zA-Z0-9\-.]+(?:\s*,\s*[a-zA-Z0-9\-.]+\s*:\s*[a-zA-Z0-9\-.]+)*(?=\s*\))/,
- lookbehind: true,
- inside: {
- 'field-name': {
- pattern: /[a-zA-Z0-9\-.]+/,
- alias: 'variable',
- },
- 'colon': /:/,
- },
- },
- {
- pattern: /[a-zA-Z0-9\-.]+\s*:/,
- inside: {
- 'field-name': {
- pattern: /[a-zA-Z0-9\-.]+/,
- alias: 'variable',
- },
- 'colon': /:/,
- },
- },
- ],
- 'punctuation': /[:;,()]/,
- 'name': /[a-zA-Z0-9\-.]+/
- };
|