1/8にNimの新しいバージョン(0.16.0)がリリースされたようです。
リリースノートを見ながら、Library Additionsを見ていると、
terminalというモジュールに何個かメソッドが追加されたとの事。
Added hideCursor, showCursor, terminalWidth, terminalWidthIoctl and terminalSize to the terminal (doc) module.
terminalモジュールってもしかして、ターミナルのカーソル位置や背景色や前景色なんかを設定できるのかなと思ったらアタリでした。terminal.nimの末尾にあったテストコードをちょっといじってみました。
サンプル
import os,terminal
# STDOUTに出力
write(stdout, "never mind")
# カーソルを消去
stdout.hideCursor()
# スクリーンクリア
stdout.eraseScreen()
# カーソル位置を1,1へ移動
stdout.setCursorPos(1,1)
# スタイル付き描画(ブリンクするはずですが、Linuxではただテキストが表示されているだけでした)
stdout.styledWriteLine("styled text ", {styleBright, styleBlink, styleUnderscore})
# 背景色をシアンに設定
stdout.setBackGroundColor(bgCyan, true)
# 前景色を青に設定
stdout.setForeGroundColor(fgBlue)
# カーソル位置を10,10へ移動
stdout.setCursorPos(10,10)
# テキスト出力
stdout.writeLine("ordinary text")
# ちょっと待つ
sleep(1000*10)