Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

support ANSI color output of pkl eval #425

Open
jstrachan opened this issue Apr 12, 2024 · 3 comments
Open

support ANSI color output of pkl eval #425

jstrachan opened this issue Apr 12, 2024 · 3 comments

Comments

@jstrachan
Copy link

I was watching Viktor's review of pkl and the lack of syntax highlighting shouted me when running pkl eval on the command line.

I'm so used to color based syntax highlighting in all languages it really shouts to me when there's no color

I wonder if we should have an optional colour option to pkl eval that could use ANSI colours to make the output look nicer?

@bioball
Copy link
Contributor

bioball commented Apr 12, 2024

I use bat whenever I need better syntax highlighting in my output. E.g. pkl eval foo.pkl | bat -l yaml.

The --format flag can be ignored by a Pkl program by setting it directly in the module, so it's not really clear how we can add proper syntax highlighting here.

It'd be good to colorize the output in case of errors, though.

@translatenix
Copy link
Contributor

it's not really clear how we can add proper syntax highlighting here.

Would it be possible to support pluggable highlighters that are told which renderer is used?

@bioball
Copy link
Contributor

bioball commented Apr 12, 2024

Might be doable to have the renderers themselves add ANSI escape sequences.

Would need to somehow know whether the CLI command is being run in interactive mode or not.

Generally CLI commands should strip colors if run in a non-interactive context (e.g. pkl eval foo.pkl > output.yaml should not include ANSI escape codes). And it's common to have a --color flag that overrides the default behavior (e.g. --color=always to keep color regardless of interactive mode).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants