summaryrefslogtreecommitdiffstats
path: root/application
diff options
context:
space:
mode:
authorFlorian Pritz <bluewind@xinu.at>2015-04-09 15:17:13 +0200
committerFlorian Pritz <bluewind@xinu.at>2015-04-09 15:20:10 +0200
commita11e06d4906c2e1186779b42d5e87a17f66c50ea (patch)
tree1f37352641a20cfeb540a86e57dac3a8b5603f34 /application
parent8be9c484e77b5bddb1964970b179f174c2f1105a (diff)
Fix mime2lexer failing when using pygments info
Signed-off-by: Florian Pritz <bluewind@xinu.at>
Diffstat (limited to 'application')
-rw-r--r--application/libraries/Pygments.php4
-rw-r--r--application/tests/test_libraries_pygments.php4
2 files changed, 6 insertions, 2 deletions
diff --git a/application/libraries/Pygments.php b/application/libraries/Pygments.php
index 13d82d2ad..04d4e670c 100644
--- a/application/libraries/Pygments.php
+++ b/application/libraries/Pygments.php
@@ -21,7 +21,7 @@ class Pygments {
}
private static function get_pygments_info() {
- return cache_function_full('pygments_info', 1800, function() {
+ return cache_function_full('pygments_info-v2', 1800, function() {
ob_start();
passthru("python ".escapeshellarg(FCPATH."scripts/get_lexer_list.py"));
$output = ob_get_clean();
@@ -148,7 +148,7 @@ class Pygments {
// fall back to pygments own list if not found in our list
foreach (self::get_pygments_info() as $lexer) {
if (isset($lexer['mimetypes'][$this->mimetype])) {
- return $lexer;
+ return $lexer['names'][0];
}
}
diff --git a/application/tests/test_libraries_pygments.php b/application/tests/test_libraries_pygments.php
index ba2103e50..f88a4bcbd 100644
--- a/application/tests/test_libraries_pygments.php
+++ b/application/tests/test_libraries_pygments.php
@@ -32,6 +32,10 @@ class test_libraries_pygments extends Test {
$p = new \libraries\Pygments('/invalid/filepath', 'application/x-php', 'stdin');
$this->t->is($p->autodetect_lexer(), 'php', "application/php should be php");
+ // This is from pygments and not our hardcoded list
+ $p = new \libraries\Pygments('/invalid/filepath', 'text/x-pascal', 'stdin');
+ $this->t->is($p->autodetect_lexer(), 'delphi', "text/x-pascal should be delphi");
+
$p = new \libraries\Pygments('/invalid/filepath', 'application/octet-stream', 'stdin');
$this->t->is($p->autodetect_lexer(), false, "application/octet-stream should return false");
}