chore: disable delete confirmation in VS Code explorer
Disable the confirmation dialog when deleting files in the VS Code explorer to streamline the development workflow and reduce friction during file management operations.
This commit is contained in:
112
website/node_modules/.bin/nodetouch
generated
vendored
Normal file
112
website/node_modules/.bin/nodetouch
generated
vendored
Normal file
@@ -0,0 +1,112 @@
|
||||
#!/usr/bin/env node
|
||||
const touch = require("../index.js")
|
||||
|
||||
const usage = code => {
|
||||
console[code ? 'error' : 'log'](
|
||||
'usage:\n' +
|
||||
'touch [-acfm] [-r file] [-t [[CC]YY]MMDDhhmm[.SS]] file ...'
|
||||
)
|
||||
process.exit(code)
|
||||
}
|
||||
|
||||
const singleFlags = {
|
||||
a: 'atime',
|
||||
m: 'mtime',
|
||||
c: 'nocreate',
|
||||
f: 'force'
|
||||
}
|
||||
|
||||
const singleOpts = {
|
||||
r: 'ref',
|
||||
t: 'time'
|
||||
}
|
||||
|
||||
const files = []
|
||||
const args = process.argv.slice(2)
|
||||
const options = {}
|
||||
for (let i = 0; i < args.length; i++) {
|
||||
const arg = args[i]
|
||||
if (!arg.match(/^-/)) {
|
||||
files.push(arg)
|
||||
continue
|
||||
}
|
||||
|
||||
// expand shorthands
|
||||
if (arg.charAt(1) !== '-') {
|
||||
const expand = []
|
||||
for (let f = 1; f < arg.length; f++) {
|
||||
const fc = arg.charAt(f)
|
||||
const sf = singleFlags[fc]
|
||||
const so = singleOpts[fc]
|
||||
if (sf)
|
||||
expand.push('--' + sf)
|
||||
else if (so) {
|
||||
const soslice = arg.slice(f + 1)
|
||||
const soval = soslice.charAt(0) === '=' ? soslice : '=' + soslice
|
||||
expand.push('--' + so + soval)
|
||||
f = arg.length
|
||||
} else if (arg !== '-' + fc)
|
||||
expand.push('-' + fc)
|
||||
}
|
||||
if (expand.length) {
|
||||
args.splice.apply(args, [i, 1].concat(expand))
|
||||
i--
|
||||
continue
|
||||
}
|
||||
}
|
||||
|
||||
const argsplit = arg.split('=')
|
||||
const key = argsplit.shift().replace(/^\-\-/, '')
|
||||
const val = argsplit.length ? argsplit.join('=') : null
|
||||
|
||||
switch (key) {
|
||||
case 'time':
|
||||
const timestr = val || args[++i]
|
||||
// [-t [[CC]YY]MMDDhhmm[.SS]]
|
||||
const parsedtime = timestr.match(
|
||||
/^(([0-9]{2})?([0-9]{2}))?([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})(\.([0-9]{2}))?$/
|
||||
)
|
||||
if (!parsedtime) {
|
||||
console.error('touch: out of range or illegal ' +
|
||||
'time specification: ' +
|
||||
'[[CC]YY]MMDDhhmm[.SS]')
|
||||
process.exit(1)
|
||||
} else {
|
||||
const y = +parsedtime[1]
|
||||
const year = parsedtime[2] ? y
|
||||
: y <= 68 ? 2000 + y
|
||||
: 1900 + y
|
||||
|
||||
const MM = +parsedtime[4] - 1
|
||||
const dd = +parsedtime[5]
|
||||
const hh = +parsedtime[6]
|
||||
const mm = +parsedtime[7]
|
||||
const ss = +parsedtime[8]
|
||||
|
||||
options.time = new Date(Date.UTC(year, MM, dd, hh, mm, ss))
|
||||
}
|
||||
continue
|
||||
|
||||
case 'ref':
|
||||
options.ref = val || args[++i]
|
||||
continue
|
||||
|
||||
case 'mtime':
|
||||
case 'nocreate':
|
||||
case 'atime':
|
||||
case 'force':
|
||||
options[key] = true
|
||||
continue
|
||||
|
||||
default:
|
||||
console.error('touch: illegal option -- ' + arg)
|
||||
usage(1)
|
||||
}
|
||||
}
|
||||
|
||||
if (!files.length)
|
||||
usage()
|
||||
|
||||
process.exitCode = 0
|
||||
Promise.all(files.map(f => touch(f, options)))
|
||||
.catch(er => process.exitCode = 1)
|
||||
Reference in New Issue
Block a user