149
149
Apply syntax highlighting to `content` using `JuliaSyntax`.
150
150
151
151
Returns an `AnnotatedString{String}`.
152
+
153
+ # Examples
154
+
155
+ ```jldoctest
156
+ julia> JuliaSyntaxHighlighting.highlight("sum(1:8)")
157
+ "sum(1:8)"
158
+
159
+ julia> JuliaSyntaxHighlighting.highlight("sum(1:8)") |> Base.annotations
160
+ 6-element Vector{Tuple{UnitRange{Int64}, Pair{Symbol, Any}}}:
161
+ (1:3, :face => :julia_funcall)
162
+ (4:4, :face => :julia_rainbow_paren_1)
163
+ (5:5, :face => :julia_number)
164
+ (6:6, :face => :julia_operator)
165
+ (7:7, :face => :julia_number)
166
+ (8:8, :face => :julia_rainbow_paren_1)
167
+ ```
152
168
"""
153
169
highlight (str:: AbstractString ) =
154
170
AnnotatedString (str, _hl_annotations (str, tokenize (str)))
@@ -167,6 +183,25 @@ highlight(buf::IOContext{IOBuffer}) = highlight(buf.io)
167
183
highlight!(content::Union{AnnotatedString, SubString{AnnotatedString}})
168
184
169
185
Modify `content` by applying syntax highlighting using `JuliaSyntax`.
186
+
187
+ # Examples
188
+
189
+ ```jldoctest
190
+ julia> str = Base.AnnotatedString("sum(1:8)")
191
+ "sum(1:8)"
192
+
193
+ julia> JuliaSyntaxHighlighting.highlight!(str)
194
+ "sum(1:8)"
195
+
196
+ julia> Base.annotations(str)
197
+ 6-element Vector{Tuple{UnitRange{Int64}, Pair{Symbol, Any}}}:
198
+ (1:3, :face => :julia_funcall)
199
+ (4:4, :face => :julia_rainbow_paren_1)
200
+ (5:5, :face => :julia_number)
201
+ (6:6, :face => :julia_operator)
202
+ (7:7, :face => :julia_number)
203
+ (8:8, :face => :julia_rainbow_paren_1)
204
+ ```
170
205
"""
171
206
function highlight! (str:: AnnotatedString )
172
207
for (range, annot) in _hl_annotations (str. string, tokenize (str. string))
0 commit comments