noxen
highly customizable terminal boxes for nim!
Summary
| Latest Version | 0.0.1 |
|---|---|
| License | MIT |
| CI Status | Failing |
| Downloads | 0 |
| Last Indexed | 2026-07-21 05:26 |
Tags
Authors
- void*
Installation
nimble install noxen
choosenim install noxen
git clone https://github.com/ptVoid/noxen
OS Compatibility
| Platform | Linux | macOS | Windows | FreeBSD | OpenBSD | NetBSD | Android | iOS | WASM | Embedded |
|---|---|---|---|---|---|---|---|---|---|---|
| noxen | ✓ | ✓ | ✓ | - | - | - | - | - | - | - |
Dependencies
| Package | Version | Optional |
|---|---|---|
| nim >= | 2.0.0 | No |
Source
| Repository | https://github.com/ptVoid/noxen |
|---|---|
| Homepage | https://github.com/ptVoid/noxen |
| Registry Source | nimble_official |
README
noxen
a terminal boxes lib for nim example output
╭─────────────────────────error────────────────────────╮
│ error unknown op got left 9292929 right 889299 op ? │
│ at idk where maybe 5:6 │
│ ajjaiaiakakaioakakakiaia │
╰──────────────────────────────────────────────────────╯
NOTE: output may look broken on github page
NOTE: this is supposed to be border colored red and text colored yellow
there is only one proc to make boxes
makes a box!
proc makeBox*(text: string, title: string = "", full_style: (s: string) -> string = none, border_style: (s: string) -> string = none, text_style: (s: string) -> string = none): string
args =>
===========
-
text: text to put in body
-
title: title of the box
-
full_style: a proc string => string adds customization to the whole box like colors
-
border_style: a proc string => string adds customization to the border like colors or changing border chars
-
text_style: a proc string => string adds cutomization to the text can be a color
noxen also comes with builtin procs to add colors ex. red, green, none(default),yellow, grey
Examples
============
makeBox("this is a error at 5:5", "error", full_style = red)
makeBox("this is a error at 5:5", "error", border_style = red, text_style = yellow)
style procs can be used for customizing border chars ex.
proc myStyle(s: string): string =
result = s.replace("╭", "@")
result = result.replace("╮", "@")
result = result.replace("╯", "@")
result = result.replace("╰","@")
echo "my awesome style window".makeBox("my window", border_style=myStyle
NOTE: replace is avalibe in strutils
result =
@──────my window──────────@
│ my awesome style window │
@─────────────────────────@
Credits
inspired by boxen made by accident by me (void*) for my own programming language (covalent) error messages