blob: 63e182bcf238b179014300903b1400bdfe20ed40 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
|
#!/usr/bin/env node
// Packages
const parse = require('arg')
const { red, grey, blue } = require('chalk')
const clipboardy = require('clipboardy')
// Utilities
const pkg = require('../package')
const convert = require('../')
const help = require('../lib/help')
// Parse the supplied commands and options
const { _, ...args } = parse({
'--version': Boolean,
'--help': Boolean,
'--no-copy': Boolean,
'--special': [String],
'-v': '--version',
'-h': '--help',
'-n': '--no-copy',
'-s': '--special'
})
// Output the package's version if
// the `--version was supplied
if (args['--version']) {
console.log(pkg.version)
process.exit(0)
}
if (args['--help']) {
console.log(help)
process.exit(0)
}
const main = async () => {
const sub = _.join(' ')
if (!sub) {
console.error(`${red('Error!')} Please specify an input: ${grey('title "input"')}`)
process.exit(1)
}
const specials = args['--special']
const output = convert(sub, { specials })
const copy = !args['--no-copy']
if (copy) {
try {
await clipboardy.write(output)
} catch (err) {
console.error(`${red('Error!')} Could not write to clipboard`)
process.exit(1)
}
}
console.log(`${output}${copy ? ' ' + blue('[copied]') : ''}`)
}
main()
|