diff --git a/lib/linguist/tokenizer.rb b/lib/linguist/tokenizer.rb index bf5fa388..a8afe676 100644 --- a/lib/linguist/tokenizer.rb +++ b/lib/linguist/tokenizer.rb @@ -72,6 +72,12 @@ module Linguist s.skip_until(/-->/) tokens << "-->" + # Coq multiline comments + elsif token = s.scan(/\(\*/) + tokens << "(*" + s.skip_until(/\*\)/) + tokens << "*)" + # Skip single or double quoted strings elsif s.scan(/"/) s.skip_until(/[^\\]"/) diff --git a/test/test_tokenizer.rb b/test/test_tokenizer.rb index 72693cff..e757c7d7 100644 --- a/test/test_tokenizer.rb +++ b/test/test_tokenizer.rb @@ -36,6 +36,7 @@ class TestTokenizer < Test::Unit::TestCase assert_equal %w(foo /* */), tokenize("foo /* \nComment\n */") assert_equal %w(foo ), tokenize("foo ") assert_equal %w(foo {- -}), tokenize("foo {- Comment -}") + assert_equal %w(foo \(* *\)), tokenize("foo (* Comment *)") assert_equal %w(% %), tokenize("2 % 10\n% Comment") end