def get_valid_history_without_current(command): def _not_corrected(history, tf_alias): """Returns all lines from history except that comes before `f**k`.""" previous = None for line in history: if previous is not None and line != tf_alias: yield previous previous = line if history: yield history[-1] from thefuck.shells import shell history = shell.get_history() tf_alias = get_alias() executables = set(get_all_executables())\ .union(shell.get_builtin_commands()) return [line for line in _not_corrected(history, tf_alias) if not line.startswith(tf_alias) and not line == command.script and line.split(' ')[0] in executables]