Julia语法高亮
该 [医]照明 库作为一个小的方便包,使用以下语法突出显示Julia代码 [医]朱利亚辛 和 [医]杂丝.
它旨在用于整个标准库和更广泛的生态系统。
功能
# *`JuliaSyntaxHighlighting.重点介绍`*-函数
highlight(content::Union{AbstractString, IO},
ast::JuliaSyntax.GreenNode = <parsed content>;
syntax_errors::Bool = false) -> AnnotatedString{String}
将语法突出显示应用于 内容 使用 [医]朱利亚辛.
默认情况下, JuliaSyntax.帕尔塞尔 用于生成 ast 与 ignore_errors 关键字参数设置为 真的. 或者,可以提供预先生成的 ast.
何时 syntax_errors 被设置,该 julia_error 面应用于检测到的语法错误。
|
警告注意,使用的特定面孔 |
*例子*
julia> JuliaSyntaxHighlighting.highlight("sum(1:8)")
"sum(1:8)"
julia> JuliaSyntaxHighlighting.highlight("sum(1:8)") |> Base.annotations
5-element Vector{@NamedTuple{region::UnitRange{Int64}, label::Symbol, value}}:
@NamedTuple{region::UnitRange{Int64}, label::Symbol, value}((1:3, :face, :julia_funcall))
@NamedTuple{region::UnitRange{Int64}, label::Symbol, value}((4:4, :face, :julia_rainbow_paren_1))
@NamedTuple{region::UnitRange{Int64}, label::Symbol, value}((5:5, :face, :julia_number))
@NamedTuple{region::UnitRange{Int64}, label::Symbol, value}((7:7, :face, :julia_number))
@NamedTuple{region::UnitRange{Int64}, label::Symbol, value}((8:8, :face, :julia_rainbow_paren_1))
# *`JuliaSyntaxHighlighting.亮点!`*-函数
highlight!(content::Union{AnnotatedString, SubString{AnnotatedString}},
ast::JuliaSyntax.GreenNode = <parsed content>;
syntax_errors::Bool = false) -> content
修改 内容 通过应用语法高亮显示使用 [医]朱利亚辛.
默认情况下, JuliaSyntax.帕尔塞尔 用于生成 ast 与 ignore_errors 关键字参数设置为 真的. 或者,可以提供预先生成的 ast.
何时 syntax_errors 被设置,该 julia_error 面应用于检测到的语法错误。
|
警告请注意,使用的特定面孔 |
*例子*
julia> str = Base.AnnotatedString("sum(1:8)")
"sum(1:8)"
julia> JuliaSyntaxHighlighting.highlight!(str)
"sum(1:8)"
julia> Base.annotations(str)
5-element Vector{@NamedTuple{region::UnitRange{Int64}, label::Symbol, value}}:
@NamedTuple{region::UnitRange{Int64}, label::Symbol, value}((1:3, :face, :julia_funcall))
@NamedTuple{region::UnitRange{Int64}, label::Symbol, value}((4:4, :face, :julia_rainbow_paren_1))
@NamedTuple{region::UnitRange{Int64}, label::Symbol, value}((5:5, :face, :julia_number))
@NamedTuple{region::UnitRange{Int64}, label::Symbol, value}((7:7, :face, :julia_number))
@NamedTuple{region::UnitRange{Int64}, label::Symbol, value}((8:8, :face, :julia_rainbow_paren_1))
面孔
该 重点介绍/亮点! 方法通过将自定义面应用于Julia代码来工作。 作为标准库的一部分,这些面孔使用特权面孔名称,形式 朱莉娅_*. 这些可以在其他软件包中重复使用,并与 面孔。汤姆尔 配置。
|
不稳定的面使用的特定面 |
当前的一组面及其默认值如下所示:
* 朱莉亚*马克罗:洋红色
* [医]朱莉亚:洋红色
* 朱莉亚_singleton_identifier:继承自 [医]朱莉亚
* julia_类型:黄色
* julia_typedec:亮蓝色
* 朱莉亚*康姆:灰色
* 朱莉亚*斯林:绿色
* 朱莉亚*雷格克斯:继承自 朱莉亚*斯林
* julia_backslash_literal:品红,继承自 朱莉亚*斯林
* 朱莉亚*斯特林*德利姆:亮绿色
* julia_cmdstring:继承自 朱莉亚*斯林
* 朱莉亚*查尔:继承自 朱莉亚*斯林
* julia_char_delim:继承自 朱莉亚*斯特林*德利姆
* 朱莉亚*:鲜红色
* 朱莉亚*布尔:继承自 朱莉亚*
* 朱莉亚*芬奇:青色
* 朱莉亚*布拉卡斯特:明亮的蓝色,大胆的
* 朱莉亚*布尔丁:亮蓝色
* 朱利亚_operator:蓝色
* 朱莉亚*康帕特:继承自 朱利亚_operator
* 朱莉亚*分配:鲜红色
* 朱莉亚*凯伊文:红色
* 朱莉亚*帕伦塞斯:unstyled
* 朱莉亚_unpaired_parentheses:继承自 julia_error 和 朱莉亚*帕伦塞斯
* julia_error:红色背景
* julia_rainbow_paren_1:明亮的绿色,继承自 朱莉亚*帕伦塞斯
* 朱莉亚_rainbow_paren_2:明亮的蓝色,继承自 朱莉亚*帕伦塞斯
* 朱莉亚_rainbow_paren_3:鲜红色,继承自 朱莉亚*帕伦塞斯
* 朱莉亚_rainbow_paren_4:继承自 julia_rainbow_paren_1
* 朱莉亚_rainbow_paren_5:继承自 朱莉亚_rainbow_paren_2
* 朱莉亚_rainbow_paren_6:继承自 朱莉亚_rainbow_paren_3
* 朱莉亚_rainbow_bracket_1:蓝色,继承自 朱莉亚*帕伦塞斯
* 朱莉亚_rainbow_bracket_2:bright_magenta,继承自 朱莉亚*帕伦塞斯
* 朱莉亚_rainbow_bracket_3:继承自 朱莉亚_rainbow_bracket_1
* 朱莉亚_rainbow_bracket_4:继承自 朱莉亚_rainbow_bracket_2
* 朱莉亚_rainbow_bracket_5:继承自 朱莉亚_rainbow_bracket_1
* 朱莉亚_rainbow_bracket_6:继承自 朱莉亚_rainbow_bracket_2
* julia_rainbow_curly_1:亮黄色,继承自 朱莉亚*帕伦塞斯
* julia_rainbow_curly_2:黄色,继承自 朱莉亚*帕伦塞斯
* 朱莉亚_rainbow_curly_3:继承自 julia_rainbow_curly_1
* julia_rainbow_curly_4:继承自 julia_rainbow_curly_2
* 朱莉亚_rainbow_curly_5:继承自 julia_rainbow_curly_1
* 朱莉亚_rainbow_curly_6:继承自 julia_rainbow_curly_2