def cycle_by_var_name(identifiers=[]): line_number, column_number = vim.current.window.cursor identifier = get_identifier_under_cursor() new_identifier_data = get_last_used_var(identifier, identifiers) if not new_identifier_data: return (new_identifier, new_identifier_line, new_identifier_column) = \ new_identifier_data buffer = vim.current.window.buffer line = buffer[line_number - 1] if column_number - len(identifier) >= 0: buffer[line_number - 1] = line[:column_number - len(identifier)] else: buffer[line_number - 1] = "" buffer[line_number - 1] += new_identifier + line[column_number:] vim.current.window.cursor = (line_number, column_number - len(identifier) + len(new_identifier)) util.highlight(new_identifier_line, new_identifier_column, len(new_identifier)) return new_identifier
def dump_memo(self, s): for ast, (hits, rules) in sorted(self._ast_memo.items(), key=lambda a: a[1][0]): print('{}\n{} hits ({} rules)'.format(ast, hits, len(rules))) for (ast, Γs), (hits, _) in sorted(self._memo.items(), key=lambda a: a[1][0]): print('{}\n{} hits ({})'.format(U.highlight(ast, s), hits, type(ast).__name__)) print('Contexts:') for c in Γs: print(str(c.reduced()))
def pretty(e): if type(e[-1]) is ConfusionError: return e[-1].pretty(s) return '{}\n{}'.format(U.highlight(e[-2].ast, s), str(e[-1]))
def pretty(self, s): return '{}\nNo applicable rule'.format(U.highlight(self.ast, s))
# Main # token = None goLogin = input('Login or Not? y/n: ') # goLogin = '******' if goLogin.lower() == 'y': email = input('email: ') password = input('password: '******'*****@*****.**' # password = '******' token = network.getToken(email, password) else: print('Not Logged in') for channel in util.CHANNELS: print(channel['id'], channel['name']) channel_id = int(input(util.highlight('Channel Id: '))) util.clear() print(chr(27) + "[2J") thread_id = None while thread_id != 'q': goList(channel_id) thread_id = input('thread_id or quit(q): ') goPost(thread_id)