私が歌川です

@utgwkk が書いている

ターミナルでmarqueeしたい (1)

marqueeというのは、こういう感じで、文字が横にスクロールしてめちゃくちゃ楽しいやつです。

ターミナルで使えるmarqueeの中で最も有名なものとしては、slコマンドが挙げられますが、SLしかmarqueeできないという問題があります。 文字列ならなんでもmarqueeしたい、と思っているので、いま実装を進めています。

このたび、1行の文字列をmarqueeさせることに成功しました。 ncursesの薄いラッパーを使いつつ、文字のオフセットは頑張って計算する、左にはみ出るのもうまくやる、といったことが行われています。

Image from Gyazo

張り切ってRustで書きはじめたけど、Rust久しぶりに書いたしまだ入門完了してないので、ググりながら書いています。 言語処理系やLanguage Serverがよくできているので赤線が出たところを修正すればよいみたいな感じで、コンパイラペアプロしてもらっている感じ。

github.com

複数行の文字列やワイド幅文字を考慮したmarqueeなどがまだ実装されていないので、やっていく必要があります。