From 99fb6ca90d10648a3d2e7a16188d6ed3e0cb7e4f Mon Sep 17 00:00:00 2001 From: Florian Pritz Date: Thu, 21 Jul 2016 16:04:22 +0200 Subject: Add special *.asciinema.json filename Don't force users to name all their files asciinema.json. Give them some room for descriptive names. Signed-off-by: Florian Pritz --- application/libraries/Pygments.php | 8 ++++++++ application/test/tests/test_libraries_pygments.php | 6 ++++++ 2 files changed, 14 insertions(+) diff --git a/application/libraries/Pygments.php b/application/libraries/Pygments.php index 62229c472..082c52394 100644 --- a/application/libraries/Pygments.php +++ b/application/libraries/Pygments.php @@ -171,6 +171,14 @@ class Pygments { ); if (array_key_exists($this->filename, $namearray)) return $namearray[$this->filename]; + $longextarray = array( + '.asciinema.json' => 'asciinema', + ); + foreach ($longextarray as $key => $lexer) { + if (substr($this->filename, -strlen($key)) === $key) { + return $lexer; + } + } if (strpos($this->filename, ".") !== false) { $extension = substr($this->filename, strrpos($this->filename, ".") + 1); diff --git a/application/test/tests/test_libraries_pygments.php b/application/test/tests/test_libraries_pygments.php index d6bb559ee..57c5d27fe 100644 --- a/application/test/tests/test_libraries_pygments.php +++ b/application/test/tests/test_libraries_pygments.php @@ -47,6 +47,12 @@ class test_libraries_pygments extends \test\Test { $p = new \libraries\Pygments('/invalid/filepath', 'text/plain', 'PKGBUILD'); $this->t->is($p->autodetect_lexer(), 'bash', "PKGBUILD should be bash"); + + $p = new \libraries\Pygments('/invalid/filepath', 'text/plain', 'asciinema.json'); + $this->t->is($p->autodetect_lexer(), 'asciinema', "asciinema.json should be asciinema"); + + $p = new \libraries\Pygments('/invalid/filepath', 'text/plain', 'test.asciinema.json'); + $this->t->is($p->autodetect_lexer(), 'asciinema', "asciinema.json should be asciinema"); } public function test_autodetect_lexer_specialFilenamesBinaryShouldNotHighlight() -- cgit v1.2.3-24-g4f1b