# coding=utf-8 import ast from server.hints import Hint, HintSequence hint_type = { 'no_hint': Hint('no_hint'), 'test_results': Hint('test_results'), 'syntax_error': Hint('syntax_error'), } def hint(python, program): # Check program for syntax errors. try: tree = ast.parse(program, filename='user') except SyntaxError as ex: error_msg = '{}{}^\n{}'.format(ex.text, ' '*(ex.offset-1), ex.msg) return [{'id': 'syntax_error', 'args': {'lineno': ex.lineno, 'message': error_msg}}] return []