nano-clean-pkg 0.0.1
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.
- checksums.yaml +7 -0
- data/nano-clean-pkg.gemspec +11 -0
- data/rouge-5.0.0/Gemfile +48 -0
- data/rouge-5.0.0/LICENSE +187 -0
- data/rouge-5.0.0/bin/rougify +17 -0
- data/rouge-5.0.0/lib/rouge/cli.rb +527 -0
- data/rouge-5.0.0/lib/rouge/demos/abap +32 -0
- data/rouge-5.0.0/lib/rouge/demos/actionscript +4 -0
- data/rouge-5.0.0/lib/rouge/demos/ada +26 -0
- data/rouge-5.0.0/lib/rouge/demos/apache +21 -0
- data/rouge-5.0.0/lib/rouge/demos/apex +9 -0
- data/rouge-5.0.0/lib/rouge/demos/apiblueprint +33 -0
- data/rouge-5.0.0/lib/rouge/demos/applescript +2 -0
- data/rouge-5.0.0/lib/rouge/demos/armasm +12 -0
- data/rouge-5.0.0/lib/rouge/demos/augeas +16 -0
- data/rouge-5.0.0/lib/rouge/demos/awk +4 -0
- data/rouge-5.0.0/lib/rouge/demos/batchfile +3 -0
- data/rouge-5.0.0/lib/rouge/demos/bbcbasic +6 -0
- data/rouge-5.0.0/lib/rouge/demos/bibtex +12 -0
- data/rouge-5.0.0/lib/rouge/demos/bicep +10 -0
- data/rouge-5.0.0/lib/rouge/demos/biml +38 -0
- data/rouge-5.0.0/lib/rouge/demos/bpf +7 -0
- data/rouge-5.0.0/lib/rouge/demos/brainfuck +5 -0
- data/rouge-5.0.0/lib/rouge/demos/brightscript +6 -0
- data/rouge-5.0.0/lib/rouge/demos/bsl +7 -0
- data/rouge-5.0.0/lib/rouge/demos/c +8 -0
- data/rouge-5.0.0/lib/rouge/demos/ceylon +7 -0
- data/rouge-5.0.0/lib/rouge/demos/cfscript +18 -0
- data/rouge-5.0.0/lib/rouge/demos/cisco_ios +19 -0
- data/rouge-5.0.0/lib/rouge/demos/clean +6 -0
- data/rouge-5.0.0/lib/rouge/demos/clojure +5 -0
- data/rouge-5.0.0/lib/rouge/demos/cmake +7 -0
- data/rouge-5.0.0/lib/rouge/demos/cmhg +8 -0
- data/rouge-5.0.0/lib/rouge/demos/cobol +103 -0
- data/rouge-5.0.0/lib/rouge/demos/codeowners +6 -0
- data/rouge-5.0.0/lib/rouge/demos/coffeescript +5 -0
- data/rouge-5.0.0/lib/rouge/demos/common_lisp +1 -0
- data/rouge-5.0.0/lib/rouge/demos/conf +4 -0
- data/rouge-5.0.0/lib/rouge/demos/console +6 -0
- data/rouge-5.0.0/lib/rouge/demos/cpp +8 -0
- data/rouge-5.0.0/lib/rouge/demos/crystal +45 -0
- data/rouge-5.0.0/lib/rouge/demos/csharp +5 -0
- data/rouge-5.0.0/lib/rouge/demos/css +4 -0
- data/rouge-5.0.0/lib/rouge/demos/csvs +8 -0
- data/rouge-5.0.0/lib/rouge/demos/cuda +11 -0
- data/rouge-5.0.0/lib/rouge/demos/cypher +5 -0
- data/rouge-5.0.0/lib/rouge/demos/cython +6 -0
- data/rouge-5.0.0/lib/rouge/demos/d +16 -0
- data/rouge-5.0.0/lib/rouge/demos/dafny +16 -0
- data/rouge-5.0.0/lib/rouge/demos/dart +6 -0
- data/rouge-5.0.0/lib/rouge/demos/datastudio +20 -0
- data/rouge-5.0.0/lib/rouge/demos/diff +7 -0
- data/rouge-5.0.0/lib/rouge/demos/digdag +19 -0
- data/rouge-5.0.0/lib/rouge/demos/docker +9 -0
- data/rouge-5.0.0/lib/rouge/demos/dot +5 -0
- data/rouge-5.0.0/lib/rouge/demos/dylan +8 -0
- data/rouge-5.0.0/lib/rouge/demos/ecl +17 -0
- data/rouge-5.0.0/lib/rouge/demos/eex +1 -0
- data/rouge-5.0.0/lib/rouge/demos/eiffel +30 -0
- data/rouge-5.0.0/lib/rouge/demos/elixir +1 -0
- data/rouge-5.0.0/lib/rouge/demos/elm +4 -0
- data/rouge-5.0.0/lib/rouge/demos/email +11 -0
- data/rouge-5.0.0/lib/rouge/demos/epp +4 -0
- data/rouge-5.0.0/lib/rouge/demos/erb +1 -0
- data/rouge-5.0.0/lib/rouge/demos/erlang +7 -0
- data/rouge-5.0.0/lib/rouge/demos/escape +3 -0
- data/rouge-5.0.0/lib/rouge/demos/factor +5 -0
- data/rouge-5.0.0/lib/rouge/demos/fluent +13 -0
- data/rouge-5.0.0/lib/rouge/demos/fortran +22 -0
- data/rouge-5.0.0/lib/rouge/demos/freefem +16 -0
- data/rouge-5.0.0/lib/rouge/demos/fsharp +12 -0
- data/rouge-5.0.0/lib/rouge/demos/gdscript +18 -0
- data/rouge-5.0.0/lib/rouge/demos/ghc-cmm +23 -0
- data/rouge-5.0.0/lib/rouge/demos/ghc-core +26 -0
- data/rouge-5.0.0/lib/rouge/demos/gherkin +17 -0
- data/rouge-5.0.0/lib/rouge/demos/gjs +23 -0
- data/rouge-5.0.0/lib/rouge/demos/glsl +14 -0
- data/rouge-5.0.0/lib/rouge/demos/go +7 -0
- data/rouge-5.0.0/lib/rouge/demos/gradle +10 -0
- data/rouge-5.0.0/lib/rouge/demos/graphql +17 -0
- data/rouge-5.0.0/lib/rouge/demos/groovy +9 -0
- data/rouge-5.0.0/lib/rouge/demos/gts +36 -0
- data/rouge-5.0.0/lib/rouge/demos/hack +5 -0
- data/rouge-5.0.0/lib/rouge/demos/haml +5 -0
- data/rouge-5.0.0/lib/rouge/demos/handlebars +7 -0
- data/rouge-5.0.0/lib/rouge/demos/haskell +6 -0
- data/rouge-5.0.0/lib/rouge/demos/haxe +4 -0
- data/rouge-5.0.0/lib/rouge/demos/hcl +7 -0
- data/rouge-5.0.0/lib/rouge/demos/hlsl +20 -0
- data/rouge-5.0.0/lib/rouge/demos/hocon +8 -0
- data/rouge-5.0.0/lib/rouge/demos/hql +5 -0
- data/rouge-5.0.0/lib/rouge/demos/html +8 -0
- data/rouge-5.0.0/lib/rouge/demos/http +14 -0
- data/rouge-5.0.0/lib/rouge/demos/hylang +10 -0
- data/rouge-5.0.0/lib/rouge/demos/idlang +8 -0
- data/rouge-5.0.0/lib/rouge/demos/idris +13 -0
- data/rouge-5.0.0/lib/rouge/demos/iecst +21 -0
- data/rouge-5.0.0/lib/rouge/demos/igorpro +9 -0
- data/rouge-5.0.0/lib/rouge/demos/ini +4 -0
- data/rouge-5.0.0/lib/rouge/demos/io +11 -0
- data/rouge-5.0.0/lib/rouge/demos/irb +4 -0
- data/rouge-5.0.0/lib/rouge/demos/irb_output +2 -0
- data/rouge-5.0.0/lib/rouge/demos/isabelle +16 -0
- data/rouge-5.0.0/lib/rouge/demos/isbl +4 -0
- data/rouge-5.0.0/lib/rouge/demos/j +12 -0
- data/rouge-5.0.0/lib/rouge/demos/janet +3 -0
- data/rouge-5.0.0/lib/rouge/demos/java +5 -0
- data/rouge-5.0.0/lib/rouge/demos/javascript +1 -0
- data/rouge-5.0.0/lib/rouge/demos/jinja +9 -0
- data/rouge-5.0.0/lib/rouge/demos/jsl +3 -0
- data/rouge-5.0.0/lib/rouge/demos/json +1 -0
- data/rouge-5.0.0/lib/rouge/demos/json-doc +1 -0
- data/rouge-5.0.0/lib/rouge/demos/json5 +12 -0
- data/rouge-5.0.0/lib/rouge/demos/jsonnet +28 -0
- data/rouge-5.0.0/lib/rouge/demos/jsp +29 -0
- data/rouge-5.0.0/lib/rouge/demos/jsx +17 -0
- data/rouge-5.0.0/lib/rouge/demos/julia +11 -0
- data/rouge-5.0.0/lib/rouge/demos/kick_assembler +14 -0
- data/rouge-5.0.0/lib/rouge/demos/kotlin +3 -0
- data/rouge-5.0.0/lib/rouge/demos/lasso +12 -0
- data/rouge-5.0.0/lib/rouge/demos/lean +8 -0
- data/rouge-5.0.0/lib/rouge/demos/liquid +10 -0
- data/rouge-5.0.0/lib/rouge/demos/literate_coffeescript +3 -0
- data/rouge-5.0.0/lib/rouge/demos/literate_haskell +7 -0
- data/rouge-5.0.0/lib/rouge/demos/livescript +15 -0
- data/rouge-5.0.0/lib/rouge/demos/llvm +20 -0
- data/rouge-5.0.0/lib/rouge/demos/lua +12 -0
- data/rouge-5.0.0/lib/rouge/demos/lustre +6 -0
- data/rouge-5.0.0/lib/rouge/demos/lutin +18 -0
- data/rouge-5.0.0/lib/rouge/demos/m68k +16 -0
- data/rouge-5.0.0/lib/rouge/demos/magik +6 -0
- data/rouge-5.0.0/lib/rouge/demos/make +6 -0
- data/rouge-5.0.0/lib/rouge/demos/markdown +4 -0
- data/rouge-5.0.0/lib/rouge/demos/mason +22 -0
- data/rouge-5.0.0/lib/rouge/demos/mathematica +8 -0
- data/rouge-5.0.0/lib/rouge/demos/matlab +6 -0
- data/rouge-5.0.0/lib/rouge/demos/meson +10 -0
- data/rouge-5.0.0/lib/rouge/demos/minizinc +23 -0
- data/rouge-5.0.0/lib/rouge/demos/mojo +10 -0
- data/rouge-5.0.0/lib/rouge/demos/moonscript +16 -0
- data/rouge-5.0.0/lib/rouge/demos/mosel +10 -0
- data/rouge-5.0.0/lib/rouge/demos/msgtrans +4 -0
- data/rouge-5.0.0/lib/rouge/demos/mxml +22 -0
- data/rouge-5.0.0/lib/rouge/demos/nasm +26 -0
- data/rouge-5.0.0/lib/rouge/demos/nesasm +11 -0
- data/rouge-5.0.0/lib/rouge/demos/nginx +5 -0
- data/rouge-5.0.0/lib/rouge/demos/nial +35 -0
- data/rouge-5.0.0/lib/rouge/demos/nim +27 -0
- data/rouge-5.0.0/lib/rouge/demos/nix +19 -0
- data/rouge-5.0.0/lib/rouge/demos/objective_c +18 -0
- data/rouge-5.0.0/lib/rouge/demos/objective_cpp +17 -0
- data/rouge-5.0.0/lib/rouge/demos/ocaml +12 -0
- data/rouge-5.0.0/lib/rouge/demos/ocl +4 -0
- data/rouge-5.0.0/lib/rouge/demos/openedge +4 -0
- data/rouge-5.0.0/lib/rouge/demos/opentype_feature_file +5 -0
- data/rouge-5.0.0/lib/rouge/demos/p4 +99 -0
- data/rouge-5.0.0/lib/rouge/demos/pascal +14 -0
- data/rouge-5.0.0/lib/rouge/demos/pdf +29 -0
- data/rouge-5.0.0/lib/rouge/demos/perl +5 -0
- data/rouge-5.0.0/lib/rouge/demos/php +3 -0
- data/rouge-5.0.0/lib/rouge/demos/plaintext +1 -0
- data/rouge-5.0.0/lib/rouge/demos/plist +11 -0
- data/rouge-5.0.0/lib/rouge/demos/plsql +2 -0
- data/rouge-5.0.0/lib/rouge/demos/pony +17 -0
- data/rouge-5.0.0/lib/rouge/demos/postscript +9 -0
- data/rouge-5.0.0/lib/rouge/demos/powershell +13 -0
- data/rouge-5.0.0/lib/rouge/demos/praat +26 -0
- data/rouge-5.0.0/lib/rouge/demos/prolog +9 -0
- data/rouge-5.0.0/lib/rouge/demos/prometheus +9 -0
- data/rouge-5.0.0/lib/rouge/demos/properties +7 -0
- data/rouge-5.0.0/lib/rouge/demos/protobuf +5 -0
- data/rouge-5.0.0/lib/rouge/demos/puppet +6 -0
- data/rouge-5.0.0/lib/rouge/demos/python +6 -0
- data/rouge-5.0.0/lib/rouge/demos/q +8 -0
- data/rouge-5.0.0/lib/rouge/demos/qml +9 -0
- data/rouge-5.0.0/lib/rouge/demos/r +8 -0
- data/rouge-5.0.0/lib/rouge/demos/racket +24 -0
- data/rouge-5.0.0/lib/rouge/demos/reasonml +12 -0
- data/rouge-5.0.0/lib/rouge/demos/rego +8 -0
- data/rouge-5.0.0/lib/rouge/demos/rescript +26 -0
- data/rouge-5.0.0/lib/rouge/demos/rml +33 -0
- data/rouge-5.0.0/lib/rouge/demos/robot_framework +27 -0
- data/rouge-5.0.0/lib/rouge/demos/rocq +16 -0
- data/rouge-5.0.0/lib/rouge/demos/ruby +9 -0
- data/rouge-5.0.0/lib/rouge/demos/rust +12 -0
- data/rouge-5.0.0/lib/rouge/demos/sas +13 -0
- data/rouge-5.0.0/lib/rouge/demos/sass +3 -0
- data/rouge-5.0.0/lib/rouge/demos/scala +3 -0
- data/rouge-5.0.0/lib/rouge/demos/scheme +4 -0
- data/rouge-5.0.0/lib/rouge/demos/scss +5 -0
- data/rouge-5.0.0/lib/rouge/demos/sed +4 -0
- data/rouge-5.0.0/lib/rouge/demos/shell +2 -0
- data/rouge-5.0.0/lib/rouge/demos/sieve +10 -0
- data/rouge-5.0.0/lib/rouge/demos/slice +10 -0
- data/rouge-5.0.0/lib/rouge/demos/slim +17 -0
- data/rouge-5.0.0/lib/rouge/demos/smalltalk +6 -0
- data/rouge-5.0.0/lib/rouge/demos/smarty +11 -0
- data/rouge-5.0.0/lib/rouge/demos/sml +4 -0
- data/rouge-5.0.0/lib/rouge/demos/sparql +6 -0
- data/rouge-5.0.0/lib/rouge/demos/sqf +14 -0
- data/rouge-5.0.0/lib/rouge/demos/sql +1 -0
- data/rouge-5.0.0/lib/rouge/demos/ssh +4 -0
- data/rouge-5.0.0/lib/rouge/demos/stan +13 -0
- data/rouge-5.0.0/lib/rouge/demos/stata +14 -0
- data/rouge-5.0.0/lib/rouge/demos/supercollider +11 -0
- data/rouge-5.0.0/lib/rouge/demos/svelte +29 -0
- data/rouge-5.0.0/lib/rouge/demos/swift +5 -0
- data/rouge-5.0.0/lib/rouge/demos/systemd +4 -0
- data/rouge-5.0.0/lib/rouge/demos/syzlang +15 -0
- data/rouge-5.0.0/lib/rouge/demos/syzprog +8 -0
- data/rouge-5.0.0/lib/rouge/demos/tap +5 -0
- data/rouge-5.0.0/lib/rouge/demos/tcl +1 -0
- data/rouge-5.0.0/lib/rouge/demos/terraform +16 -0
- data/rouge-5.0.0/lib/rouge/demos/tex +1 -0
- data/rouge-5.0.0/lib/rouge/demos/thrift +15 -0
- data/rouge-5.0.0/lib/rouge/demos/toml +9 -0
- data/rouge-5.0.0/lib/rouge/demos/tsx +17 -0
- data/rouge-5.0.0/lib/rouge/demos/ttcn3 +6 -0
- data/rouge-5.0.0/lib/rouge/demos/tulip +13 -0
- data/rouge-5.0.0/lib/rouge/demos/turtle +26 -0
- data/rouge-5.0.0/lib/rouge/demos/twig +9 -0
- data/rouge-5.0.0/lib/rouge/demos/typescript +1 -0
- data/rouge-5.0.0/lib/rouge/demos/vala +8 -0
- data/rouge-5.0.0/lib/rouge/demos/vb +4 -0
- data/rouge-5.0.0/lib/rouge/demos/vcl +12 -0
- data/rouge-5.0.0/lib/rouge/demos/velocity +9 -0
- data/rouge-5.0.0/lib/rouge/demos/verilog +27 -0
- data/rouge-5.0.0/lib/rouge/demos/veryl +24 -0
- data/rouge-5.0.0/lib/rouge/demos/vhdl +23 -0
- data/rouge-5.0.0/lib/rouge/demos/viml +14 -0
- data/rouge-5.0.0/lib/rouge/demos/vue +11 -0
- data/rouge-5.0.0/lib/rouge/demos/wollok +11 -0
- data/rouge-5.0.0/lib/rouge/demos/xml +2 -0
- data/rouge-5.0.0/lib/rouge/demos/xojo +14 -0
- data/rouge-5.0.0/lib/rouge/demos/xpath +2 -0
- data/rouge-5.0.0/lib/rouge/demos/xquery +22 -0
- data/rouge-5.0.0/lib/rouge/demos/yaml +4 -0
- data/rouge-5.0.0/lib/rouge/demos/yang +17 -0
- data/rouge-5.0.0/lib/rouge/demos/zig +6 -0
- data/rouge-5.0.0/lib/rouge/eager.rb +3 -0
- data/rouge-5.0.0/lib/rouge/formatter.rb +112 -0
- data/rouge-5.0.0/lib/rouge/formatters/html.rb +64 -0
- data/rouge-5.0.0/lib/rouge/formatters/html_debug.rb +16 -0
- data/rouge-5.0.0/lib/rouge/formatters/html_inline.rb +30 -0
- data/rouge-5.0.0/lib/rouge/formatters/html_legacy.rb +56 -0
- data/rouge-5.0.0/lib/rouge/formatters/html_legacy_table.rb +57 -0
- data/rouge-5.0.0/lib/rouge/formatters/html_line_highlighter.rb +31 -0
- data/rouge-5.0.0/lib/rouge/formatters/html_line_table.rb +56 -0
- data/rouge-5.0.0/lib/rouge/formatters/html_linewise.rb +31 -0
- data/rouge-5.0.0/lib/rouge/formatters/html_pygments.rb +23 -0
- data/rouge-5.0.0/lib/rouge/formatters/html_table.rb +77 -0
- data/rouge-5.0.0/lib/rouge/formatters/null.rb +20 -0
- data/rouge-5.0.0/lib/rouge/formatters/terminal256.rb +198 -0
- data/rouge-5.0.0/lib/rouge/formatters/terminal_truecolor.rb +37 -0
- data/rouge-5.0.0/lib/rouge/formatters/tex.rb +92 -0
- data/rouge-5.0.0/lib/rouge/guesser.rb +57 -0
- data/rouge-5.0.0/lib/rouge/guessers/disambiguation.rb +172 -0
- data/rouge-5.0.0/lib/rouge/guessers/filename.rb +27 -0
- data/rouge-5.0.0/lib/rouge/guessers/glob_mapping.rb +45 -0
- data/rouge-5.0.0/lib/rouge/guessers/mimetype.rb +16 -0
- data/rouge-5.0.0/lib/rouge/guessers/modeline.rb +46 -0
- data/rouge-5.0.0/lib/rouge/guessers/source.rb +31 -0
- data/rouge-5.0.0/lib/rouge/guessers/util.rb +34 -0
- data/rouge-5.0.0/lib/rouge/lexer.rb +556 -0
- data/rouge-5.0.0/lib/rouge/lexers/abap/builtins.rb +187 -0
- data/rouge-5.0.0/lib/rouge/lexers/abap.rb +132 -0
- data/rouge-5.0.0/lib/rouge/lexers/actionscript.rb +196 -0
- data/rouge-5.0.0/lib/rouge/lexers/ada.rb +162 -0
- data/rouge-5.0.0/lib/rouge/lexers/apache/keywords.rb +16 -0
- data/rouge-5.0.0/lib/rouge/lexers/apache.rb +84 -0
- data/rouge-5.0.0/lib/rouge/lexers/apex.rb +128 -0
- data/rouge-5.0.0/lib/rouge/lexers/apiblueprint.rb +49 -0
- data/rouge-5.0.0/lib/rouge/lexers/apple_script.rb +370 -0
- data/rouge-5.0.0/lib/rouge/lexers/armasm.rb +145 -0
- data/rouge-5.0.0/lib/rouge/lexers/augeas.rb +93 -0
- data/rouge-5.0.0/lib/rouge/lexers/awk.rb +162 -0
- data/rouge-5.0.0/lib/rouge/lexers/batchfile.rb +165 -0
- data/rouge-5.0.0/lib/rouge/lexers/bbcbasic.rb +112 -0
- data/rouge-5.0.0/lib/rouge/lexers/bibtex.rb +115 -0
- data/rouge-5.0.0/lib/rouge/lexers/bicep.rb +111 -0
- data/rouge-5.0.0/lib/rouge/lexers/biml.rb +70 -0
- data/rouge-5.0.0/lib/rouge/lexers/bpf.rb +118 -0
- data/rouge-5.0.0/lib/rouge/lexers/brainfuck.rb +54 -0
- data/rouge-5.0.0/lib/rouge/lexers/brightscript.rb +146 -0
- data/rouge-5.0.0/lib/rouge/lexers/bsl.rb +82 -0
- data/rouge-5.0.0/lib/rouge/lexers/c.rb +204 -0
- data/rouge-5.0.0/lib/rouge/lexers/ceylon.rb +96 -0
- data/rouge-5.0.0/lib/rouge/lexers/cfscript.rb +154 -0
- data/rouge-5.0.0/lib/rouge/lexers/cisco_ios.rb +83 -0
- data/rouge-5.0.0/lib/rouge/lexers/clean.rb +156 -0
- data/rouge-5.0.0/lib/rouge/lexers/clojure.rb +113 -0
- data/rouge-5.0.0/lib/rouge/lexers/cmake.rb +218 -0
- data/rouge-5.0.0/lib/rouge/lexers/cmhg.rb +34 -0
- data/rouge-5.0.0/lib/rouge/lexers/cobol.rb +137 -0
- data/rouge-5.0.0/lib/rouge/lexers/codeowners.rb +30 -0
- data/rouge-5.0.0/lib/rouge/lexers/coffeescript.rb +215 -0
- data/rouge-5.0.0/lib/rouge/lexers/common_lisp.rb +346 -0
- data/rouge-5.0.0/lib/rouge/lexers/conf.rb +25 -0
- data/rouge-5.0.0/lib/rouge/lexers/console.rb +196 -0
- data/rouge-5.0.0/lib/rouge/lexers/cpp.rb +102 -0
- data/rouge-5.0.0/lib/rouge/lexers/crystal.rb +435 -0
- data/rouge-5.0.0/lib/rouge/lexers/csharp.rb +118 -0
- data/rouge-5.0.0/lib/rouge/lexers/css.rb +337 -0
- data/rouge-5.0.0/lib/rouge/lexers/csvs.rb +44 -0
- data/rouge-5.0.0/lib/rouge/lexers/cuda.rb +35 -0
- data/rouge-5.0.0/lib/rouge/lexers/cypher.rb +116 -0
- data/rouge-5.0.0/lib/rouge/lexers/cython.rb +127 -0
- data/rouge-5.0.0/lib/rouge/lexers/d.rb +177 -0
- data/rouge-5.0.0/lib/rouge/lexers/dafny.rb +128 -0
- data/rouge-5.0.0/lib/rouge/lexers/dart.rb +108 -0
- data/rouge-5.0.0/lib/rouge/lexers/datastudio.rb +138 -0
- data/rouge-5.0.0/lib/rouge/lexers/diff.rb +47 -0
- data/rouge-5.0.0/lib/rouge/lexers/digdag.rb +69 -0
- data/rouge-5.0.0/lib/rouge/lexers/docker.rb +55 -0
- data/rouge-5.0.0/lib/rouge/lexers/dot.rb +70 -0
- data/rouge-5.0.0/lib/rouge/lexers/dylan.rb +109 -0
- data/rouge-5.0.0/lib/rouge/lexers/ecl.rb +175 -0
- data/rouge-5.0.0/lib/rouge/lexers/eex.rb +52 -0
- data/rouge-5.0.0/lib/rouge/lexers/eiffel.rb +65 -0
- data/rouge-5.0.0/lib/rouge/lexers/elixir.rb +158 -0
- data/rouge-5.0.0/lib/rouge/lexers/elm.rb +90 -0
- data/rouge-5.0.0/lib/rouge/lexers/email.rb +39 -0
- data/rouge-5.0.0/lib/rouge/lexers/epp.rb +51 -0
- data/rouge-5.0.0/lib/rouge/lexers/erb.rb +53 -0
- data/rouge-5.0.0/lib/rouge/lexers/erlang.rb +115 -0
- data/rouge-5.0.0/lib/rouge/lexers/escape.rb +58 -0
- data/rouge-5.0.0/lib/rouge/lexers/factor.rb +303 -0
- data/rouge-5.0.0/lib/rouge/lexers/fluent.rb +74 -0
- data/rouge-5.0.0/lib/rouge/lexers/fortran.rb +178 -0
- data/rouge-5.0.0/lib/rouge/lexers/freefem.rb +240 -0
- data/rouge-5.0.0/lib/rouge/lexers/fsharp.rb +120 -0
- data/rouge-5.0.0/lib/rouge/lexers/gdscript.rb +171 -0
- data/rouge-5.0.0/lib/rouge/lexers/ghc_cmm.rb +340 -0
- data/rouge-5.0.0/lib/rouge/lexers/ghc_core.rb +152 -0
- data/rouge-5.0.0/lib/rouge/lexers/gherkin/keywords.rb +23 -0
- data/rouge-5.0.0/lib/rouge/lexers/gherkin.rb +142 -0
- data/rouge-5.0.0/lib/rouge/lexers/gjs.rb +39 -0
- data/rouge-5.0.0/lib/rouge/lexers/glsl/builtins.rb +17 -0
- data/rouge-5.0.0/lib/rouge/lexers/glsl.rb +69 -0
- data/rouge-5.0.0/lib/rouge/lexers/go.rb +177 -0
- data/rouge-5.0.0/lib/rouge/lexers/gradle.rb +38 -0
- data/rouge-5.0.0/lib/rouge/lexers/graphql.rb +261 -0
- data/rouge-5.0.0/lib/rouge/lexers/groovy.rb +119 -0
- data/rouge-5.0.0/lib/rouge/lexers/gts.rb +39 -0
- data/rouge-5.0.0/lib/rouge/lexers/hack.rb +47 -0
- data/rouge-5.0.0/lib/rouge/lexers/haml.rb +226 -0
- data/rouge-5.0.0/lib/rouge/lexers/handlebars.rb +91 -0
- data/rouge-5.0.0/lib/rouge/lexers/haskell.rb +207 -0
- data/rouge-5.0.0/lib/rouge/lexers/haxe.rb +265 -0
- data/rouge-5.0.0/lib/rouge/lexers/hcl.rb +166 -0
- data/rouge-5.0.0/lib/rouge/lexers/hlsl.rb +166 -0
- data/rouge-5.0.0/lib/rouge/lexers/hocon.rb +86 -0
- data/rouge-5.0.0/lib/rouge/lexers/hql.rb +135 -0
- data/rouge-5.0.0/lib/rouge/lexers/html.rb +141 -0
- data/rouge-5.0.0/lib/rouge/lexers/http.rb +87 -0
- data/rouge-5.0.0/lib/rouge/lexers/hylang.rb +93 -0
- data/rouge-5.0.0/lib/rouge/lexers/idlang.rb +312 -0
- data/rouge-5.0.0/lib/rouge/lexers/idris.rb +210 -0
- data/rouge-5.0.0/lib/rouge/lexers/iecst.rb +92 -0
- data/rouge-5.0.0/lib/rouge/lexers/igorpro/builtins.rb +1530 -0
- data/rouge-5.0.0/lib/rouge/lexers/igorpro.rb +193 -0
- data/rouge-5.0.0/lib/rouge/lexers/ini.rb +56 -0
- data/rouge-5.0.0/lib/rouge/lexers/io.rb +69 -0
- data/rouge-5.0.0/lib/rouge/lexers/irb.rb +73 -0
- data/rouge-5.0.0/lib/rouge/lexers/isabelle.rb +251 -0
- data/rouge-5.0.0/lib/rouge/lexers/isbl.rb +61 -0
- data/rouge-5.0.0/lib/rouge/lexers/j.rb +244 -0
- data/rouge-5.0.0/lib/rouge/lexers/janet.rb +218 -0
- data/rouge-5.0.0/lib/rouge/lexers/java.rb +92 -0
- data/rouge-5.0.0/lib/rouge/lexers/javascript.rb +315 -0
- data/rouge-5.0.0/lib/rouge/lexers/jinja.rb +169 -0
- data/rouge-5.0.0/lib/rouge/lexers/jsl.rb +66 -0
- data/rouge-5.0.0/lib/rouge/lexers/json.rb +72 -0
- data/rouge-5.0.0/lib/rouge/lexers/json5.rb +74 -0
- data/rouge-5.0.0/lib/rouge/lexers/json_doc.rb +26 -0
- data/rouge-5.0.0/lib/rouge/lexers/jsonnet.rb +153 -0
- data/rouge-5.0.0/lib/rouge/lexers/jsp.rb +119 -0
- data/rouge-5.0.0/lib/rouge/lexers/jsx.rb +91 -0
- data/rouge-5.0.0/lib/rouge/lexers/julia.rb +293 -0
- data/rouge-5.0.0/lib/rouge/lexers/kick_assembler.rb +100 -0
- data/rouge-5.0.0/lib/rouge/lexers/kotlin.rb +150 -0
- data/rouge-5.0.0/lib/rouge/lexers/lasso/keywords.rb +20 -0
- data/rouge-5.0.0/lib/rouge/lexers/lasso.rb +212 -0
- data/rouge-5.0.0/lib/rouge/lexers/lean.rb +164 -0
- data/rouge-5.0.0/lib/rouge/lexers/liquid.rb +284 -0
- data/rouge-5.0.0/lib/rouge/lexers/literate_coffeescript.rb +34 -0
- data/rouge-5.0.0/lib/rouge/lexers/literate_haskell.rb +37 -0
- data/rouge-5.0.0/lib/rouge/lexers/livescript.rb +310 -0
- data/rouge-5.0.0/lib/rouge/lexers/llvm/keywords.rb +16 -0
- data/rouge-5.0.0/lib/rouge/lexers/llvm.rb +59 -0
- data/rouge-5.0.0/lib/rouge/lexers/lua/keywords.rb +26 -0
- data/rouge-5.0.0/lib/rouge/lexers/lua.rb +186 -0
- data/rouge-5.0.0/lib/rouge/lexers/lustre.rb +79 -0
- data/rouge-5.0.0/lib/rouge/lexers/lutin.rb +34 -0
- data/rouge-5.0.0/lib/rouge/lexers/m68k.rb +143 -0
- data/rouge-5.0.0/lib/rouge/lexers/magik.rb +127 -0
- data/rouge-5.0.0/lib/rouge/lexers/make.rb +148 -0
- data/rouge-5.0.0/lib/rouge/lexers/markdown.rb +183 -0
- data/rouge-5.0.0/lib/rouge/lexers/mason.rb +110 -0
- data/rouge-5.0.0/lib/rouge/lexers/mathematica/keywords.rb +15 -0
- data/rouge-5.0.0/lib/rouge/lexers/mathematica.rb +95 -0
- data/rouge-5.0.0/lib/rouge/lexers/matlab/keywords.rb +15 -0
- data/rouge-5.0.0/lib/rouge/lexers/matlab.rb +81 -0
- data/rouge-5.0.0/lib/rouge/lexers/meson.rb +158 -0
- data/rouge-5.0.0/lib/rouge/lexers/minizinc.rb +87 -0
- data/rouge-5.0.0/lib/rouge/lexers/mojo.rb +39 -0
- data/rouge-5.0.0/lib/rouge/lexers/moonscript.rb +117 -0
- data/rouge-5.0.0/lib/rouge/lexers/mosel.rb +228 -0
- data/rouge-5.0.0/lib/rouge/lexers/msgtrans.rb +26 -0
- data/rouge-5.0.0/lib/rouge/lexers/mxml.rb +69 -0
- data/rouge-5.0.0/lib/rouge/lexers/nasm.rb +73 -0
- data/rouge-5.0.0/lib/rouge/lexers/nesasm.rb +78 -0
- data/rouge-5.0.0/lib/rouge/lexers/nginx.rb +73 -0
- data/rouge-5.0.0/lib/rouge/lexers/nial.rb +165 -0
- data/rouge-5.0.0/lib/rouge/lexers/nim.rb +154 -0
- data/rouge-5.0.0/lib/rouge/lexers/nix.rb +213 -0
- data/rouge-5.0.0/lib/rouge/lexers/objective_c/common.rb +182 -0
- data/rouge-5.0.0/lib/rouge/lexers/objective_c.rb +21 -0
- data/rouge-5.0.0/lib/rouge/lexers/objective_cpp.rb +32 -0
- data/rouge-5.0.0/lib/rouge/lexers/ocaml/common.rb +53 -0
- data/rouge-5.0.0/lib/rouge/lexers/ocaml.rb +65 -0
- data/rouge-5.0.0/lib/rouge/lexers/ocl.rb +84 -0
- data/rouge-5.0.0/lib/rouge/lexers/openedge.rb +632 -0
- data/rouge-5.0.0/lib/rouge/lexers/opentype_feature_file.rb +97 -0
- data/rouge-5.0.0/lib/rouge/lexers/p4.rb +81 -0
- data/rouge-5.0.0/lib/rouge/lexers/pascal.rb +68 -0
- data/rouge-5.0.0/lib/rouge/lexers/pdf.rb +109 -0
- data/rouge-5.0.0/lib/rouge/lexers/perl.rb +251 -0
- data/rouge-5.0.0/lib/rouge/lexers/php/keywords.rb +150 -0
- data/rouge-5.0.0/lib/rouge/lexers/php.rb +470 -0
- data/rouge-5.0.0/lib/rouge/lexers/plain_text.rb +27 -0
- data/rouge-5.0.0/lib/rouge/lexers/plist.rb +47 -0
- data/rouge-5.0.0/lib/rouge/lexers/plsql.rb +577 -0
- data/rouge-5.0.0/lib/rouge/lexers/pony.rb +94 -0
- data/rouge-5.0.0/lib/rouge/lexers/postscript.rb +93 -0
- data/rouge-5.0.0/lib/rouge/lexers/powershell.rb +248 -0
- data/rouge-5.0.0/lib/rouge/lexers/praat.rb +438 -0
- data/rouge-5.0.0/lib/rouge/lexers/prolog.rb +67 -0
- data/rouge-5.0.0/lib/rouge/lexers/prometheus.rb +122 -0
- data/rouge-5.0.0/lib/rouge/lexers/properties.rb +52 -0
- data/rouge-5.0.0/lib/rouge/lexers/protobuf.rb +71 -0
- data/rouge-5.0.0/lib/rouge/lexers/puppet.rb +129 -0
- data/rouge-5.0.0/lib/rouge/lexers/python.rb +340 -0
- data/rouge-5.0.0/lib/rouge/lexers/q.rb +125 -0
- data/rouge-5.0.0/lib/rouge/lexers/qml.rb +74 -0
- data/rouge-5.0.0/lib/rouge/lexers/r.rb +89 -0
- data/rouge-5.0.0/lib/rouge/lexers/racket.rb +568 -0
- data/rouge-5.0.0/lib/rouge/lexers/reasonml.rb +66 -0
- data/rouge-5.0.0/lib/rouge/lexers/rego.rb +60 -0
- data/rouge-5.0.0/lib/rouge/lexers/rescript.rb +119 -0
- data/rouge-5.0.0/lib/rouge/lexers/rml.rb +142 -0
- data/rouge-5.0.0/lib/rouge/lexers/robot_framework.rb +249 -0
- data/rouge-5.0.0/lib/rouge/lexers/rocq.rb +264 -0
- data/rouge-5.0.0/lib/rouge/lexers/ruby.rb +481 -0
- data/rouge-5.0.0/lib/rouge/lexers/rust.rb +261 -0
- data/rouge-5.0.0/lib/rouge/lexers/sas.rb +562 -0
- data/rouge-5.0.0/lib/rouge/lexers/sass/common.rb +182 -0
- data/rouge-5.0.0/lib/rouge/lexers/sass.rb +75 -0
- data/rouge-5.0.0/lib/rouge/lexers/scala.rb +172 -0
- data/rouge-5.0.0/lib/rouge/lexers/scheme.rb +113 -0
- data/rouge-5.0.0/lib/rouge/lexers/scss.rb +35 -0
- data/rouge-5.0.0/lib/rouge/lexers/sed.rb +173 -0
- data/rouge-5.0.0/lib/rouge/lexers/shell.rb +205 -0
- data/rouge-5.0.0/lib/rouge/lexers/sieve.rb +97 -0
- data/rouge-5.0.0/lib/rouge/lexers/slice.rb +32 -0
- data/rouge-5.0.0/lib/rouge/lexers/slim.rb +229 -0
- data/rouge-5.0.0/lib/rouge/lexers/smalltalk.rb +117 -0
- data/rouge-5.0.0/lib/rouge/lexers/smarty.rb +81 -0
- data/rouge-5.0.0/lib/rouge/lexers/sml.rb +345 -0
- data/rouge-5.0.0/lib/rouge/lexers/sparql.rb +131 -0
- data/rouge-5.0.0/lib/rouge/lexers/sqf/keywords.rb +14 -0
- data/rouge-5.0.0/lib/rouge/lexers/sqf.rb +108 -0
- data/rouge-5.0.0/lib/rouge/lexers/sql.rb +161 -0
- data/rouge-5.0.0/lib/rouge/lexers/ssh.rb +33 -0
- data/rouge-5.0.0/lib/rouge/lexers/stan.rb +445 -0
- data/rouge-5.0.0/lib/rouge/lexers/stata.rb +165 -0
- data/rouge-5.0.0/lib/rouge/lexers/supercollider.rb +115 -0
- data/rouge-5.0.0/lib/rouge/lexers/svelte.rb +91 -0
- data/rouge-5.0.0/lib/rouge/lexers/swift.rb +202 -0
- data/rouge-5.0.0/lib/rouge/lexers/systemd.rb +34 -0
- data/rouge-5.0.0/lib/rouge/lexers/syzlang.rb +316 -0
- data/rouge-5.0.0/lib/rouge/lexers/syzprog.rb +122 -0
- data/rouge-5.0.0/lib/rouge/lexers/tap.rb +88 -0
- data/rouge-5.0.0/lib/rouge/lexers/tcl.rb +198 -0
- data/rouge-5.0.0/lib/rouge/lexers/terraform.rb +121 -0
- data/rouge-5.0.0/lib/rouge/lexers/tex.rb +70 -0
- data/rouge-5.0.0/lib/rouge/lexers/thrift.rb +120 -0
- data/rouge-5.0.0/lib/rouge/lexers/toml.rb +124 -0
- data/rouge-5.0.0/lib/rouge/lexers/tsx.rb +33 -0
- data/rouge-5.0.0/lib/rouge/lexers/ttcn3.rb +117 -0
- data/rouge-5.0.0/lib/rouge/lexers/tulip.rb +107 -0
- data/rouge-5.0.0/lib/rouge/lexers/turtle.rb +61 -0
- data/rouge-5.0.0/lib/rouge/lexers/twig.rb +40 -0
- data/rouge-5.0.0/lib/rouge/lexers/typescript/common.rb +60 -0
- data/rouge-5.0.0/lib/rouge/lexers/typescript.rb +23 -0
- data/rouge-5.0.0/lib/rouge/lexers/vala.rb +78 -0
- data/rouge-5.0.0/lib/rouge/lexers/varnish.rb +168 -0
- data/rouge-5.0.0/lib/rouge/lexers/vb.rb +165 -0
- data/rouge-5.0.0/lib/rouge/lexers/velocity.rb +71 -0
- data/rouge-5.0.0/lib/rouge/lexers/verilog.rb +163 -0
- data/rouge-5.0.0/lib/rouge/lexers/veryl.rb +109 -0
- data/rouge-5.0.0/lib/rouge/lexers/vhdl.rb +98 -0
- data/rouge-5.0.0/lib/rouge/lexers/viml/keywords.rb +19 -0
- data/rouge-5.0.0/lib/rouge/lexers/viml.rb +68 -0
- data/rouge-5.0.0/lib/rouge/lexers/vue.rb +127 -0
- data/rouge-5.0.0/lib/rouge/lexers/wollok.rb +107 -0
- data/rouge-5.0.0/lib/rouge/lexers/xml.rb +56 -0
- data/rouge-5.0.0/lib/rouge/lexers/xojo.rb +61 -0
- data/rouge-5.0.0/lib/rouge/lexers/xpath.rb +332 -0
- data/rouge-5.0.0/lib/rouge/lexers/xquery.rb +146 -0
- data/rouge-5.0.0/lib/rouge/lexers/yaml.rb +388 -0
- data/rouge-5.0.0/lib/rouge/lexers/yang.rb +115 -0
- data/rouge-5.0.0/lib/rouge/lexers/zig.rb +139 -0
- data/rouge-5.0.0/lib/rouge/plugins/redcarpet.rb +38 -0
- data/rouge-5.0.0/lib/rouge/regex_lexer.rb +522 -0
- data/rouge-5.0.0/lib/rouge/template_lexer.rb +21 -0
- data/rouge-5.0.0/lib/rouge/tex_theme_renderer.rb +132 -0
- data/rouge-5.0.0/lib/rouge/text_analyzer.rb +50 -0
- data/rouge-5.0.0/lib/rouge/theme.rb +218 -0
- data/rouge-5.0.0/lib/rouge/themes/base16.rb +137 -0
- data/rouge-5.0.0/lib/rouge/themes/bw.rb +43 -0
- data/rouge-5.0.0/lib/rouge/themes/colorful.rb +70 -0
- data/rouge-5.0.0/lib/rouge/themes/github.rb +149 -0
- data/rouge-5.0.0/lib/rouge/themes/gruvbox.rb +176 -0
- data/rouge-5.0.0/lib/rouge/themes/igor_pro.rb +25 -0
- data/rouge-5.0.0/lib/rouge/themes/magritte.rb +80 -0
- data/rouge-5.0.0/lib/rouge/themes/molokai.rb +84 -0
- data/rouge-5.0.0/lib/rouge/themes/monokai.rb +95 -0
- data/rouge-5.0.0/lib/rouge/themes/monokai_sublime.rb +94 -0
- data/rouge-5.0.0/lib/rouge/themes/pastie.rb +72 -0
- data/rouge-5.0.0/lib/rouge/themes/thankful_eyes.rb +77 -0
- data/rouge-5.0.0/lib/rouge/themes/tulip.rb +72 -0
- data/rouge-5.0.0/lib/rouge/token.rb +192 -0
- data/rouge-5.0.0/lib/rouge/util.rb +102 -0
- data/rouge-5.0.0/lib/rouge/version.rb +8 -0
- data/rouge-5.0.0/lib/rouge.rb +117 -0
- data/rouge-5.0.0/lib/rubocop/cop/rouge/no_building_alternation_pattern_in_regexp.rb +71 -0
- data/rouge-5.0.0/lib/rubocop/cop/rouge/no_huge_collections.rb +37 -0
- data/rouge-5.0.0/rouge.gemspec +29 -0
- metadata +578 -0
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*- #
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
require_relative 'c'
|
|
5
|
+
|
|
6
|
+
module Rouge
|
|
7
|
+
module Lexers
|
|
8
|
+
class HLSL < C
|
|
9
|
+
title "HLSL"
|
|
10
|
+
desc "HLSL, the High Level Shading Language for DirectX (docs.microsoft.com/en-us/windows/win32/direct3dhlsl/dx-graphics-hlsl)"
|
|
11
|
+
tag 'hlsl'
|
|
12
|
+
filenames '*.hlsl', '*.hlsli'
|
|
13
|
+
mimetypes 'text/x-hlsl'
|
|
14
|
+
|
|
15
|
+
def self.keywords
|
|
16
|
+
@keywords ||= Set.new %w(
|
|
17
|
+
asm asm_fragment break case cbuffer centroid class column_major
|
|
18
|
+
compile compile_fragment const continue default discard do else export
|
|
19
|
+
extern for fxgroup globallycoherent groupshared if in inline inout
|
|
20
|
+
interface line lineadj linear namespace nointerpolation noperspective
|
|
21
|
+
NULL out packoffset pass pixelfragment point precise return register
|
|
22
|
+
row_major sample sampler shared stateblock stateblock_state static
|
|
23
|
+
struct switch tbuffer technique technique10 technique11 texture
|
|
24
|
+
typedef triangle uniform vertexfragment volatile while
|
|
25
|
+
)
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def self.keywords_type
|
|
29
|
+
@keywords_type ||= Set.new %w(
|
|
30
|
+
dword matrix snorm string unorm unsigned void vector BlendState Buffer
|
|
31
|
+
ByteAddressBuffer ComputeShader DepthStencilState DepthStencilView
|
|
32
|
+
DomainShader GeometryShader HullShader InputPatch LineStream
|
|
33
|
+
OutputPatch PixelShader PointStream RasterizerState RenderTargetView
|
|
34
|
+
RasterizerOrderedBuffer RasterizerOrderedByteAddressBuffer
|
|
35
|
+
RasterizerOrderedStructuredBuffer RasterizerOrderedTexture1D
|
|
36
|
+
RasterizerOrderedTexture1DArray RasterizerOrderedTexture2D
|
|
37
|
+
RasterizerOrderedTexture2DArray RasterizerOrderedTexture3D RWBuffer
|
|
38
|
+
RWByteAddressBuffer RWStructuredBuffer RWTexture1D RWTexture1DArray
|
|
39
|
+
RWTexture2D RWTexture2DArray RWTexture3D SamplerState
|
|
40
|
+
SamplerComparisonState StructuredBuffer Texture1D Texture1DArray
|
|
41
|
+
Texture2D Texture2DArray Texture2DMS Texture2DMSArray Texture3D
|
|
42
|
+
TextureCube TextureCubeArray TriangleStream VertexShader
|
|
43
|
+
|
|
44
|
+
bool1 bool2 bool3 bool4 BOOL1 BOOL2 BOOL3 BOOL4
|
|
45
|
+
int1 int2 int3 int4
|
|
46
|
+
half1 half2 half3 half4
|
|
47
|
+
float1 float2 float3 float4
|
|
48
|
+
double1 double2 double3 double4
|
|
49
|
+
|
|
50
|
+
bool1x1 bool1x2 bool1x3 bool1x4 bool2x1 bool2x2 bool2x3 bool2x4
|
|
51
|
+
bool3x1 bool3x2 bool3x3 bool3x4 bool4x1 bool4x2 bool4x3 bool4x4
|
|
52
|
+
BOOL1x1 BOOL1x2 BOOL1x3 BOOL1x4 BOOL2x1 BOOL2x2 BOOL2x3 BOOL2x4
|
|
53
|
+
BOOL3x1 BOOL3x2 BOOL3x3 BOOL3x4 BOOL4x1 BOOL4x2 BOOL4x3 BOOL4x4
|
|
54
|
+
half1x1 half1x2 half1x3 half1x4 half2x1 half2x2 half2x3 half2x4
|
|
55
|
+
half3x1 half3x2 half3x3 half3x4 half4x1 half4x2 half4x3 half4x4
|
|
56
|
+
int1x1 int1x2 int1x3 int1x4 int2x1 int2x2 int2x3 int2x4
|
|
57
|
+
int3x1 int3x2 int3x3 int3x4 int4x1 int4x2 int4x3 int4x4
|
|
58
|
+
float1x1 float1x2 float1x3 float1x4 float2x1 float2x2 float2x3 float2x4
|
|
59
|
+
float3x1 float3x2 float3x3 float3x4 float4x1 float4x2 float4x3 float4x4
|
|
60
|
+
double1x1 double1x2 double1x3 double1x4 double2x1 double2x2 double2x3 double2x4
|
|
61
|
+
double3x1 double3x2 double3x3 double3x4 double4x1 double4x2 double4x3 double4x4
|
|
62
|
+
)
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
def self.reserved
|
|
66
|
+
@reserved ||= Set.new %w(
|
|
67
|
+
auto catch char const_cast delete dynamic_cast enum explicit friend
|
|
68
|
+
goto long mutable new operator private protected public
|
|
69
|
+
reinterpret_cast short signed sizeof static_cast template this throw
|
|
70
|
+
try typename union unsigned using virtual
|
|
71
|
+
)
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
def self.builtins
|
|
75
|
+
@builtins ||= Set.new %w(
|
|
76
|
+
abort abs acos all AllMemoryBarrier AllMemoryBarrierWithGroupSync any
|
|
77
|
+
AppendStructuredBuffer asdouble asfloat asin asint asuint atan
|
|
78
|
+
atan2 ceil CheckAccessFullyMapped clamp clip CompileShader
|
|
79
|
+
ConsumeStructuredBuffer cos cosh countbits cross D3DCOLORtoUBYTE4 ddx
|
|
80
|
+
ddx_coarse ddx_fine ddy ddy_coarse ddy_fine degrees determinant
|
|
81
|
+
DeviceMemoryBarrier DeviceMemoryBarrierWithGroupSync distance dot dst
|
|
82
|
+
errorf EvaluateAttributeAtCentroid EvaluateAttributeAtSample
|
|
83
|
+
EvaluateAttributeSnapped exp exp2 f16tof32 f32tof16 faceforward
|
|
84
|
+
firstbithigh firstbitlow floor fma fmod frac frexp fwidth
|
|
85
|
+
GetRenderTargetSampleCount GetRenderTargetSamplePosition
|
|
86
|
+
GlobalOrderedCountIncrement GroupMemoryBarrier
|
|
87
|
+
GroupMemoryBarrierWithGroupSync InterlockedAdd InterlockedAnd
|
|
88
|
+
InterlockedCompareExchange InterlockedCompareStore InterlockedExchange
|
|
89
|
+
InterlockedMax InterlockedMin InterlockedOr InterlockedXor isfinite
|
|
90
|
+
isinf isnan ldexp length lerp lit log log10 log2 mad max min modf
|
|
91
|
+
msad4 mul noise normalize pow printf Process2DQuadTessFactorsAvg
|
|
92
|
+
Process2DQuadTessFactorsMax Process2DQuadTessFactorsMin
|
|
93
|
+
ProcessIsolineTessFactors ProcessQuadTessFactorsAvg
|
|
94
|
+
ProcessQuadTessFactorsMax ProcessQuadTessFactorsMin
|
|
95
|
+
ProcessTriTessFactorsAvg ProcessTriTessFactorsMax
|
|
96
|
+
ProcessTriTessFactorsMin QuadReadLaneAt QuadSwapX QuadSwapY radians
|
|
97
|
+
rcp reflect refract reversebits round rsqrt saturate sign sin sincos
|
|
98
|
+
sinh smoothstep sqrt step tan tanh tex1D tex1Dbias tex1Dgrad
|
|
99
|
+
tex1Dlod tex1Dproj tex2D tex2Dbias tex2Dgrad tex2Dlod tex2Dproj
|
|
100
|
+
tex3D tex3Dbias tex3Dgrad tex3Dlod tex3Dproj texCUBE
|
|
101
|
+
texCUBEbias texCUBEgrad texCUBElod texCUBEproj transpose trunc
|
|
102
|
+
WaveAllBitAnd WaveAllMax WaveAllMin WaveAllBitOr WaveAllBitXor
|
|
103
|
+
WaveAllEqual WaveAllProduct WaveAllSum WaveAllTrue WaveAnyTrue
|
|
104
|
+
WaveBallot WaveGetLaneCount WaveGetLaneIndex WaveGetOrderedIndex
|
|
105
|
+
WaveIsHelperLane WaveOnce WavePrefixProduct WavePrefixSum
|
|
106
|
+
WaveReadFirstLane WaveReadLaneAt
|
|
107
|
+
|
|
108
|
+
SV_CLIPDISTANCE SV_CLIPDISTANCE0 SV_CLIPDISTANCE1 SV_CULLDISTANCE
|
|
109
|
+
SV_CULLDISTANCE0 SV_CULLDISTANCE1 SV_COVERAGE SV_DEPTH
|
|
110
|
+
SV_DEPTHGREATEREQUAL SV_DEPTHLESSEQUAL SV_DISPATCHTHREADID
|
|
111
|
+
SV_DOMAINLOCATION SV_GROUPID SV_GROUPINDEX SV_GROUPTHREADID
|
|
112
|
+
SV_GSINSTANCEID SV_INNERCOVERAGE SV_INSIDETESSFACTOR SV_INSTANCEID
|
|
113
|
+
SV_ISFRONTFACE SV_OUTPUTCONTROLPOINTID SV_POSITION SV_PRIMITIVEID
|
|
114
|
+
SV_RENDERTARGETARRAYINDEX SV_SAMPLEINDEX SV_STENCILREF SV_TESSFACTOR
|
|
115
|
+
SV_VERTEXID SV_VIEWPORTARRAYINDEX
|
|
116
|
+
|
|
117
|
+
allow_uav_condition branch call domain earlydepthstencil fastopt
|
|
118
|
+
flatten forcecase instance loop maxtessfactor numthreads
|
|
119
|
+
outputcontrolpoints outputtopology partitioning patchconstantfunc
|
|
120
|
+
unroll
|
|
121
|
+
|
|
122
|
+
BINORMAL BINORMAL0 BINORMAL1 BINORMAL2 BINORMAL3 BINORMAL4
|
|
123
|
+
BLENDINDICES0 BLENDINDICES1 BLENDINDICES2 BLENDINDICES3 BLENDINDICES4
|
|
124
|
+
BLENDWEIGHT0 BLENDWEIGHT1 BLENDWEIGHT2 BLENDWEIGHT3 BLENDWEIGHT4 COLOR
|
|
125
|
+
COLOR0 COLOR1 COLOR2 COLOR3 COLOR4 NORMAL NORMAL0 NORMAL1 NORMAL2
|
|
126
|
+
NORMAL3 NORMAL4 POSITION POSITION0 POSITION1 POSITION2 POSITION3
|
|
127
|
+
POSITION4 POSITIONT PSIZE0 PSIZE1 PSIZE2 PSIZE3 PSIZE4 TANGENT
|
|
128
|
+
TANGENT0 TANGENT1 TANGENT2 TANGENT3 TANGENT4 TESSFACTOR0 TESSFACTOR1
|
|
129
|
+
TESSFACTOR2 TESSFACTOR3 TESSFACTOR4 TEXCOORD0 TEXCOORD1 TEXCOORD2
|
|
130
|
+
TEXCOORD3 TEXCOORD4
|
|
131
|
+
|
|
132
|
+
FOG PSIZE
|
|
133
|
+
|
|
134
|
+
VFACE VPOS
|
|
135
|
+
|
|
136
|
+
DEPTH0 DEPTH1 DEPTH2 DEPTH3 DEPTH4
|
|
137
|
+
)
|
|
138
|
+
end
|
|
139
|
+
|
|
140
|
+
ws = %r((?:\s|//.*?\n|/[*].*?[*]/)+)
|
|
141
|
+
id = /[a-zA-Z_][a-zA-Z0-9_]*/
|
|
142
|
+
|
|
143
|
+
state :root do
|
|
144
|
+
mixin :expr_whitespace
|
|
145
|
+
rule %r(
|
|
146
|
+
([\w*\s]+?[\s*]) # return arguments
|
|
147
|
+
(#{id}) # function name
|
|
148
|
+
(\s*\([^;]*?\)(?:\s*:\s+#{id})?) # signature
|
|
149
|
+
(#{ws}?)({|;) # open brace or semicolon
|
|
150
|
+
)mx do |m|
|
|
151
|
+
# This is copied from the C lexer
|
|
152
|
+
recurse m[1]
|
|
153
|
+
token Name::Function, m[2]
|
|
154
|
+
recurse m[3]
|
|
155
|
+
recurse m[4]
|
|
156
|
+
token Punctuation, m[5]
|
|
157
|
+
if m[5] == ?{
|
|
158
|
+
push :function
|
|
159
|
+
end
|
|
160
|
+
end
|
|
161
|
+
rule %r/\{/, Punctuation, :function
|
|
162
|
+
mixin :statements
|
|
163
|
+
end
|
|
164
|
+
end
|
|
165
|
+
end
|
|
166
|
+
end
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*- #
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
require_relative 'json'
|
|
5
|
+
|
|
6
|
+
module Rouge
|
|
7
|
+
module Lexers
|
|
8
|
+
class HOCON < JSON
|
|
9
|
+
title 'HOCON'
|
|
10
|
+
desc "Human-Optimized Config Object Notation (https://github.com/lightbend/config)"
|
|
11
|
+
tag 'hocon'
|
|
12
|
+
filenames '*.hocon'
|
|
13
|
+
|
|
14
|
+
state :comments do
|
|
15
|
+
# Comments
|
|
16
|
+
rule %r(//.*?$), Comment::Single
|
|
17
|
+
rule %r(#.*?$), Comment::Single
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
prepend :root do
|
|
21
|
+
mixin :comments
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
prepend :object do
|
|
25
|
+
# Keywords
|
|
26
|
+
rule %r/\b(?:include|url|file|classpath)\b/, Keyword
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
state :name do
|
|
30
|
+
rule %r/("(?:\"|[^"\n])*?")(\s*)([:=]|(?={))/ do
|
|
31
|
+
groups Name::Label, Text::Whitespace, Punctuation
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
rule %r/([-\w.]+)(\s*)([:=]|(?={))/ do
|
|
35
|
+
groups Name::Label, Text::Whitespace, Punctuation
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
state :value do
|
|
40
|
+
mixin :comments
|
|
41
|
+
|
|
42
|
+
rule %r/\n/, Text::Whitespace
|
|
43
|
+
rule %r/\s+/, Text::Whitespace
|
|
44
|
+
|
|
45
|
+
mixin :constants
|
|
46
|
+
|
|
47
|
+
# Interpolation
|
|
48
|
+
rule %r/[$][{][?]?/, Literal::String::Interpol, :interpolation
|
|
49
|
+
|
|
50
|
+
# Strings
|
|
51
|
+
rule %r/"""/, Literal::String::Double, :multiline_string
|
|
52
|
+
rule %r/"/, Str::Double, :string
|
|
53
|
+
|
|
54
|
+
rule %r/\[/, Punctuation, :array
|
|
55
|
+
rule %r/{/, Punctuation, :object
|
|
56
|
+
|
|
57
|
+
# Symbols (only those not handled by JSON)
|
|
58
|
+
rule %r/[()=]/, Punctuation
|
|
59
|
+
|
|
60
|
+
# Values
|
|
61
|
+
rule %r/[^$"{}\[\]:=,\+#`^?!@*&]+?/, Literal
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
state :interpolation do
|
|
65
|
+
rule %r/[\w\-\.]+?/, Name::Variable
|
|
66
|
+
rule %r/}/, Literal::String::Interpol, :pop!
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
prepend :string do
|
|
70
|
+
rule %r/[$][{][?]?/, Literal::String::Interpol, :interpolation
|
|
71
|
+
rule %r/[^\\"\${]+/, Literal::String::Double
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
state :multiline_string do
|
|
75
|
+
rule %r/"[^"]{1,2}/, Literal::String::Double
|
|
76
|
+
mixin :string
|
|
77
|
+
rule %r/"""/, Literal::String::Double, :pop!
|
|
78
|
+
end
|
|
79
|
+
|
|
80
|
+
prepend :constants do
|
|
81
|
+
# Numbers (handle the case where we have multiple periods, ie. IP addresses)
|
|
82
|
+
rule %r/\d+\.(\d+\.?){3,}/, Literal
|
|
83
|
+
end
|
|
84
|
+
end
|
|
85
|
+
end
|
|
86
|
+
end
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*- #
|
|
2
|
+
|
|
3
|
+
require_relative 'sql'
|
|
4
|
+
|
|
5
|
+
module Rouge
|
|
6
|
+
module Lexers
|
|
7
|
+
class HQL < SQL
|
|
8
|
+
title "HQL"
|
|
9
|
+
desc "Hive Query Language SQL dialect"
|
|
10
|
+
tag 'hql'
|
|
11
|
+
filenames '*.hql'
|
|
12
|
+
|
|
13
|
+
def self.keywords
|
|
14
|
+
# sources:
|
|
15
|
+
# https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL
|
|
16
|
+
# https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF
|
|
17
|
+
@keywords ||= Set.new(%w(
|
|
18
|
+
ADD ADMIN AFTER ANALYZE ARCHIVE ASC BEFORE BUCKET BUCKETS CASCADE
|
|
19
|
+
CHANGE CLUSTER CLUSTERED CLUSTERSTATUS COLLECTION COLUMNS COMMENT
|
|
20
|
+
COMPACT COMPACTIONS COMPUTE CONCATENATE CONTINUE DATA DATABASES
|
|
21
|
+
DATETIME DAY DBPROPERTIES DEFERRED DEFINED DELIMITED DEPENDENCY DESC
|
|
22
|
+
DIRECTORIES DIRECTORY DISABLE DISTRIBUTE ELEM_TYPE ENABLE ESCAPED
|
|
23
|
+
EXCLUSIVE EXPLAIN EXPORT FIELDS FILE FILEFORMAT FIRST FORMAT FORMATTED
|
|
24
|
+
FUNCTIONS HOLD_DDLTIME HOUR IDXPROPERTIES IGNORE INDEX INDEXES INPATH
|
|
25
|
+
INPUTDRIVER INPUTFORMAT ITEMS JAR KEYS KEY_TYPE LIMIT LINES LOAD
|
|
26
|
+
LOCATION LOCK LOCKS LOGICAL LONG MAPJOIN MATERIALIZED METADATA MINUS
|
|
27
|
+
MINUTE MONTH MSCK NOSCAN NO_DROP OFFLINE OPTION OUTPUTDRIVER
|
|
28
|
+
OUTPUTFORMAT OVERWRITE OWNER PARTITIONED PARTITIONS PLUS PRETTY
|
|
29
|
+
PRINCIPALS PROTECTION PURGE READ READONLY REBUILD RECORDREADER
|
|
30
|
+
RECORDWRITER REGEXP RELOAD RENAME REPAIR REPLACE REPLICATION RESTRICT
|
|
31
|
+
REWRITE RLIKE ROLE ROLES SCHEMA SCHEMAS SECOND SEMI SERDE
|
|
32
|
+
SERDEPROPERTIES SERVER SETS SHARED SHOW SHOW_DATABASE SKEWED SORT
|
|
33
|
+
SORTED SSL STATISTICS STORED STREAMTABLE STRING STRUCT TABLES
|
|
34
|
+
TBLPROPERTIES TEMPORARY TERMINATED TINYINT TOUCH TRANSACTIONS UNARCHIVE
|
|
35
|
+
UNDO UNIONTYPE UNLOCK UNSET UNSIGNED URI USE UTC UTCTIMESTAMP
|
|
36
|
+
VALUE_TYPE VIEW WHILE YEAR IF
|
|
37
|
+
|
|
38
|
+
ALL ALTER AND ARRAY AS AUTHORIZATION BETWEEN BIGINT BINARY BOOLEAN
|
|
39
|
+
BOTH BY CASE CAST CHAR COLUMN CONF CREATE CROSS CUBE CURRENT
|
|
40
|
+
CURRENT_DATE CURRENT_TIMESTAMP CURSOR DATABASE DATE DECIMAL DELETE
|
|
41
|
+
DESCRIBE DISTINCT DOUBLE DROP ELSE END EXCHANGE EXISTS EXTENDED
|
|
42
|
+
EXTERNAL FALSE FETCH FLOAT FOLLOWING FOR FROM FULL FUNCTION GRANT
|
|
43
|
+
GROUP GROUPING HAVING IMPORT IN INNER INSERT INT INTERSECT
|
|
44
|
+
INTERVAL INTO IS JOIN LATERAL LEFT LESS LIKE LOCAL MACRO MAP MORE
|
|
45
|
+
NONE NOT NULL OF ON OR ORDER OUT OUTER OVER PARTIALSCAN PARTITION
|
|
46
|
+
PERCENT PRECEDING PRESERVE PROCEDURE RANGE READS REDUCE REVOKE RIGHT
|
|
47
|
+
ROLLUP ROW ROWS SELECT SET SMALLINT TABLE TABLESAMPLE THEN TIMESTAMP
|
|
48
|
+
TO TRANSFORM TRIGGER TRUE TRUNCATE UNBOUNDED UNION UNIQUEJOIN UPDATE
|
|
49
|
+
USER USING UTC_TMESTAMP VALUES VARCHAR WHEN WHERE WINDOW WITH
|
|
50
|
+
|
|
51
|
+
AUTOCOMMIT ISOLATION LEVEL OFFSET SNAPSHOT TRANSACTION WORK WRITE
|
|
52
|
+
|
|
53
|
+
COMMIT ONLY ROLLBACK START
|
|
54
|
+
|
|
55
|
+
ABORT KEY LAST NORELY NOVALIDATE NULLS RELY VALIDATE
|
|
56
|
+
|
|
57
|
+
CACHE CONSTRAINT FOREIGN PRIMARY REFERENCES
|
|
58
|
+
|
|
59
|
+
DETAIL DOW EXPRESSION OPERATOR QUARTER SUMMARY VECTORIZATION WEEK YEARS MONTHS WEEKS DAYS HOURS MINUTES SECONDS
|
|
60
|
+
|
|
61
|
+
DAYOFWEEK EXTRACT FLOOR INTEGER PRECISION VIEWS
|
|
62
|
+
|
|
63
|
+
TIMESTAMPTZ ZONE
|
|
64
|
+
|
|
65
|
+
TIME NUMERIC
|
|
66
|
+
|
|
67
|
+
NAMED_STRUCT CREATE_UNION
|
|
68
|
+
|
|
69
|
+
ROUND BROUND CEIL CEILING RAND EXP LN LOG10 LOG2 LOG POW POWER SQRT BIN
|
|
70
|
+
HEX UNHEX CONV ABS PMOD SIN ASIN COS ACOS TAN ATAN DEGREES RADIANS POSITIVE
|
|
71
|
+
NEGATIVE SIGN E PI FACTORIAL CBRT SHIFTLEFT SHIFTRIGHT SHIFTRIGHTUNSIGNED
|
|
72
|
+
GREATEST LEAST WIDTH_BUCKET SIZE MAP_KEYS MAP_VALUES ARRAY_CONTAINS
|
|
73
|
+
SORT_ARRAY FROM_UNIXTIME UNIX_TIMESTAMP TO_DATE DAYOFMONTH
|
|
74
|
+
WEEKOFYEAR DATEDIFF DATE_ADD DATE_SUB FROM_UTC_TIMESTAMP
|
|
75
|
+
TO_UTC_TIMESTAMP ADD_MONTHS LAST_DAY NEXT_DAY
|
|
76
|
+
TRUNC MONTHS_BETWEEN DATE_FORMAT ISNULL ISNOTNULL NVL COALESCE
|
|
77
|
+
then else end NULLIF ASSERT_TRUE ASCII BASE64 CHARACTER_LENGTH CHR CONCAT
|
|
78
|
+
CONTEXT_NGRAMS CONCAT_WS DECODE ELT ENCODE FIELD FIND_IN_SET
|
|
79
|
+
FORMAT_NUMBER GET_JSON_OBJECT IN_FILE INSTR LENGTH LOCATE LOWER LCASE LPAD LTRIM
|
|
80
|
+
NGRAMS OCTET_LENGTH PARSE_URL PRINTF REGEXP_EXTRACT REGEXP_REPLACE REPEAT REVERSE RPAD RTRIM SENTENCES SPACE SPLIT STR_TO_MAP SUBSTR SUBSTRING
|
|
81
|
+
SUBSTRING_INDEX TRANSLATE TRIM UNBASE64 UPPER UCASE INITCAP LEVENSHTEIN SOUNDEX
|
|
82
|
+
MASK MASK_FIRST_N MASK_LAST_N MASK_SHOW_FIRST_N MASK_SHOW_LAST_N MASK_HASH
|
|
83
|
+
JAVA_METHOD REFLECT HASH CURRENT_USER LOGGED_IN_USER CURRENT_DATABASE MD5 SHA1
|
|
84
|
+
SHA CRC32 SHA2 AES_ENCRYPT AES_DECRYPT VERSION COUNT SUM AVG MIN MAX VARIANCE
|
|
85
|
+
VAR_POP VAR_SAMP STDDEV_POP STDDEV_SAMP COVAR_POP COVAR_SAMP CORR PERCENTILE
|
|
86
|
+
PERCENTILE_APPROX REGR_AVGX REGR_AVGY REGR_COUNT
|
|
87
|
+
REGR_INTERCEPT REGR_R2 REGR_SLOPE REGR_SXX REGR_SXY REGR_SYY HISTOGRAM_NUMERIC
|
|
88
|
+
COLLECT_SET COLLECT_LIST NTILE EXPLODE POSEXPLODE INLINE STACK
|
|
89
|
+
|
|
90
|
+
JSON_TUPLE PARSE_URL_TUPLE
|
|
91
|
+
|
|
92
|
+
XPATH XPATH_SHORT XPATH_INT XPATH_LONG XPATH_FLOAT XPATH_DOUBLE
|
|
93
|
+
XPATH_NUMBER XPATH_STRING
|
|
94
|
+
))
|
|
95
|
+
end
|
|
96
|
+
|
|
97
|
+
def self.keywords_type
|
|
98
|
+
# source: https://cwiki.apache.org/confluence/display/Hive/LanguageManual+Types
|
|
99
|
+
@keywords_type ||= Set.new(%w(
|
|
100
|
+
TINYINT SMALLINT INT INTEGER BIGINT FLOAT DOUBLE PRECISION DECIMAL NUMERIC
|
|
101
|
+
TIMESTAMP DATE INTERVAL
|
|
102
|
+
STRING VARCHAR CHAR
|
|
103
|
+
BOOLEAN BINARY
|
|
104
|
+
ARRAY MAP STRUCT UNIONTYPE
|
|
105
|
+
))
|
|
106
|
+
end
|
|
107
|
+
|
|
108
|
+
prepend :root do
|
|
109
|
+
# a double-quoted string is a string literal in Hive QL.
|
|
110
|
+
rule %r/"/, Str::Double, :double_string
|
|
111
|
+
|
|
112
|
+
# interpolation of variables through ${...}
|
|
113
|
+
rule %r/\$\{/, Name::Variable, :hive_variable
|
|
114
|
+
end
|
|
115
|
+
|
|
116
|
+
prepend :single_string do
|
|
117
|
+
rule %r/\$\{/, Name::Variable, :hive_variable
|
|
118
|
+
rule %r/[^\\'\$]+/, Str::Single
|
|
119
|
+
end
|
|
120
|
+
|
|
121
|
+
prepend :double_string do
|
|
122
|
+
rule %r/\$\{/, Name::Variable, :hive_variable
|
|
123
|
+
# double-quoted strings are string literals so need to change token
|
|
124
|
+
rule %r/"/, Str::Double, :pop!
|
|
125
|
+
rule %r/[^\\"\$]+/, Str::Double
|
|
126
|
+
end
|
|
127
|
+
|
|
128
|
+
state :hive_variable do
|
|
129
|
+
rule %r/\}/, Name::Variable, :pop!
|
|
130
|
+
rule %r/[^\}]+/, Name::Variable
|
|
131
|
+
end
|
|
132
|
+
|
|
133
|
+
end
|
|
134
|
+
end
|
|
135
|
+
end
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*- #
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
module Rouge
|
|
5
|
+
module Lexers
|
|
6
|
+
class HTML < RegexLexer
|
|
7
|
+
title "HTML"
|
|
8
|
+
desc "HTML, the markup language of the web"
|
|
9
|
+
tag 'html'
|
|
10
|
+
filenames '*.htm', '*.html', '*.xhtml', '*.cshtml', '*.razor'
|
|
11
|
+
mimetypes 'text/html', 'application/xhtml+xml'
|
|
12
|
+
|
|
13
|
+
def self.detect?(text)
|
|
14
|
+
return true if text.doctype?(/\bhtml\b/i)
|
|
15
|
+
return false if text =~ /\A<\?xml\b/
|
|
16
|
+
return true if text =~ /<\s*html\b/
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
start do
|
|
20
|
+
@javascript = Javascript.new(options)
|
|
21
|
+
@css = CSS.new(options)
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
state :root do
|
|
25
|
+
rule %r/[^<&]+/m, Text
|
|
26
|
+
rule %r/&\S*?;/, Name::Entity
|
|
27
|
+
rule %r/<!DOCTYPE .*?>/im, Comment::Preproc
|
|
28
|
+
rule %r/<!\[CDATA\[.*?\]\]>/m, Comment::Preproc
|
|
29
|
+
rule %r/<!--/, Comment, :comment
|
|
30
|
+
rule %r/<\?.*?\?>/m, Comment::Preproc # php? really?
|
|
31
|
+
|
|
32
|
+
rule %r/<\s*script\s*/m do
|
|
33
|
+
token Name::Tag
|
|
34
|
+
@javascript.reset!
|
|
35
|
+
push :script_content
|
|
36
|
+
push :tag
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
rule %r/<\s*style\s*/m do
|
|
40
|
+
token Name::Tag
|
|
41
|
+
@css.reset!
|
|
42
|
+
@lang = @css
|
|
43
|
+
push :style_content
|
|
44
|
+
push :tag
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
rule %r(</), Name::Tag, :tag_end
|
|
48
|
+
rule %r/</, Name::Tag, :tag_start
|
|
49
|
+
|
|
50
|
+
rule %r(<\s*[\p{L}:_-][\p{Word}\p{Cf}:.·-]*), Name::Tag, :tag # opening tags
|
|
51
|
+
rule %r(<\s*/\s*[\p{L}:_-][\p{Word}\p{Cf}:.·-]*\s*>), Name::Tag # closing tags
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
state :tag_end do
|
|
55
|
+
mixin :tag_end_end
|
|
56
|
+
rule %r/[\p{L}:_-][\p{Word}\p{Cf}:.·-]*/ do
|
|
57
|
+
token Name::Tag
|
|
58
|
+
goto :tag_end_end
|
|
59
|
+
end
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
state :tag_end_end do
|
|
63
|
+
rule %r/\s+/, Text
|
|
64
|
+
rule %r/>/, Name::Tag, :pop!
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
state :tag_start do
|
|
68
|
+
rule %r/\s+/, Text
|
|
69
|
+
|
|
70
|
+
rule %r/[\p{L}:_-][\p{Word}\p{Cf}:.·-]*/ do
|
|
71
|
+
token Name::Tag
|
|
72
|
+
goto :tag
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
rule(//) { goto :tag }
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
state :comment do
|
|
79
|
+
rule %r/[^-]+/, Comment
|
|
80
|
+
rule %r/-->/, Comment, :pop!
|
|
81
|
+
rule %r/-/, Comment
|
|
82
|
+
end
|
|
83
|
+
|
|
84
|
+
state :tag do
|
|
85
|
+
rule %r/\s+/m, Text
|
|
86
|
+
rule %r/[\p{L}:_\[\]()*.-][\p{Word}\p{Cf}:.·\[\]()*-]*\s*=\s*/m, Name::Attribute, :attr
|
|
87
|
+
rule %r/[\p{L}:_*#-][\p{Word}\p{Cf}:.·*#-]*/, Name::Attribute
|
|
88
|
+
rule %r(/?\s*>)m, Name::Tag, :pop!
|
|
89
|
+
end
|
|
90
|
+
|
|
91
|
+
state :attr do
|
|
92
|
+
# TODO: are backslash escapes valid here?
|
|
93
|
+
rule %r/"/ do
|
|
94
|
+
token Str
|
|
95
|
+
goto :dq
|
|
96
|
+
end
|
|
97
|
+
|
|
98
|
+
rule %r/'/ do
|
|
99
|
+
token Str
|
|
100
|
+
goto :sq
|
|
101
|
+
end
|
|
102
|
+
|
|
103
|
+
rule %r/[^\s>]+/, Str, :pop!
|
|
104
|
+
end
|
|
105
|
+
|
|
106
|
+
state :dq do
|
|
107
|
+
rule %r/"/, Str, :pop!
|
|
108
|
+
rule %r/[^"]+/, Str
|
|
109
|
+
end
|
|
110
|
+
|
|
111
|
+
state :sq do
|
|
112
|
+
rule %r/'/, Str, :pop!
|
|
113
|
+
rule %r/[^']+/, Str
|
|
114
|
+
end
|
|
115
|
+
|
|
116
|
+
state :script_content do
|
|
117
|
+
rule %r([^<]+) do
|
|
118
|
+
delegate @javascript
|
|
119
|
+
end
|
|
120
|
+
|
|
121
|
+
rule %r(<\s*/\s*script\s*>)m, Name::Tag, :pop!
|
|
122
|
+
|
|
123
|
+
rule %r(<) do
|
|
124
|
+
delegate @javascript
|
|
125
|
+
end
|
|
126
|
+
end
|
|
127
|
+
|
|
128
|
+
state :style_content do
|
|
129
|
+
rule %r/[^<]+/ do
|
|
130
|
+
delegate @lang
|
|
131
|
+
end
|
|
132
|
+
|
|
133
|
+
rule %r(<\s*/\s*style\s*>)m, Name::Tag, :pop!
|
|
134
|
+
|
|
135
|
+
rule %r/</ do
|
|
136
|
+
delegate @lang
|
|
137
|
+
end
|
|
138
|
+
end
|
|
139
|
+
end
|
|
140
|
+
end
|
|
141
|
+
end
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*- #
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
module Rouge
|
|
5
|
+
module Lexers
|
|
6
|
+
class HTTP < RegexLexer
|
|
7
|
+
tag 'http'
|
|
8
|
+
title "HTTP"
|
|
9
|
+
desc 'http requests and responses'
|
|
10
|
+
|
|
11
|
+
option :content, "the language for the content (default: auto-detect)"
|
|
12
|
+
|
|
13
|
+
def self.http_methods
|
|
14
|
+
@http_methods ||= %w(GET POST PUT DELETE HEAD OPTIONS TRACE PATCH QUERY)
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def content_lexer
|
|
18
|
+
@content_lexer ||= (lexer_option(:content) || guess_content_lexer)
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def guess_content_lexer
|
|
22
|
+
return Lexers::PlainText unless @content_type
|
|
23
|
+
|
|
24
|
+
Lexer.guess_by_mimetype(@content_type)
|
|
25
|
+
rescue Lexer::AmbiguousGuess
|
|
26
|
+
Lexers::PlainText
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
start { @content_type = 'text/plain' }
|
|
30
|
+
|
|
31
|
+
state :root do
|
|
32
|
+
# request
|
|
33
|
+
rule %r(
|
|
34
|
+
(#{HTTP.http_methods.join('|')})([ ]+) # method
|
|
35
|
+
([^ ]+)([ ]+) # path
|
|
36
|
+
(HTTPS?)(/)(\d(?:\.\d)?)(\r?\n|$) # http version
|
|
37
|
+
)ox do
|
|
38
|
+
groups(
|
|
39
|
+
Name::Function, Text,
|
|
40
|
+
Name::Namespace, Text,
|
|
41
|
+
Keyword, Operator, Num, Text
|
|
42
|
+
)
|
|
43
|
+
|
|
44
|
+
push :headers
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
# response
|
|
48
|
+
rule %r(
|
|
49
|
+
(HTTPS?)(/)(\d(?:\.\d)?)([ ]+) # http version
|
|
50
|
+
(\d{3})([ ]+)? # status
|
|
51
|
+
([^\r\n]*)?(\r?\n|$) # status message
|
|
52
|
+
)x do
|
|
53
|
+
groups(
|
|
54
|
+
Keyword, Operator, Num, Text,
|
|
55
|
+
Num, Text,
|
|
56
|
+
Name::Exception, Text
|
|
57
|
+
)
|
|
58
|
+
push :headers
|
|
59
|
+
end
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
state :headers do
|
|
63
|
+
rule %r/([^\s:]+)( *)(:)( *)([^\r\n]+)(\r?\n|$)/ do |m|
|
|
64
|
+
key = m[1]
|
|
65
|
+
value = m[5]
|
|
66
|
+
if key.strip.casecmp('content-type').zero?
|
|
67
|
+
@content_type = value.split(';')[0].downcase
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
groups Name::Attribute, Text, Punctuation, Text, Str, Text
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
rule %r/([^\r\n]+)(\r?\n|$)/ do
|
|
74
|
+
groups Str, Text
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
rule %r/\r?\n/, Text, :content
|
|
78
|
+
end
|
|
79
|
+
|
|
80
|
+
state :content do
|
|
81
|
+
rule %r/.+/m do
|
|
82
|
+
delegate(content_lexer)
|
|
83
|
+
end
|
|
84
|
+
end
|
|
85
|
+
end
|
|
86
|
+
end
|
|
87
|
+
end
|