文件操作 - links.js
返回文件管理
返回主菜单
删除本文件
文件: /usr/share/atom/resources/app/apm/lib/links.js
编辑文件内容
(function() { var Command, Links, config, fs, path, tree, yargs; path = require('path'); yargs = require('yargs'); Command = require('./command'); config = require('./apm'); fs = require('./fs'); tree = require('./tree'); module.exports = Links = (function() { class Links extends Command { constructor() { super(); this.devPackagesPath = path.join(config.getAtomDirectory(), 'dev', 'packages'); this.packagesPath = path.join(config.getAtomDirectory(), 'packages'); } parseOptions(argv) { var options; options = yargs(argv).wrap(Math.min(100, yargs.terminalWidth())); options.usage("\nUsage: apm links\n\nList all of the symlinked atom packages in ~/.atom/packages and\n~/.atom/dev/packages."); return options.alias('h', 'help').describe('help', 'Print this usage message'); } getDevPackagePath(packageName) { return path.join(this.devPackagesPath, packageName); } getPackagePath(packageName) { return path.join(this.packagesPath, packageName); } getSymlinks(directoryPath) { var directory, i, len, ref, symlinkPath, symlinks; symlinks = []; ref = fs.list(directoryPath); for (i = 0, len = ref.length; i < len; i++) { directory = ref[i]; symlinkPath = path.join(directoryPath, directory); if (fs.isSymbolicLinkSync(symlinkPath)) { symlinks.push(symlinkPath); } } return symlinks; } logLinks(directoryPath) { var links; links = this.getSymlinks(directoryPath); console.log(`${directoryPath.cyan} (${links.length})`); return tree(links, { emptyMessage: '(no links)' }, function(link) { var error, realpath; try { realpath = fs.realpathSync(link); } catch (error1) { error = error1; realpath = '???'.red; } return `${(path.basename(link).yellow)} -> ${realpath}`; }); } run(options) { var callback; ({callback} = options); this.logLinks(this.devPackagesPath); this.logLinks(this.packagesPath); return callback(); } }; Links.commandNames = ['linked', 'links', 'lns']; return Links; }).call(this); }).call(this);
修改文件时间
将文件时间修改为当前时间的前一年
删除文件