chemaclass / phel-cli-gui
Phel 函数用于在终端中渲染。它使用了 Symfony 命令模块的 Cursor。
0.3.1
2024-08-15 14:19 UTC
Requires
- php: >=8.2
- ext-pcntl: *
- ext-readline: *
- phel-lang/phel-lang: >=0.15
- symfony/console: ^7.1
Requires (Dev)
- roave/security-advisories: dev-latest
- symfony/var-dumper: 6.4
README
这个库为你提供了一些Phel函数,用于在终端中渲染。它使用了 Symfony 命令模块的 Cursor。
函数
(read-input [length])
:读取输入流并返回不同格式的数据;:raw
和:hex
。(clear-screen)
:清除整个屏幕。(clear-output)
:清除从光标当前位置到屏幕末尾的所有输出。(clear-line [line])
:清除指定行的输出。(render-board [{:width w :height h}])
:渲染棋盘的边框。(render [x y text & [style]])
:将任何文本渲染到终端的指定位置(x,y)。
示例
此示例将从键盘读取输入,并在终端显示字符及其十六进制值。您可以在本地使用以下命令运行:vendor/bin/phel run src/phel/test-keyboard.phel
源码
(ns phel-cli-gui\test-keyboard
(:require phel-cli-gui\terminal-gui :refer [read-input render]))
(defn render-input [{:raw raw :hex hex}]
(if (> (php/strlen hex) 0)
(println (format "# Raw input: `%s`, hex: `%s`" raw hex))))
(defn main
"Display the key and its hexadecimal value on the fly"
[]
(println "Type something...")
(loop []
(php/usleep 1000)
(let [input (read-input 3)]
(render-input input)
(recur))))
(main)
示例
您可以通过此库查看一些真实示例