A nicer way to see what aliases you're running.
#!/bin/env python3
'''
gist:   https://gist.github.com/Fitzy1293/ccacc7a4420ff4a1a42d2f97dd5e1823
'''
import sys
class Colors:
    magenta = '\033[1;95m'
    blue = '\033[1;34m'
    cyan = '\033[1;36m'
    green = '\033[92m'
    yellow = '\033[1;33m'
    endc = '\033[0m'
def alias_from_stdin():
    '''
        gets aliases from stdin after running `alias | pyalias.py`
            - in ~/.bash_aliases I added `alias al='alias | pyalias.py'`
    '''
    alias_start_strings     = []
    second_spaces_lens_list = []
    commands_list           = []
    aliases_from_stdin      = [line.strip() for line in sys.stdin]
    alias_count             = len(aliases_from_stdin)
    max_number_str          = len(str(alias_count))
    for alias_index, alias_possible in enumerate(aliases_from_stdin):
        if alias_possible.startswith('alias '):
            alias_possible = alias_possible.replace('alias ', '', 1)
  
        cmdname_cmdargs_list   = []
        
        split_index            = alias_possible.find('=')  
        alias_key, alias_value = alias_possible[:split_index], alias_possible[split_index:][1:]
        alias_value_trail_rm   = alias_value[1:-1].strip() if alias_value[0] == "'" and alias_value[-1] == "'" else alias_value.strip()
        # make spacing even
        alias_pos              = f'{alias_index + 1}'
        alias_pos_len          = len(alias_pos)
        extra_spaces_count     = max_number_str - alias_pos_len 
        alias_name_len         = len(alias_key)
        first_extra_spaces     = ' ' * int(extra_spaces_count - alias_pos_len + 1)
        start_string           = (alias_pos, first_extra_spaces, alias_key)
        alias_start_strings.append(start_string)
        second_spaces_lens_list.append(alias_pos_len + extra_spaces_count + alias_name_len)
        # get actual program and args for the alias
        alias_value_list       = alias_value_trail_rm.split(' ')
        cmdname_cmdargs_list.append(alias_value_list[0])
        if len(alias_value_list) == 1:
            cmdname_cmdargs_list.append(None)
        elif len(alias_value_list) > 1:
            cmdname_cmdargs_list.append(alias_value_list[1:])
        else:
            print('ERROR FIX IT, SOMETHING IS WRONG'); sys.exit()
        commands_list.append(cmdname_cmdargs_list)
    # spaces after the number + alias name
    longest_start_string = max(second_spaces_lens_list)
    spaces_strings_after_alias_name = [' ' * int(longest_start_string - num_of_spaces) for num_of_spaces in second_spaces_lens_list]
    return alias_start_strings, spaces_strings_after_alias_name, commands_list
def aliasformalist():
    '''
    colors and formats to be pretty and readable
    '''
    
    alias_data = alias_from_stdin()
    for triple_start_tuple, second_spaces, command_name_command_args_tuple in zip(alias_data[0], alias_data[1], alias_data[2]):
        pos, first_spaces, alias_name = triple_start_tuple
        command_name, command_args     = command_name_command_args_tuple
        formatted_pos     = f'{Colors.magenta}{pos}{Colors.endc}'
        formatted_alias   = f'{Colors.cyan} {first_spaces}{alias_name}{second_spaces}{Colors.endc}'
        formatted_colon   = f'{Colors.green} : {Colors.endc}'
        formatted_command = f'{Colors.yellow}{command_name}{Colors.endc}'
        print(f'{formatted_pos}{formatted_alias}{formatted_colon}{formatted_command}', end=' ')
        
        if command_args is not None:
            # add different color if individiual arg starts with `-` or not
            formatted_args = []
            for arg in command_args:
                if arg != '':
                    if arg[0] == '-':
                        formatted_args.append(f'{Colors.magenta}{arg}{Colors.endc}')
                    else:
                        formatted_args.append(f'{Colors.blue}{arg}{Colors.endc}')
            print(' '.join(formatted_args))
            
        else:
            print(Colors.endc)
if __name__ == '__main__':
    script_path = sys.argv[0]     
    # help, or accept stdin
    help_or_not    = sys.argv[1] if len(sys.argv) > 1 else 'stdin' if not sys.stdin.isatty() else 'no-input'
    if help_or_not in {'-h', '--help', 'no-input'}:
        print(f'run\t`alias | {script_path}`')
        print(f'or add something like\n\t`alias al=\'alias | {script_path}\'` to ~/.bash_aliases (or wherever you defined where aliases can go)')    
        print('then run\n\t`source ~/.bash_aliases`')
        print(f'make sure {script_path} is executable')
        print('\nnow run `al`')
        
    elif help_or_not == 'stdin':
        aliasformalist()
    else:
        print('incorrect args format') 
        print(f'run `{script_path} --help` for more info')
        sys.exit(1)