Skip to content

Commit

Permalink
Add ion highlight mode
Browse files Browse the repository at this point in the history
  • Loading branch information
jpschorr committed Feb 4, 2022
1 parent 8a991cc commit 1d5e9c0
Show file tree
Hide file tree
Showing 5 changed files with 907 additions and 0 deletions.
68 changes: 68 additions & 0 deletions demo/kitchen-sink/docs/ion.ion
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
// Comment
/*
Multi
Line
Comment
*/
[1,2,3,45 /*TODO: should be 42, obviously*/, 2016-04-21T08:10:46Z, 2016-04-21T08:10:46-08:00, 2016-04-21, 2016, 0x5, 0b0110]
(5 7 1 3 [
'a', 'b',
null, null.int, null.bool, null.list
true, false,
nan, -inf, +inf,
"str",
"str with embedded \" ",
'''str with embedded \''' ''',
{{"clob content"}},
{{ AB/ }}
])

'''

multi
line
string

'''

states::{
// https://amzn.github.io/ion-docs/docs/spec.html
root: rules::[
include::'value'
],

// https://amzn.github.io/ion-docs/docs/spec.html#string
string: rules::[
match::{
regex: "(\\\")((?:\\\\\"|[^\"])*)(\\\")",
token: ['string.dblq.punc.start', 'string.dblq', 'string.dblq.punc.end']
},
push::{
regex: "\'{3}",
token: 'string.trpq.punc.start',
states: rules::[
pop::{
regex: "\'{3}",
token: 'string.trpq.punc.end',
},
match::{
regex: "(?:\\\\'*|.|[^']*)",
token: 'string.trpq'
}
]
},
],

/*
...
*/
}
{
"json": {
"compatibility": true,
"open sourced": "2016-04-21T08:10:46Z",
"foo": 9,
"bar": 1.1,
"baz": [{"id": 1}, {"id":2}]
}
}
1 change: 1 addition & 0 deletions lib/ace/ext/modelist.js
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,7 @@ var supportedModes = {
HTML_Ruby: ["erb|rhtml|html.erb"],
INI: ["ini|conf|cfg|prefs"],
Io: ["io"],
Ion: ["ion"],
Jack: ["jack"],
Jade: ["jade|pug"],
Java: ["java"],
Expand Down
Loading

0 comments on commit 1d5e9c0

Please sign in to comment.