Term
Term.TermTerm.CodeThemeTerm.Measures.MeasureTerm.Measures.MeasureTerm.ThemeHighlights.Format.renderTerm.calc_nrows_ncolsTerm.charsTerm.cleantextTerm.do_by_lineTerm.escape_bracketsTerm.excise_link_display_textTerm.expr2stringTerm.fillinTerm.fix_ansi_across_linesTerm.fix_markup_across_linesTerm.get_bg_colorTerm.get_closing_ansi_tagTerm.get_file_formatTerm.get_lr_widthsTerm.has_ansiTerm.has_markupTerm.highlightTerm.highlightTerm.highlight_syntaxTerm.is_closing_ansi_tagTerm.join_linesTerm.justifyTerm.load_code_and_highlightTerm.load_code_and_highlightTerm.loop_lastTerm.ltrim_strTerm.read_file_linesTerm.remove_ansiTerm.remove_markupTerm.replace_multiTerm.replace_textTerm.replace_textTerm.reshape_code_stringTerm.reshape_textTerm.rtrim_strTerm.split_linesTerm.str_truncTerm.string_typeTerm.text_to_widthTerm.textlenTerm.tviewTerm.unescape_bracketsTerm.unspace_commasTerm.@make_color_macroTerm.@make_mode_macroTerm.@style
Term.Term — Module
Term.jlWelcome to Term.jl! Term.jl is a Julia library for producing styled, beautiful terminal output.
Documentation
See https://fedeclaudi.github.io/Term.jl for documentation.
Demonstration
using Term
const term_demo = joinpath(dirname(pathof(Term)), "..", "README.jl")
include(term_demo) # view demo
less(term_demo) # see demo codeExample
julia begin println(@green "this is green") println(@blue "and this is blue") println() println(@bold "this is bold") println(@underline "and this is underlined") end ```
Term.CodeTheme — Type
Custom hilighting theme for Highlighters.jl https://juliadocs.github.io/Highlights.jl/stable/man/theme/
Term.Measures.Measure — Method
Measure(segments::AbstractVector)gives the measure of a vector of segments
Term.Measures.Measure — Method
Measure(seg::Segment)gives the measure of a segment
Term.Theme — Type
ThemeStores colors for different semantically relevant items, used to style outputs to terminal.
Highlights.Format.render — Method
Format.render(io::IO, ::MIME"text/ansi", tokens::Format.TokenIterator)custom ANSI lexer for Highlighters.jl
Term.calc_nrows_ncols — Function
calc_nrows_ncols(n, aspect::Union{Nothing,Number,NTuple} = nothing)Computes the number of rows and columns to fit a given number n of subplots in a figure with aspect aspect. If aspect is nothing, chooses the best fir between a default and a unit aspect ratios.
Adapted from: stackoverflow.com/a/43366784
Term.chars — Method
Split a string into a vector of Chars.
Term.cleantext — Method
cleantext(str::AbstractString)Remove all style information from a string.
Term.do_by_line — Method
do_by_line(fn::Function, text::String)Apply fn to each line in the text.
The function fn should accept a single ::String argument.
Term.escape_brackets — Method
escape_brackets(text)::Stringremove_ansi(str)::StringReplace each curly bracket with a double copy of itself
Term.excise_link_display_text — Method
excise_link_display_text(link::String)Given a link string of the form: "]8;;LINKDESTINATION\LINKDISPLAYTEXT]8;;\" this function returns "LINKDISPLAY_TEXT" alone.
Term.expr2string — Method
Get a clean string representation of an expression
Term.fillin — Method
fillin(text::String)::StringEnsure that each line in a multi-line text has the same width.
Term.fix_ansi_across_lines — Method
Same as fix_markup_across_lines but for ANSI style tags.
Term.fix_markup_across_lines — Method
fix_markup_across_lines(lines::Vector{AbstractString})::Vector{AbstractString}When splitting text with markup tags across multiple lines, tags can get separated across lines. This is a problem when the text gets printed side by side with other text with style information. This fixes that by copying/closing markup tags across lines as requested. Essentially, if a tag is opened but not closed in a line, close it at the end of the line and add the same open tag at the start of the next, taking care of doing things in the correct order when multiple tags are in the same line.
Term.get_bg_color — Method
get_bg_color(style::String)Add "on_" to background style info.
Term.get_closing_ansi_tag — Method
Given an ANSI tag, get the correct closer tag
Term.get_file_format — Method
getfileformat(nbytes; suffix="B")
Return a string with formatted file size.
Term.get_lr_widths — Method
getlrwidths(width::Int)
To split something with width in 2, get the lengths of the left/right widths.
When width is even that's easy, when it's odd we need to be careful.
Term.has_ansi — Method
has_ansi(text::String)Returns true if text includes a MarkupTag
Term.has_markup — Method
has_markup(text::String)Returns true if text includes a MarkupTag
Term.highlight — Method
highlight(text::AbstractString, theme::Theme, like::Symbol)Hilights an entire text as if it was a type of semantically relevant text of type :like.
Term.highlight — Method
highlight(text::AbstractString, theme::Theme)Highlighs a text introducing markup to style semantically relevant segments, colors specified by a theme object.
Term.highlight_syntax — Method
highlight_syntax(code::AbstractString; style::Bool=true)Highlight Julia code syntax in a string.
Term.is_closing_ansi_tag — Method
Check if an ANSI tag is a closer
Term.join_lines — Method
join_lines(lines)Merge a vector of strings in a single string.
Term.justify — Method
justify(text::AbstractString, width::Int)::StringJustify a piece of text spreading out text to fill in a given width.
Term.load_code_and_highlight — Method
load_code_and_highlight(path::AbstractString, lineno::Int; δ::Int=3, width::INt=120)Load a file, get the code and format it. Return styled text
Term.load_code_and_highlight — Method
load_code_and_highlight(path::AbstractString)::StringLoad and highlight the syntax of an entire file
Term.loop_last — Method
loop_last(v)
Returns an iterable yielding tuples (is_last, value).
Term.ltrim_str — Method
ltrim_str(str, width)Cut a chunk of width width form the left of a string
Term.read_file_lines — Method
read_file_lines(path::String, start::Int, stop::Int)Read a file and select only lines in range start -> stop.
Returns a vector of tuples with the line number and line content.
Term.remove_ansi — Method
remove_ansi(input_text::AbstractString)::AbstractStringRemove all ANSI tags from a string of text
Term.remove_markup — Method
remove_markup(input_text::AbstractString)::AbstractStringRemove all markup tags from a string of text.
Term.replace_multi — Method
multiple strings replacement.
Term.replace_text — Function
replace_text(text::AbstractString, start::Int, stop::Int, char::Char='_')Replace a section of a text between start and stop with another string composed of repeats of a given character char.
Term.replace_text — Method
replace_text(text::AbstractString, start::Int, stop::Int, replace::AbstractString)Replace a section of a text between start and stop with replace.
Term.reshape_code_string — Method
Reshaping strings with Julia code requires particular care
Term.reshape_text — Method
reshape_text(text::AbstractString, width::Int)Reshape a text to have a given width.
Insert newline characters in a string so that each line is within the given width.
Term.rtrim_str — Method
rtrim_str(str, width)Cut a chunk of width width form the right of a string
Term.split_lines — Method
split_lines(text::AbstractString)Split a string into its composing lines.
Term.str_trunc — Method
str_trunc(text::AbstractString, width::Int)Shorten a string of text to a target width
Term.string_type — Method
string_type(x)Return the type of x if it's an AbstractString, else String
Term.text_to_width — Method
text_to_width(text::AbstractString, width::Int)::StringCast a text to have a given width by reshaping, it and padding. It includes an option to justify the text (:left, :right, :center, :justify).
Term.textlen — Method
textlen(x::AbstractString)Get length of text after all style information is removed.
Term.tview — Method
tview(text, start::Int, stop::Int)Get a view object with appropriate indices
Term.unescape_brackets — Method
unescape_brackets(text)::StringReplece every double squared parenthesis with a single copy of itself
Term.unspace_commas — Method
unspace_commas(text::AbstractString)Remove spaces after commas.
Term.@make_color_macro — Macro
Macro to create macros such as @green which colors text accordingly
Term.@make_mode_macro — Macro
Macro to create macros such as @underline which styles text accordingly.
Term.@style — Macro
@style "text" style1 style2...Applies a sequence of styles to a piece of text, such that
println(@style "my text" bold green underline)will print my text as bold, green and underlined