diff options
-rw-r--r-- | application/libraries/Pygments.php | 8 | ||||
-rwxr-xr-x | scripts/get_lexer_list.py | 9 |
2 files changed, 9 insertions, 8 deletions
diff --git a/application/libraries/Pygments.php b/application/libraries/Pygments.php index 12f6d7037..3c99481d1 100644 --- a/application/libraries/Pygments.php +++ b/application/libraries/Pygments.php @@ -36,7 +36,7 @@ class Pygments { foreach (self::get_pygments_info() as $lexer) { $desc = $lexer['fullname']; - $name = $lexer['names'][0]; + $name = array_keys($lexer['names'])[0]; if ($desc == $last_desc) { continue; } @@ -146,13 +146,11 @@ class Pygments { if (array_key_exists($this->mimetype, $typearray)) return $typearray[$this->mimetype]; // fall back to pygments own list if not found in our list - $typearray = array(); foreach (self::get_pygments_info() as $lexer) { - foreach ($lexer['mimetypes'] as $type) { - $typearray[$type] = $lexer['names'][0]; + if (isset($lexer['mimetypes'][$this->mimetype])) { + return $lexer; } } - if (array_key_exists($this->mimetype, $typearray)) return $typearray[$this->mimetype]; if (strpos($this->mimetype, 'text/') === 0) return 'text'; diff --git a/scripts/get_lexer_list.py b/scripts/get_lexer_list.py index 0ef6fe97a..9453ff733 100755 --- a/scripts/get_lexer_list.py +++ b/scripts/get_lexer_list.py @@ -5,11 +5,14 @@ import json ret = [] +def dictify(list): + return {k:True for k in list} + for fullname, names, exts, mimetypes in pygments.lexers.get_all_lexers(): ret.append({ 'fullname': fullname, - 'names': names, - 'extentions': exts, - 'mimetypes': mimetypes, + 'names': dictify(names), + 'extentions': dictify(exts), + 'mimetypes': dictify(mimetypes), }) print(json.dumps(ret)) |