()
| 215 | |
| 216 | // converts aliases grouped by package to a flat list of aliases |
| 217 | private async makeAllAliases(): Promise<rHelp.Alias[] | undefined> { |
| 218 | // get aliases from R (nested format) |
| 219 | const allPackageAliases = await this.getAliasesFromR(); |
| 220 | if(!allPackageAliases){ |
| 221 | return undefined; |
| 222 | } |
| 223 | |
| 224 | // flatten aliases into one list: |
| 225 | const allAliases: rHelp.Alias[] = []; |
| 226 | for (const pkg in allPackageAliases) { |
| 227 | const item = allPackageAliases[pkg]; |
| 228 | const pkgName = item.package || pkg; |
| 229 | |
| 230 | if (item.error) { |
| 231 | void window.showErrorMessage(`An error occurred while reading the aliases file for package ${pkgName}: ${item.error}. The package files may be corrupted. Try reinstalling the package.`); |
| 232 | continue; |
| 233 | } |
| 234 | |
| 235 | const pkgAliases = item.aliases || {}; |
| 236 | for(const fncName in pkgAliases){ |
| 237 | allAliases.push({ |
| 238 | name: pkgAliases[fncName], |
| 239 | alias: fncName, |
| 240 | package: pkgName |
| 241 | }); |
| 242 | } |
| 243 | } |
| 244 | return allAliases; |
| 245 | } |
| 246 | |
| 247 | // call R script `getAliases.R` and parse the output |
| 248 | private async getAliasesFromR(): Promise<undefined | AllPackageAliases> { |
no test coverage detected