Limit argument parsing when --url-handler is set

This commit is contained in:
Michelle Tilley
2017-09-21 14:50:41 -07:00
parent 7ac071d622
commit c52d517d13
2 changed files with 48 additions and 3 deletions

View File

@@ -58,8 +58,18 @@ module.exports = function parseCommandLine (processArgs) {
options.string('user-data-dir')
options.boolean('clear-window-state').describe('clear-window-state', 'Delete all Atom environment state.')
options.boolean('enable-electron-logging').describe('enable-electron-logging', 'Enable low-level logging messages from Electron.')
options.boolean('url-handler')
const args = options.argv
let args = options.argv
// If --url-handler is set, then we parse NOTHING else
if (args.urlHandler) {
args = {
urlHandler: true,
'url-handler': true,
_: args._
}
}
if (args.help) {
process.stdout.write(options.help())
@@ -101,8 +111,8 @@ module.exports = function parseCommandLine (processArgs) {
const userDataDir = args['user-data-dir']
const profileStartup = args['profile-startup']
const clearWindowState = args['clear-window-state']
const pathsToOpen = []
const urlsToOpen = []
let pathsToOpen = []
let urlsToOpen = []
let devMode = args['dev']
let devResourcePath = process.env.ATOM_DEV_RESOURCE_PATH || path.join(app.getPath('home'), 'github', 'atom')
let resourcePath = null
@@ -115,6 +125,14 @@ module.exports = function parseCommandLine (processArgs) {
}
}
// When performing as a URL handler, only accept one URL and no paths
if (args.urlHandler) {
pathsToOpen = []
if (urlsToOpen.length > 1) {
urlsToOpen.length = 1
}
}
if (args['resource-path']) {
devMode = true
devResourcePath = args['resource-path']