Ansi Console uses ANSI escape sequences to color the console output. This can be pretty handy when using something like jansi
But is also works if you output escape sequences directly from Java. Or from Perl, C++, or Groovy, or any other Eclipse hosted language.
To install the plugin in Eclipse select Help -> Install New Software... and click "Add..." to add the following URL:
http://www.mihai-nita.net/eclipse
You can then select the site in the "Work with" list and continue the installation like with any other plugin.
Since this plugin hooks into LineStyleListener, it cannot do anything other than changing the style of the current output.
So no cursor movements, clear screen, etc.
OK, so what CAN it do, you will ask.
From the “SGR (Select Graphic Rendition) parameters” table at http://en.wikipedia.org/wiki/ANSI_escape_code it can handle the following subset:
The reasons for choosing these and not others are the limitations in the Eclipse console (for instance no blink :-), or limitation in the existing OS consoles (what’s the point in supporting something that can’t be used outside Eclipse).
But the final result is reasonable close to what you get in a real console in terms of colors (so no cursor movements, clear console, etc.)
For more functionality I might have to hook some more Eclipse events, or even to come up with my own console. Considering that this started as a week-end toy project, it does not have such ambitions. But if someone can point me to some simple methods that would allow me to implement that without tons of work, or even contribute code, I might take it there :-)
If you use jansi, it might look like the plugin does not work.
That is because jansi detects when the standard output is redirected and does not output the escape sequences anymore.
So try adding this to your code, before using jansi: System.setProperty("jansi.passthrough", "true");
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License.
You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.