| @@ -2,5 +2,20 @@ from os import path | |||||
| import yaml | import yaml | ||||
| with open(path.join(path.dirname(__file__), "languages.yml")) as lang_yaml: | |||||
| LANGS = [lang for lang in yaml.load(lang_yaml)["languages"]] | |||||
| __all__ = ["LANGS", "LANGS_ALL"] | |||||
| def _load_langs(): | |||||
| filename = path.join(path.dirname(__file__), "languages.yml") | |||||
| with open(filename) as fp: | |||||
| data = yaml.load(fp)["languages"] | |||||
| langs = [it.keys()[0] if isinstance(it, dict) else it for it in data] | |||||
| all_langs = {} | |||||
| for i, lang in enumerate(data): | |||||
| if isinstance(lang, dict): | |||||
| for val in lang.values()[0]: | |||||
| all_langs[val] = i | |||||
| else: | |||||
| all_langs[lang] = i | |||||
| return langs, all_langs | |||||
| LANGS, LANGS_ALL = _load_langs() | |||||
| @@ -8,9 +8,13 @@ languages: | |||||
| - Python 3.0 Traceback | - Python 3.0 Traceback | ||||
| - Python console session | - Python console session | ||||
| - Python Traceback | - Python Traceback | ||||
| - NumPy | |||||
| - PyPy Log | |||||
| - C | - C | ||||
| - Java | - Java | ||||
| - Ruby | |||||
| - Ruby: | |||||
| - Ruby | |||||
| - Ruby irb session | |||||
| # Without parsers: | # Without parsers: | ||||
| - ABAP | - ABAP | ||||
| @@ -29,13 +33,18 @@ languages: | |||||
| - ANTLR With Python Target | - ANTLR With Python Target | ||||
| - ANTLR With Ruby Target | - ANTLR With Ruby Target | ||||
| - Ada | - Ada | ||||
| - Agda | |||||
| - Agda: | |||||
| - Agda | |||||
| - Literate Agda | |||||
| - Alloy | - Alloy | ||||
| - AmbientTalk | - AmbientTalk | ||||
| - ApacheConf | - ApacheConf | ||||
| - AppleScript | - AppleScript | ||||
| - AspectJ | - AspectJ | ||||
| - aspx-cs | |||||
| - aspx-vb | |||||
| - Asymptote | - Asymptote | ||||
| - autohotkey | |||||
| - AutoIt | - AutoIt | ||||
| - Awk | - Awk | ||||
| - BBCode | - BBCode | ||||
| @@ -53,7 +62,32 @@ languages: | |||||
| - Bro | - Bro | ||||
| - "C#" | - "C#" | ||||
| - C++ | - C++ | ||||
| - ca65 | |||||
| - CBM BASIC V2 | |||||
| - Ceylon | |||||
| - CFEngine3 | |||||
| - cfstatement | |||||
| - ChaiScript | |||||
| - Chapel | |||||
| - Cheetah | |||||
| - Cirru | |||||
| - Clay | |||||
| - Clojure: | |||||
| - Clojure | |||||
| - ClojureScript | |||||
| - CMake | |||||
| - COBOL: | |||||
| - COBOL | |||||
| - COBOLFree | |||||
| - CoffeeScript | |||||
| - Coldfusion CFC | |||||
| - Coldfusion HTML | |||||
| - Common Lisp | |||||
| - Coq | |||||
| - Croc | |||||
| - Cryptol: | |||||
| - Cryptol | |||||
| - Literate Cryptol | |||||
| - CSS: | - CSS: | ||||
| - CSS | - CSS | ||||
| - CSS+Django/Jinja | - CSS+Django/Jinja | ||||
| @@ -65,9 +99,68 @@ languages: | |||||
| - CSS+PHP | - CSS+PHP | ||||
| - CSS+Ruby | - CSS+Ruby | ||||
| - CSS+Smarty | - CSS+Smarty | ||||
| - CUDA | |||||
| - Cypher | |||||
| - Cython | |||||
| - D | |||||
| - Darcs Patch | |||||
| - Dart | |||||
| - Debian Control file | |||||
| - Debian Sourcelist | |||||
| - Delphi | |||||
| - dg | |||||
| - Diff | |||||
| - Django/Jinja | |||||
| - Docker | |||||
| - DTD | |||||
| - Duel | |||||
| - Dylan: | |||||
| - Dylan | |||||
| - Dylan session | |||||
| - DylanLID | |||||
| - EBNF | |||||
| - eC | |||||
| - ECL | |||||
| - Eiffel | |||||
| - Elixir: | |||||
| - Elixir | |||||
| - Elixir iex session | |||||
| - Embedded Ragel | |||||
| - ERB: | |||||
| - ERB | |||||
| - RHTML | |||||
| - Erlang: | |||||
| - Erlang | |||||
| - Erlang erl session | |||||
| - Evoque | |||||
| - Factor | |||||
| - Fancy | |||||
| - Fantom | |||||
| - Felix | |||||
| - Fortran | |||||
| - FoxPro | |||||
| - FSharp | |||||
| - GAP | |||||
| - GAS | |||||
| - Genshi | |||||
| - Genshi Text | |||||
| - Gettext Catalog | |||||
| - Gherkin | |||||
| - GLSL | |||||
| - Gnuplot | |||||
| - Go | |||||
| - Golo | |||||
| - GoodData-CL | |||||
| - Gosu | |||||
| - Gosu Template | |||||
| - Groff | |||||
| - Groovy | |||||
| - Haml | |||||
| - Handlebars | |||||
| - Haskell: | - Haskell: | ||||
| - Haskell | - Haskell | ||||
| - Literate Haskell | - Literate Haskell | ||||
| - Haxe | |||||
| - HTML: | - HTML: | ||||
| - HTML | - HTML | ||||
| - HTML+Cheetah | - HTML+Cheetah | ||||
| @@ -81,6 +174,25 @@ languages: | |||||
| - HTML+PHP | - HTML+PHP | ||||
| - HTML+Smarty | - HTML+Smarty | ||||
| - HTML+Velocity | - HTML+Velocity | ||||
| - Hxml | |||||
| - Hy | |||||
| - Hybris | |||||
| - IDL | |||||
| - Idris: | |||||
| - Idris | |||||
| - Literate Idris | |||||
| - Igor | |||||
| - Inform 6: | |||||
| - Inform 6 | |||||
| - Inform 6 template | |||||
| - Inform 7 | |||||
| - INI | |||||
| - Io | |||||
| - Ioke | |||||
| - Jade | |||||
| - JAGS | |||||
| - Jasmin | |||||
| - Java Server Page | |||||
| - JavaScript: | - JavaScript: | ||||
| - JavaScript | - JavaScript | ||||
| - JavaScript+Cheetah | - JavaScript+Cheetah | ||||
| @@ -93,15 +205,80 @@ languages: | |||||
| - JavaScript+PHP | - JavaScript+PHP | ||||
| - JavaScript+Ruby | - JavaScript+Ruby | ||||
| - JavaScript+Smarty | - JavaScript+Smarty | ||||
| - JSON | |||||
| - Julia: | - Julia: | ||||
| - Julia | - Julia | ||||
| - Julia console | - Julia console | ||||
| - Kal | |||||
| - Kconfig | |||||
| - Koka | |||||
| - Kotlin | |||||
| - Lasso | |||||
| - Lighttpd configuration file | |||||
| - Limbo | |||||
| - LiveScript | |||||
| - LLVM | |||||
| - Logos | |||||
| - Logtalk | |||||
| - LSL | |||||
| - Lua | |||||
| - Makefile | - Makefile | ||||
| - Makefile | - Makefile | ||||
| - Base Makefile | - Base Makefile | ||||
| - Mako | |||||
| - MAQL | |||||
| - Mask | |||||
| - Mason | |||||
| - Mathematica | |||||
| - Matlab: | |||||
| - Matlab | |||||
| - Matlab session | |||||
| - MiniD | |||||
| - Modelica | |||||
| - Modula-2 | |||||
| - Monkey | |||||
| - MOOCode | |||||
| - MoonScript | |||||
| - MQL | |||||
| - Mscgen | |||||
| - MuPAD | |||||
| - MXML | |||||
| - Myghty | |||||
| - NASM | |||||
| - Nemerle | |||||
| - nesC | |||||
| - NewLisp | |||||
| - Newspeak | |||||
| - Nginx configuration file | |||||
| - Nimrod | |||||
| - Nix | |||||
| - NSIS | |||||
| - Objective-C | - Objective-C | ||||
| - Objective-C++ | - Objective-C++ | ||||
| - Objective-J | - Objective-J | ||||
| - OCaml | |||||
| - Octave | |||||
| - Ooc | |||||
| - Opa | |||||
| - OpenEdge ABL | |||||
| - Pan | |||||
| - Pawn | |||||
| - Perl: | |||||
| - Perl | |||||
| - Perl6 | |||||
| - PHP | |||||
| - Pig | |||||
| - Pike | |||||
| - PostScript | |||||
| - POVRay | |||||
| - PowerShell | |||||
| - Prolog | |||||
| - Properties | |||||
| - Protocol Buffer | |||||
| - Puppet | |||||
| - QBasic | |||||
| - QML | |||||
| - Racket | |||||
| - Ragel: | - Ragel: | ||||
| - Ragel | - Ragel | ||||
| - Ragel in C Host | - Ragel in C Host | ||||
| @@ -110,9 +287,65 @@ languages: | |||||
| - Ragel in Java Host | - Ragel in Java Host | ||||
| - Ragel in Objective C Host | - Ragel in Objective C Host | ||||
| - Ragel in Ruby Host | - Ragel in Ruby Host | ||||
| - RConsole | |||||
| - Rd | |||||
| - REBOL | |||||
| - Red | |||||
| - Redcode | |||||
| - reg | |||||
| - reStructuredText | |||||
| - Rexx | |||||
| - RobotFramework | |||||
| - RPMSpec | |||||
| - RQL | |||||
| - RSL | |||||
| - Rust | |||||
| - S | |||||
| - Sass: | - Sass: | ||||
| - Sass | - Sass | ||||
| - SCSS | - SCSS | ||||
| - Scala | |||||
| - Scalate Server Page | |||||
| - Scaml | |||||
| - Scheme | |||||
| - Scilab | |||||
| - Shell Session | |||||
| - Slim | |||||
| - Smali | |||||
| - Smalltalk | |||||
| - Smarty | |||||
| - Snobol | |||||
| - SourcePawn | |||||
| - SPARQL | |||||
| - SQL: | |||||
| - SQL | |||||
| - MySQL | |||||
| - PL/pgSQL | |||||
| - PostgreSQL console (psql) | |||||
| - PostgreSQL SQL dialect | |||||
| - sqlite3con | |||||
| - SquidConf | |||||
| - Stan | |||||
| - Standard ML | |||||
| - SWIG | |||||
| - systemverilog | |||||
| - Tcl | |||||
| - Tcsh | |||||
| - Tea | |||||
| - TeX | |||||
| - Todotxt | |||||
| - Treetop | |||||
| - TypeScript | |||||
| - UrbiScript | |||||
| - Vala | |||||
| - VB.net | |||||
| - VCTreeStatus | |||||
| - Velocity | |||||
| - verilog | |||||
| - VGL | |||||
| - vhdl | |||||
| - VimL | |||||
| - XML: | - XML: | ||||
| - XML | - XML | ||||
| - XML+Cheetah | - XML+Cheetah | ||||
| @@ -126,4 +359,10 @@ languages: | |||||
| - XML+Ruby | - XML+Ruby | ||||
| - XML+Smarty | - XML+Smarty | ||||
| - XML+Velocity | - XML+Velocity | ||||
| - YAML | |||||
| - XQuery | |||||
| - XSLT | |||||
| - Xtend | |||||
| - YAML: | |||||
| - YAML | |||||
| - YAML+Jinja | |||||
| - Zephir | |||||
| @@ -7,7 +7,7 @@ import subprocess | |||||
| from os import path | from os import path | ||||
| from pygments import lexers as pgl, util | from pygments import lexers as pgl, util | ||||
| from ..languages import LANGS | |||||
| from ..languages import LANGS, LANGS_ALL | |||||
| from .python import parse_py | from .python import parse_py | ||||
| __all__ = ["parse", "UnsupportedFileError", "start_parse_servers"] | __all__ = ["parse", "UnsupportedFileError", "start_parse_servers"] | ||||
| @@ -41,11 +41,10 @@ def _lang(codelet): | |||||
| lex = pgl.guess_lexer_for_filename(codelet.filename, codelet.code) | lex = pgl.guess_lexer_for_filename(codelet.filename, codelet.code) | ||||
| else: | else: | ||||
| lex = pgl.guess_lexer(codelet.code) | lex = pgl.guess_lexer(codelet.code) | ||||
| except util.ClassNotFound: | |||||
| return LANGS_ALL[lex.name] | |||||
| except (util.ClassNotFound, KeyError): | |||||
| raise UnsupportedFileError(codelet.filename) | raise UnsupportedFileError(codelet.filename) | ||||
| return LANGS.index(lex.name) | |||||
| def _recv_data(server_socket): | def _recv_data(server_socket): | ||||
| """ | """ | ||||
| Private function to read string response from a server. It reads a certain | Private function to read string response from a server. It reads a certain | ||||