diff options
| author | Bruce Hill <bruce@bruce-hill.com> | 2025-03-03 12:53:15 -0500 |
|---|---|---|
| committer | Bruce Hill <bruce@bruce-hill.com> | 2025-03-03 12:53:15 -0500 |
| commit | 80475ad02d6b20d6c667c3be8bc939a83632bd3f (patch) | |
| tree | e554762e03168452bbe35514515d5d2f78681130 /examples/colorful | |
| parent | 44b0db68823890008b45b91417e53cfa6b7270f5 (diff) | |
Update CLI API
Diffstat (limited to 'examples/colorful')
| -rw-r--r-- | examples/colorful/README.md | 2 | ||||
| -rw-r--r-- | examples/colorful/colorful.tm | 17 |
2 files changed, 14 insertions, 5 deletions
diff --git a/examples/colorful/README.md b/examples/colorful/README.md index 2253431c..e0572bac 100644 --- a/examples/colorful/README.md +++ b/examples/colorful/README.md @@ -47,7 +47,7 @@ You can run `colorful` as a standalone executable to render colorful text with ANSI escape sequences so it looks nice on a terminal. ``` -colorful [--inplace] [file] [--by-line] +colorful [--help] [texts...] [--by-line] [--files ...] ``` ## Library Usage diff --git a/examples/colorful/colorful.tm b/examples/colorful/colorful.tm index 48405811..71b83873 100644 --- a/examples/colorful/colorful.tm +++ b/examples/colorful/colorful.tm @@ -1,7 +1,7 @@ # Colorful language HELP := " colorful: A domain-specific language for writing colored text to the terminal - Usage: colorful [--by-line] [files...] + Usage: colorful [args...] [--by-line] [--files files...] " CSI := "$\033[" @@ -189,12 +189,21 @@ lang Colorful: func print(c:Colorful, newline=yes): say(c:for_terminal(), newline=newline) -func main(files=[(/dev/stdin)], by_line=no): +func main(texts:[Text], files=[:Path], by_line=no): + for i,text in texts: + colorful := Colorful.without_escaping(text) + colorful:print(newline=no) + if i == texts.length: say("") + else: say(" ", newline=no) + + if texts.length == 0 and files.length == 0: + files = [(/dev/stdin)] + for file in files: if by_line: - for line in file:by_line() or exit("Couldn't read file: $file"): + for line in file:by_line() or exit("Could not read file: $(file.text)"): colorful := Colorful.without_escaping(line) colorful:print() else: - colorful := Colorful.without_escaping(file:read() or exit("Couldn't read file: $file")) + colorful := Colorful.without_escaping(file:read() or exit("Could not read file: $(file.text)")) colorful:print(newline=no) |
