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,187 @@
|
|
|
1
|
+
# ABAP keywords, builtins, RAP syntax and CDS syntax taken from
|
|
2
|
+
#
|
|
3
|
+
# https://help.sap.com/doc/abapdocu_758_index_htm/7.58/en-US/index.htm?file=abenabap_shortref.htm
|
|
4
|
+
# https://help.sap.com/doc/abapdocu_758_index_htm/7.58/en-us/abenbuilt_in_functions_overview.htm
|
|
5
|
+
# https://help.sap.com/doc/abapdocu_758_index_htm/7.58/en-US/abencds_language_elements.htm
|
|
6
|
+
# https://help.sap.com/doc/abapdocu_758_index_htm/7.58/en-us/abenabap_words.htm
|
|
7
|
+
#
|
|
8
|
+
# Updated with modern ABAP 7.40+ and CDS keywords from ABAP 7.58 documentation
|
|
9
|
+
#
|
|
10
|
+
# This file is manually maintained by Manuel Laggner <manuel@laggner.info>
|
|
11
|
+
#
|
|
12
|
+
# Please contact them with any requests for updates.
|
|
13
|
+
|
|
14
|
+
module Rouge
|
|
15
|
+
module Lexers
|
|
16
|
+
class ABAP
|
|
17
|
+
KEYWORDS = Set.new %w(
|
|
18
|
+
*-INPUT ?TO ABAP-SOURCE ABBREVIATED ABS ABSTRACT ACCEPT ACCEPTING
|
|
19
|
+
ACCESS ACCORDING ACCP ACTION ACTIVATION ACTUAL ADD
|
|
20
|
+
ADD-CORRESPONDING ADJACENT ADJUST_NUMBERS AFTER ALIAS ALIASES ALIGN
|
|
21
|
+
ALL ALLOCATE ALLOW_PRECISION_LOSS ALLOWED ALPHA ANALYSIS ANALYZER
|
|
22
|
+
AMDP AND ANNOTATION ANNOTATIONS ANY APPEND APPENDAGE APPENDING
|
|
23
|
+
APPLICATION ARCHIVE AREA ARITHMETIC AS ASCENDING ASPECT ASSERT ASSIGN
|
|
24
|
+
ASSIGNED ASSIGNING ASSOCIATION ASSOCIATIONS ASYNCHRONOUS AT
|
|
25
|
+
ATTRIBUTES AUTHORITY AUTHORITY-CHECK AUTHORIZATION AUTO AVG BACK
|
|
26
|
+
BACKGROUND BACKUP BACKWARD BADI BASE BEFORE BEGIN BETWEEN BIG BINARY
|
|
27
|
+
BINTOHEX BIT BIT-AND BIT-NOT BIT-OR BIT-XOR BITFIELD BLACK BLANK
|
|
28
|
+
BLANKS BLOB BLOCK BLOCKED BLOCKS BLUE BOUND BOUNDARIES BOUNDS BOXED
|
|
29
|
+
BREAK-POINT BREAKUP BT BUFFER BULK BY BYPASSING BYTE BYTE-CA BYTE-CN
|
|
30
|
+
BYTE-CO BYTE-CS BYTE-NA BYTE-NS BYTE-ORDER CA CALL CALLING CASE CAST
|
|
31
|
+
CASTING CATCH CEIL CENTER CENTERED CHAIN CHAIN-INPUT CHAIN-REQUEST
|
|
32
|
+
CHANGE CHANGING CHANNELS CHAR CHAR-TO-HEX CHARACTER CHECK CHECKBOX
|
|
33
|
+
CHECK_BEFORE_SAVE CHILD CI_ CID CIRCULAR CLASS CLASS-CODING
|
|
34
|
+
CLASS-DATA CLASS-EVENTS CLASS-METHODS CLASS-POOL CDS CLEANUP
|
|
35
|
+
CLEANUP_FINALIZE CLEAR CLIENT CLIENTS CLNT CLOB CLOCK CLOSE CN CO
|
|
36
|
+
COALESCE CODE CODING COLLECT COLOR COLUMN COLUMNS COL_BACKGROUND
|
|
37
|
+
COL_GROUP COL_HEADING COL_KEY COL_NEGATIVE COL_NORMAL COL_POSITIVE
|
|
38
|
+
COL_TOTAL COMMENT COMMENTS COMMIT COMMON COMMUNICATION COMPARING
|
|
39
|
+
COMPONENT COMPONENTS COMPOSITION COMPRESSION COMPUTE CONCAT
|
|
40
|
+
CONCATENATE CONCAT_WITH_SPACE COND CONDENSE CONDITION CONNECT
|
|
41
|
+
CONNECTION CONSTANTS CONTEXT CONTEXTS CONTINUE CONTROL CONTROLS CONV
|
|
42
|
+
CONVERSION CONVERT COPIES COPY CORR CORR_SPEARMAN CORRESPONDING
|
|
43
|
+
CORRSPEARMAN COUNT COUNTRY COVER CP CPI CREATE CREATING CRITICAL CS
|
|
44
|
+
CUKY CURR CURRENCY CURRENCY_CONVERSION CURRENT CURSOR
|
|
45
|
+
CURSOR-SELECTION CUSTOMER CUSTOMER-FUNCTION DANGEROUS DATA DATABASE
|
|
46
|
+
DATAINFO DATASET DATE DATN DATN_ADD_DAYS DATN_ADD_MONTHS
|
|
47
|
+
DATN_DAYS_BETWEEN DATS DATS_ADD_DAYS DATS_ADD_MONTHS
|
|
48
|
+
DATS_DAYS_BETWEEN DATS_FROM_DATN DATS_IS_VALID DATS_TIMS_TO_TSTMP
|
|
49
|
+
DATS_TO_DATN DAYLIGHT DAYNAME DB2 DB6 DD/MM/YY DD/MM/YYYY DDMMYY
|
|
50
|
+
DEALLOCATE DEC DECFLOAT16 DECFLOAT16_DEC DECFLOAT34 DECFLOAT34_DEC
|
|
51
|
+
DECIMALS DECIMAL_SHIFT DECLARATIONS DEEP DEFAULT DEFERRED DEFINE
|
|
52
|
+
DEFINING DEFINITION DELETE DELETING DEMAND DENSE_RANK DEPARTMENT
|
|
53
|
+
DEPTH DESCENDING DESCRIBE DESTINATION DETAIL DETERMINATION DETERMINE
|
|
54
|
+
DETERMINISTIC DF16_DEC DF16_RAW DF16_SCL DF34_DEC DF34_RAW DF34_SCL
|
|
55
|
+
DIALOG DIRECTORY DISABLE DISCARDING DISCONNECT DISPLAY DISPLAY-MODE
|
|
56
|
+
DISTANCE DISTINCT DIV DIVIDE DIVIDE-CORRESPONDING DIVISION DO DUMMY
|
|
57
|
+
DUPLICATE DUPLICATES DURATION DURING DYNAMIC DYNPRO E EARLY EDIT
|
|
58
|
+
EDITOR-CALL ELSE ELSEIF EMPTY ENABLED ENABLING ENCODING END
|
|
59
|
+
END-ENHANCEMENT-SECTION END-LINES END-OF-DEFINITION END-OF-FILE
|
|
60
|
+
END-OF-EDITING END-OF-PAGE END-OF-SELECTION END-TEST-INJECTION
|
|
61
|
+
END-TEST-SEAM ENDAT ENDCASE ENDCATCH ENDCHAIN ENDCLASS ENDDO
|
|
62
|
+
ENDENHANCEMENT ENDEXEC ENDFORM ENDFUNCTION ENDIAN ENDIF ENDING
|
|
63
|
+
ENDINTERFACE ENDLOOP ENDMETHOD ENDMODULE ENDON ENDPROVIDE ENDSELECT
|
|
64
|
+
ENDTRY ENDWHILE ENDWITH ENGINEERING ENHANCEMENT ENHANCEMENT-POINT
|
|
65
|
+
ENHANCEMENT-SECTION ENHANCEMENTS ENTITIES ENTITY ENTRIES ENTRY ENUM
|
|
66
|
+
ENVIRONMENT EQ EQUIV ERROR ERRORMESSAGE ERRORS ESCAPE ESCAPING EVENT
|
|
67
|
+
EVENTS EXACT EXCEPT EXCEPTION EXCEPTION-TABLE EXCEPTIONS EXCLUDE
|
|
68
|
+
EXCLUDING EXEC EXECUTE EXISTS EXIT EXIT-COMMAND EXPAND EXPANDING
|
|
69
|
+
EXPIRATION EXPLICIT EXPONENT EXPORT EXPORTING EXTEND EXTENDED
|
|
70
|
+
EXTENSION EXTRACT EXTRACT_DAY EXTRACT_HOUR EXTRACT_MINUTE
|
|
71
|
+
EXTRACT_MONTH EXTRACT_SECOND EXTRACT_YEAR FAIL FETCH FIELD
|
|
72
|
+
FIELD-GROUPS FIELD-SYMBOL FIELD-SYMBOLS FIELDS FILE FILTER
|
|
73
|
+
FILTER-TABLE FILTERS FINAL FIND FIRST FIRST-LINE FIRST_VALUE
|
|
74
|
+
FIXED-POINT FKEQ FKGE FLOOR FLTP FLTP_TO_DEC FLUSH FOLLOWING FONT
|
|
75
|
+
FOR FORM FORMAT FORWARD FOUND FRAME FRAMES FREE FRIENDS FROM FULL
|
|
76
|
+
FUNCTION FUNCTION-POOL FUNCTIONALITY FURTHER GAPS GE GENERATE GET
|
|
77
|
+
GGM1 GEOM_EWKB GIVING GKEQ GKGE GLOBAL GRANT GRAPH GREEN GROUP
|
|
78
|
+
GROUPING GROUPS GT HANDLE HANDLER HARMLESS HASHED HAVING HDB
|
|
79
|
+
HEAD-LINES HEADER HEADERS HEADING HELP-ID HELP-REQUEST HEXTOBIN HIDE
|
|
80
|
+
HIERARCHY HIERARCHY_ANCESTORS HIERARCHY_ANCESTORS_AGGREGATE
|
|
81
|
+
HIERARCHY_DESCENDANTS HIERARCHY_DESCENDANTS_AGGREGATE
|
|
82
|
+
HIERARCHY_SIBLINGS HIGH HINT HOLD HOTSPOT I ICON ID IDENTIFICATION
|
|
83
|
+
IDENTIFIER IDS IF IGNORE IGNORING IMMEDIATELY IMPLEMENTATION
|
|
84
|
+
IMPLEMENTATIONS IMPLEMENTED IMPLICIT IMPORT IMPORTING IN INACTIVE
|
|
85
|
+
INCL INCLUDE INCLUDES INCLUDING INCREMENT INDEX INDEX-LINE INFOTYPES
|
|
86
|
+
INHERITING INIT INITIAL INITIALIZATION INNER INOUT INPUT INSERT
|
|
87
|
+
INSTANCE INSTANCES INSTR INT1 INT2 INT4 INT8 INTENSIFIED INTERFACE
|
|
88
|
+
INTERFACE-POOL INTERFACES INTERNAL INTERVALS INTO INVERSE
|
|
89
|
+
INVERTED-DATE IS ISO IS_VALID ITNO JOB JOIN KEEP KEEPING KERNEL KEY
|
|
90
|
+
KEYS KEYWORDS KIND LAG LANG LANGUAGE LAST LAST_VALUE LATE LAYOUT
|
|
91
|
+
LCHR LDB_PROCESS LE LEAD LEADING LEAVE LEFT LEFT-JUSTIFIED LEFTPLUS
|
|
92
|
+
LEFTSPACE LEGACY LENGTH LET LEVEL LEVELS LIKE LIKE_REGEXPR LINE
|
|
93
|
+
LINE-COUNT LINE-SELECTION LINE-SIZE LINEFEED LINES LIST
|
|
94
|
+
LIST-PROCESSING LISTBOX LITTLE LLANG LOAD LOAD-OF-PROGRAM LOB LOCAL
|
|
95
|
+
LOCALE LOCATE LOCATE_REGEXPR LOCATE_REGEXPR_AFTER LOCATOR LOCK
|
|
96
|
+
LOCKS LOG-POINT LOGFILE LOGICAL LONG LOOP LOW LOWER LPAD LPI LRAW
|
|
97
|
+
LT LTRIM M MAIL MAIN MAJOR-ID MANY MAP_MESSAGES MAPPING MARGIN MARK
|
|
98
|
+
MASK MATCH MATCH_RESULT MATCH_RESULT_TAB MATCHCODE MATCHED MAX
|
|
99
|
+
MAXIMUM MEASURES MEDIAN MEDIUM MEMBERS MEMORY MESH MESSAGE
|
|
100
|
+
MESSAGE-ID MESSAGES MESSAGING METHOD METHODS MIN MINIMUM MINOR-ID
|
|
101
|
+
MM/DD/YY MM/DD/YYYY MMDDYY MOD MODE MODIF MODIFIER MODIFY MODULE
|
|
102
|
+
MONTHNAME MOVE MOVE-CORRESPONDING MSSQLNT MULTIPLE MULTIPLY
|
|
103
|
+
MULTIPLY-CORRESPONDING NA NAME NAMETAB NATIVE NB NE NESTED NESTING
|
|
104
|
+
NEW NEW-LINE NEW-PAGE NEW-SECTION NEXT NO NO-DISPLAY NO-EXTENSION
|
|
105
|
+
NO-GAP NO-GAPS NO-GROUPING NO-HEADING NO-SCROLLING NO-SIGN NO-TITLE
|
|
106
|
+
NO-TOPOFPAGE NO-ZERO NODE NODES NON-UNICODE NON-UNIQUE NOT NP NS
|
|
107
|
+
NTILE NULL NULLS NUMBER NUMBERING NUMC O OBJECT OBJECTS OBLIGATORY
|
|
108
|
+
OCCURRENCE OCCURRENCES OCCURS OF OFF OFFSET ON ONE ONLY OPEN OPTION
|
|
109
|
+
OPTIONAL OPTIONS OR ORACLE ORDER ORPHANS OTHER OTHERS OUT OUTER
|
|
110
|
+
OUTPUT OUTPUT-LENGTH OVERFLOW OVERLAY PACK PACKAGE PAD PADDING PAGE
|
|
111
|
+
PAGES PARAMETER PARAMETER-TABLE PARAMETERS PARENT PARENTS PART
|
|
112
|
+
PARTIALLY PARTITION PATTERN PCRE PERCENTAGE PERFORM PERFORMING
|
|
113
|
+
PERSON PF PF-STATUS PINK PLACES POOL POSITION POS_HIGH POS_LOW
|
|
114
|
+
PRAGMAS PREC PRECEDING PRECOMPILED PREFERRED PRESERVING PRIMARY
|
|
115
|
+
PRINT PRINT-CONTROL PRIORITY PRIVATE PROCEDURE PROCESS PROGRAM
|
|
116
|
+
PROPERTY PROTECTED PROVIDE PUBLIC PUSH PUSHBUTTON PUT QUAN
|
|
117
|
+
QUEUE-ONLY QUICKINFO RADIOBUTTON RAISE RAISING RANGE RANGES RAW
|
|
118
|
+
RAWSTRING READ READ-ONLY READER RECEIVE RECEIVED RECEIVER RECEIVING
|
|
119
|
+
RED REDEFINITION REDUCE REDUCED REF REFERENCE REFRESH REGEX REJECT
|
|
120
|
+
RELATING REMOTE RENAMING REPLACE REPLACEMENT REPLACING REPORT
|
|
121
|
+
REPORTED REQUEST REQUESTED REQUIRED RESERVE RESET RESOLUTION
|
|
122
|
+
RESPECTING RESPONSE RESPONSES RESPONSIBLE RESULT RESULTS RESUMABLE
|
|
123
|
+
RESUME RETRY RETURN RETURNCODE RETURNING RETURNS RIGHT
|
|
124
|
+
RIGHT-JUSTIFIED RIGHTPLUS RIGHTSPACE RISK RMC_COMMUNICATION_FAILURE
|
|
125
|
+
RMC_INVALID_STATUS RMC_SYSTEM_FAILURE ROLE ROLLBACK ROUND ROW
|
|
126
|
+
ROW_NUMBER ROWS RPAD RTRIM RUN SAP SAP-SPOOL SAVING SCALAR
|
|
127
|
+
SCALE_PRESERVING SCALE_PRESERVING_SCIENTIFIC SCAN SCIENTIFIC
|
|
128
|
+
SCIENTIFIC_WITH_LEADING_ZERO SCHEMA SCREEN SCROLL SCROLL-BOUNDARY
|
|
129
|
+
SCROLLING SEARCH SECONDARY SECONDS SECTION SELECT SELECT-OPTIONS
|
|
130
|
+
SELECTION SELECTION-SCREEN SELECTION-SET SELECTION-SETS
|
|
131
|
+
SELECTION-TABLE SELECTIONS SEND SEPARATE SEPARATED SESSION SET SETS
|
|
132
|
+
SHARED SHIFT SHORT SHORTDUMP SHORTDUMP-ID SIBLINGS SIGN
|
|
133
|
+
SIGN_AS_POSTFIX SIMPLE SINGLE SIZE SKIP SKIPPING SMART SOME SORT
|
|
134
|
+
SORTABLE SORTED SOURCE SPACE SPANTREE SPECIFIED SPLIT SPOOL SPOTS
|
|
135
|
+
SQL SQLSCRIPT SSTRING STABLE STAMP STANDARD START START-OF-EDITING
|
|
136
|
+
START-OF-SELECTION STARTING STATE STATEMENT STATEMENTS STATIC
|
|
137
|
+
STATICS STATUSINFO STDDEV STEP-LOOP STEP STOP STRING STRING_AGG
|
|
138
|
+
STRUCTURE STRUCTURES STYLE SUBKEY SUBMATCH_RESULT
|
|
139
|
+
SUBMATCH_RESULT_TAB SUBMATCHES SUBMIT SUBROUTINE SUBSCREEN SUBSTRING
|
|
140
|
+
SUBSTRING_REGEXPR SUBTOTAL SUBTRACT SUBTRACT-CORRESPONDING SUFFIX
|
|
141
|
+
SUM SUMMARY SUMMING SUPPLIED SUPPLY SUPPRESS SWITCH SWITCHSTATES
|
|
142
|
+
SYMBOL SYBASE SYNCPOINTS SYNTAX SYNTAX-CHECK SYNTAX-TRACE SYST
|
|
143
|
+
SYSTEM-CALL SYSTEM-EXCEPTIONS SYSTEM-EXIT T000 TAB TABBED TABLE
|
|
144
|
+
TABLES TABLEVIEW TABSTRIP TARGET TASK TASKS TEST TEST-INJECTION
|
|
145
|
+
TEST-SEAM TESTING TEXT TEXTPOOL THEN THROW TIME TIMES TIMESTAMP
|
|
146
|
+
TIMEZONE TIMN TIMS TIMS_FROM_TIMN TIMS_IS_VALID TIMS_TO_TIMN TITLE
|
|
147
|
+
TITLE-LINES TITLEBAR TO TOKENIZATION TOKENS TOP-LINES TOP-OF-PAGE
|
|
148
|
+
TOTAL TRACE-ENTRY TRACE-FILE TRACE-TABLE TRAILING TRANSACTION
|
|
149
|
+
TRANSFER TRANSFORMATION TRANSLATE TRANSPORTING TRDIR TRMAC TRUNCATE
|
|
150
|
+
TRUNCATION TRY TSTMP_ADD_SECONDS TSTMP_CURRENT_UTCTIMESTAMP
|
|
151
|
+
TSTMP_IS_VALID TSTMP_SECONDS_BETWEEN TYPE TYPE-POOL TYPE-POOLS
|
|
152
|
+
TYPES ULINE UNASSIGN UNDER UNICODE UNION UNIQUE UNIT UNIT_CONVERSION
|
|
153
|
+
UNIX UNBLOCKED UNBOUNDED UNPACK UNTIL UNWIND UP UPDATE UPPER USER
|
|
154
|
+
USER-COMMAND USING UTF-8 VALID VALIDATE VALIDATION VALUE
|
|
155
|
+
VALUE-REQUEST VALUES VAR VARC VARY VARYING VERBATIM
|
|
156
|
+
VERIFICATION-MESSAGE VERSION VIA VIEW VISIBLE WAIT WARNING WEEKDAY
|
|
157
|
+
WHEN WHENEVER WHERE WHILE WIDTH WINDOW WINDOWS WITH WITH-HEADING
|
|
158
|
+
WITH-TITLE WITHOUT WORD WORK WORKSPACE WRITE WRITER XML XSD YELLOW
|
|
159
|
+
YES YYMMDD Z ZERO ZONE
|
|
160
|
+
)
|
|
161
|
+
|
|
162
|
+
BUILTINS = Set.new %w(
|
|
163
|
+
abs acos add_days add_months add_seconds asin atan attribute
|
|
164
|
+
bintohex bit-set boolc boolx cast ceil cfunc charlen char_off
|
|
165
|
+
class_constructor cmax cmin cnt coalesce concat concat_lines_of cond
|
|
166
|
+
cond-var condense constructor contains contains_any_not_of
|
|
167
|
+
contains_any_of conv corresponding cos cosh count count_any_not_of
|
|
168
|
+
count_any_of curr_to_decfloat_amount currency_conversion
|
|
169
|
+
current_utctimestamp datn_add_days datn_add_months datn_days_between
|
|
170
|
+
dats_from_datn dats_to_datn days_between dbmaxlen dbtab deserialize
|
|
171
|
+
distance div division escape exact exp filter find find_any_not_of
|
|
172
|
+
find_any_of find_end floor fltp_to_dec frac get_numeric_value
|
|
173
|
+
hextobin idx index insert ipow is_valid lines line_exists
|
|
174
|
+
line_index log log10 match matches mod new nmax nmin numofchar reduce
|
|
175
|
+
ref repeat replace replace_regexpr rescale reverse round
|
|
176
|
+
seconds_between segment serialize shift_left shift_right sign sin
|
|
177
|
+
sinh sqrt strlen substring substring_after substring_before
|
|
178
|
+
substring_from substring_to sum switch switch-var table_line tan tanh
|
|
179
|
+
tims_from_timn tims_to_timn to_lower to_mixed to_upper translate
|
|
180
|
+
trunc tstmp_to_dats tstmp_to_dst tstmp_to_tims tstmpl_from_utcl
|
|
181
|
+
tstmpl_to_utcl unit_conversion utcl_add_seconds utcl_current
|
|
182
|
+
utcl_seconds_between utclong_add utclong_current utclong_diff value
|
|
183
|
+
xsdbool xstrlen
|
|
184
|
+
)
|
|
185
|
+
end
|
|
186
|
+
end
|
|
187
|
+
end
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*- #
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
module Rouge
|
|
5
|
+
module Lexers
|
|
6
|
+
class ABAP < RegexLexer
|
|
7
|
+
title "ABAP"
|
|
8
|
+
desc "SAP - Advanced Business Application Programming"
|
|
9
|
+
tag 'abap'
|
|
10
|
+
filenames '*.abap'
|
|
11
|
+
mimetypes 'text/x-abap'
|
|
12
|
+
|
|
13
|
+
lazy { require_relative 'abap/builtins' }
|
|
14
|
+
|
|
15
|
+
TYPES = Set.new %w(
|
|
16
|
+
b c d decfloat16 decfloat34 f i int8 n p s t x
|
|
17
|
+
clike csequence decfloat string xstring
|
|
18
|
+
)
|
|
19
|
+
|
|
20
|
+
NEW_KEYWORDS = Set.new %w(DATA FIELD-SYMBOL)
|
|
21
|
+
|
|
22
|
+
state :root do
|
|
23
|
+
rule %r/\s+/m, Text
|
|
24
|
+
|
|
25
|
+
rule %r/(".*?$)/, Comment::Single
|
|
26
|
+
rule %r/(^\*.*?$)/, Comment::Single
|
|
27
|
+
rule %r/\d+/, Num::Integer
|
|
28
|
+
|
|
29
|
+
# String templates |...|
|
|
30
|
+
rule %r/\|/, Str::Interpol, :string_template
|
|
31
|
+
|
|
32
|
+
rule %r/('|`)/, Str::Single, :single_string
|
|
33
|
+
|
|
34
|
+
# CDS annotations: @KEYWORD.field
|
|
35
|
+
rule %r/(@)([A-Z][A-Za-z0-9_]*)(\.)([A-Za-z][A-Za-z0-9_]*)/ do |m|
|
|
36
|
+
token Operator, m[1]
|
|
37
|
+
if KEYWORDS.include? m[2].upcase
|
|
38
|
+
token Keyword, m[2]
|
|
39
|
+
else
|
|
40
|
+
token Name, m[2]
|
|
41
|
+
end
|
|
42
|
+
token Punctuation, m[3]
|
|
43
|
+
token Name, m[4]
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
# structure field access with dot (table.field should not highlight field as keyword)
|
|
47
|
+
# This must come before the general punctuation rule
|
|
48
|
+
# In dot-access patterns, treat both parts as names (even if they match keywords)
|
|
49
|
+
rule %r/([A-Za-z][A-Za-z0-9_]*)(\.)([A-Za-z][A-Za-z0-9_]*)/ do |m|
|
|
50
|
+
token Name, m[1]
|
|
51
|
+
token Punctuation, m[2]
|
|
52
|
+
token Name, m[3]
|
|
53
|
+
end
|
|
54
|
+
# Parameter names in function/method interfaces (word before =)
|
|
55
|
+
# Matches word followed by optional whitespace and =
|
|
56
|
+
# This handles EXPORTING/IMPORTING/CHANGING/TABLES/USING parameter names
|
|
57
|
+
rule %r/([A-Za-z][A-Za-z0-9_]*)(?=\s*=)/ do |m|
|
|
58
|
+
token Name, m[1]
|
|
59
|
+
end
|
|
60
|
+
rule %r/[\[\]\(\)\{\}\.,:]/, Punctuation
|
|
61
|
+
|
|
62
|
+
# builtins / new ABAP 7.40 keywords (@DATA(), ...)
|
|
63
|
+
rule %r/(->|=>)?([A-Za-z][A-Za-z0-9_\-]*)(\()/ do |m|
|
|
64
|
+
token Operator, m[1]
|
|
65
|
+
|
|
66
|
+
word = m[2]
|
|
67
|
+
|
|
68
|
+
if (NEW_KEYWORDS.include? word.upcase) && m[1].nil?
|
|
69
|
+
token Keyword, m[2]
|
|
70
|
+
elsif (BUILTINS.include? word.downcase) && m[1].nil?
|
|
71
|
+
token Name::Builtin, m[2]
|
|
72
|
+
else
|
|
73
|
+
token Name, m[2]
|
|
74
|
+
end
|
|
75
|
+
|
|
76
|
+
token Punctuation, m[3]
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
# hyphenated keywords (like NON-UNIQUE)
|
|
80
|
+
rule %r/[A-Za-z][A-Za-z0-9_]*(-[A-Za-z][A-Za-z0-9_]*)+/ do |m|
|
|
81
|
+
if KEYWORDS.include? m[0].upcase
|
|
82
|
+
token Keyword
|
|
83
|
+
else
|
|
84
|
+
token Name
|
|
85
|
+
end
|
|
86
|
+
end
|
|
87
|
+
|
|
88
|
+
# structure component access (variable-component should not be highlighted as keyword)
|
|
89
|
+
# this rule matches: word-word where the second part is lowercase or starts lowercase
|
|
90
|
+
rule %r/[A-Za-z][A-Za-z0-9_]*-[a-z][A-Za-z0-9_]*/, Name
|
|
91
|
+
|
|
92
|
+
# variable names starting with $ (like $session)
|
|
93
|
+
rule %r/\$[A-Za-z][A-Za-z0-9_]*/, Name
|
|
94
|
+
|
|
95
|
+
# keywords, types and normal text
|
|
96
|
+
rule %r/\w\w*/ do |m|
|
|
97
|
+
if KEYWORDS.include? m[0].upcase
|
|
98
|
+
token Keyword
|
|
99
|
+
elsif TYPES.include? m[0].downcase
|
|
100
|
+
token Keyword::Type
|
|
101
|
+
else
|
|
102
|
+
token Name
|
|
103
|
+
end
|
|
104
|
+
end
|
|
105
|
+
|
|
106
|
+
# operators
|
|
107
|
+
rule %r((->|->>|=>)), Operator
|
|
108
|
+
rule %r([-\*\+%/~=&\?<>!#\@\^]+), Operator
|
|
109
|
+
|
|
110
|
+
end
|
|
111
|
+
|
|
112
|
+
state :operators do
|
|
113
|
+
rule %r((->|->>|=>)), Operator
|
|
114
|
+
rule %r([-\*\+%/~=&\?<>!#\@\^]+), Operator
|
|
115
|
+
end
|
|
116
|
+
|
|
117
|
+
state :single_string do
|
|
118
|
+
rule %r/\\./, Str::Escape
|
|
119
|
+
rule %r/(''|``)/, Str::Escape
|
|
120
|
+
rule %r/['`]/, Str::Single, :pop!
|
|
121
|
+
rule %r/[^\\'`]+/, Str::Single
|
|
122
|
+
end
|
|
123
|
+
|
|
124
|
+
state :string_template do
|
|
125
|
+
rule %r/\{[^}]*\}/, Str::Interpol # embedded expressions
|
|
126
|
+
rule %r/\|/, Str::Interpol, :pop!
|
|
127
|
+
rule %r/[^|{]+/, Str::Interpol
|
|
128
|
+
end
|
|
129
|
+
|
|
130
|
+
end
|
|
131
|
+
end
|
|
132
|
+
end
|
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*- #
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
module Rouge
|
|
5
|
+
module Lexers
|
|
6
|
+
class Actionscript < RegexLexer
|
|
7
|
+
title "ActionScript"
|
|
8
|
+
desc "ActionScript"
|
|
9
|
+
|
|
10
|
+
tag 'actionscript'
|
|
11
|
+
aliases 'as', 'as3'
|
|
12
|
+
filenames '*.as'
|
|
13
|
+
mimetypes 'application/x-actionscript'
|
|
14
|
+
|
|
15
|
+
state :comments_and_whitespace do
|
|
16
|
+
rule %r/\s+/, Text
|
|
17
|
+
rule %r(//.*?$), Comment::Single
|
|
18
|
+
rule %r(/\*.*?\*/)m, Comment::Multiline
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
state :expr_start do
|
|
22
|
+
mixin :comments_and_whitespace
|
|
23
|
+
|
|
24
|
+
rule %r(/) do
|
|
25
|
+
token Str::Regex
|
|
26
|
+
goto :regex
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
rule %r/[{]/, Punctuation, :object
|
|
30
|
+
|
|
31
|
+
rule %r//, Text, :pop!
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
state :regex do
|
|
35
|
+
rule %r(/) do
|
|
36
|
+
token Str::Regex
|
|
37
|
+
goto :regex_end
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
rule %r([^/]\n), Error, :pop!
|
|
41
|
+
|
|
42
|
+
rule %r/\n/, Error, :pop!
|
|
43
|
+
rule %r/\[\^/, Str::Escape, :regex_group
|
|
44
|
+
rule %r/\[/, Str::Escape, :regex_group
|
|
45
|
+
rule %r/\\./, Str::Escape
|
|
46
|
+
rule %r{[(][?][:=<!]}, Str::Escape
|
|
47
|
+
rule %r/[{][\d,]+[}]/, Str::Escape
|
|
48
|
+
rule %r/[()?]/, Str::Escape
|
|
49
|
+
rule %r/./, Str::Regex
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
state :regex_end do
|
|
53
|
+
rule %r/[gim]+/, Str::Regex, :pop!
|
|
54
|
+
rule(//) { pop! }
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
state :regex_group do
|
|
58
|
+
# specially highlight / in a group to indicate that it doesn't
|
|
59
|
+
# close the regex
|
|
60
|
+
rule %r(/), Str::Escape
|
|
61
|
+
|
|
62
|
+
rule %r([^/]\n) do
|
|
63
|
+
token Error
|
|
64
|
+
pop! 2
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
rule %r/\]/, Str::Escape, :pop!
|
|
68
|
+
rule %r/\\./, Str::Escape
|
|
69
|
+
rule %r/./, Str::Regex
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
state :bad_regex do
|
|
73
|
+
rule %r/[^\n]+/, Error, :pop!
|
|
74
|
+
end
|
|
75
|
+
|
|
76
|
+
def self.keywords
|
|
77
|
+
@keywords ||= Set.new %w(
|
|
78
|
+
for in while do break return continue switch case default
|
|
79
|
+
if else throw try catch finally new delete typeof is
|
|
80
|
+
this with
|
|
81
|
+
)
|
|
82
|
+
end
|
|
83
|
+
|
|
84
|
+
def self.declarations
|
|
85
|
+
@declarations ||= Set.new %w(var with function)
|
|
86
|
+
end
|
|
87
|
+
|
|
88
|
+
def self.reserved
|
|
89
|
+
@reserved ||= Set.new %w(
|
|
90
|
+
dynamic final internal native public protected private class const
|
|
91
|
+
override static package interface extends implements namespace
|
|
92
|
+
set get import include super flash_proxy object_proxy trace
|
|
93
|
+
)
|
|
94
|
+
end
|
|
95
|
+
|
|
96
|
+
def self.constants
|
|
97
|
+
@constants ||= Set.new %w(true false null NaN Infinity undefined)
|
|
98
|
+
end
|
|
99
|
+
|
|
100
|
+
def self.builtins
|
|
101
|
+
@builtins ||= %w(
|
|
102
|
+
void Function Math Class
|
|
103
|
+
Object RegExp decodeURI
|
|
104
|
+
decodeURIComponent encodeURI encodeURIComponent
|
|
105
|
+
eval isFinite isNaN parseFloat parseInt this
|
|
106
|
+
)
|
|
107
|
+
end
|
|
108
|
+
|
|
109
|
+
id = /[$a-zA-Z_][a-zA-Z0-9_]*/
|
|
110
|
+
|
|
111
|
+
state :root do
|
|
112
|
+
rule %r/\A\s*#!.*?\n/m, Comment::Preproc, :statement
|
|
113
|
+
rule %r/\n/, Text, :statement
|
|
114
|
+
rule %r((?<=\n)(?=\s|/|<!--)), Text, :expr_start
|
|
115
|
+
mixin :comments_and_whitespace
|
|
116
|
+
rule %r(\+\+ | -- | ~ | && | \|\| | \\(?=\n) | << | >>>? | ===
|
|
117
|
+
| !== )x,
|
|
118
|
+
Operator, :expr_start
|
|
119
|
+
rule %r([:-<>+*%&|\^/!=]=?), Operator, :expr_start
|
|
120
|
+
rule %r/[(\[,]/, Punctuation, :expr_start
|
|
121
|
+
rule %r/;/, Punctuation, :statement
|
|
122
|
+
rule %r/[)\].]/, Punctuation
|
|
123
|
+
|
|
124
|
+
rule %r/[?]/ do
|
|
125
|
+
token Punctuation
|
|
126
|
+
push :ternary
|
|
127
|
+
push :expr_start
|
|
128
|
+
end
|
|
129
|
+
|
|
130
|
+
rule %r/[{}]/, Punctuation, :statement
|
|
131
|
+
|
|
132
|
+
rule id do |m|
|
|
133
|
+
if self.class.keywords.include? m[0]
|
|
134
|
+
token Keyword
|
|
135
|
+
push :expr_start
|
|
136
|
+
elsif self.class.declarations.include? m[0]
|
|
137
|
+
token Keyword::Declaration
|
|
138
|
+
push :expr_start
|
|
139
|
+
elsif self.class.reserved.include? m[0]
|
|
140
|
+
token Keyword::Reserved
|
|
141
|
+
elsif self.class.constants.include? m[0]
|
|
142
|
+
token Keyword::Constant
|
|
143
|
+
elsif self.class.builtins.include? m[0]
|
|
144
|
+
token Name::Builtin
|
|
145
|
+
else
|
|
146
|
+
token Name::Other
|
|
147
|
+
end
|
|
148
|
+
end
|
|
149
|
+
|
|
150
|
+
rule %r/\-?[0-9][0-9]*\.[0-9]+([eE][0-9]+)?[fd]?/, Num::Float
|
|
151
|
+
rule %r/0x[0-9a-fA-F]+/, Num::Hex
|
|
152
|
+
rule %r/\-?[0-9]+/, Num::Integer
|
|
153
|
+
rule %r/"(\\\\|\\"|[^"])*"/, Str::Double
|
|
154
|
+
rule %r/'(\\\\|\\'|[^'])*'/, Str::Single
|
|
155
|
+
end
|
|
156
|
+
|
|
157
|
+
# braced parts that aren't object literals
|
|
158
|
+
state :statement do
|
|
159
|
+
rule %r/(#{id})(\s*)(:)/ do
|
|
160
|
+
groups Name::Label, Text, Punctuation
|
|
161
|
+
end
|
|
162
|
+
|
|
163
|
+
rule %r/[{}]/, Punctuation
|
|
164
|
+
|
|
165
|
+
mixin :expr_start
|
|
166
|
+
end
|
|
167
|
+
|
|
168
|
+
# object literals
|
|
169
|
+
state :object do
|
|
170
|
+
mixin :comments_and_whitespace
|
|
171
|
+
rule %r/[}]/ do
|
|
172
|
+
token Punctuation
|
|
173
|
+
goto :statement
|
|
174
|
+
end
|
|
175
|
+
|
|
176
|
+
rule %r/(#{id})(\s*)(:)/ do
|
|
177
|
+
groups Name::Attribute, Text, Punctuation
|
|
178
|
+
push :expr_start
|
|
179
|
+
end
|
|
180
|
+
|
|
181
|
+
rule %r/:/, Punctuation
|
|
182
|
+
mixin :root
|
|
183
|
+
end
|
|
184
|
+
|
|
185
|
+
# ternary expressions, where <id>: is not a label!
|
|
186
|
+
state :ternary do
|
|
187
|
+
rule %r/:/ do
|
|
188
|
+
token Punctuation
|
|
189
|
+
goto :expr_start
|
|
190
|
+
end
|
|
191
|
+
|
|
192
|
+
mixin :root
|
|
193
|
+
end
|
|
194
|
+
end
|
|
195
|
+
end
|
|
196
|
+
end
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*- #
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
module Rouge
|
|
5
|
+
module Lexers
|
|
6
|
+
class Ada < RegexLexer
|
|
7
|
+
tag 'ada'
|
|
8
|
+
filenames '*.ada', '*.ads', '*.adb', '*.adc', '*.gpr'
|
|
9
|
+
mimetypes 'text/x-ada'
|
|
10
|
+
|
|
11
|
+
title 'Ada'
|
|
12
|
+
desc 'The Ada 2012 programming language'
|
|
13
|
+
|
|
14
|
+
# Ada identifiers are Unicode with underscores only allowed as separators.
|
|
15
|
+
ID = /[[:alpha:]](?:\p{Pc}?[[:alnum:]])*\b/
|
|
16
|
+
|
|
17
|
+
# Numerals can also contain underscores.
|
|
18
|
+
NUM = /\d(_?\d)*/
|
|
19
|
+
XNUM = /\h(_?\h)*/
|
|
20
|
+
EXP = /(E[-+]?#{NUM})?/i
|
|
21
|
+
|
|
22
|
+
# Return a hash mapping lower-case identifiers to token classes.
|
|
23
|
+
def self.idents
|
|
24
|
+
@idents ||= Hash.new(Name).tap do |h|
|
|
25
|
+
%w(
|
|
26
|
+
abort abstract accept access aliased all array at begin body
|
|
27
|
+
case constant declare delay delta digits do else elsif end
|
|
28
|
+
exception exit for generic goto if in interface is limited
|
|
29
|
+
loop new null of others out overriding parallel pragma private
|
|
30
|
+
protected raise range record renames requeue return reverse
|
|
31
|
+
select separate some synchronized tagged task terminate then
|
|
32
|
+
until use when while with
|
|
33
|
+
).each {|w| h[w] = Keyword}
|
|
34
|
+
|
|
35
|
+
%w(abs and mod not or rem xor).each {|w| h[w] = Operator::Word}
|
|
36
|
+
|
|
37
|
+
%w(
|
|
38
|
+
entry function package procedure subtype type
|
|
39
|
+
).each {|w| h[w] = Keyword::Declaration}
|
|
40
|
+
|
|
41
|
+
%w(
|
|
42
|
+
boolean character constraint_error duration float integer
|
|
43
|
+
natural positive long_float long_integer long_long_float
|
|
44
|
+
long_long_integer program_error short_float short_integer
|
|
45
|
+
short_short_integer storage_error string tasking_error
|
|
46
|
+
wide_character wide_string wide_wide_character
|
|
47
|
+
wide_wide_string
|
|
48
|
+
).each {|w| h[w] = Name::Builtin}
|
|
49
|
+
end
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
state :whitespace do
|
|
53
|
+
rule %r{\s+}m, Text
|
|
54
|
+
rule %r{--.*$}, Comment::Single
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
state :dquote_string do
|
|
58
|
+
rule %r{[^"\n]+}, Literal::String::Double
|
|
59
|
+
rule %r{""}, Literal::String::Escape
|
|
60
|
+
rule %r{"}, Literal::String::Double, :pop!
|
|
61
|
+
rule %r{\n}, Error, :pop!
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
state :attr do
|
|
65
|
+
mixin :whitespace
|
|
66
|
+
rule ID, Name::Attribute, :pop!
|
|
67
|
+
rule %r{}, Text, :pop!
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
# Handle a dotted name immediately following a declaration keyword.
|
|
71
|
+
state :decl_name do
|
|
72
|
+
mixin :whitespace
|
|
73
|
+
rule %r{body\b}i, Keyword::Declaration # package body Foo.Bar is...
|
|
74
|
+
rule %r{(#{ID})(\.)} do
|
|
75
|
+
groups Name::Namespace, Punctuation
|
|
76
|
+
end
|
|
77
|
+
# function "<=" (Left, Right: Type) is ...
|
|
78
|
+
rule %r{#{ID}|"(and|or|xor|/?=|<=?|>=?|\+|–|&\|/|mod|rem|\*?\*|abs|not)"},
|
|
79
|
+
Name::Function, :pop!
|
|
80
|
+
rule %r{}, Text, :pop!
|
|
81
|
+
end
|
|
82
|
+
|
|
83
|
+
# Handle a sequence of library unit names: with Ada.Foo, Ada.Bar;
|
|
84
|
+
#
|
|
85
|
+
# There's a chance we entered this state mistakenly since 'with'
|
|
86
|
+
# has multiple other uses in Ada (none of which are likely to
|
|
87
|
+
# appear at the beginning of a line). Try to bail as soon as
|
|
88
|
+
# possible if we see something suspicious like keywords.
|
|
89
|
+
#
|
|
90
|
+
# See ada_spec.rb for some examples.
|
|
91
|
+
state :libunit_name do
|
|
92
|
+
mixin :whitespace
|
|
93
|
+
|
|
94
|
+
rule ID do |m|
|
|
95
|
+
t = self.class.idents[m[0].downcase]
|
|
96
|
+
if t <= Name
|
|
97
|
+
# Convert all kinds of Name to namespaces in this context.
|
|
98
|
+
token Name::Namespace
|
|
99
|
+
else
|
|
100
|
+
# Yikes, we're not supposed to get a keyword in a library unit name!
|
|
101
|
+
# We probably entered this state by mistake, so try to fix it.
|
|
102
|
+
token t
|
|
103
|
+
if t == Keyword::Declaration
|
|
104
|
+
goto :decl_name
|
|
105
|
+
else
|
|
106
|
+
pop!
|
|
107
|
+
end
|
|
108
|
+
end
|
|
109
|
+
end
|
|
110
|
+
|
|
111
|
+
rule %r{[.,]}, Punctuation
|
|
112
|
+
rule %r{}, Text, :pop!
|
|
113
|
+
end
|
|
114
|
+
|
|
115
|
+
state :root do
|
|
116
|
+
mixin :whitespace
|
|
117
|
+
|
|
118
|
+
# String literals.
|
|
119
|
+
rule %r{'.'}, Literal::String::Char
|
|
120
|
+
rule %r{"[^"\n]*}, Literal::String::Double, :dquote_string
|
|
121
|
+
|
|
122
|
+
# Real literals.
|
|
123
|
+
rule %r{#{NUM}\.#{NUM}#{EXP}}, Literal::Number::Float
|
|
124
|
+
rule %r{#{NUM}##{XNUM}\.#{XNUM}##{EXP}}, Literal::Number::Float
|
|
125
|
+
|
|
126
|
+
# Integer literals.
|
|
127
|
+
rule %r{2#[01](_?[01])*##{EXP}}, Literal::Number::Bin
|
|
128
|
+
rule %r{8#[0-7](_?[0-7])*##{EXP}}, Literal::Number::Oct
|
|
129
|
+
rule %r{16##{XNUM}*##{EXP}}, Literal::Number::Hex
|
|
130
|
+
rule %r{#{NUM}##{XNUM}##{EXP}}, Literal::Number::Integer
|
|
131
|
+
rule %r{#{NUM}#\w+#}, Error
|
|
132
|
+
rule %r{#{NUM}#{EXP}}, Literal::Number::Integer
|
|
133
|
+
|
|
134
|
+
# Special constructs.
|
|
135
|
+
rule %r{'}, Punctuation, :attr
|
|
136
|
+
rule %r{<<#{ID}>>}, Name::Label
|
|
137
|
+
|
|
138
|
+
# Context clauses are tricky because the 'with' keyword is used
|
|
139
|
+
# for many purposes. Detect at beginning of the line only.
|
|
140
|
+
rule %r{^(?:(limited)(\s+))?(?:(private)(\s+))?(with)\b}i do
|
|
141
|
+
groups Keyword::Namespace, Text, Keyword::Namespace, Text, Keyword::Namespace
|
|
142
|
+
push :libunit_name
|
|
143
|
+
end
|
|
144
|
+
|
|
145
|
+
# Operators and punctuation characters.
|
|
146
|
+
rule %r{[+*/&<=>|]|-|=>|\.\.|\*\*|[:></]=|<<|>>|<>|@}, Operator
|
|
147
|
+
rule %r{[.,:;()\[\]]}, Punctuation
|
|
148
|
+
|
|
149
|
+
rule ID do |m|
|
|
150
|
+
t = self.class.idents[m[0].downcase]
|
|
151
|
+
token t
|
|
152
|
+
if t == Keyword::Declaration
|
|
153
|
+
push :decl_name
|
|
154
|
+
end
|
|
155
|
+
end
|
|
156
|
+
|
|
157
|
+
# Flag word-like things that don't match the ID pattern.
|
|
158
|
+
rule %r{\b(\p{Pc}|[[:alpha:]])\p{Word}*}, Error
|
|
159
|
+
end
|
|
160
|
+
end
|
|
161
|
+
end
|
|
162
|
+
end
|