mirror of
https://github.com/KevinMidboe/linguist.git
synced 2025-10-29 17:50:22 +00:00
Add support for OpenEdge ABL language
This commit is contained in:
@@ -417,6 +417,17 @@ module Linguist
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# Internal: Guess language of .cls files
|
||||||
|
#
|
||||||
|
# Returns a Language.
|
||||||
|
def guess_cls_language
|
||||||
|
if lines.grep(/^(%|\\)/).any?
|
||||||
|
Language['TeX']
|
||||||
|
else
|
||||||
|
Language['OpenEdge ABL']
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
# Internal: Guess language of header files (.h).
|
# Internal: Guess language of header files (.h).
|
||||||
#
|
#
|
||||||
# Returns a Language.
|
# Returns a Language.
|
||||||
|
|||||||
@@ -740,6 +740,19 @@ OpenCL:
|
|||||||
extensions:
|
extensions:
|
||||||
- .cl
|
- .cl
|
||||||
|
|
||||||
|
OpenEdge ABL:
|
||||||
|
type: programming
|
||||||
|
aliases:
|
||||||
|
- progress
|
||||||
|
- openedge
|
||||||
|
- abl
|
||||||
|
primary_extension: .p
|
||||||
|
overrides:
|
||||||
|
- .cls
|
||||||
|
extensions:
|
||||||
|
- .cls
|
||||||
|
- .p
|
||||||
|
|
||||||
PHP:
|
PHP:
|
||||||
type: programming
|
type: programming
|
||||||
extensions:
|
extensions:
|
||||||
|
|||||||
8
test/fixtures/latex.cls
vendored
Normal file
8
test/fixtures/latex.cls
vendored
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
% latex.cls
|
||||||
|
%
|
||||||
|
% A barebones LaTeX2e class file
|
||||||
|
|
||||||
|
\def\author{Abe Voelker}
|
||||||
|
\def\fileversion{0.1}
|
||||||
|
\NeedsTeXFormat{LaTeX2e}
|
||||||
|
|
||||||
10
test/fixtures/openedge.cls
vendored
Normal file
10
test/fixtures/openedge.cls
vendored
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
USING Progress.Lang.*.
|
||||||
|
|
||||||
|
CLASS HelloWorld:
|
||||||
|
|
||||||
|
CONSTRUCTOR PUBLIC HelloWorld():
|
||||||
|
SUPER().
|
||||||
|
MESSAGE "Hello, world!".
|
||||||
|
END CONSTRUCTOR.
|
||||||
|
|
||||||
|
END CLASS.
|
||||||
1
test/fixtures/openedge.p
vendored
Normal file
1
test/fixtures/openedge.p
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
MESSAGE "Hello, world!".
|
||||||
@@ -287,6 +287,10 @@ class TestBlob < Test::Unit::TestCase
|
|||||||
assert_equal Language['Arduino'], blob("hello.ino").language
|
assert_equal Language['Arduino'], blob("hello.ino").language
|
||||||
assert_nil blob("octocat.png").language
|
assert_nil blob("octocat.png").language
|
||||||
|
|
||||||
|
# .cls disambiguation
|
||||||
|
assert_equal Language['OpenEdge ABL'], blob("openedge.cls").language
|
||||||
|
assert_equal Language['TeX'], blob("latex.cls").language
|
||||||
|
|
||||||
# .pl disambiguation
|
# .pl disambiguation
|
||||||
assert_equal Language['Prolog'], blob("test-prolog.pl").language
|
assert_equal Language['Prolog'], blob("test-prolog.pl").language
|
||||||
assert_equal Language['Perl'], blob("test-perl.pl").language
|
assert_equal Language['Perl'], blob("test-perl.pl").language
|
||||||
@@ -405,6 +409,9 @@ class TestBlob < Test::Unit::TestCase
|
|||||||
assert_equal Language['CSS'], blob("screen.sass").language.group
|
assert_equal Language['CSS'], blob("screen.sass").language.group
|
||||||
assert_equal Language['SCSS'], blob("screen.scss").language
|
assert_equal Language['SCSS'], blob("screen.scss").language
|
||||||
assert_equal Language['CSS'], blob("screen.scss").language.group
|
assert_equal Language['CSS'], blob("screen.scss").language.group
|
||||||
|
|
||||||
|
# OpenEdge ABL / Progress
|
||||||
|
assert_equal Language['OpenEdge ABL'], blob("openedge.p").language
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_lexer
|
def test_lexer
|
||||||
|
|||||||
@@ -9,6 +9,9 @@ class TestLanguage < Test::Unit::TestCase
|
|||||||
Lexer = Pygments::Lexer
|
Lexer = Pygments::Lexer
|
||||||
|
|
||||||
def test_ambiguous_extensions
|
def test_ambiguous_extensions
|
||||||
|
assert Language.ambiguous?('.cls')
|
||||||
|
assert_equal Language['OpenEdge ABL'], Language.find_by_extension('cls')
|
||||||
|
|
||||||
assert Language.ambiguous?('.h')
|
assert Language.ambiguous?('.h')
|
||||||
assert_equal Language['C'], Language.find_by_extension('h')
|
assert_equal Language['C'], Language.find_by_extension('h')
|
||||||
|
|
||||||
@@ -53,6 +56,7 @@ class TestLanguage < Test::Unit::TestCase
|
|||||||
assert_equal Lexer['NASM'], Language['Assembly'].lexer
|
assert_equal Lexer['NASM'], Language['Assembly'].lexer
|
||||||
assert_equal Lexer['OCaml'], Language['F#'].lexer
|
assert_equal Lexer['OCaml'], Language['F#'].lexer
|
||||||
assert_equal Lexer['OCaml'], Language['OCaml'].lexer
|
assert_equal Lexer['OCaml'], Language['OCaml'].lexer
|
||||||
|
assert_equal Lexer['OpenEdge ABL'], Language['OpenEdge ABL'].lexer
|
||||||
assert_equal Lexer['Standard ML'], Language['Standard ML'].lexer
|
assert_equal Lexer['Standard ML'], Language['Standard ML'].lexer
|
||||||
assert_equal Lexer['Ooc'], Language['ooc'].lexer
|
assert_equal Lexer['Ooc'], Language['ooc'].lexer
|
||||||
assert_equal Lexer['REBOL'], Language['Rebol'].lexer
|
assert_equal Lexer['REBOL'], Language['Rebol'].lexer
|
||||||
@@ -104,6 +108,9 @@ class TestLanguage < Test::Unit::TestCase
|
|||||||
assert_equal Language['JavaScript'], Language.find_by_alias('js')
|
assert_equal Language['JavaScript'], Language.find_by_alias('js')
|
||||||
assert_equal Language['Literate Haskell'], Language.find_by_alias('lhs')
|
assert_equal Language['Literate Haskell'], Language.find_by_alias('lhs')
|
||||||
assert_equal Language['Literate Haskell'], Language.find_by_alias('literate-haskell')
|
assert_equal Language['Literate Haskell'], Language.find_by_alias('literate-haskell')
|
||||||
|
assert_equal Language['OpenEdge ABL'], Language.find_by_alias('openedge')
|
||||||
|
assert_equal Language['OpenEdge ABL'], Language.find_by_alias('progress')
|
||||||
|
assert_equal Language['OpenEdge ABL'], Language.find_by_alias('abl')
|
||||||
assert_equal Language['Parrot Internal Representation'], Language.find_by_alias('pir')
|
assert_equal Language['Parrot Internal Representation'], Language.find_by_alias('pir')
|
||||||
assert_equal Language['Powershell'], Language.find_by_alias('posh')
|
assert_equal Language['Powershell'], Language.find_by_alias('posh')
|
||||||
assert_equal Language['Puppet'], Language.find_by_alias('puppet')
|
assert_equal Language['Puppet'], Language.find_by_alias('puppet')
|
||||||
|
|||||||
Reference in New Issue
Block a user