From 125bff102e37d6cfca9b0543912d75be585a42f5 Mon Sep 17 00:00:00 2001 From: TSUYUSATO Kitsune Date: Thu, 2 Mar 2017 16:07:01 +0900 Subject: [PATCH] Update Crystal keywords (#1092) - Add `select`, `uninitialized` and `__END_LINE__` - Remove `ifdef` --- components/prism-crystal.js | 2 +- tests/languages/crystal/keyword_feature.test | 18 ++++++++++-------- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/components/prism-crystal.js b/components/prism-crystal.js index 66f24fb302..fd6fad0e57 100644 --- a/components/prism-crystal.js +++ b/components/prism-crystal.js @@ -1,7 +1,7 @@ (function(Prism) { Prism.languages.crystal = Prism.languages.extend('ruby', { keyword: [ - /\b(?:abstract|alias|as|asm|begin|break|case|class|def|do|else|elsif|end|ensure|enum|extend|for|fun|if|ifdef|include|instance_sizeof|lib|macro|module|next|of|out|pointerof|private|protected|rescue|return|require|self|sizeof|struct|super|then|type|typeof|union|unless|until|when|while|with|yield|__DIR__|__FILE__|__LINE__)\b/, + /\b(?:abstract|alias|as|asm|begin|break|case|class|def|do|else|elsif|end|ensure|enum|extend|for|fun|if|include|instance_sizeof|lib|macro|module|next|of|out|pointerof|private|protected|rescue|return|require|select|self|sizeof|struct|super|then|type|typeof|uninitialized|union|unless|until|when|while|with|yield|__DIR__|__END_LINE__|__FILE__|__LINE__)\b/, { pattern: /(\.\s*)(?:is_a|responds_to)\?/, lookbehind: true diff --git a/tests/languages/crystal/keyword_feature.test b/tests/languages/crystal/keyword_feature.test index ca575efb2a..ea15473e98 100644 --- a/tests/languages/crystal/keyword_feature.test +++ b/tests/languages/crystal/keyword_feature.test @@ -2,14 +2,15 @@ abstract alias as asm begin break case class; def do else elsif end ensure enum extend for fun -if ifdef include instance_sizeof +if include instance_sizeof .is_a? lib macro module next of out pointerof private protected rescue .responds_to? -return require self sizeof struct super -then type typeof union unless until when -while with yield __DIR__ __FILE__ __LINE__ +return require select self sizeof struct super +then type typeof uninitialized union unless +until when while with yield __DIR__ __END_LINE__ +__FILE__ __LINE__ ---------------------------------------------------- @@ -18,14 +19,15 @@ while with yield __DIR__ __FILE__ __LINE__ ["keyword", "class"], ["punctuation", ";"], ["keyword", "def"], ["keyword", "do"], ["keyword", "else"], ["keyword", "elsif"], ["keyword", "end"], ["keyword", "ensure"], ["keyword", "enum"], ["keyword", "extend"], ["keyword", "for"], ["keyword", "fun"], - ["keyword", "if"], ["keyword", "ifdef"], ["keyword", "include"], ["keyword", "instance_sizeof"], + ["keyword", "if"], ["keyword", "include"], ["keyword", "instance_sizeof"], ["punctuation", "."], ["keyword", "is_a?"], ["keyword", "lib"], ["keyword", "macro"], ["keyword", "module"], ["keyword", "next"], ["keyword", "of"], ["keyword", "out"], ["keyword", "pointerof"], ["keyword", "private"], ["keyword", "protected"], ["keyword", "rescue"], ["punctuation", "."], ["keyword", "responds_to?"], - ["keyword", "return"], ["keyword", "require"], ["keyword", "self"], ["keyword", "sizeof"], ["keyword", "struct"], ["keyword", "super"], - ["keyword", "then"], ["keyword", "type"], ["keyword", "typeof"], ["keyword", "union"], ["keyword", "unless"], ["keyword", "until"], ["keyword", "when"], - ["keyword", "while"], ["keyword", "with"], ["keyword", "yield"], ["keyword", "__DIR__"], ["keyword", "__FILE__"], ["keyword", "__LINE__"] + ["keyword", "return"], ["keyword", "require"], ["keyword", "select"], ["keyword", "self"], ["keyword", "sizeof"], ["keyword", "struct"], ["keyword", "super"], + ["keyword", "then"], ["keyword", "type"], ["keyword", "typeof"], ["keyword", "uninitialized"], ["keyword", "union"], ["keyword", "unless"], + ["keyword", "until"], ["keyword", "when"], ["keyword", "while"], ["keyword", "with"], ["keyword", "yield"], ["keyword", "__DIR__"], ["keyword", "__END_LINE__"], + ["keyword", "__FILE__"], ["keyword", "__LINE__"] ] ----------------------------------------------------