Add lsif support

This commit is contained in:
Dirk Baeumer
2021-04-23 18:45:30 +02:00
parent 9179d60f00
commit 183bc5a557
4 changed files with 38 additions and 1 deletions

2
.gitignore vendored
View File

@ -4,3 +4,5 @@ Thumbs.db
*/node_modules/
*/out/
*/.vs/
*.lsif
*.db

30
.scripts/update-lsif.js Normal file
View File

@ -0,0 +1,30 @@
const fs = require('fs').promises;
const path = require('path');
const { samples, lspSamples } = require('./samples')
const root = path.join(__dirname, '..');
async function main() {
const references = [];
for (const sample of samples) {
try {
const stat = await fs.stat(path.join(root, sample.path, 'tsconfig.json'));
if (stat.isFile()) {
references.push(`../${sample.path}/tsconfig.json`);
}
} catch (error) {
// Ignore error of stat call.
}
}
const tsconfig = {
compilerOptions: {
},
files: [
],
references: references.map(reference => { return { path: reference }})
}
await fs.writeFile(path.join(root, '.lsif', 'tsconfig.json'), JSON.stringify(tsconfig, undefined, '\t'), { encoding: 'utf8' });
}
main().catch(console.error);

4
lsif.json Normal file
View File

@ -0,0 +1,4 @@
{
"project": ".lsif/tsconfig.json",
"out": "vscode-extension-samples.lsif"
}

View File

@ -8,6 +8,7 @@
"lint": "node .scripts/run-script.js lint",
"install": "node .scripts/run-command.js npm install",
"auditFix": "node .scripts/run-command.js npm audit fix",
"update-readme": "node .scripts/update-readme.js"
"update-readme": "node .scripts/update-readme.js",
"update-lsif": "node .scripts/update-lsif.js"
}
}