diff --git a/demo/kitchen-sink/docs/scheme.scheme b/demo/kitchen-sink/docs/scheme.scheme index c58ece6a..a8579b83 100644 --- a/demo/kitchen-sink/docs/scheme.scheme +++ b/demo/kitchen-sink/docs/scheme.scheme @@ -8,7 +8,7 @@ ) ;; second line comment '(+ 1 2) - (define-sytax get-line + (define-syntax get-line (syntax-rules () ((_ x) x))) ; nonsense, just a highlight test (position-if-not char-set:whitespace line #:start beg)) diff --git a/lib/ace/mode/scheme_highlight_rules.js b/lib/ace/mode/scheme_highlight_rules.js index 489ef0a3..51d8fd40 100644 --- a/lib/ace/mode/scheme_highlight_rules.js +++ b/lib/ace/mode/scheme_highlight_rules.js @@ -41,8 +41,8 @@ var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules; var SchemeHighlightRules = function() { var keywordControl = "case|do|let|loop|if|else|when"; - var keywordOperator = "eq?|eqv?|equal?|and|or|not"; - var constantLanguage = "#t|#f|'()"; + var keywordOperator = "eq?|eqv?|equal?|and|or|not|null?"; + var constantLanguage = "#t|#f"; var supportFunctions = "cons|car|cdr|cond|lambda|lambda*|syntax-rules|format|set!|quote|eval|append|list|list?|member?|load"; var keywordMapper = this.createKeywordMapper({ @@ -68,7 +68,7 @@ var SchemeHighlightRules = function() { }, { "token": ["punctuation.definition.constant.character.scheme", "constant.character.scheme"], - "regex": "(#)((?:\\w|[\\\\+-=<>'\"&#])+)" + "regex": "#:[^ ]+" }, { "token": ["punctuation.definition.variable.scheme", "variable.other.global.scheme", "punctuation.definition.variable.scheme"], @@ -76,15 +76,15 @@ var SchemeHighlightRules = function() { }, { "token" : "constant.numeric", // hex - "regex" : "0[xX][0-9a-fA-F]+(?:L|l|UL|ul|u|U|F|f|ll|LL|ull|ULL)?\\b" + "regex" : "#[xXoObB][0-9a-fA-F]+" }, { "token" : "constant.numeric", // float - "regex" : "[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?(?:L|l|UL|ul|u|U|F|f|ll|LL|ull|ULL)?\\b" + "regex" : "[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?" }, { "token" : keywordMapper, - "regex" : "[a-zA-Z_$][a-zA-Z0-9_$]*\\b" + "regex" : "[a-zA-Z_#][a-zA-Z0-9_\\?\\!\\*]*" }, { "token" : "string",