Make regex for vim modeline more lenient

This change allows the filetype/language to be retrieved from more complex vim modelines. The current regex strictly allows a set line which contains only the filetype/ft parameter and nothing else
This commit is contained in:
Ammar Askar
2015-08-10 00:38:24 -05:00
parent ffcc970140
commit 4650368bc2
4 changed files with 11 additions and 1 deletions

3
test/fixtures/Data/Modelines/ruby2 vendored Normal file
View File

@@ -0,0 +1,3 @@
/* vim: set ts=8 sw=4 filetype=ruby tw=0: */
# Please help how do I into setting vim modlines

3
test/fixtures/Data/Modelines/ruby3 vendored Normal file
View File

@@ -0,0 +1,3 @@
/* vim: set ft=ruby ts=8 sw=4 tw=0: */
# I am not good at humor

View File

@@ -9,6 +9,8 @@ class TestModelines < Minitest::Test
def test_modeline_strategy
assert_modeline Language["Ruby"], fixture_blob("Data/Modelines/ruby")
assert_modeline Language["Ruby"], fixture_blob("Data/Modelines/ruby2")
assert_modeline Language["Ruby"], fixture_blob("Data/Modelines/ruby3")
assert_modeline Language["C++"], fixture_blob("Data/Modelines/seeplusplus")
assert_modeline Language["C++"], fixture_blob("Data/Modelines/seeplusplusEmacs1")
assert_modeline Language["C++"], fixture_blob("Data/Modelines/seeplusplusEmacs2")
@@ -27,6 +29,8 @@ class TestModelines < Minitest::Test
def test_modeline_languages
assert_equal Language["Ruby"], fixture_blob("Data/Modelines/ruby").language
assert_equal Language["Ruby"], fixture_blob("Data/Modelines/ruby2").language
assert_equal Language["Ruby"], fixture_blob("Data/Modelines/ruby3").language
assert_equal Language["C++"], fixture_blob("Data/Modelines/seeplusplus").language
assert_equal Language["C++"], fixture_blob("Data/Modelines/seeplusplusEmacs1").language
assert_equal Language["C++"], fixture_blob("Data/Modelines/seeplusplusEmacs2").language