Module: Rouge::Lexers

Included in:
Guessers::Disambiguation
Defined in:
lib/rouge/lexer.rb,
lib/rouge/lexers/c.rb,
lib/rouge/lexers/d.rb,
lib/rouge/lexers/j.rb,
lib/rouge/lexers/q.rb,
lib/rouge/lexers/r.rb,
lib/rouge/lexers/go.rb,
lib/rouge/lexers/io.rb,
lib/rouge/lexers/p4.rb,
lib/rouge/lexers/vb.rb,
lib/rouge/lexers/ada.rb,
lib/rouge/lexers/awk.rb,
lib/rouge/lexers/bpf.rb,
lib/rouge/lexers/bsl.rb,
lib/rouge/lexers/coq.rb,
lib/rouge/lexers/cpp.rb,
lib/rouge/lexers/css.rb,
lib/rouge/lexers/dot.rb,
lib/rouge/lexers/ecl.rb,
lib/rouge/lexers/eex.rb,
lib/rouge/lexers/elm.rb,
lib/rouge/lexers/epp.rb,
lib/rouge/lexers/erb.rb,
lib/rouge/lexers/hcl.rb,
lib/rouge/lexers/hql.rb,
lib/rouge/lexers/ini.rb,
lib/rouge/lexers/irb.rb,
lib/rouge/lexers/jsl.rb,
lib/rouge/lexers/jsp.rb,
lib/rouge/lexers/jsx.rb,
lib/rouge/lexers/lua.rb,
lib/rouge/lexers/nim.rb,
lib/rouge/lexers/nix.rb,
lib/rouge/lexers/ocl.rb,
lib/rouge/lexers/php.rb,
lib/rouge/lexers/qml.rb,
lib/rouge/lexers/rml.rb,
lib/rouge/lexers/sas.rb,
lib/rouge/lexers/sed.rb,
lib/rouge/lexers/sml.rb,
lib/rouge/lexers/sqf.rb,
lib/rouge/lexers/sql.rb,
lib/rouge/lexers/ssh.rb,
lib/rouge/lexers/tap.rb,
lib/rouge/lexers/tcl.rb,
lib/rouge/lexers/tex.rb,
lib/rouge/lexers/tsx.rb,
lib/rouge/lexers/vue.rb,
lib/rouge/lexers/xml.rb,
lib/rouge/lexers/zig.rb,
lib/rouge/lexers/abap.rb,
lib/rouge/lexers/apex.rb,
lib/rouge/lexers/biml.rb,
lib/rouge/lexers/cmhg.rb,
lib/rouge/lexers/conf.rb,
lib/rouge/lexers/csvs.rb,
lib/rouge/lexers/cuda.rb,
lib/rouge/lexers/dart.rb,
lib/rouge/lexers/diff.rb,
lib/rouge/lexers/glsl.rb,
lib/rouge/lexers/hack.rb,
lib/rouge/lexers/haml.rb,
lib/rouge/lexers/haxe.rb,
lib/rouge/lexers/hlsl.rb,
lib/rouge/lexers/html.rb,
lib/rouge/lexers/http.rb,
lib/rouge/lexers/isbl.rb,
lib/rouge/lexers/java.rb,
lib/rouge/lexers/json.rb,
lib/rouge/lexers/lean.rb,
lib/rouge/lexers/llvm.rb,
lib/rouge/lexers/m68k.rb,
lib/rouge/lexers/make.rb,
lib/rouge/lexers/mojo.rb,
lib/rouge/lexers/mxml.rb,
lib/rouge/lexers/nasm.rb,
lib/rouge/lexers/nial.rb,
lib/rouge/lexers/perl.rb,
lib/rouge/lexers/pony.rb,
lib/rouge/lexers/rego.rb,
lib/rouge/lexers/ruby.rb,
lib/rouge/lexers/rust.rb,
lib/rouge/lexers/sass.rb,
lib/rouge/lexers/scss.rb,
lib/rouge/lexers/slim.rb,
lib/rouge/lexers/stan.rb,
lib/rouge/lexers/toml.rb,
lib/rouge/lexers/twig.rb,
lib/rouge/lexers/vala.rb,
lib/rouge/lexers/vhdl.rb,
lib/rouge/lexers/viml.rb,
lib/rouge/lexers/xojo.rb,
lib/rouge/lexers/yaml.rb,
lib/rouge/lexers/yang.rb,
lib/rouge/lexers/clean.rb,
lib/rouge/lexers/cmake.rb,
lib/rouge/lexers/dafny.rb,
lib/rouge/lexers/email.rb,
lib/rouge/lexers/hocon.rb,
lib/rouge/lexers/idris.rb,
lib/rouge/lexers/iecst.rb,
lib/rouge/lexers/janet.rb,
lib/rouge/lexers/jinja.rb,
lib/rouge/lexers/julia.rb,
lib/rouge/lexers/lasso.rb,
lib/rouge/lexers/lutin.rb,
lib/rouge/lexers/magik.rb,
lib/rouge/lexers/mason.rb,
lib/rouge/lexers/meson.rb,
lib/rouge/lexers/mosel.rb,
lib/rouge/lexers/nginx.rb,
lib/rouge/lexers/ocaml.rb,
lib/rouge/lexers/plist.rb,
lib/rouge/lexers/plsql.rb,
lib/rouge/lexers/praat.rb,
lib/rouge/lexers/scala.rb,
lib/rouge/lexers/shell.rb,
lib/rouge/lexers/sieve.rb,
lib/rouge/lexers/slice.rb,
lib/rouge/lexers/stata.rb,
lib/rouge/lexers/swift.rb,
lib/rouge/lexers/ttcn3.rb,
lib/rouge/lexers/tulip.rb,
lib/rouge/lexers/xpath.rb,
lib/rouge/lexers/apache.rb,
lib/rouge/lexers/armasm.rb,
lib/rouge/lexers/augeas.rb,
lib/rouge/lexers/bibtex.rb,
lib/rouge/lexers/ceylon.rb,
lib/rouge/lexers/csharp.rb,
lib/rouge/lexers/cypher.rb,
lib/rouge/lexers/cython.rb,
lib/rouge/lexers/digdag.rb,
lib/rouge/lexers/docker.rb,
lib/rouge/lexers/eiffel.rb,
lib/rouge/lexers/elixir.rb,
lib/rouge/lexers/erlang.rb,
lib/rouge/lexers/escape.rb,
lib/rouge/lexers/factor.rb,
lib/rouge/lexers/fluent.rb,
lib/rouge/lexers/fsharp.rb,
lib/rouge/lexers/gradle.rb,
lib/rouge/lexers/groovy.rb,
lib/rouge/lexers/hylang.rb,
lib/rouge/lexers/idlang.rb,
lib/rouge/lexers/kotlin.rb,
lib/rouge/lexers/liquid.rb,
lib/rouge/lexers/lustre.rb,
lib/rouge/lexers/matlab.rb,
lib/rouge/lexers/nesasm.rb,
lib/rouge/lexers/pascal.rb,
lib/rouge/lexers/prolog.rb,
lib/rouge/lexers/puppet.rb,
lib/rouge/lexers/python.rb,
lib/rouge/lexers/racket.rb,
lib/rouge/lexers/scheme.rb,
lib/rouge/lexers/smarty.rb,
lib/rouge/lexers/sparql.rb,
lib/rouge/lexers/svelte.rb,
lib/rouge/lexers/turtle.rb,
lib/rouge/lexers/wollok.rb,
lib/rouge/lexers/xquery.rb,
lib/rouge/lexers/clojure.rb,
lib/rouge/lexers/console.rb,
lib/rouge/lexers/crystal.rb,
lib/rouge/lexers/fortran.rb,
lib/rouge/lexers/freefem.rb,
lib/rouge/lexers/ghc_cmm.rb,
lib/rouge/lexers/gherkin.rb,
lib/rouge/lexers/graphql.rb,
lib/rouge/lexers/haskell.rb,
lib/rouge/lexers/igorpro.rb,
lib/rouge/lexers/jsonnet.rb,
lib/rouge/lexers/systemd.rb,
lib/rouge/lexers/syzlang.rb,
lib/rouge/lexers/syzprog.rb,
lib/rouge/lexers/varnish.rb,
lib/rouge/lexers/verilog.rb,
lib/rouge/lexers/bbcbasic.rb,
lib/rouge/lexers/cfscript.rb,
lib/rouge/lexers/gdscript.rb,
lib/rouge/lexers/ghc_core.rb,
lib/rouge/lexers/isabelle.rb,
lib/rouge/lexers/json_doc.rb,
lib/rouge/lexers/markdown.rb,
lib/rouge/lexers/minizinc.rb,
lib/rouge/lexers/msgtrans.rb,
lib/rouge/lexers/openedge.rb,
lib/rouge/lexers/protobuf.rb,
lib/rouge/lexers/reasonml.rb,
lib/rouge/lexers/rescript.rb,
lib/rouge/lexers/velocity.rb,
lib/rouge/lexers/batchfile.rb,
lib/rouge/lexers/brainfuck.rb,
lib/rouge/lexers/cisco_ios.rb,
lib/rouge/lexers/smalltalk.rb,
lib/rouge/lexers/terraform.rb,
lib/rouge/lexers/codeowners.rb,
lib/rouge/lexers/datastudio.rb,
lib/rouge/lexers/handlebars.rb,
lib/rouge/lexers/javascript.rb,
lib/rouge/lexers/livescript.rb,
lib/rouge/lexers/moonscript.rb,
lib/rouge/lexers/plain_text.rb,
lib/rouge/lexers/postscript.rb,
lib/rouge/lexers/powershell.rb,
lib/rouge/lexers/prometheus.rb,
lib/rouge/lexers/properties.rb,
lib/rouge/lexers/typescript.rb,
lib/rouge/lexers/common_lisp.rb,
lib/rouge/lexers/mathematica.rb,
lib/rouge/lexers/objective_c.rb,
lib/rouge/lexers/sass/common.rb,
lib/rouge/lexers/actionscript.rb,
lib/rouge/lexers/apiblueprint.rb,
lib/rouge/lexers/apple_script.rb,
lib/rouge/lexers/brightscript.rb,
lib/rouge/lexers/coffeescript.rb,
lib/rouge/lexers/lua/keywords.rb,
lib/rouge/lexers/ocaml/common.rb,
lib/rouge/lexers/php/keywords.rb,
lib/rouge/lexers/sqf/keywords.rb,
lib/rouge/lexers/isbl/builtins.rb,
lib/rouge/lexers/llvm/keywords.rb,
lib/rouge/lexers/objective_cpp.rb,
lib/rouge/lexers/supercollider.rb,
lib/rouge/lexers/viml/keywords.rb,
lib/rouge/lexers/lasso/keywords.rb,
lib/rouge/lexers/apache/keywords.rb,
lib/rouge/lexers/matlab/builtins.rb,
lib/rouge/lexers/matlab/keywords.rb,
lib/rouge/lexers/robot_framework.rb,
lib/rouge/lexers/gherkin/keywords.rb,
lib/rouge/lexers/literate_haskell.rb,
lib/rouge/lexers/typescript/common.rb,
lib/rouge/lexers/objective_c/common.rb,
lib/rouge/lexers/mathematica/keywords.rb,
lib/rouge/lexers/literate_coffeescript.rb,
lib/rouge/lexers/opentype_feature_file.rb

Defined Under Namespace

Modules: ObjectiveCCommon, TypescriptCommon Classes: ABAP, APIBlueprint, Actionscript, Ada, Apache, Apex, AppleScript, ArmAsm, Augeas, Awk, BBCBASIC, BIML, BPF, Batchfile, BibTeX, Brainfuck, Brightscript, Bsl, C, CMHG, CMake, CSS, CSVS, CSharp, CUDA, Ceylon, Cfscript, CiscoIos, Clean, Clojure, Codeowners, Coffeescript, CommonLisp, Conf, ConsoleLexer, Coq, Cpp, Crystal, Cypher, Cython, D, Dafny, Dart, Datastudio, Diff, Digdag, Docker, Dot, ECL, EEX, EPP, ERB, Eiffel, Elixir, Elm, Email, Erlang, Escape, FSharp, Factor, Fluent, Fortran, FreeFEM, GDScript, GHCCmm, GHCCore, Gherkin, Glsl, Go, Gradle, GraphQL, Groovy, HLSL, HOCON, HQL, HTML, HTTP, Hack, Haml, Handlebars, Haskell, Haxe, Hcl, HyLang, IDLang, INI, IO, IRBLexer, IRBOutputLexer, ISBL, Idris, IecST, IgorPro, Isabelle, J, JSL, JSON, JSONDOC, JSP, JSX, Janet, Java, Javascript, Jinja, Jsonnet, Julia, Kotlin, LLVM, Lasso, Lean, Liquid, LiterateCoffeescript, LiterateHaskell, Livescript, Lua, Lustre, Lutin, M68k, MXML, Magik, Make, Markdown, Mason, Mathematica, Matlab, Meson, MiniZinc, Mojo, Moonscript, Mosel, MsgTrans, Nasm, NesAsm, Nginx, Nial, Nim, Nix, OCL, OCaml, OCamlCommon, ObjectiveC, ObjectiveCpp, OpenEdge, OpenTypeFeatureFile, P4, PHP, PLSQL, Pascal, Perl, PlainText, Plist, Pony, PostScript, Powershell, Praat, Prolog, Prometheus, Properties, Protobuf, Puppet, Python, Q, Qml, R, RML, Racket, ReScript, ReasonML, Rego, RobotFramework, Ruby, Rust, SAS, SML, SPARQL, SQF, SQL, SSH, Sass, SassCommon, Scala, Scheme, Scss, Sed, Shell, Sieve, Slice, Slim, Smalltalk, Smarty, Stan, Stata, SuperCollider, Svelte, Swift, SystemD, Syzlang, Syzprog, TCL, TOML, TSX, TTCN3, Tap, TeX, Terraform, Tulip, Turtle, Twig, Typescript, VHDL, Vala, Varnish, Velocity, Verilog, VimL, VisualBasic, Vue, Wollok, XML, XPath, XQuery, Xojo, YAML, YANG, Zig

Constant Summary collapse

BASE_DIR =
"#{__dir__}/lexers".freeze

Class Method Summary collapse

Class Method Details

.load_lexer(relpath) ⇒ Object



529
530
531
532
533
# File 'lib/rouge/lexer.rb', line 529

def self.load_lexer(relpath)
  return if @_loaded_lexers.key?(relpath)
  @_loaded_lexers[relpath] = true
  Kernel::load File.join(BASE_DIR, relpath)
end