mortar-pygments.rb 0.5.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.gitignore +6 -0
- data/CHANGELOG.md +71 -0
- data/Gemfile +2 -0
- data/LICENSE +17 -0
- data/README.md +121 -0
- data/Rakefile +66 -0
- data/bench.rb +22 -0
- data/cache-lexers.rb +8 -0
- data/lexers +0 -0
- data/lib/pygments/lexer.rb +148 -0
- data/lib/pygments/mentos.py +351 -0
- data/lib/pygments/popen.rb +406 -0
- data/lib/pygments/version.rb +3 -0
- data/lib/pygments.rb +8 -0
- data/pygments.rb.gemspec +25 -0
- data/test/test_data.c +2581 -0
- data/test/test_data.py +514 -0
- data/test/test_data_generated +2582 -0
- data/test/test_pygments.rb +287 -0
- data/vendor/custom_lexers/github.py +565 -0
- data/vendor/pygments-main/AUTHORS +153 -0
- data/vendor/pygments-main/CHANGES +889 -0
- data/vendor/pygments-main/LICENSE +25 -0
- data/vendor/pygments-main/MANIFEST.in +6 -0
- data/vendor/pygments-main/Makefile +59 -0
- data/vendor/pygments-main/REVISION +1 -0
- data/vendor/pygments-main/TODO +15 -0
- data/vendor/pygments-main/docs/generate.py +472 -0
- data/vendor/pygments-main/docs/pygmentize.1 +94 -0
- data/vendor/pygments-main/docs/src/api.txt +270 -0
- data/vendor/pygments-main/docs/src/authors.txt +5 -0
- data/vendor/pygments-main/docs/src/changelog.txt +5 -0
- data/vendor/pygments-main/docs/src/cmdline.txt +147 -0
- data/vendor/pygments-main/docs/src/filterdevelopment.txt +70 -0
- data/vendor/pygments-main/docs/src/filters.txt +42 -0
- data/vendor/pygments-main/docs/src/formatterdevelopment.txt +169 -0
- data/vendor/pygments-main/docs/src/formatters.txt +48 -0
- data/vendor/pygments-main/docs/src/index.txt +69 -0
- data/vendor/pygments-main/docs/src/installation.txt +71 -0
- data/vendor/pygments-main/docs/src/integrate.txt +48 -0
- data/vendor/pygments-main/docs/src/java.txt +70 -0
- data/vendor/pygments-main/docs/src/lexerdevelopment.txt +603 -0
- data/vendor/pygments-main/docs/src/lexers.txt +67 -0
- data/vendor/pygments-main/docs/src/moinmoin.txt +39 -0
- data/vendor/pygments-main/docs/src/plugins.txt +93 -0
- data/vendor/pygments-main/docs/src/quickstart.txt +202 -0
- data/vendor/pygments-main/docs/src/rstdirective.txt +22 -0
- data/vendor/pygments-main/docs/src/styles.txt +143 -0
- data/vendor/pygments-main/docs/src/tokens.txt +349 -0
- data/vendor/pygments-main/docs/src/unicode.txt +49 -0
- data/vendor/pygments-main/external/autopygmentize +64 -0
- data/vendor/pygments-main/external/lasso-builtins-generator-9.lasso +144 -0
- data/vendor/pygments-main/external/markdown-processor.py +67 -0
- data/vendor/pygments-main/external/moin-parser.py +112 -0
- data/vendor/pygments-main/external/pygments.bashcomp +38 -0
- data/vendor/pygments-main/external/rst-directive-old.py +77 -0
- data/vendor/pygments-main/external/rst-directive.py +83 -0
- data/vendor/pygments-main/ez_setup.py +276 -0
- data/vendor/pygments-main/pygmentize +7 -0
- data/vendor/pygments-main/pygments/__init__.py +91 -0
- data/vendor/pygments-main/pygments/cmdline.py +441 -0
- data/vendor/pygments-main/pygments/console.py +74 -0
- data/vendor/pygments-main/pygments/filter.py +74 -0
- data/vendor/pygments-main/pygments/filters/__init__.py +356 -0
- data/vendor/pygments-main/pygments/formatter.py +95 -0
- data/vendor/pygments-main/pygments/formatters/__init__.py +68 -0
- data/vendor/pygments-main/pygments/formatters/_mapping.py +92 -0
- data/vendor/pygments-main/pygments/formatters/bbcode.py +109 -0
- data/vendor/pygments-main/pygments/formatters/html.py +821 -0
- data/vendor/pygments-main/pygments/formatters/img.py +553 -0
- data/vendor/pygments-main/pygments/formatters/latex.py +378 -0
- data/vendor/pygments-main/pygments/formatters/other.py +115 -0
- data/vendor/pygments-main/pygments/formatters/rtf.py +136 -0
- data/vendor/pygments-main/pygments/formatters/svg.py +154 -0
- data/vendor/pygments-main/pygments/formatters/terminal.py +112 -0
- data/vendor/pygments-main/pygments/formatters/terminal256.py +222 -0
- data/vendor/pygments-main/pygments/lexer.py +765 -0
- data/vendor/pygments-main/pygments/lexers/__init__.py +240 -0
- data/vendor/pygments-main/pygments/lexers/_asybuiltins.py +1645 -0
- data/vendor/pygments-main/pygments/lexers/_clbuiltins.py +232 -0
- data/vendor/pygments-main/pygments/lexers/_lassobuiltins.py +5172 -0
- data/vendor/pygments-main/pygments/lexers/_luabuiltins.py +249 -0
- data/vendor/pygments-main/pygments/lexers/_mapping.py +355 -0
- data/vendor/pygments-main/pygments/lexers/_openedgebuiltins.py +562 -0
- data/vendor/pygments-main/pygments/lexers/_phpbuiltins.py +3787 -0
- data/vendor/pygments-main/pygments/lexers/_postgres_builtins.py +233 -0
- data/vendor/pygments-main/pygments/lexers/_robotframeworklexer.py +557 -0
- data/vendor/pygments-main/pygments/lexers/_scilab_builtins.py +40 -0
- data/vendor/pygments-main/pygments/lexers/_sourcemodbuiltins.py +1072 -0
- data/vendor/pygments-main/pygments/lexers/_stan_builtins.py +360 -0
- data/vendor/pygments-main/pygments/lexers/_vimbuiltins.py +13 -0
- data/vendor/pygments-main/pygments/lexers/agile.py +2290 -0
- data/vendor/pygments-main/pygments/lexers/asm.py +398 -0
- data/vendor/pygments-main/pygments/lexers/compiled.py +3723 -0
- data/vendor/pygments-main/pygments/lexers/dalvik.py +104 -0
- data/vendor/pygments-main/pygments/lexers/dotnet.py +671 -0
- data/vendor/pygments-main/pygments/lexers/foxpro.py +428 -0
- data/vendor/pygments-main/pygments/lexers/functional.py +2731 -0
- data/vendor/pygments-main/pygments/lexers/github.py +565 -0
- data/vendor/pygments-main/pygments/lexers/hdl.py +356 -0
- data/vendor/pygments-main/pygments/lexers/jvm.py +1112 -0
- data/vendor/pygments-main/pygments/lexers/math.py +1918 -0
- data/vendor/pygments-main/pygments/lexers/other.py +3778 -0
- data/vendor/pygments-main/pygments/lexers/parsers.py +778 -0
- data/vendor/pygments-main/pygments/lexers/shell.py +424 -0
- data/vendor/pygments-main/pygments/lexers/special.py +100 -0
- data/vendor/pygments-main/pygments/lexers/sql.py +609 -0
- data/vendor/pygments-main/pygments/lexers/templates.py +1742 -0
- data/vendor/pygments-main/pygments/lexers/text.py +1893 -0
- data/vendor/pygments-main/pygments/lexers/web.py +4045 -0
- data/vendor/pygments-main/pygments/modeline.py +40 -0
- data/vendor/pygments-main/pygments/plugin.py +74 -0
- data/vendor/pygments-main/pygments/scanner.py +104 -0
- data/vendor/pygments-main/pygments/style.py +117 -0
- data/vendor/pygments-main/pygments/styles/__init__.py +70 -0
- data/vendor/pygments-main/pygments/styles/autumn.py +65 -0
- data/vendor/pygments-main/pygments/styles/borland.py +51 -0
- data/vendor/pygments-main/pygments/styles/bw.py +49 -0
- data/vendor/pygments-main/pygments/styles/colorful.py +81 -0
- data/vendor/pygments-main/pygments/styles/default.py +73 -0
- data/vendor/pygments-main/pygments/styles/emacs.py +72 -0
- data/vendor/pygments-main/pygments/styles/friendly.py +72 -0
- data/vendor/pygments-main/pygments/styles/fruity.py +42 -0
- data/vendor/pygments-main/pygments/styles/manni.py +75 -0
- data/vendor/pygments-main/pygments/styles/monokai.py +106 -0
- data/vendor/pygments-main/pygments/styles/murphy.py +80 -0
- data/vendor/pygments-main/pygments/styles/native.py +65 -0
- data/vendor/pygments-main/pygments/styles/pastie.py +75 -0
- data/vendor/pygments-main/pygments/styles/perldoc.py +69 -0
- data/vendor/pygments-main/pygments/styles/rrt.py +33 -0
- data/vendor/pygments-main/pygments/styles/tango.py +141 -0
- data/vendor/pygments-main/pygments/styles/trac.py +63 -0
- data/vendor/pygments-main/pygments/styles/vim.py +63 -0
- data/vendor/pygments-main/pygments/styles/vs.py +38 -0
- data/vendor/pygments-main/pygments/token.py +195 -0
- data/vendor/pygments-main/pygments/unistring.py +140 -0
- data/vendor/pygments-main/pygments/util.py +277 -0
- data/vendor/pygments-main/scripts/check_sources.py +242 -0
- data/vendor/pygments-main/scripts/detect_missing_analyse_text.py +32 -0
- data/vendor/pygments-main/scripts/epydoc.css +280 -0
- data/vendor/pygments-main/scripts/find_codetags.py +205 -0
- data/vendor/pygments-main/scripts/find_error.py +170 -0
- data/vendor/pygments-main/scripts/get_vimkw.py +43 -0
- data/vendor/pygments-main/scripts/pylintrc +301 -0
- data/vendor/pygments-main/scripts/reindent.py +291 -0
- data/vendor/pygments-main/scripts/vim2pygments.py +933 -0
- data/vendor/pygments-main/setup.cfg +7 -0
- data/vendor/pygments-main/setup.py +90 -0
- data/vendor/pygments-main/tests/dtds/HTML4-f.dtd +37 -0
- data/vendor/pygments-main/tests/dtds/HTML4-s.dtd +869 -0
- data/vendor/pygments-main/tests/dtds/HTML4.dcl +88 -0
- data/vendor/pygments-main/tests/dtds/HTML4.dtd +1092 -0
- data/vendor/pygments-main/tests/dtds/HTML4.soc +9 -0
- data/vendor/pygments-main/tests/dtds/HTMLlat1.ent +195 -0
- data/vendor/pygments-main/tests/dtds/HTMLspec.ent +77 -0
- data/vendor/pygments-main/tests/dtds/HTMLsym.ent +241 -0
- data/vendor/pygments-main/tests/examplefiles/ANTLRv3.g +608 -0
- data/vendor/pygments-main/tests/examplefiles/AcidStateAdvanced.hs +209 -0
- data/vendor/pygments-main/tests/examplefiles/AlternatingGroup.mu +102 -0
- data/vendor/pygments-main/tests/examplefiles/BOM.js +1 -0
- data/vendor/pygments-main/tests/examplefiles/CPDictionary.j +611 -0
- data/vendor/pygments-main/tests/examplefiles/Config.in.cache +1973 -0
- data/vendor/pygments-main/tests/examplefiles/Constants.mo +158 -0
- data/vendor/pygments-main/tests/examplefiles/DancingSudoku.lhs +411 -0
- data/vendor/pygments-main/tests/examplefiles/Deflate.fs +578 -0
- data/vendor/pygments-main/tests/examplefiles/Errors.scala +18 -0
- data/vendor/pygments-main/tests/examplefiles/File.hy +174 -0
- data/vendor/pygments-main/tests/examplefiles/Get-CommandDefinitionHtml.ps1 +66 -0
- data/vendor/pygments-main/tests/examplefiles/IPDispatchC.nc +104 -0
- data/vendor/pygments-main/tests/examplefiles/IPDispatchP.nc +671 -0
- data/vendor/pygments-main/tests/examplefiles/Intro.java +1660 -0
- data/vendor/pygments-main/tests/examplefiles/Makefile +1131 -0
- data/vendor/pygments-main/tests/examplefiles/Object.st +4394 -0
- data/vendor/pygments-main/tests/examplefiles/OrderedMap.hx +584 -0
- data/vendor/pygments-main/tests/examplefiles/RoleQ.pm6 +23 -0
- data/vendor/pygments-main/tests/examplefiles/SmallCheck.hs +378 -0
- data/vendor/pygments-main/tests/examplefiles/Sorting.mod +470 -0
- data/vendor/pygments-main/tests/examplefiles/Sudoku.lhs +382 -0
- data/vendor/pygments-main/tests/examplefiles/addressbook.proto +30 -0
- data/vendor/pygments-main/tests/examplefiles/antlr_throws +1 -0
- data/vendor/pygments-main/tests/examplefiles/apache2.conf +393 -0
- data/vendor/pygments-main/tests/examplefiles/as3_test.as +143 -0
- data/vendor/pygments-main/tests/examplefiles/as3_test2.as +46 -0
- data/vendor/pygments-main/tests/examplefiles/as3_test3.as +3 -0
- data/vendor/pygments-main/tests/examplefiles/aspx-cs_example +27 -0
- data/vendor/pygments-main/tests/examplefiles/autoit_submit.au3 +25 -0
- data/vendor/pygments-main/tests/examplefiles/badcase.java +2 -0
- data/vendor/pygments-main/tests/examplefiles/batchfile.bat +49 -0
- data/vendor/pygments-main/tests/examplefiles/bigtest.nsi +308 -0
- data/vendor/pygments-main/tests/examplefiles/boot-9.scm +1557 -0
- data/vendor/pygments-main/tests/examplefiles/ca65_example +284 -0
- data/vendor/pygments-main/tests/examplefiles/cbmbas_example +9 -0
- data/vendor/pygments-main/tests/examplefiles/cells.ps +515 -0
- data/vendor/pygments-main/tests/examplefiles/ceval.c +2604 -0
- data/vendor/pygments-main/tests/examplefiles/cheetah_example.html +13 -0
- data/vendor/pygments-main/tests/examplefiles/classes.dylan +125 -0
- data/vendor/pygments-main/tests/examplefiles/condensed_ruby.rb +10 -0
- data/vendor/pygments-main/tests/examplefiles/coq_RelationClasses +447 -0
- data/vendor/pygments-main/tests/examplefiles/database.pytb +20 -0
- data/vendor/pygments-main/tests/examplefiles/de.MoinMoin.po +2461 -0
- data/vendor/pygments-main/tests/examplefiles/demo.ahk +181 -0
- data/vendor/pygments-main/tests/examplefiles/demo.cfm +38 -0
- data/vendor/pygments-main/tests/examplefiles/django_sample.html+django +68 -0
- data/vendor/pygments-main/tests/examplefiles/dwarf.cw +17 -0
- data/vendor/pygments-main/tests/examplefiles/erl_session +10 -0
- data/vendor/pygments-main/tests/examplefiles/escape_semicolon.clj +1 -0
- data/vendor/pygments-main/tests/examplefiles/evil_regex.js +48 -0
- data/vendor/pygments-main/tests/examplefiles/example.Rd +78 -0
- data/vendor/pygments-main/tests/examplefiles/example.bug +54 -0
- data/vendor/pygments-main/tests/examplefiles/example.c +2080 -0
- data/vendor/pygments-main/tests/examplefiles/example.ceylon +52 -0
- data/vendor/pygments-main/tests/examplefiles/example.clay +33 -0
- data/vendor/pygments-main/tests/examplefiles/example.cls +15 -0
- data/vendor/pygments-main/tests/examplefiles/example.cob +3556 -0
- data/vendor/pygments-main/tests/examplefiles/example.cpp +2363 -0
- data/vendor/pygments-main/tests/examplefiles/example.gs +106 -0
- data/vendor/pygments-main/tests/examplefiles/example.gst +7 -0
- data/vendor/pygments-main/tests/examplefiles/example.hx +142 -0
- data/vendor/pygments-main/tests/examplefiles/example.jag +48 -0
- data/vendor/pygments-main/tests/examplefiles/example.kt +47 -0
- data/vendor/pygments-main/tests/examplefiles/example.lagda +19 -0
- data/vendor/pygments-main/tests/examplefiles/example.lua +250 -0
- data/vendor/pygments-main/tests/examplefiles/example.monkey +152 -0
- data/vendor/pygments-main/tests/examplefiles/example.moo +26 -0
- data/vendor/pygments-main/tests/examplefiles/example.moon +629 -0
- data/vendor/pygments-main/tests/examplefiles/example.msc +43 -0
- data/vendor/pygments-main/tests/examplefiles/example.nim +1010 -0
- data/vendor/pygments-main/tests/examplefiles/example.ns2 +69 -0
- data/vendor/pygments-main/tests/examplefiles/example.p +34 -0
- data/vendor/pygments-main/tests/examplefiles/example.pas +2708 -0
- data/vendor/pygments-main/tests/examplefiles/example.prg +161 -0
- data/vendor/pygments-main/tests/examplefiles/example.rb +1852 -0
- data/vendor/pygments-main/tests/examplefiles/example.reg +19 -0
- data/vendor/pygments-main/tests/examplefiles/example.rexx +50 -0
- data/vendor/pygments-main/tests/examplefiles/example.rhtml +561 -0
- data/vendor/pygments-main/tests/examplefiles/example.rkt +95 -0
- data/vendor/pygments-main/tests/examplefiles/example.rpf +4 -0
- data/vendor/pygments-main/tests/examplefiles/example.sh-session +19 -0
- data/vendor/pygments-main/tests/examplefiles/example.shell-session +45 -0
- data/vendor/pygments-main/tests/examplefiles/example.sml +156 -0
- data/vendor/pygments-main/tests/examplefiles/example.snobol +15 -0
- data/vendor/pygments-main/tests/examplefiles/example.stan +108 -0
- data/vendor/pygments-main/tests/examplefiles/example.tea +34 -0
- data/vendor/pygments-main/tests/examplefiles/example.ts +28 -0
- data/vendor/pygments-main/tests/examplefiles/example.u +548 -0
- data/vendor/pygments-main/tests/examplefiles/example.weechatlog +9 -0
- data/vendor/pygments-main/tests/examplefiles/example.xhtml +376 -0
- data/vendor/pygments-main/tests/examplefiles/example.xtend +34 -0
- data/vendor/pygments-main/tests/examplefiles/example.yaml +302 -0
- data/vendor/pygments-main/tests/examplefiles/example2.aspx +29 -0
- data/vendor/pygments-main/tests/examplefiles/example2.msc +79 -0
- data/vendor/pygments-main/tests/examplefiles/example_elixir.ex +363 -0
- data/vendor/pygments-main/tests/examplefiles/example_file.fy +128 -0
- data/vendor/pygments-main/tests/examplefiles/firefox.mak +586 -0
- data/vendor/pygments-main/tests/examplefiles/flipflop.sv +19 -0
- data/vendor/pygments-main/tests/examplefiles/foo.sce +6 -0
- data/vendor/pygments-main/tests/examplefiles/format.ml +1213 -0
- data/vendor/pygments-main/tests/examplefiles/fucked_up.rb +77 -0
- data/vendor/pygments-main/tests/examplefiles/function.mu +1 -0
- data/vendor/pygments-main/tests/examplefiles/functional.rst +1472 -0
- data/vendor/pygments-main/tests/examplefiles/garcia-wachs.kk +133 -0
- data/vendor/pygments-main/tests/examplefiles/genclass.clj +510 -0
- data/vendor/pygments-main/tests/examplefiles/genshi_example.xml+genshi +193 -0
- data/vendor/pygments-main/tests/examplefiles/genshitext_example.genshitext +33 -0
- data/vendor/pygments-main/tests/examplefiles/glsl.frag +7 -0
- data/vendor/pygments-main/tests/examplefiles/glsl.vert +13 -0
- data/vendor/pygments-main/tests/examplefiles/grammar-test.p6 +22 -0
- data/vendor/pygments-main/tests/examplefiles/hello.smali +40 -0
- data/vendor/pygments-main/tests/examplefiles/hello.sp +9 -0
- data/vendor/pygments-main/tests/examplefiles/html+php_faulty.php +1 -0
- data/vendor/pygments-main/tests/examplefiles/http_request_example +15 -0
- data/vendor/pygments-main/tests/examplefiles/http_response_example +29 -0
- data/vendor/pygments-main/tests/examplefiles/import.hs +4 -0
- data/vendor/pygments-main/tests/examplefiles/inet_pton6.dg +71 -0
- data/vendor/pygments-main/tests/examplefiles/intro.ik +24 -0
- data/vendor/pygments-main/tests/examplefiles/ints.php +10 -0
- data/vendor/pygments-main/tests/examplefiles/intsyn.fun +675 -0
- data/vendor/pygments-main/tests/examplefiles/intsyn.sig +286 -0
- data/vendor/pygments-main/tests/examplefiles/irb_heredoc +8 -0
- data/vendor/pygments-main/tests/examplefiles/irc.lsp +214 -0
- data/vendor/pygments-main/tests/examplefiles/java.properties +16 -0
- data/vendor/pygments-main/tests/examplefiles/jbst_example1.jbst +28 -0
- data/vendor/pygments-main/tests/examplefiles/jbst_example2.jbst +45 -0
- data/vendor/pygments-main/tests/examplefiles/jinjadesignerdoc.rst +713 -0
- data/vendor/pygments-main/tests/examplefiles/json.lasso +301 -0
- data/vendor/pygments-main/tests/examplefiles/json.lasso9 +213 -0
- data/vendor/pygments-main/tests/examplefiles/lighttpd_config.conf +13 -0
- data/vendor/pygments-main/tests/examplefiles/linecontinuation.py +47 -0
- data/vendor/pygments-main/tests/examplefiles/livescript-demo.ls +41 -0
- data/vendor/pygments-main/tests/examplefiles/logos_example.xm +28 -0
- data/vendor/pygments-main/tests/examplefiles/ltmain.sh +2849 -0
- data/vendor/pygments-main/tests/examplefiles/main.cmake +42 -0
- data/vendor/pygments-main/tests/examplefiles/markdown.lsp +679 -0
- data/vendor/pygments-main/tests/examplefiles/matlab_noreturn +3 -0
- data/vendor/pygments-main/tests/examplefiles/matlab_sample +30 -0
- data/vendor/pygments-main/tests/examplefiles/matlabsession_sample.txt +37 -0
- data/vendor/pygments-main/tests/examplefiles/metagrammar.treetop +455 -0
- data/vendor/pygments-main/tests/examplefiles/mg_sample.pro +73 -0
- data/vendor/pygments-main/tests/examplefiles/minehunt.qml +112 -0
- data/vendor/pygments-main/tests/examplefiles/minimal.ns2 +4 -0
- data/vendor/pygments-main/tests/examplefiles/moin_SyntaxReference.txt +340 -0
- data/vendor/pygments-main/tests/examplefiles/multiline_regexes.rb +38 -0
- data/vendor/pygments-main/tests/examplefiles/nanomsg.intr +95 -0
- data/vendor/pygments-main/tests/examplefiles/nasm_aoutso.asm +96 -0
- data/vendor/pygments-main/tests/examplefiles/nasm_objexe.asm +30 -0
- data/vendor/pygments-main/tests/examplefiles/nemerle_sample.n +87 -0
- data/vendor/pygments-main/tests/examplefiles/nginx_nginx.conf +118 -0
- data/vendor/pygments-main/tests/examplefiles/numbers.c +12 -0
- data/vendor/pygments-main/tests/examplefiles/objc_example.m +32 -0
- data/vendor/pygments-main/tests/examplefiles/objc_example2.m +24 -0
- data/vendor/pygments-main/tests/examplefiles/perl_misc +62 -0
- data/vendor/pygments-main/tests/examplefiles/perl_perl5db +998 -0
- data/vendor/pygments-main/tests/examplefiles/perl_regex-delims +120 -0
- data/vendor/pygments-main/tests/examplefiles/perlfunc.1 +856 -0
- data/vendor/pygments-main/tests/examplefiles/phpMyAdmin.spec +163 -0
- data/vendor/pygments-main/tests/examplefiles/phpcomplete.vim +567 -0
- data/vendor/pygments-main/tests/examplefiles/pleac.in.rb +1223 -0
- data/vendor/pygments-main/tests/examplefiles/postgresql_test.txt +47 -0
- data/vendor/pygments-main/tests/examplefiles/pppoe.applescript +10 -0
- data/vendor/pygments-main/tests/examplefiles/psql_session.txt +122 -0
- data/vendor/pygments-main/tests/examplefiles/py3_test.txt +2 -0
- data/vendor/pygments-main/tests/examplefiles/py3tb_test.py3tb +4 -0
- data/vendor/pygments-main/tests/examplefiles/pycon_test.pycon +14 -0
- data/vendor/pygments-main/tests/examplefiles/pytb_test2.pytb +2 -0
- data/vendor/pygments-main/tests/examplefiles/pytb_test3.pytb +4 -0
- data/vendor/pygments-main/tests/examplefiles/python25-bsd.mak +234 -0
- data/vendor/pygments-main/tests/examplefiles/qsort.prolog +13 -0
- data/vendor/pygments-main/tests/examplefiles/r-console-transcript.Rout +38 -0
- data/vendor/pygments-main/tests/examplefiles/ragel-cpp_rlscan +280 -0
- data/vendor/pygments-main/tests/examplefiles/ragel-cpp_snippet +2 -0
- data/vendor/pygments-main/tests/examplefiles/regex.js +22 -0
- data/vendor/pygments-main/tests/examplefiles/reversi.lsp +427 -0
- data/vendor/pygments-main/tests/examplefiles/robotframework.txt +39 -0
- data/vendor/pygments-main/tests/examplefiles/ruby_func_def.rb +11 -0
- data/vendor/pygments-main/tests/examplefiles/rust_example.rs +233 -0
- data/vendor/pygments-main/tests/examplefiles/scilab.sci +30 -0
- data/vendor/pygments-main/tests/examplefiles/session.dylan-console +9 -0
- data/vendor/pygments-main/tests/examplefiles/sibling.prolog +19 -0
- data/vendor/pygments-main/tests/examplefiles/simple.md +747 -0
- data/vendor/pygments-main/tests/examplefiles/smarty_example.html +209 -0
- data/vendor/pygments-main/tests/examplefiles/source.lgt +343 -0
- data/vendor/pygments-main/tests/examplefiles/sources.list +62 -0
- data/vendor/pygments-main/tests/examplefiles/sphere.pov +18 -0
- data/vendor/pygments-main/tests/examplefiles/sqlite3.sqlite3-console +27 -0
- data/vendor/pygments-main/tests/examplefiles/squid.conf +30 -0
- data/vendor/pygments-main/tests/examplefiles/string.jl +1031 -0
- data/vendor/pygments-main/tests/examplefiles/string_delimiters.d +21 -0
- data/vendor/pygments-main/tests/examplefiles/stripheredoc.sh +3 -0
- data/vendor/pygments-main/tests/examplefiles/swig_java.swg +1329 -0
- data/vendor/pygments-main/tests/examplefiles/swig_std_vector.i +225 -0
- data/vendor/pygments-main/tests/examplefiles/test.R +153 -0
- data/vendor/pygments-main/tests/examplefiles/test.adb +211 -0
- data/vendor/pygments-main/tests/examplefiles/test.agda +102 -0
- data/vendor/pygments-main/tests/examplefiles/test.asy +131 -0
- data/vendor/pygments-main/tests/examplefiles/test.awk +121 -0
- data/vendor/pygments-main/tests/examplefiles/test.bas +29 -0
- data/vendor/pygments-main/tests/examplefiles/test.bb +95 -0
- data/vendor/pygments-main/tests/examplefiles/test.bmx +145 -0
- data/vendor/pygments-main/tests/examplefiles/test.boo +39 -0
- data/vendor/pygments-main/tests/examplefiles/test.bro +250 -0
- data/vendor/pygments-main/tests/examplefiles/test.cs +374 -0
- data/vendor/pygments-main/tests/examplefiles/test.css +54 -0
- data/vendor/pygments-main/tests/examplefiles/test.cu +36 -0
- data/vendor/pygments-main/tests/examplefiles/test.d +135 -0
- data/vendor/pygments-main/tests/examplefiles/test.dart +23 -0
- data/vendor/pygments-main/tests/examplefiles/test.dtd +89 -0
- data/vendor/pygments-main/tests/examplefiles/test.ebnf +31 -0
- data/vendor/pygments-main/tests/examplefiles/test.ec +605 -0
- data/vendor/pygments-main/tests/examplefiles/test.ecl +58 -0
- data/vendor/pygments-main/tests/examplefiles/test.eh +315 -0
- data/vendor/pygments-main/tests/examplefiles/test.erl +169 -0
- data/vendor/pygments-main/tests/examplefiles/test.evoque +33 -0
- data/vendor/pygments-main/tests/examplefiles/test.fan +818 -0
- data/vendor/pygments-main/tests/examplefiles/test.flx +57 -0
- data/vendor/pygments-main/tests/examplefiles/test.gdc +13 -0
- data/vendor/pygments-main/tests/examplefiles/test.groovy +97 -0
- data/vendor/pygments-main/tests/examplefiles/test.html +339 -0
- data/vendor/pygments-main/tests/examplefiles/test.ini +10 -0
- data/vendor/pygments-main/tests/examplefiles/test.java +653 -0
- data/vendor/pygments-main/tests/examplefiles/test.jsp +24 -0
- data/vendor/pygments-main/tests/examplefiles/test.maql +45 -0
- data/vendor/pygments-main/tests/examplefiles/test.mod +374 -0
- data/vendor/pygments-main/tests/examplefiles/test.moo +51 -0
- data/vendor/pygments-main/tests/examplefiles/test.myt +166 -0
- data/vendor/pygments-main/tests/examplefiles/test.nim +93 -0
- data/vendor/pygments-main/tests/examplefiles/test.opa +10 -0
- data/vendor/pygments-main/tests/examplefiles/test.p6 +252 -0
- data/vendor/pygments-main/tests/examplefiles/test.pas +743 -0
- data/vendor/pygments-main/tests/examplefiles/test.php +505 -0
- data/vendor/pygments-main/tests/examplefiles/test.plot +333 -0
- data/vendor/pygments-main/tests/examplefiles/test.ps1 +108 -0
- data/vendor/pygments-main/tests/examplefiles/test.pypylog +1839 -0
- data/vendor/pygments-main/tests/examplefiles/test.r3 +94 -0
- data/vendor/pygments-main/tests/examplefiles/test.rb +177 -0
- data/vendor/pygments-main/tests/examplefiles/test.rhtml +43 -0
- data/vendor/pygments-main/tests/examplefiles/test.scaml +8 -0
- data/vendor/pygments-main/tests/examplefiles/test.ssp +12 -0
- data/vendor/pygments-main/tests/examplefiles/test.tcsh +830 -0
- data/vendor/pygments-main/tests/examplefiles/test.vb +407 -0
- data/vendor/pygments-main/tests/examplefiles/test.vhdl +161 -0
- data/vendor/pygments-main/tests/examplefiles/test.xqy +138 -0
- data/vendor/pygments-main/tests/examplefiles/test.xsl +23 -0
- data/vendor/pygments-main/tests/examplefiles/test2.pypylog +120 -0
- data/vendor/pygments-main/tests/examplefiles/truncated.pytb +15 -0
- data/vendor/pygments-main/tests/examplefiles/type.lisp +1218 -0
- data/vendor/pygments-main/tests/examplefiles/underscore.coffee +603 -0
- data/vendor/pygments-main/tests/examplefiles/unicode.applescript +5 -0
- data/vendor/pygments-main/tests/examplefiles/unicodedoc.py +11 -0
- data/vendor/pygments-main/tests/examplefiles/unix-io.lid +37 -0
- data/vendor/pygments-main/tests/examplefiles/webkit-transition.css +3 -0
- data/vendor/pygments-main/tests/examplefiles/while.pov +13 -0
- data/vendor/pygments-main/tests/examplefiles/wiki.factor +384 -0
- data/vendor/pygments-main/tests/examplefiles/xml_example +1897 -0
- data/vendor/pygments-main/tests/examplefiles/zmlrpc.f90 +798 -0
- data/vendor/pygments-main/tests/old_run.py +138 -0
- data/vendor/pygments-main/tests/run.py +49 -0
- data/vendor/pygments-main/tests/support/tags +36 -0
- data/vendor/pygments-main/tests/support.py +15 -0
- data/vendor/pygments-main/tests/test_basic_api.py +295 -0
- data/vendor/pygments-main/tests/test_clexer.py +31 -0
- data/vendor/pygments-main/tests/test_cmdline.py +105 -0
- data/vendor/pygments-main/tests/test_examplefiles.py +99 -0
- data/vendor/pygments-main/tests/test_html_formatter.py +178 -0
- data/vendor/pygments-main/tests/test_latex_formatter.py +55 -0
- data/vendor/pygments-main/tests/test_lexers_other.py +68 -0
- data/vendor/pygments-main/tests/test_perllexer.py +137 -0
- data/vendor/pygments-main/tests/test_regexlexer.py +47 -0
- data/vendor/pygments-main/tests/test_token.py +46 -0
- data/vendor/pygments-main/tests/test_using_api.py +40 -0
- data/vendor/pygments-main/tests/test_util.py +135 -0
- data/vendor/simplejson/.gitignore +10 -0
- data/vendor/simplejson/.travis.yml +5 -0
- data/vendor/simplejson/CHANGES.txt +291 -0
- data/vendor/simplejson/LICENSE.txt +19 -0
- data/vendor/simplejson/MANIFEST.in +5 -0
- data/vendor/simplejson/README.rst +19 -0
- data/vendor/simplejson/conf.py +179 -0
- data/vendor/simplejson/index.rst +628 -0
- data/vendor/simplejson/scripts/make_docs.py +18 -0
- data/vendor/simplejson/setup.py +104 -0
- data/vendor/simplejson/simplejson/__init__.py +510 -0
- data/vendor/simplejson/simplejson/_speedups.c +2745 -0
- data/vendor/simplejson/simplejson/decoder.py +425 -0
- data/vendor/simplejson/simplejson/encoder.py +567 -0
- data/vendor/simplejson/simplejson/ordered_dict.py +119 -0
- data/vendor/simplejson/simplejson/scanner.py +77 -0
- data/vendor/simplejson/simplejson/tests/__init__.py +67 -0
- data/vendor/simplejson/simplejson/tests/test_bigint_as_string.py +55 -0
- data/vendor/simplejson/simplejson/tests/test_check_circular.py +30 -0
- data/vendor/simplejson/simplejson/tests/test_decimal.py +66 -0
- data/vendor/simplejson/simplejson/tests/test_decode.py +83 -0
- data/vendor/simplejson/simplejson/tests/test_default.py +9 -0
- data/vendor/simplejson/simplejson/tests/test_dump.py +67 -0
- data/vendor/simplejson/simplejson/tests/test_encode_basestring_ascii.py +46 -0
- data/vendor/simplejson/simplejson/tests/test_encode_for_html.py +32 -0
- data/vendor/simplejson/simplejson/tests/test_errors.py +34 -0
- data/vendor/simplejson/simplejson/tests/test_fail.py +91 -0
- data/vendor/simplejson/simplejson/tests/test_float.py +19 -0
- data/vendor/simplejson/simplejson/tests/test_indent.py +86 -0
- data/vendor/simplejson/simplejson/tests/test_item_sort_key.py +20 -0
- data/vendor/simplejson/simplejson/tests/test_namedtuple.py +121 -0
- data/vendor/simplejson/simplejson/tests/test_pass1.py +76 -0
- data/vendor/simplejson/simplejson/tests/test_pass2.py +14 -0
- data/vendor/simplejson/simplejson/tests/test_pass3.py +20 -0
- data/vendor/simplejson/simplejson/tests/test_recursion.py +67 -0
- data/vendor/simplejson/simplejson/tests/test_scanstring.py +117 -0
- data/vendor/simplejson/simplejson/tests/test_separators.py +42 -0
- data/vendor/simplejson/simplejson/tests/test_speedups.py +20 -0
- data/vendor/simplejson/simplejson/tests/test_tuple.py +49 -0
- data/vendor/simplejson/simplejson/tests/test_unicode.py +109 -0
- data/vendor/simplejson/simplejson/tool.py +39 -0
- metadata +566 -0
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import re
|
|
2
|
+
from pprint import pprint
|
|
3
|
+
|
|
4
|
+
r_line = re.compile(r"^(syn keyword vimCommand contained|syn keyword vimOption "
|
|
5
|
+
r"contained|syn keyword vimAutoEvent contained)\s+(.*)")
|
|
6
|
+
r_item = re.compile(r"(\w+)(?:\[(\w+)\])?")
|
|
7
|
+
|
|
8
|
+
def getkw(input, output):
|
|
9
|
+
out = file(output, 'w')
|
|
10
|
+
|
|
11
|
+
output_info = {'command': [], 'option': [], 'auto': []}
|
|
12
|
+
for line in file(input):
|
|
13
|
+
m = r_line.match(line)
|
|
14
|
+
if m:
|
|
15
|
+
# Decide which output gets mapped to d
|
|
16
|
+
if 'vimCommand' in m.group(1):
|
|
17
|
+
d = output_info['command']
|
|
18
|
+
elif 'AutoEvent' in m.group(1):
|
|
19
|
+
d = output_info['auto']
|
|
20
|
+
else:
|
|
21
|
+
d = output_info['option']
|
|
22
|
+
|
|
23
|
+
# Extract all the shortened versions
|
|
24
|
+
for i in r_item.finditer(m.group(2)):
|
|
25
|
+
d.append('(%r,%r)' %
|
|
26
|
+
(i.group(1), "%s%s" % (i.group(1), i.group(2) or '')))
|
|
27
|
+
|
|
28
|
+
output_info['option'].append("('nnoremap','nnoremap')")
|
|
29
|
+
output_info['option'].append("('inoremap','inoremap')")
|
|
30
|
+
output_info['option'].append("('vnoremap','vnoremap')")
|
|
31
|
+
|
|
32
|
+
for a, b in output_info.items():
|
|
33
|
+
b.sort()
|
|
34
|
+
print >>out, '%s=[%s]' % (a, ','.join(b))
|
|
35
|
+
|
|
36
|
+
def is_keyword(w, keywords):
|
|
37
|
+
for i in range(len(w), 0, -1):
|
|
38
|
+
if w[:i] in keywords:
|
|
39
|
+
return signals[w[:i]][:len(w)] == w
|
|
40
|
+
return False
|
|
41
|
+
|
|
42
|
+
if __name__ == "__main__":
|
|
43
|
+
getkw("/usr/share/vim/vim73/syntax/vim.vim", "temp.py")
|
|
@@ -0,0 +1,301 @@
|
|
|
1
|
+
# lint Python modules using external checkers.
|
|
2
|
+
#
|
|
3
|
+
# This is the main checker controling the other ones and the reports
|
|
4
|
+
# generation. It is itself both a raw checker and an astng checker in order
|
|
5
|
+
# to:
|
|
6
|
+
# * handle message activation / deactivation at the module level
|
|
7
|
+
# * handle some basic but necessary stats'data (number of classes, methods...)
|
|
8
|
+
#
|
|
9
|
+
[MASTER]
|
|
10
|
+
|
|
11
|
+
# Specify a configuration file.
|
|
12
|
+
#rcfile=
|
|
13
|
+
|
|
14
|
+
# Profiled execution.
|
|
15
|
+
profile=no
|
|
16
|
+
|
|
17
|
+
# Add <file or directory> to the black list. It should be a base name, not a
|
|
18
|
+
# path. You may set this option multiple times.
|
|
19
|
+
ignore=.svn
|
|
20
|
+
|
|
21
|
+
# Pickle collected data for later comparisons.
|
|
22
|
+
persistent=yes
|
|
23
|
+
|
|
24
|
+
# Set the cache size for astng objects.
|
|
25
|
+
cache-size=500
|
|
26
|
+
|
|
27
|
+
# List of plugins (as comma separated values of python modules names) to load,
|
|
28
|
+
# usually to register additional checkers.
|
|
29
|
+
load-plugins=
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
[MESSAGES CONTROL]
|
|
33
|
+
|
|
34
|
+
# Enable only checker(s) with the given id(s). This option conflict with the
|
|
35
|
+
# disable-checker option
|
|
36
|
+
#enable-checker=
|
|
37
|
+
|
|
38
|
+
# Enable all checker(s) except those with the given id(s). This option conflict
|
|
39
|
+
# with the disable-checker option
|
|
40
|
+
#disable-checker=
|
|
41
|
+
|
|
42
|
+
# Enable all messages in the listed categories.
|
|
43
|
+
#enable-msg-cat=
|
|
44
|
+
|
|
45
|
+
# Disable all messages in the listed categories.
|
|
46
|
+
#disable-msg-cat=
|
|
47
|
+
|
|
48
|
+
# Enable the message(s) with the given id(s).
|
|
49
|
+
#enable-msg=
|
|
50
|
+
|
|
51
|
+
# Disable the message(s) with the given id(s).
|
|
52
|
+
disable-msg=C0323,W0142,C0301,C0103,C0111,E0213,C0302,C0203,W0703,R0201
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
[REPORTS]
|
|
56
|
+
|
|
57
|
+
# set the output format. Available formats are text, parseable, colorized and
|
|
58
|
+
# html
|
|
59
|
+
output-format=colorized
|
|
60
|
+
|
|
61
|
+
# Include message's id in output
|
|
62
|
+
include-ids=yes
|
|
63
|
+
|
|
64
|
+
# Put messages in a separate file for each module / package specified on the
|
|
65
|
+
# command line instead of printing them on stdout. Reports (if any) will be
|
|
66
|
+
# written in a file name "pylint_global.[txt|html]".
|
|
67
|
+
files-output=no
|
|
68
|
+
|
|
69
|
+
# Tells wether to display a full report or only the messages
|
|
70
|
+
reports=yes
|
|
71
|
+
|
|
72
|
+
# Python expression which should return a note less than 10 (10 is the highest
|
|
73
|
+
# note).You have access to the variables errors warning, statement which
|
|
74
|
+
# respectivly contain the number of errors / warnings messages and the total
|
|
75
|
+
# number of statements analyzed. This is used by the global evaluation report
|
|
76
|
+
# (R0004).
|
|
77
|
+
evaluation=10.0 - ((float(5 * error + warning + refactor + convention) / statement) * 10)
|
|
78
|
+
|
|
79
|
+
# Add a comment according to your evaluation note. This is used by the global
|
|
80
|
+
# evaluation report (R0004).
|
|
81
|
+
comment=no
|
|
82
|
+
|
|
83
|
+
# Enable the report(s) with the given id(s).
|
|
84
|
+
#enable-report=
|
|
85
|
+
|
|
86
|
+
# Disable the report(s) with the given id(s).
|
|
87
|
+
#disable-report=
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
# checks for
|
|
91
|
+
# * unused variables / imports
|
|
92
|
+
# * undefined variables
|
|
93
|
+
# * redefinition of variable from builtins or from an outer scope
|
|
94
|
+
# * use of variable before assigment
|
|
95
|
+
#
|
|
96
|
+
[VARIABLES]
|
|
97
|
+
|
|
98
|
+
# Tells wether we should check for unused import in __init__ files.
|
|
99
|
+
init-import=no
|
|
100
|
+
|
|
101
|
+
# A regular expression matching names used for dummy variables (i.e. not used).
|
|
102
|
+
dummy-variables-rgx=_|dummy
|
|
103
|
+
|
|
104
|
+
# List of additional names supposed to be defined in builtins. Remember that
|
|
105
|
+
# you should avoid to define new builtins when possible.
|
|
106
|
+
additional-builtins=
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
# try to find bugs in the code using type inference
|
|
110
|
+
#
|
|
111
|
+
[TYPECHECK]
|
|
112
|
+
|
|
113
|
+
# Tells wether missing members accessed in mixin class should be ignored. A
|
|
114
|
+
# mixin class is detected if its name ends with "mixin" (case insensitive).
|
|
115
|
+
ignore-mixin-members=yes
|
|
116
|
+
|
|
117
|
+
# When zope mode is activated, consider the acquired-members option to ignore
|
|
118
|
+
# access to some undefined attributes.
|
|
119
|
+
zope=no
|
|
120
|
+
|
|
121
|
+
# List of members which are usually get through zope's acquisition mecanism and
|
|
122
|
+
# so shouldn't trigger E0201 when accessed (need zope=yes to be considered).
|
|
123
|
+
acquired-members=REQUEST,acl_users,aq_parent
|
|
124
|
+
|
|
125
|
+
|
|
126
|
+
# checks for :
|
|
127
|
+
# * doc strings
|
|
128
|
+
# * modules / classes / functions / methods / arguments / variables name
|
|
129
|
+
# * number of arguments, local variables, branchs, returns and statements in
|
|
130
|
+
# functions, methods
|
|
131
|
+
# * required module attributes
|
|
132
|
+
# * dangerous default values as arguments
|
|
133
|
+
# * redefinition of function / method / class
|
|
134
|
+
# * uses of the global statement
|
|
135
|
+
#
|
|
136
|
+
[BASIC]
|
|
137
|
+
|
|
138
|
+
# Required attributes for module, separated by a comma
|
|
139
|
+
required-attributes=
|
|
140
|
+
|
|
141
|
+
# Regular expression which should only match functions or classes name which do
|
|
142
|
+
# not require a docstring
|
|
143
|
+
no-docstring-rgx=__.*__
|
|
144
|
+
|
|
145
|
+
# Regular expression which should only match correct module names
|
|
146
|
+
module-rgx=(([a-z_][a-z0-9_]*)|([A-Z][a-zA-Z0-9]+))$
|
|
147
|
+
|
|
148
|
+
# Regular expression which should only match correct module level names
|
|
149
|
+
const-rgx=(([A-Z_][A-Z1-9_]*)|(__.*__))$
|
|
150
|
+
|
|
151
|
+
# Regular expression which should only match correct class names
|
|
152
|
+
class-rgx=[A-Z_][a-zA-Z0-9]+$
|
|
153
|
+
|
|
154
|
+
# Regular expression which should only match correct function names
|
|
155
|
+
function-rgx=[a-z_][a-z0-9_]{2,30}$
|
|
156
|
+
|
|
157
|
+
# Regular expression which should only match correct method names
|
|
158
|
+
method-rgx=[a-z_][a-z0-9_]{2,30}$
|
|
159
|
+
|
|
160
|
+
# Regular expression which should only match correct instance attribute names
|
|
161
|
+
attr-rgx=[a-z_][a-z0-9_]{2,30}$
|
|
162
|
+
|
|
163
|
+
# Regular expression which should only match correct argument names
|
|
164
|
+
argument-rgx=[a-z_][a-z0-9_]{2,30}$
|
|
165
|
+
|
|
166
|
+
# Regular expression which should only match correct variable names
|
|
167
|
+
variable-rgx=[a-z_][a-z0-9_]{2,30}$
|
|
168
|
+
|
|
169
|
+
# Regular expression which should only match correct list comprehension /
|
|
170
|
+
# generator expression variable names
|
|
171
|
+
inlinevar-rgx=[A-Za-z_][A-Za-z0-9_]*$
|
|
172
|
+
|
|
173
|
+
# Good variable names which should always be accepted, separated by a comma
|
|
174
|
+
good-names=i,j,k,ex,Run,_
|
|
175
|
+
|
|
176
|
+
# Bad variable names which should always be refused, separated by a comma
|
|
177
|
+
bad-names=foo,bar,baz,toto,tutu,tata
|
|
178
|
+
|
|
179
|
+
# List of builtins function names that should not be used, separated by a comma
|
|
180
|
+
bad-functions=apply,input
|
|
181
|
+
|
|
182
|
+
|
|
183
|
+
# checks for sign of poor/misdesign:
|
|
184
|
+
# * number of methods, attributes, local variables...
|
|
185
|
+
# * size, complexity of functions, methods
|
|
186
|
+
#
|
|
187
|
+
[DESIGN]
|
|
188
|
+
|
|
189
|
+
# Maximum number of arguments for function / method
|
|
190
|
+
max-args=12
|
|
191
|
+
|
|
192
|
+
# Maximum number of locals for function / method body
|
|
193
|
+
max-locals=30
|
|
194
|
+
|
|
195
|
+
# Maximum number of return / yield for function / method body
|
|
196
|
+
max-returns=12
|
|
197
|
+
|
|
198
|
+
# Maximum number of branch for function / method body
|
|
199
|
+
max-branchs=30
|
|
200
|
+
|
|
201
|
+
# Maximum number of statements in function / method body
|
|
202
|
+
max-statements=60
|
|
203
|
+
|
|
204
|
+
# Maximum number of parents for a class (see R0901).
|
|
205
|
+
max-parents=7
|
|
206
|
+
|
|
207
|
+
# Maximum number of attributes for a class (see R0902).
|
|
208
|
+
max-attributes=20
|
|
209
|
+
|
|
210
|
+
# Minimum number of public methods for a class (see R0903).
|
|
211
|
+
min-public-methods=0
|
|
212
|
+
|
|
213
|
+
# Maximum number of public methods for a class (see R0904).
|
|
214
|
+
max-public-methods=20
|
|
215
|
+
|
|
216
|
+
|
|
217
|
+
# checks for
|
|
218
|
+
# * external modules dependencies
|
|
219
|
+
# * relative / wildcard imports
|
|
220
|
+
# * cyclic imports
|
|
221
|
+
# * uses of deprecated modules
|
|
222
|
+
#
|
|
223
|
+
[IMPORTS]
|
|
224
|
+
|
|
225
|
+
# Deprecated modules which should not be used, separated by a comma
|
|
226
|
+
deprecated-modules=regsub,string,TERMIOS,Bastion,rexec
|
|
227
|
+
|
|
228
|
+
# Create a graph of every (i.e. internal and external) dependencies in the
|
|
229
|
+
# given file (report R0402 must not be disabled)
|
|
230
|
+
import-graph=
|
|
231
|
+
|
|
232
|
+
# Create a graph of external dependencies in the given file (report R0402 must
|
|
233
|
+
# not be disabled)
|
|
234
|
+
ext-import-graph=
|
|
235
|
+
|
|
236
|
+
# Create a graph of internal dependencies in the given file (report R0402 must
|
|
237
|
+
# not be disabled)
|
|
238
|
+
int-import-graph=
|
|
239
|
+
|
|
240
|
+
|
|
241
|
+
# checks for :
|
|
242
|
+
# * methods without self as first argument
|
|
243
|
+
# * overridden methods signature
|
|
244
|
+
# * access only to existant members via self
|
|
245
|
+
# * attributes not defined in the __init__ method
|
|
246
|
+
# * supported interfaces implementation
|
|
247
|
+
# * unreachable code
|
|
248
|
+
#
|
|
249
|
+
[CLASSES]
|
|
250
|
+
|
|
251
|
+
# List of interface methods to ignore, separated by a comma. This is used for
|
|
252
|
+
# instance to not check methods defines in Zope's Interface base class.
|
|
253
|
+
ignore-iface-methods=isImplementedBy,deferred,extends,names,namesAndDescriptions,queryDescriptionFor,getBases,getDescriptionFor,getDoc,getName,getTaggedValue,getTaggedValueTags,isEqualOrExtendedBy,setTaggedValue,isImplementedByInstancesOf,adaptWith,is_implemented_by
|
|
254
|
+
|
|
255
|
+
# List of method names used to declare (i.e. assign) instance attributes.
|
|
256
|
+
defining-attr-methods=__init__,__new__,setUp
|
|
257
|
+
|
|
258
|
+
|
|
259
|
+
# checks for similarities and duplicated code. This computation may be
|
|
260
|
+
# memory / CPU intensive, so you should disable it if you experiments some
|
|
261
|
+
# problems.
|
|
262
|
+
#
|
|
263
|
+
[SIMILARITIES]
|
|
264
|
+
|
|
265
|
+
# Minimum lines number of a similarity.
|
|
266
|
+
min-similarity-lines=10
|
|
267
|
+
|
|
268
|
+
# Ignore comments when computing similarities.
|
|
269
|
+
ignore-comments=yes
|
|
270
|
+
|
|
271
|
+
# Ignore docstrings when computing similarities.
|
|
272
|
+
ignore-docstrings=yes
|
|
273
|
+
|
|
274
|
+
|
|
275
|
+
# checks for:
|
|
276
|
+
# * warning notes in the code like FIXME, XXX
|
|
277
|
+
# * PEP 263: source code with non ascii character but no encoding declaration
|
|
278
|
+
#
|
|
279
|
+
[MISCELLANEOUS]
|
|
280
|
+
|
|
281
|
+
# List of note tags to take in consideration, separated by a comma.
|
|
282
|
+
notes=FIXME,XXX,TODO
|
|
283
|
+
|
|
284
|
+
|
|
285
|
+
# checks for :
|
|
286
|
+
# * unauthorized constructions
|
|
287
|
+
# * strict indentation
|
|
288
|
+
# * line length
|
|
289
|
+
# * use of <> instead of !=
|
|
290
|
+
#
|
|
291
|
+
[FORMAT]
|
|
292
|
+
|
|
293
|
+
# Maximum number of characters on a single line.
|
|
294
|
+
max-line-length=90
|
|
295
|
+
|
|
296
|
+
# Maximum number of lines in a module
|
|
297
|
+
max-module-lines=1000
|
|
298
|
+
|
|
299
|
+
# String used as indentation unit. This is usually " " (4 spaces) or "\t" (1
|
|
300
|
+
# tab).
|
|
301
|
+
indent-string=' '
|
|
@@ -0,0 +1,291 @@
|
|
|
1
|
+
#! /usr/bin/env python
|
|
2
|
+
|
|
3
|
+
# Released to the public domain, by Tim Peters, 03 October 2000.
|
|
4
|
+
# -B option added by Georg Brandl, 2006.
|
|
5
|
+
|
|
6
|
+
"""reindent [-d][-r][-v] [ path ... ]
|
|
7
|
+
|
|
8
|
+
-d (--dryrun) Dry run. Analyze, but don't make any changes to files.
|
|
9
|
+
-r (--recurse) Recurse. Search for all .py files in subdirectories too.
|
|
10
|
+
-B (--no-backup) Don't write .bak backup files.
|
|
11
|
+
-v (--verbose) Verbose. Print informative msgs; else only names of changed files.
|
|
12
|
+
-h (--help) Help. Print this usage information and exit.
|
|
13
|
+
|
|
14
|
+
Change Python (.py) files to use 4-space indents and no hard tab characters.
|
|
15
|
+
Also trim excess spaces and tabs from ends of lines, and remove empty lines
|
|
16
|
+
at the end of files. Also ensure the last line ends with a newline.
|
|
17
|
+
|
|
18
|
+
If no paths are given on the command line, reindent operates as a filter,
|
|
19
|
+
reading a single source file from standard input and writing the transformed
|
|
20
|
+
source to standard output. In this case, the -d, -r and -v flags are
|
|
21
|
+
ignored.
|
|
22
|
+
|
|
23
|
+
You can pass one or more file and/or directory paths. When a directory
|
|
24
|
+
path, all .py files within the directory will be examined, and, if the -r
|
|
25
|
+
option is given, likewise recursively for subdirectories.
|
|
26
|
+
|
|
27
|
+
If output is not to standard output, reindent overwrites files in place,
|
|
28
|
+
renaming the originals with a .bak extension. If it finds nothing to
|
|
29
|
+
change, the file is left alone. If reindent does change a file, the changed
|
|
30
|
+
file is a fixed-point for future runs (i.e., running reindent on the
|
|
31
|
+
resulting .py file won't change it again).
|
|
32
|
+
|
|
33
|
+
The hard part of reindenting is figuring out what to do with comment
|
|
34
|
+
lines. So long as the input files get a clean bill of health from
|
|
35
|
+
tabnanny.py, reindent should do a good job.
|
|
36
|
+
"""
|
|
37
|
+
|
|
38
|
+
__version__ = "1"
|
|
39
|
+
|
|
40
|
+
import tokenize
|
|
41
|
+
import os
|
|
42
|
+
import sys
|
|
43
|
+
|
|
44
|
+
verbose = 0
|
|
45
|
+
recurse = 0
|
|
46
|
+
dryrun = 0
|
|
47
|
+
no_backup = 0
|
|
48
|
+
|
|
49
|
+
def usage(msg=None):
|
|
50
|
+
if msg is not None:
|
|
51
|
+
print >> sys.stderr, msg
|
|
52
|
+
print >> sys.stderr, __doc__
|
|
53
|
+
|
|
54
|
+
def errprint(*args):
|
|
55
|
+
sep = ""
|
|
56
|
+
for arg in args:
|
|
57
|
+
sys.stderr.write(sep + str(arg))
|
|
58
|
+
sep = " "
|
|
59
|
+
sys.stderr.write("\n")
|
|
60
|
+
|
|
61
|
+
def main():
|
|
62
|
+
import getopt
|
|
63
|
+
global verbose, recurse, dryrun, no_backup
|
|
64
|
+
|
|
65
|
+
try:
|
|
66
|
+
opts, args = getopt.getopt(sys.argv[1:], "drvhB",
|
|
67
|
+
["dryrun", "recurse", "verbose", "help",
|
|
68
|
+
"no-backup"])
|
|
69
|
+
except getopt.error, msg:
|
|
70
|
+
usage(msg)
|
|
71
|
+
return
|
|
72
|
+
for o, a in opts:
|
|
73
|
+
if o in ('-d', '--dryrun'):
|
|
74
|
+
dryrun += 1
|
|
75
|
+
elif o in ('-r', '--recurse'):
|
|
76
|
+
recurse += 1
|
|
77
|
+
elif o in ('-v', '--verbose'):
|
|
78
|
+
verbose += 1
|
|
79
|
+
elif o in ('-B', '--no-backup'):
|
|
80
|
+
no_backup += 1
|
|
81
|
+
elif o in ('-h', '--help'):
|
|
82
|
+
usage()
|
|
83
|
+
return
|
|
84
|
+
if not args:
|
|
85
|
+
r = Reindenter(sys.stdin)
|
|
86
|
+
r.run()
|
|
87
|
+
r.write(sys.stdout)
|
|
88
|
+
return
|
|
89
|
+
for arg in args:
|
|
90
|
+
check(arg)
|
|
91
|
+
|
|
92
|
+
def check(file):
|
|
93
|
+
if os.path.isdir(file) and not os.path.islink(file):
|
|
94
|
+
if verbose:
|
|
95
|
+
print "listing directory", file
|
|
96
|
+
names = os.listdir(file)
|
|
97
|
+
for name in names:
|
|
98
|
+
fullname = os.path.join(file, name)
|
|
99
|
+
if ((recurse and os.path.isdir(fullname) and
|
|
100
|
+
not os.path.islink(fullname))
|
|
101
|
+
or name.lower().endswith(".py")):
|
|
102
|
+
check(fullname)
|
|
103
|
+
return
|
|
104
|
+
|
|
105
|
+
if verbose:
|
|
106
|
+
print "checking", file, "...",
|
|
107
|
+
try:
|
|
108
|
+
f = open(file)
|
|
109
|
+
except IOError, msg:
|
|
110
|
+
errprint("%s: I/O Error: %s" % (file, str(msg)))
|
|
111
|
+
return
|
|
112
|
+
|
|
113
|
+
r = Reindenter(f)
|
|
114
|
+
f.close()
|
|
115
|
+
if r.run():
|
|
116
|
+
if verbose:
|
|
117
|
+
print "changed."
|
|
118
|
+
if dryrun:
|
|
119
|
+
print "But this is a dry run, so leaving it alone."
|
|
120
|
+
else:
|
|
121
|
+
print "reindented", file, (dryrun and "(dry run => not really)" or "")
|
|
122
|
+
if not dryrun:
|
|
123
|
+
if not no_backup:
|
|
124
|
+
bak = file + ".bak"
|
|
125
|
+
if os.path.exists(bak):
|
|
126
|
+
os.remove(bak)
|
|
127
|
+
os.rename(file, bak)
|
|
128
|
+
if verbose:
|
|
129
|
+
print "renamed", file, "to", bak
|
|
130
|
+
f = open(file, "w")
|
|
131
|
+
r.write(f)
|
|
132
|
+
f.close()
|
|
133
|
+
if verbose:
|
|
134
|
+
print "wrote new", file
|
|
135
|
+
else:
|
|
136
|
+
if verbose:
|
|
137
|
+
print "unchanged."
|
|
138
|
+
|
|
139
|
+
|
|
140
|
+
class Reindenter:
|
|
141
|
+
|
|
142
|
+
def __init__(self, f):
|
|
143
|
+
self.find_stmt = 1 # next token begins a fresh stmt?
|
|
144
|
+
self.level = 0 # current indent level
|
|
145
|
+
|
|
146
|
+
# Raw file lines.
|
|
147
|
+
self.raw = f.readlines()
|
|
148
|
+
|
|
149
|
+
# File lines, rstripped & tab-expanded. Dummy at start is so
|
|
150
|
+
# that we can use tokenize's 1-based line numbering easily.
|
|
151
|
+
# Note that a line is all-blank iff it's "\n".
|
|
152
|
+
self.lines = [line.rstrip('\n \t').expandtabs() + "\n"
|
|
153
|
+
for line in self.raw]
|
|
154
|
+
self.lines.insert(0, None)
|
|
155
|
+
self.index = 1 # index into self.lines of next line
|
|
156
|
+
|
|
157
|
+
# List of (lineno, indentlevel) pairs, one for each stmt and
|
|
158
|
+
# comment line. indentlevel is -1 for comment lines, as a
|
|
159
|
+
# signal that tokenize doesn't know what to do about them;
|
|
160
|
+
# indeed, they're our headache!
|
|
161
|
+
self.stats = []
|
|
162
|
+
|
|
163
|
+
def run(self):
|
|
164
|
+
tokenize.tokenize(self.getline, self.tokeneater)
|
|
165
|
+
# Remove trailing empty lines.
|
|
166
|
+
lines = self.lines
|
|
167
|
+
while lines and lines[-1] == "\n":
|
|
168
|
+
lines.pop()
|
|
169
|
+
# Sentinel.
|
|
170
|
+
stats = self.stats
|
|
171
|
+
stats.append((len(lines), 0))
|
|
172
|
+
# Map count of leading spaces to # we want.
|
|
173
|
+
have2want = {}
|
|
174
|
+
# Program after transformation.
|
|
175
|
+
after = self.after = []
|
|
176
|
+
# Copy over initial empty lines -- there's nothing to do until
|
|
177
|
+
# we see a line with *something* on it.
|
|
178
|
+
i = stats[0][0]
|
|
179
|
+
after.extend(lines[1:i])
|
|
180
|
+
for i in range(len(stats)-1):
|
|
181
|
+
thisstmt, thislevel = stats[i]
|
|
182
|
+
nextstmt = stats[i+1][0]
|
|
183
|
+
have = getlspace(lines[thisstmt])
|
|
184
|
+
want = thislevel * 4
|
|
185
|
+
if want < 0:
|
|
186
|
+
# A comment line.
|
|
187
|
+
if have:
|
|
188
|
+
# An indented comment line. If we saw the same
|
|
189
|
+
# indentation before, reuse what it most recently
|
|
190
|
+
# mapped to.
|
|
191
|
+
want = have2want.get(have, -1)
|
|
192
|
+
if want < 0:
|
|
193
|
+
# Then it probably belongs to the next real stmt.
|
|
194
|
+
for j in xrange(i+1, len(stats)-1):
|
|
195
|
+
jline, jlevel = stats[j]
|
|
196
|
+
if jlevel >= 0:
|
|
197
|
+
if have == getlspace(lines[jline]):
|
|
198
|
+
want = jlevel * 4
|
|
199
|
+
break
|
|
200
|
+
if want < 0: # Maybe it's a hanging
|
|
201
|
+
# comment like this one,
|
|
202
|
+
# in which case we should shift it like its base
|
|
203
|
+
# line got shifted.
|
|
204
|
+
for j in xrange(i-1, -1, -1):
|
|
205
|
+
jline, jlevel = stats[j]
|
|
206
|
+
if jlevel >= 0:
|
|
207
|
+
want = have + getlspace(after[jline-1]) - \
|
|
208
|
+
getlspace(lines[jline])
|
|
209
|
+
break
|
|
210
|
+
if want < 0:
|
|
211
|
+
# Still no luck -- leave it alone.
|
|
212
|
+
want = have
|
|
213
|
+
else:
|
|
214
|
+
want = 0
|
|
215
|
+
assert want >= 0
|
|
216
|
+
have2want[have] = want
|
|
217
|
+
diff = want - have
|
|
218
|
+
if diff == 0 or have == 0:
|
|
219
|
+
after.extend(lines[thisstmt:nextstmt])
|
|
220
|
+
else:
|
|
221
|
+
for line in lines[thisstmt:nextstmt]:
|
|
222
|
+
if diff > 0:
|
|
223
|
+
if line == "\n":
|
|
224
|
+
after.append(line)
|
|
225
|
+
else:
|
|
226
|
+
after.append(" " * diff + line)
|
|
227
|
+
else:
|
|
228
|
+
remove = min(getlspace(line), -diff)
|
|
229
|
+
after.append(line[remove:])
|
|
230
|
+
return self.raw != self.after
|
|
231
|
+
|
|
232
|
+
def write(self, f):
|
|
233
|
+
f.writelines(self.after)
|
|
234
|
+
|
|
235
|
+
# Line-getter for tokenize.
|
|
236
|
+
def getline(self):
|
|
237
|
+
if self.index >= len(self.lines):
|
|
238
|
+
line = ""
|
|
239
|
+
else:
|
|
240
|
+
line = self.lines[self.index]
|
|
241
|
+
self.index += 1
|
|
242
|
+
return line
|
|
243
|
+
|
|
244
|
+
# Line-eater for tokenize.
|
|
245
|
+
def tokeneater(self, type, token, (sline, scol), end, line,
|
|
246
|
+
INDENT=tokenize.INDENT,
|
|
247
|
+
DEDENT=tokenize.DEDENT,
|
|
248
|
+
NEWLINE=tokenize.NEWLINE,
|
|
249
|
+
COMMENT=tokenize.COMMENT,
|
|
250
|
+
NL=tokenize.NL):
|
|
251
|
+
|
|
252
|
+
if type == NEWLINE:
|
|
253
|
+
# A program statement, or ENDMARKER, will eventually follow,
|
|
254
|
+
# after some (possibly empty) run of tokens of the form
|
|
255
|
+
# (NL | COMMENT)* (INDENT | DEDENT+)?
|
|
256
|
+
self.find_stmt = 1
|
|
257
|
+
|
|
258
|
+
elif type == INDENT:
|
|
259
|
+
self.find_stmt = 1
|
|
260
|
+
self.level += 1
|
|
261
|
+
|
|
262
|
+
elif type == DEDENT:
|
|
263
|
+
self.find_stmt = 1
|
|
264
|
+
self.level -= 1
|
|
265
|
+
|
|
266
|
+
elif type == COMMENT:
|
|
267
|
+
if self.find_stmt:
|
|
268
|
+
self.stats.append((sline, -1))
|
|
269
|
+
# but we're still looking for a new stmt, so leave
|
|
270
|
+
# find_stmt alone
|
|
271
|
+
|
|
272
|
+
elif type == NL:
|
|
273
|
+
pass
|
|
274
|
+
|
|
275
|
+
elif self.find_stmt:
|
|
276
|
+
# This is the first "real token" following a NEWLINE, so it
|
|
277
|
+
# must be the first token of the next program statement, or an
|
|
278
|
+
# ENDMARKER.
|
|
279
|
+
self.find_stmt = 0
|
|
280
|
+
if line: # not endmarker
|
|
281
|
+
self.stats.append((sline, self.level))
|
|
282
|
+
|
|
283
|
+
# Count number of leading blanks.
|
|
284
|
+
def getlspace(line):
|
|
285
|
+
i, n = 0, len(line)
|
|
286
|
+
while i < n and line[i] == " ":
|
|
287
|
+
i += 1
|
|
288
|
+
return i
|
|
289
|
+
|
|
290
|
+
if __name__ == '__main__':
|
|
291
|
+
main()
|