| @@ -2,5 +2,20 @@ from os import path | |||
| 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 console session | |||
| - Python Traceback | |||
| - NumPy | |||
| - PyPy Log | |||
| - C | |||
| - Java | |||
| - Ruby | |||
| - Ruby: | |||
| - Ruby | |||
| - Ruby irb session | |||
| # Without parsers: | |||
| - ABAP | |||
| @@ -29,13 +33,18 @@ languages: | |||
| - ANTLR With Python Target | |||
| - ANTLR With Ruby Target | |||
| - Ada | |||
| - Agda | |||
| - Agda: | |||
| - Agda | |||
| - Literate Agda | |||
| - Alloy | |||
| - AmbientTalk | |||
| - ApacheConf | |||
| - AppleScript | |||
| - AspectJ | |||
| - aspx-cs | |||
| - aspx-vb | |||
| - Asymptote | |||
| - autohotkey | |||
| - AutoIt | |||
| - Awk | |||
| - BBCode | |||
| @@ -53,7 +62,32 @@ languages: | |||
| - Bro | |||
| - "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+Django/Jinja | |||
| @@ -65,9 +99,68 @@ languages: | |||
| - CSS+PHP | |||
| - CSS+Ruby | |||
| - 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 | |||
| - Literate Haskell | |||
| - Haxe | |||
| - HTML: | |||
| - HTML | |||
| - HTML+Cheetah | |||
| @@ -81,6 +174,25 @@ languages: | |||
| - HTML+PHP | |||
| - HTML+Smarty | |||
| - 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+Cheetah | |||
| @@ -93,15 +205,80 @@ languages: | |||
| - JavaScript+PHP | |||
| - JavaScript+Ruby | |||
| - JavaScript+Smarty | |||
| - JSON | |||
| - Julia: | |||
| - Julia | |||
| - Julia console | |||
| - Kal | |||
| - Kconfig | |||
| - Koka | |||
| - Kotlin | |||
| - Lasso | |||
| - Lighttpd configuration file | |||
| - Limbo | |||
| - LiveScript | |||
| - LLVM | |||
| - Logos | |||
| - Logtalk | |||
| - LSL | |||
| - Lua | |||
| - Makefile | |||
| - 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-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 in C Host | |||
| @@ -110,9 +287,65 @@ languages: | |||
| - Ragel in Java Host | |||
| - Ragel in Objective C Host | |||
| - Ragel in Ruby Host | |||
| - RConsole | |||
| - Rd | |||
| - REBOL | |||
| - Red | |||
| - Redcode | |||
| - reg | |||
| - reStructuredText | |||
| - Rexx | |||
| - RobotFramework | |||
| - RPMSpec | |||
| - RQL | |||
| - RSL | |||
| - Rust | |||
| - S | |||
| - Sass: | |||
| - Sass | |||
| - 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+Cheetah | |||
| @@ -126,4 +359,10 @@ languages: | |||
| - XML+Ruby | |||
| - XML+Smarty | |||
| - XML+Velocity | |||
| - YAML | |||
| - XQuery | |||
| - XSLT | |||
| - Xtend | |||
| - YAML: | |||
| - YAML | |||
| - YAML+Jinja | |||
| - Zephir | |||
| @@ -7,7 +7,7 @@ import subprocess | |||
| from os import path | |||
| from pygments import lexers as pgl, util | |||
| from ..languages import LANGS | |||
| from ..languages import LANGS, LANGS_ALL | |||
| from .python import parse_py | |||
| __all__ = ["parse", "UnsupportedFileError", "start_parse_servers"] | |||
| @@ -41,11 +41,10 @@ def _lang(codelet): | |||
| lex = pgl.guess_lexer_for_filename(codelet.filename, codelet.code) | |||
| else: | |||
| lex = pgl.guess_lexer(codelet.code) | |||
| except util.ClassNotFound: | |||
| return LANGS_ALL[lex.name] | |||
| except (util.ClassNotFound, KeyError): | |||
| raise UnsupportedFileError(codelet.filename) | |||
| return LANGS.index(lex.name) | |||
| def _recv_data(server_socket): | |||
| """ | |||
| Private function to read string response from a server. It reads a certain | |||