/* Language: Julia REPL Description: Julia REPL sessions Author: Morten Piibeleht Website: https://julialang.org Requires: julia.js The Julia REPL code blocks look something like the following: julia> function foo(x) x + 1 end foo (generic function with 1 method) They start on a new line with "julia>". Usually there should also be a space after this, but we also allow the code to start right after the > character. The code may run over multiple lines, but the additional lines must start with six spaces (i.e. be indented to match "julia>"). The rest of the code is assumed to be output from the executed code and will be left un-highlighted. Using simply spaces to identify line continuations may get a false-positive if the output also prints out six spaces, but such cases should be rare. */ function juliaRepl(hljs) { return { name: 'Julia REPL', contains: [ { className: 'meta', begin: /^julia>/, relevance: 10, starts: { // end the highlighting if we are on a new line and the line does not have at // least six spaces in the beginning end: /^(?![ ]{6})/, subLanguage: 'julia' }, // jldoctest Markdown blocks are used in the Julia manual and package docs indicate // code snippets that should be verified when the documentation is built. They can be // either REPL-like or script-like, but are usually REPL-like and therefore we apply // julia-repl highlighting to them. More information can be found in Documenter's // manual: https://juliadocs.github.io/Documenter.jl/latest/man/doctests.html aliases: ['jldoctest'] } ] } } module.exports = juliaRepl;