✨ feat(vscode): 代码阅读标出项目写明的入口文件和入口函数
This commit is contained in:
1 parent
78d5748b81
commit
718bbb7f6c
19 files changed
+761
-83
No files matched your search
@@ -38,14 +38,18 @@ function workspaceFile(uri: Uri): { file: WorkspaceFile, folder: WorkspaceFolder
|
||||
return { folder, file: { uri: uri.toString(), folder: folder.uri.toString(), path: path.posix.relative(folder.uri.path, uri.path) } }
|
||||
}
|
||||
|
||||
/** 这个工作区文件夹里还要跳过的(嵌套的 checkout、忽略文件忽略的),见 folderScope;忽略文件按 search.useIgnoreFiles。 */
|
||||
function scopeOf(folder: WorkspaceFolder): ReturnType<typeof folderScope> {
|
||||
/** 读这个工作区文件夹里的文件(路径相对它、`/` 分隔)。 */
|
||||
export function folderReader(folder: WorkspaceFolder): FolderReader {
|
||||
const at = (path: string): Uri => Uri.joinPath(folder.uri, path)
|
||||
const reader: FolderReader = {
|
||||
return {
|
||||
exists: path => Promise.resolve(workspace.fs.stat(at(path))).then(() => true, () => false),
|
||||
read: path => Promise.resolve(workspace.fs.readFile(at(path))).then(bytes => new TextDecoder('utf-8').decode(bytes), () => undefined),
|
||||
}
|
||||
return folderScope(reader, workspace.getConfiguration('search', folder.uri).get<boolean>('useIgnoreFiles', true))
|
||||
}
|
||||
|
||||
/** 这个工作区文件夹里还要跳过的(嵌套的 checkout、忽略文件忽略的),见 folderScope;忽略文件按 search.useIgnoreFiles。 */
|
||||
function scopeOf(folder: WorkspaceFolder): ReturnType<typeof folderScope> {
|
||||
return folderScope(folderReader(folder), workspace.getConfiguration('search', folder.uri).get<boolean>('useIgnoreFiles', true))
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in new issue
Block a user