mirror of
https://github.com/marktext/marktext.git
synced 2025-05-02 11:32:13 +08:00

Replaced the key manager by atom-keymap to support non-US keyboards and dead key translation on macOS and Windows. In addition, a GUI for key bindings was added.
35 lines
816 B
JavaScript
35 lines
816 B
JavaScript
import arg from 'arg'
|
|
|
|
/**
|
|
* Parse the given arguments or the default program arguments.
|
|
*
|
|
* @param {string[]} argv Arguments if null the default program arguments are used.
|
|
* @param {boolean} permissive If set to false an exception is throw about unknown flags.
|
|
* @returns {arg.Result} Parsed arguments
|
|
*/
|
|
const parseArgs = (argv = null, permissive = true) => {
|
|
if (argv === null) {
|
|
argv = process.argv.slice(1)
|
|
}
|
|
const spec = {
|
|
'--debug': Boolean,
|
|
'--safe': Boolean,
|
|
|
|
'--new-window': Boolean,
|
|
'-n': '--new-window',
|
|
|
|
'--disable-gpu': Boolean,
|
|
'--user-data-dir': String,
|
|
|
|
// Misc
|
|
'--help': Boolean,
|
|
'-h': '--help',
|
|
'--verbose': arg.COUNT,
|
|
'-v': '--verbose',
|
|
'--version': Boolean
|
|
}
|
|
return arg(spec, { argv, permissive })
|
|
}
|
|
|
|
export default parseArgs
|