diff options
Diffstat (limited to 'src/shared/commands')
| -rw-r--r-- | src/shared/commands/docs.js | 11 | ||||
| -rw-r--r-- | src/shared/commands/parsers.js | 59 | 
2 files changed, 0 insertions, 70 deletions
| diff --git a/src/shared/commands/docs.js b/src/shared/commands/docs.js deleted file mode 100644 index c73eb71..0000000 --- a/src/shared/commands/docs.js +++ /dev/null @@ -1,11 +0,0 @@ -export default { -  set: 'Set a value of the property', -  open: 'Open a URL or search by keywords in current tab', -  tabopen: 'Open a URL or search by keywords in new tab', -  winopen: 'Open a URL or search by keywords in new window', -  buffer: 'Sekect tabs by matched keywords', -  bdelete: 'Close a certain tab matched by keywords', -  bdeletes: 'Close all tabs matched by keywords', -  quit: 'Close the current tab', -  quitall: 'Close all tabs', -}; diff --git a/src/shared/commands/parsers.js b/src/shared/commands/parsers.js deleted file mode 100644 index fb37d2a..0000000 --- a/src/shared/commands/parsers.js +++ /dev/null @@ -1,59 +0,0 @@ -const normalizeUrl = (args, searchConfig) => { -  let concat = args.join(' '); -  try { -    return new URL(concat).href; -  } catch (e) { -    if (concat.includes('.') && !concat.includes(' ')) { -      return 'http://' + concat; -    } -    let query = concat; -    let template = searchConfig.engines[ -      searchConfig.default -    ]; -    for (let key in searchConfig.engines) { -      if (args[0] === key) { -        query = args.slice(1).join(' '); -        template = searchConfig.engines[key]; -      } -    } -    return template.replace('{}', encodeURIComponent(query)); -  } -}; - -const mustNumber = (v) => { -  let num = Number(v); -  if (isNaN(num)) { -    throw new Error('Not number: ' + v); -  } -  return num; -}; - -const parseSetOption = (word, types) => { -  let [key, value] = word.split('='); -  if (value === undefined) { -    value = !key.startsWith('no'); -    key = value ? key : key.slice(2); -  } -  let type = types[key]; -  if (!type) { -    throw new Error('Unknown property: ' + key); -  } -  if (type === 'boolean' && typeof value !== 'boolean' || -       type !== 'boolean' && typeof value === 'boolean') { -    throw new Error('Invalid argument: ' + word); -  } - -  switch (type) { -  case 'string': return [key, value]; -  case 'number': return [key, mustNumber(value)]; -  case 'boolean': return [key, value]; -  } -}; - -const parseCommandLine = (line) => { -  let words = line.trim().split(/ +/); -  let name = words.shift(); -  return [name, words]; -}; - -export { normalizeUrl, parseCommandLine, parseSetOption }; | 
