summaryrefslogtreecommitdiff
path: root/lib/spack/spack/spec.py
diff options
context:
space:
mode:
Diffstat (limited to 'lib/spack/spack/spec.py')
-rw-r--r--lib/spack/spack/spec.py20
1 files changed, 13 insertions, 7 deletions
diff --git a/lib/spack/spack/spec.py b/lib/spack/spack/spec.py
index db8dcf61a8..992930da65 100644
--- a/lib/spack/spack/spec.py
+++ b/lib/spack/spack/spec.py
@@ -108,6 +108,10 @@ from six import StringIO
from six import string_types
from six import iteritems
+from llnl.util.filesystem import find_headers, find_libraries, is_exe
+from llnl.util.lang import *
+from llnl.util.tty.color import *
+
import spack
import spack.architecture
import spack.compilers as compilers
@@ -117,9 +121,6 @@ import spack.store
import spack.util.spack_json as sjson
import spack.util.spack_yaml as syaml
-from llnl.util.filesystem import find_headers, find_libraries, is_exe
-from llnl.util.lang import *
-from llnl.util.tty.color import *
from spack.util.module_cmd import get_path_from_module, load_module
from spack.error import SpecError, UnsatisfiableSpecError
from spack.provider_index import ProviderIndex
@@ -1363,9 +1364,8 @@ class Spec(object):
@property
def cshort_spec(self):
- """Returns a version of the spec with the dependencies hashed
- instead of completely enumerated."""
- return self.format('$_$@$%@$+$=$/', color=True)
+ """Returns an auto-colorized version of ``self.short_spec``."""
+ return self.cformat('$_$@$%@$+$=$/')
@property
def prefix(self):
@@ -2852,6 +2852,12 @@ class Spec(object):
result = out.getvalue()
return result
+ def cformat(self, *args, **kwargs):
+ """Same as format, but color defaults to auto instead of False."""
+ kwargs = kwargs.copy()
+ kwargs.setdefault('color', None)
+ return self.format(*args, **kwargs)
+
def dep_string(self):
return ''.join("^" + dep.format() for dep in self.sorted_deps())
@@ -2882,7 +2888,7 @@ class Spec(object):
def tree(self, **kwargs):
"""Prints out this spec and its dependencies, tree-formatted
with indentation."""
- color = kwargs.pop('color', False)
+ color = kwargs.pop('color', get_color_when())
depth = kwargs.pop('depth', False)
hashes = kwargs.pop('hashes', False)
hlen = kwargs.pop('hashlen', None)