codelst is a Typst package for rendering sourcecode with line numbers and some other additions.
Usage
Import the package from the typst preview repository:
#import "@preview/codelst:2.0.2": sourcecode
After importing the package, simply wrap any fenced code block in a call to #sourcecode():
#import "@preview/codelst:2.0.2": 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.
```]
Further documentation
See manual.pdf for a comprehensive manual of the package.
See example.typ for some quick usage examples.
Development
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.
Changelog
v2.0.1
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.
v2.0.0
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.
- Added
themeandsyntaxesoptions to overwrite passed in#rawvalues. - Breaking: Renamed
tab-indendtotab-size, to conform with the Typst option. - Breaking: Removed
continue-numberingoption for now. (The feature failed in combination with label parsing and line highlights.) - Breaking: Removed styling of line numbers via a
show-rule.
v1.0.0
- Complete rewrite of code rendering.
- New options for
#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.)- Merged
line-numbersandnumberingoptions.
- Removed
#numbers-style()function.numbers-styleoption now gets passedcounter.display().
- Removed
<codelst>label. codelst-styleonly setsbreakablefor figures.- New
codelstfunction to setup a catchall show rules forrawtext. label-regex: nonedisables labels parsing.- Code improvements and refactorings.
v0.0.5
- Fixed insets for line highlights.
- Added
numbers-widthoption to manually set width of line numbers column.- This allows line numbers on margins by setting
numbers-widthto0ptor a negative number like-1em.
- This allows line numbers on margins by setting
v0.0.4
- Fixed issue with context unaware syntax highlighting.
v0.0.3
- Removed call to
#read()from#sourcefile(). - Added
continue-numberingargument to#sourcecode(). - Fixed problem with
showrangehaving out of range line numbers.
v0.0.2
- Added a comprehensive manual.
- Fixed crash for missing
langattribute inrawelement.
v0.0.1
- Initial version submitted to typst/packages.