editSyntax error messages with character index?

Put this in your pl.ini (Windows) or .plrc (Unix):

:-dynamic user:message_hook/3.
:-multifile user:message_hook/3.

user:message_hook(error(syntax_error(Kind),
                        file(File, Line, CharIndex)),
                  error, _Lines) :- !,
        format(user_error, '~w:~w: (~w) Syntax error: ~w~n',
               [File, Line, CharIndex, Kind]).
See also
- message_hook/3
To be done
- Review this. This approach bypasses print_message_lines/3