diff options
author | Dieter Verfaillie <dieterv@optionexplicit.be> | 2015-03-11 21:59:04 +0100 |
---|---|---|
committer | Dieter Verfaillie <dieterv@optionexplicit.be> | 2015-06-24 22:16:31 +0200 |
commit | 537d3431d7cc198d890a6bae9949273996b04daa (patch) | |
tree | ab15077b52a085057d85940079ffecf8f4116468 /giscanner/message.py | |
parent | 68ce6d2e48365560921dd751b9bc6a3803b0c37d (diff) | |
download | gobject-introspection-537d3431d7cc198d890a6bae9949273996b04daa.tar.gz |
scanner: centralize caret error message handling
Not doing this manually all over the place makes
the code slightly more readable.
https://bugzilla.gnome.org/show_bug.cgi?id=689454
Diffstat (limited to 'giscanner/message.py')
-rw-r--r-- | giscanner/message.py | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/giscanner/message.py b/giscanner/message.py index 1a0a6c52..34f23f94 100644 --- a/giscanner/message.py +++ b/giscanner/message.py @@ -94,7 +94,7 @@ class MessageLogger(object): def get_error_count(self): return self._error_count - def log(self, log_type, text, positions=None, prefix=None): + def log(self, log_type, text, positions=None, prefix=None, marker_pos=None, marker_line=None): """ Log a warning, using optional file positioning information. If the warning is related to a ast.Node type, see log_node(). @@ -126,6 +126,9 @@ class MessageLogger(object): elif log_type == FATAL: error_type = "Fatal" + if marker_pos is not None and marker_line is not None: + text = '%s\n%s\n%s' % (text, marker_line, ' ' * marker_pos + '^') + if prefix: text = ('%s: %s: %s: %s: %s\n' % (last_position, error_type, self._namespace.name, prefix, text)) @@ -179,9 +182,9 @@ def log_node(log_type, node, text, context=None, positions=None): ml.log_node(log_type, node, text, context=context, positions=positions) -def warn(text, positions=None, prefix=None): +def warn(text, positions=None, prefix=None, marker_pos=None, marker_line=None): ml = MessageLogger.get() - ml.log(WARNING, text, positions, prefix) + ml.log(WARNING, text, positions, prefix, marker_pos, marker_line) def warn_node(node, text, context=None, positions=None): @@ -193,11 +196,11 @@ def warn_symbol(symbol, text): ml.log_symbol(WARNING, symbol, text) -def error(text, positions=None, prefix=None): +def error(text, positions=None, prefix=None, marker_pos=None, marker_line=None): ml = MessageLogger.get() - ml.log(ERROR, text, positions, prefix) + ml.log(ERROR, text, positions, prefix, marker_pos, marker_line) -def fatal(text, positions=None, prefix=None): +def fatal(text, positions=None, prefix=None, marker_pos=None, marker_line=None): ml = MessageLogger.get() - ml.log(FATAL, text, positions, prefix) + ml.log(FATAL, text, positions, prefix, marker_pos, marker_line) |