fixed multi-command aliases, e.g. s -> b.g
made getExternalCommand async