def format_file(s, git_output): color = file_color() if s in git_output.staged_files: color = staged_color() elif s in git_output.unstaged_files: color = unstaged_color() elif s in git_output.untracked_files: color = untracked_color() return grow(s, color)
def printls(git_output): entries = os.listdir(os.getcwd()) if len(entries) == 0: print(grow("(This directory is empty)", "magenta")) return False dirs = sorted(filter(os.path.isdir, entries)) links = sorted(filter(os.path.islink, entries)) files = sorted(filter(os.path.isfile, entries)) dirs = map(format_dir, sorted(dirs)) links = map(format_link, sorted(links)) files = map(lambda f: format_file(f, git_output), sorted(files)) colored = list(dirs) + list(links) + list(files) print(columnify(colored, width=tty_width(), sort=False)) return True
def format_dir(s): return grow(s + '/', dir_color())
def format_link(s): return grow(s, 'magenta')
print(grow("(This directory is empty)", "magenta")) return False dirs = sorted(filter(os.path.isdir, entries)) links = sorted(filter(os.path.islink, entries)) files = sorted(filter(os.path.isfile, entries)) dirs = map(format_dir, sorted(dirs)) links = map(format_link, sorted(links)) files = map(lambda f: format_file(f, git_output), sorted(files)) colored = list(dirs) + list(links) + list(files) print(columnify(colored, width=tty_width(), sort=False)) return True if __name__ == '__main__': git_output = Popen('git status', shell=True, stdout=PIPE, stderr=STDOUT).stdout git_output = str(git_output.read()) git_output = GitOutput(git_output) if config.show_branch: print("") if git_output.branch is not None: print("Currently on branch: '" + grow(git_output.branch, 'green') + "'") else: print(grow("(Not a git repository)", "blue")) print("") printls(git_output) print("")