0

Update to 7.1

This commit is contained in:
Rei
2012-08-14 22:13:27 +08:00
parent c48a19bb3f
commit 7d6da30689
84 changed files with 4179 additions and 2385 deletions

View File

@@ -4,28 +4,30 @@ Description: Generic lisp syntax
Author: Vasily Polovnyov <vast@whiteants.net>
*/
hljs.LANGUAGES.lisp = function(){
hljs.LANGUAGES['lisp'] = function(hljs) {
var LISP_IDENT_RE = '[a-zA-Z_\\-\\+\\*\\/\\<\\=\\>\\&\\#][a-zA-Z0-9_\\-\\+\\*\\/\\<\\=\\>\\&\\#]*';
var LISP_SIMPLE_NUMBER_RE = '(\\-|\\+)?\\d+(\\.\\d+|\\/\\d+)?((d|e|f|l|s)(\\+|\\-)?\\d+)?';
var LITERAL = {
className: 'literal',
begin: '\\b(t{1}|nil)\\b'
};
var NUMBER1 = {
className: 'number', begin: LISP_SIMPLE_NUMBER_RE
};
var NUMBER2 = {
className: 'number', begin: '#b[0-1]+(/[0-1]+)?'
};
var NUMBER3 = {
className: 'number', begin: '#o[0-7]+(/[0-7]+)?'
};
var NUMBER4 = {
className: 'number', begin: '#x[0-9a-f]+(/[0-9a-f]+)?'
};
var NUMBER5 = {
className: 'number', begin: '#c\\(' + LISP_SIMPLE_NUMBER_RE + ' +' + LISP_SIMPLE_NUMBER_RE, end: '\\)'
};
var NUMBERS = [
{
className: 'number', begin: LISP_SIMPLE_NUMBER_RE
},
{
className: 'number', begin: '#b[0-1]+(/[0-1]+)?'
},
{
className: 'number', begin: '#o[0-7]+(/[0-7]+)?'
},
{
className: 'number', begin: '#x[0-9a-f]+(/[0-9a-f]+)?'
},
{
className: 'number', begin: '#c\\(' + LISP_SIMPLE_NUMBER_RE + ' +' + LISP_SIMPLE_NUMBER_RE, end: '\\)'
}
]
var STRING = {
className: 'string',
begin: '"', end: '"',
@@ -45,19 +47,19 @@ hljs.LANGUAGES.lisp = function(){
begin: '[:&]' + LISP_IDENT_RE
};
var QUOTED_LIST = {
begin: '\\(', end: '\\)'
begin: '\\(', end: '\\)',
contains: ['self', LITERAL, STRING].concat(NUMBERS)
};
QUOTED_LIST.contains = [QUOTED_LIST, LITERAL, NUMBER1, NUMBER2, NUMBER3, NUMBER4, NUMBER5, STRING];
var QUOTED1 = {
className: 'quoted',
begin: '[\'`]\\(', end: '\\)',
contains: [NUMBER1, NUMBER2, NUMBER3, NUMBER4, NUMBER5, STRING, VARIABLE, KEYWORD, QUOTED_LIST]
contains: NUMBERS.concat([STRING, VARIABLE, KEYWORD, QUOTED_LIST])
};
var QUOTED2 = {
className: 'quoted',
begin: '\\(quote ', end: '\\)',
keywords: {'title': {'quote': 1}},
contains: [NUMBER1, NUMBER2, NUMBER3, NUMBER4, NUMBER5, STRING, VARIABLE, KEYWORD, QUOTED_LIST]
keywords: {title: 'quote'},
contains: NUMBERS.concat([STRING, VARIABLE, KEYWORD, QUOTED_LIST])
};
var LIST = {
className: 'list',
@@ -68,20 +70,19 @@ hljs.LANGUAGES.lisp = function(){
endsWithParent: true, excludeEnd: true
};
LIST.contains = [{className: 'title', begin: LISP_IDENT_RE}, BODY];
BODY.contains = [QUOTED1, QUOTED2, LIST, LITERAL, NUMBER1, NUMBER2, NUMBER3, NUMBER4, NUMBER5, STRING, COMMENT, VARIABLE, KEYWORD];
BODY.contains = [QUOTED1, QUOTED2, LIST, LITERAL].concat(NUMBERS).concat([STRING, COMMENT, VARIABLE, KEYWORD]);
return {
case_insensitive: true,
defaultMode: {
illegal: '[^\\s]',
contains: [
contains: NUMBERS.concat([
LITERAL,
NUMBER1, NUMBER2, NUMBER3, NUMBER4, NUMBER5,
STRING,
COMMENT,
QUOTED1, QUOTED2,
LIST
]
])
}
};
}();
}(hljs);