def shell_config(shell):
    """
    Returns a dict in the following form, depending on the given shell:
    return {
        'prefix': '<preffix-to-use>',
        'suffix': 'suffix-to-use',
        'delimiter': '<delimiter-to-use>',
    }
    Logic from Docker Machine:
    https://github.com/docker/machine/blob/master/commands/env.go#L125
    """
    if shell == 'fish':
        return {'prefix': 'set -gx ', 'suffix': '";\n', 'delimiter': ' "'}
    elif shell == 'powershell':
        return {'prefix': '$Env:', 'suffix': '"\n', 'delimiter': ' = "'}
    elif shell == 'cmd':
        return {'prefix': 'SET ', 'suffix': '\n', 'delimiter': '='}
    elif shell == 'tcsh':
        return {'prefix': 'setenv ', 'suffix': '";\n', 'delimiter': ' "'}
    elif shell == 'emacs':
        return {'prefix': '(setenv "', 'suffix': '")\n', 'delimiter': '" "'}
    else:
        return {'prefix': 'export ', 'suffix': '"\n', 'delimiter': '="'}
