文件操作 - disable.js
返回文件管理
返回主菜单
删除本文件
文件: /usr/share/atom/resources/app/apm/lib/disable.js
编辑文件内容
(function() { var CSON, Command, Disable, List, _, config, path, yargs; _ = require('underscore-plus'); path = require('path'); CSON = require('season'); yargs = require('yargs'); config = require('./apm'); Command = require('./command'); List = require('./list'); module.exports = Disable = (function() { class Disable extends Command { parseOptions(argv) { var options; options = yargs(argv).wrap(Math.min(100, yargs.terminalWidth())); options.usage("\nUsage: apm disable [<package_name>]...\n\nDisables the named package(s)."); return options.alias('h', 'help').describe('help', 'Print this usage message'); } getInstalledPackages(callback) { var lister, options; options = { argv: { theme: false, bare: true } }; lister = new List(); return lister.listBundledPackages(options, function(error, core_packages) { return lister.listDevPackages(options, function(error, dev_packages) { return lister.listUserPackages(options, function(error, user_packages) { return callback(null, core_packages.concat(dev_packages, user_packages)); }); }); }); } run(options) { var callback, configFilePath, error, packageNames, settings; ({callback} = options); options = this.parseOptions(options.commandArgs); packageNames = this.packageNamesFromArgv(options.argv); configFilePath = CSON.resolve(path.join(config.getAtomDirectory(), 'config')); if (!configFilePath) { callback("Could not find config.cson. Run Atom first?"); return; } try { settings = CSON.readFileSync(configFilePath); } catch (error1) { error = error1; callback(`Failed to load \`${configFilePath}\`: ${error.message}`); return; } return this.getInstalledPackages((error, installedPackages) => { var disabledPackages, installedPackageNames, keyPath, pkg, ref, result, uninstalledPackageNames; if (error) { return callback(error); } installedPackageNames = (function() { var i, len, results; results = []; for (i = 0, len = installedPackages.length; i < len; i++) { pkg = installedPackages[i]; results.push(pkg.name); } return results; })(); // uninstalledPackages = (name for name in packageNames when !installedPackageNames[name]) uninstalledPackageNames = _.difference(packageNames, installedPackageNames); if (uninstalledPackageNames.length > 0) { console.log(`Not Installed:\n ${uninstalledPackageNames.join('\n ')}`); } // only installed packages can be disabled packageNames = _.difference(packageNames, uninstalledPackageNames); if (packageNames.length === 0) { callback("Please specify a package to disable"); return; } keyPath = '*.core.disabledPackages'; disabledPackages = (ref = _.valueForKeyPath(settings, keyPath)) != null ? ref : []; result = _.union(disabledPackages, packageNames); _.setValueForKeyPath(settings, keyPath, result); try { CSON.writeFileSync(configFilePath, settings); } catch (error1) { error = error1; callback(`Failed to save \`${configFilePath}\`: ${error.message}`); return; } console.log(`Disabled:\n ${packageNames.join('\n ')}`); this.logSuccess(); return callback(); }); } }; Disable.commandNames = ['disable']; return Disable; }).call(this); }).call(this);
修改文件时间
将文件时间修改为当前时间的前一年
删除文件