summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFlorian Pritz <bluewind@xinu.at>2016-07-21 16:04:22 +0200
committerFlorian Pritz <bluewind@xinu.at>2016-07-21 16:32:17 +0200
commit99fb6ca90d10648a3d2e7a16188d6ed3e0cb7e4f (patch)
tree1bff97b007e3fedc264061641fb69af447b9c807
parented4969074ab3ae5834511ec551c6081b92779719 (diff)
Add special *.asciinema.json filename0.9.18
Don't force users to name all their files asciinema.json. Give them some room for descriptive names. Signed-off-by: Florian Pritz <bluewind@xinu.at>
-rw-r--r--application/libraries/Pygments.php8
-rw-r--r--application/test/tests/test_libraries_pygments.php6
2 files changed, 14 insertions, 0 deletions
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()