UNPKG

@feedoom/nls

Version:

The colorful ls command

38 lines (33 loc) 973 B
const fs = require("fs").promises const fileStats = require("./fileStats") const fileToString = require('./fileToString') const path = require('path') const ignores = require('./ignores') /* 读取一个文件夹 */ async function readOneDir(currentPath, argvs, isIgnores, gitStatus) { const fullPath = path.resolve(currentPath) let files = null try { files = await fs.readdir(fullPath) } catch (err) { // 不是文件夹,可能是一个文件 try { let filesStats = await fileStats([currentPath], argvs) return fileToString(filesStats, argvs, isIgnores) } catch(err) { // 不存在的文件 return Promise.reject(err) } } if(files.length === 0) { // 空文件夹 return [] } else { files = files.map(item => path.join(currentPath, item)) let filesStats = await fileStats(files, argvs, true) return fileToString(filesStats, argvs, isIgnores, gitStatus) } } module.exports = readOneDir