codelst is a Typst package for rendering sourcecode with line numbers and some other additions.
Import the package from the typst preview repository:
#import "@preview/codelst:2.0.1": sourcecode
After importing the package, simply wrap any fenced code block in a call to #sourcecode()
:
#import "@preview/codelst:2.0.1": sourcecode
#sourcecode[```typ
#show "ArtosFlow": name => box[
#box(image(
"logo.svg",
height: 0.7em,
))
#name
]
This report is embedded in the
ArtosFlow project. ArtosFlow is a
project of the Artos Institute.
```]
See manual.pdf
for a comprehensive manual of the package.
See example.typ
for some quick usage examples.
The documentation is created using Mantys, a Typst template for creating package documentation.
To compile the manual, Mantys needs to be available as a local package. Refer to Mantys' manual for instructions on how to do so.
This version makes codelst
compatible to Typst 0.11.0. Version 2.0.1 now requires Typst 0.11.0, since there are some breaking changes to the way counters work.
Thanks to @kilpkonn for theses changes.
Version 2 requires Typst 0.9.0 or newer. Rendering is now done using the new
raw.line
elements get consistent line numbers and syntax highlighting (even
if showrange
is used). Rendering is now done in a #table
.
theme
and syntaxes
options to overwrite passed in #raw
values.tab-indend
to tab-size
, to conform with the Typst option.continue-numbering
option for now. (The feature failed in combination with label parsing and line highlights.)show
-rule.#sourcecode()
:
lang
: Overwrite code language setting.numbers-first
: First line number to show.numbers-step
: Only show every n-th number.frame
: Set a frame (replaces <codelst>
label.)line-numbers
and numbering
options.#numbers-style()
function.
numbers-style
option now gets passed counter.display()
.<codelst>
label.codelst-style
only sets breakable
for figures.codelst
function to setup a catchall show rules for raw
text.label-regex: none
disables labels parsing.numbers-width
option to manually set width of line numbers column.
numbers-width
to 0pt
or a negative number like -1em
.#read()
from #sourcefile()
.continue-numbering
argument to #sourcecode()
.showrange
having out of range line numbers.lang
attribute in raw
element.