def _clean_cmd()

in preprocessing.py [0:0]


def _clean_cmd(node):
    if node.kind.upper() == 'COMMANDSUBSTITUTION':
        r = ' $(' + node.value
        r += ' '.join([_clean_cmd(child) for child in node.children])
        r += ')'
        return r

    if node.kind.upper() == 'PROCESSSUBSTITUTION':
        r = ' ' + node.value + '('
        r += ' '.join([_clean_cmd(child) for child in node.children])
        r += ')'
        return r

    if node.kind.upper() == 'PIPELINE':
        r = '|'.join([_clean_cmd(child) for child in node.children])
        return r

    r = ' ' + node.value
    if node.kind.upper() == 'ARGUMENT':
        r = ' ARG'
    r += ' '.join([_clean_cmd(child) for child in node.children])
    if '::;' in node.value:
        r += ' \;'
    if '::+' in node.value:
        r += ' \+'

    return r