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:
37
website/node_modules/pstree.remy/lib/index.js
generated
vendored
Normal file
37
website/node_modules/pstree.remy/lib/index.js
generated
vendored
Normal file
@@ -0,0 +1,37 @@
|
||||
const exec = require('child_process').exec;
|
||||
const tree = require('./tree');
|
||||
const utils = require('./utils');
|
||||
var hasPS = true;
|
||||
|
||||
// discover if the OS has `ps`, and therefore can use psTree
|
||||
exec('ps', (error) => {
|
||||
module.exports.hasPS = hasPS = !error;
|
||||
});
|
||||
|
||||
module.exports = function main(pid, callback) {
|
||||
if (typeof pid === 'number') {
|
||||
pid = pid.toString();
|
||||
}
|
||||
|
||||
if (hasPS && !process.env.NO_PS) {
|
||||
return tree(pid, callback);
|
||||
}
|
||||
|
||||
utils
|
||||
.getStat()
|
||||
.then(utils.tree)
|
||||
.then((tree) => utils.pidsForTree(tree, pid))
|
||||
.then((res) =>
|
||||
callback(
|
||||
null,
|
||||
res.map((p) => p.PID)
|
||||
)
|
||||
)
|
||||
.catch((error) => callback(error));
|
||||
};
|
||||
|
||||
if (!module.parent) {
|
||||
module.exports(process.argv[2], (e, pids) => console.log(pids));
|
||||
}
|
||||
|
||||
module.exports.hasPS = hasPS;
|
||||
37
website/node_modules/pstree.remy/lib/tree.js
generated
vendored
Normal file
37
website/node_modules/pstree.remy/lib/tree.js
generated
vendored
Normal file
@@ -0,0 +1,37 @@
|
||||
const spawn = require('child_process').spawn;
|
||||
|
||||
module.exports = function (rootPid, callback) {
|
||||
const pidsOfInterest = new Set([parseInt(rootPid, 10)]);
|
||||
var output = '';
|
||||
|
||||
// *nix
|
||||
const ps = spawn('ps', ['-A', '-o', 'ppid,pid']);
|
||||
ps.stdout.on('data', (data) => {
|
||||
output += data.toString('ascii');
|
||||
});
|
||||
|
||||
ps.on('close', () => {
|
||||
try {
|
||||
const res = output
|
||||
.split('\n')
|
||||
.slice(1)
|
||||
.map((_) => _.trim())
|
||||
.reduce((acc, line) => {
|
||||
const pids = line.split(/\s+/);
|
||||
const ppid = parseInt(pids[0], 10);
|
||||
|
||||
if (pidsOfInterest.has(ppid)) {
|
||||
const pid = parseInt(pids[1], 10);
|
||||
acc.push(pid);
|
||||
pidsOfInterest.add(pid);
|
||||
}
|
||||
|
||||
return acc;
|
||||
}, []);
|
||||
|
||||
callback(null, res);
|
||||
} catch (e) {
|
||||
callback(e, null);
|
||||
}
|
||||
});
|
||||
};
|
||||
53
website/node_modules/pstree.remy/lib/utils.js
generated
vendored
Normal file
53
website/node_modules/pstree.remy/lib/utils.js
generated
vendored
Normal file
@@ -0,0 +1,53 @@
|
||||
const spawn = require('child_process').spawn;
|
||||
|
||||
module.exports = { tree, pidsForTree, getStat };
|
||||
|
||||
function getStat() {
|
||||
return new Promise((resolve) => {
|
||||
const command = `ls /proc | grep -E '^[0-9]+$' | xargs -I{} cat /proc/{}/stat`;
|
||||
const spawned = spawn('sh', ['-c', command], {
|
||||
stdio: ['pipe', 'pipe', 'pipe'],
|
||||
});
|
||||
|
||||
var res = '';
|
||||
spawned.stdout.on('data', (data) => (res += data));
|
||||
spawned.on('close', () => resolve(res));
|
||||
});
|
||||
}
|
||||
|
||||
function template(s) {
|
||||
var stat = null;
|
||||
// 'pid', 'comm', 'state', 'ppid', 'pgrp'
|
||||
// %d (%s) %c %d %d
|
||||
s.replace(
|
||||
/(\d+) \((.*?)\)\s(.+?)\s(\d+)\s/g,
|
||||
(all, PID, COMMAND, STAT, PPID) => {
|
||||
stat = { PID, COMMAND, PPID, STAT };
|
||||
}
|
||||
);
|
||||
|
||||
return stat;
|
||||
}
|
||||
|
||||
function tree(stats) {
|
||||
const processes = stats.split('\n').map(template).filter(Boolean);
|
||||
|
||||
return processes;
|
||||
}
|
||||
|
||||
function pidsForTree(tree, pid) {
|
||||
if (typeof pid === 'number') {
|
||||
pid = pid.toString();
|
||||
}
|
||||
const parents = [pid];
|
||||
const pids = [];
|
||||
|
||||
tree.forEach((proc) => {
|
||||
if (parents.indexOf(proc.PPID) !== -1) {
|
||||
parents.push(proc.PID);
|
||||
pids.push(proc);
|
||||
}
|
||||
});
|
||||
|
||||
return pids;
|
||||
}
|
||||
Reference in New Issue
Block a user