@feedoom/nls
Version:
The colorful ls command
38 lines (33 loc) • 973 B
JavaScript
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