dbcli / litecli

CLI for SQLite Databases with auto-completion and syntax highlighting
https://litecli.com
BSD 3-Clause "New" or "Revised" License
2.09k stars 67 forks source link

no color in piping with heredoc #82

Closed elig0n closed 4 years ago

elig0n commented 4 years ago

In interactive prompt I get color. I'm passing some commands to litecli in the following form (bash here-doc):

$ litecli database.sqlite3 << EOF

 SELECT * FROM tbl1 WHERE col1="1" …
 EOF

but the output is not colored.

Also adding '\T ...' in the here-doc doesn't seem to affect output formatting neither.

zzl0 commented 4 years ago

My understanding is heredoc is a feature of your shell, when you are writing heredoc, litecli has not been triggered yet, so you can not get color.

Also adding '\T ...' in the here-doc doesn't seem to affect output formatting neither.

\T works on my side. Could you provide a way to reproduce the issue on your side?

$ litecli ex1.db << EOF
\T html;
select * from tbl1
EOF
<table>
<thead>
<tr><th>one</th><th>two</th></tr>
</thead>
<tbody>
<tr><td>t1</td><td>11</td></tr>
<tr><td>t2</td><td>22</td></tr>
</tbody>
</table>
elig0n commented 4 years ago

@zzl0 I compared against your code and found out that was my mistake was not appending ';' after '\T' and counting on a new-line in the here-doc alone to serve as an actual Return...

I also seem to be getting color now unless I pipe it, in that case even less -R won't show it or signs of it. So I will be closing this off for now. Thanks