summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeorge Christou <gechrr@gmail.com>2016-02-15 22:18:59 +0000
committerGeorge Christou <gechrr@gmail.com>2016-02-15 22:23:03 +0000
commit8edcca0ef5a0dea6df6c65a9d8c407965c7a4f74 (patch)
tree41e949399f82fd31d6f888725c3a2cbf2e9b25ba
parent6ddea3e915012a381b53e34b19c2270cf5e4e815 (diff)
downloadansible-8edcca0ef5a0dea6df6c65a9d8c407965c7a4f74.tar.gz
Add simple --diff colour support
-rw-r--r--lib/ansible/plugins/callback/__init__.py15
1 files changed, 12 insertions, 3 deletions
diff --git a/lib/ansible/plugins/callback/__init__.py b/lib/ansible/plugins/callback/__init__.py
index 1fa6c03753..ce028dc279 100644
--- a/lib/ansible/plugins/callback/__init__.py
+++ b/lib/ansible/plugins/callback/__init__.py
@@ -28,6 +28,7 @@ from ansible.compat.six import string_types
from ansible import constants as C
from ansible.vars import strip_internal_keys
+from ansible.utils.color import stringc
from ansible.utils.unicode import to_unicode
try:
@@ -134,9 +135,17 @@ class CallbackBase:
fromfiledate='',
tofiledate='',
n=10)
- difflines = list(differ)
- if difflines:
- ret.extend(difflines)
+ has_diff = False
+ for line in differ:
+ has_diff = True
+ if line.startswith('-'):
+ line = stringc(line, 'red')
+ elif line.startswith('+'):
+ line = stringc(line, 'green')
+ elif line.startswith('@@'):
+ line = stringc(line, 'cyan')
+ ret.append(line)
+ if has_diff:
ret.append('\n')
if 'prepared' in diff:
ret.append(to_unicode(diff['prepared']))