By registering with us, you'll be able to discuss, share and private message with other members of our community.

SignUp Now!

Please explain TCMD's ANSI x3.64 support

Would someone explain what ANSI x3.64 support TCC/TCMD provides? I've read "TCC v22 & the Windows 10 Console" but I'm still confused.

Does TCMD support Color Escape Sequences generated by external commands? I have a test program that generates color codes but I've not found any combination of TCMD/TCC settings that will transform the output to color. I tried disabling ANSI in TCMD and enabling in TCC; I've tried the other way around; both enabled and both disabled. And restarting TCMD after each change.

The only way I've been able use ANSI Color Codes is by using a custom Plugin (the 'ansi_on' command below) that explicitly enables Windows 10 built-in ANSI support. What am I missing?

Both TCMD and TCC have ANSI support. TCMD's ANSI will work for all console sessions run in TCMD; TCC's ANSI will only work for TCC internal commands.

First, make sure you have ANSI turned off in TCC (OPTION / Windows / ANSI colors). Then in TCMD, go to the OPTIONS menu and click on Tabs / ANSI colors.

Note that TCMD will by default use the built-in ANSI in Windows 10; if you want to use TCMD's ANSI support instead you need to add the directive "ANSIWin10=No" to your TCMD.INI (in the TCMD section).
I tried that and it's not working. I checked the tcmd.ini file. [4NT] has ANSI=No, [TakeCommand] has ANSI=Yes. There is no ANSIWin10 entry.

If I enable ANSI in TCC, (TCMD ANSI can be on or off) I can get color codes for internal commands, nothing for external commands. If I disable ANSI for TCC, I get no ANSI color at all, regardless of TCMD ANSI setting.
If you do not set ANSIWin10=No, then neither TCMD nor TCC have anything to do with ANSI; it's handled by the Windows 10 console, and TCMD simply mirrors what's happening in the console window.

I suggest you try setting ANSIWin10=No in your [TakeCommand] TCMD.INI section. If that works (and it should), then your problem is with your Windows console & you should contact Microsoft.
Thanks. That worked. I was confused about the ANSIWin10 meaning. I mistakenly thought that ANSIWIN10=YES ==> Use Windows ANSI console support ==> TCC would automatically enable Windows ANSI console support (via SetConsoleMode). Sorry to waste your time but thanks for clarifying it for me. Much appreciated.

Similar threads