ターミナルで使えるmarqueeの中で最も有名なものとしては、slコマンドが挙げられますが、SLしかmarqueeできないという問題があります。 文字列ならなんでもmarqueeしたい、と思っているので、いま実装を進めています。
このたび、1行の文字列をmarqueeさせることに成功しました。 ncursesの薄いラッパーを使いつつ、文字のオフセットは頑張って計算する、左にはみ出るのもうまくやる、といったことが行われています。
張り切ってRustで書きはじめたけど、Rust久しぶりに書いたしまだ入門完了してないので、ググりながら書いています。 言語処理系やLanguage Serverがよくできているので赤線が出たところを修正すればよいみたいな感じで、コンパイラにペアプロしてもらっている感じ。
複数行の文字列やワイド幅文字を考慮したmarqueeなどがまだ実装されていないので、やっていく必要があります。