commit: refactor option parsing