File: json.lang

package info (click to toggle)
source-highlight 3.1.9-4.3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 10,612 kB
  • sloc: cpp: 10,202; ansic: 9,521; sh: 4,582; makefile: 1,893; lex: 1,200; yacc: 1,021; javascript: 338; php: 213; perl: 211; awk: 98; erlang: 94; lisp: 90; java: 75; ruby: 69; python: 61; asm: 43; ada: 37; ml: 29; haskell: 27; xml: 23; cs: 11; sql: 8; tcl: 7; sed: 4
file content (18 lines) | stat: -rw-r--r-- 578 bytes parent folder | download | duplicates (9)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# JSON lang definition file

# for string types
(keyquote,key,keyquote,colon,valquote,string,valquote) = `(")([^"]+)(")(\s*:)(\s*")((?:\\"|.)*?)(")`

# for string primitives
(valquote,string,valquote) = `(^")((?:\\"|.)*?)("$)`

# for non-string types and string values (array of strings)
(keyquote,key,keyquote,colon) = `(")([^"]+)(")(\s*:?\s*)`

# duplicated from number.lang - can just include
number = 
'\<[+-]?((0x[[:xdigit:]]+)|(([[:digit:]]*\.)?
[[:digit:]]+([eE][+-]?[[:digit:]]+)?))u?((int(?:8|16|32|64))|L)?\>'

symbol = ",","{","}","[","]"
keyword = "true|false|null"