Skip to content

Commit f47e246

Browse files
committed
feat(series-analyzer): implement series analysis and diagnostics worker
- Add SeriesAnalyzer class for analyzing series-typed occurrences. - Introduce seriesFilter module for matching rules and span indexing. - Create smoke tests for checker and LSP diagnostics. - Enhance pyright smoke tests to validate series access filtering.
1 parent cf32061 commit f47e246

14 files changed

Lines changed: 2366 additions & 56 deletions

.vscodeignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
.github/**
22
.claude/**
3+
work/**
34
src/**
45
test/**
56
node_modules/**

esbuild.mjs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ const watch = process.argv.includes('--watch');
77
const smoke = process.argv.includes('--smoke');
88
const smokePinels = process.argv.includes('--smoke-pinels');
99
const smokePyright = process.argv.includes('--smoke-pyright');
10+
const smokeChecker = process.argv.includes('--smoke-checker');
1011

1112
const common = {
1213
bundle: true,
@@ -80,6 +81,13 @@ if (smoke) {
8081
outfile: 'dist/pyright-smoke.js',
8182
minify: false,
8283
});
84+
} else if (smokeChecker) {
85+
await esbuild.build({
86+
...common,
87+
entryPoints: ['test/smoke/checkerSmoke.ts'],
88+
outfile: 'dist/checker-smoke.js',
89+
minify: false,
90+
});
8391
} else {
8492
copyPyright();
8593

package.json

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -371,6 +371,12 @@
371371
"scope": "machine",
372372
"markdownDescription": "Run the bundled pyright language server for Python files in Pyne workspaces (typing diagnostics without Pylance). Automatically stays off when Pylance, Pyright or BasedPyright is installed."
373373
},
374+
"pyneide.checker.enabled": {
375+
"type": "boolean",
376+
"default": true,
377+
"scope": "machine",
378+
"markdownDescription": "Enable the Pyne script checker (structure diagnostics for `@pyne` scripts: `main()` presence, `@script` decorator, Series/Persistent scope rules, request.security constraints)."
379+
},
374380
"pyneide.pineLs.enabled": {
375381
"type": "boolean",
376382
"default": true,
@@ -473,6 +479,7 @@
473479
"test:env": "node esbuild.mjs --smoke && node dist/env-smoke.js",
474480
"test:pinels": "node esbuild.mjs --smoke-pinels && node dist/pinels-smoke.js",
475481
"test:pyright": "node esbuild.mjs --smoke-pyright && node dist/pyright-smoke.js",
482+
"test:checker": "node esbuild.mjs --smoke-checker && node dist/checker-smoke.js",
476483
"vscode:prepublish": "npm run build",
477484
"prepackage": "node -e \"require('fs').mkdirSync('build',{recursive:true})\"",
478485
"package": "vsce package --out build/"

0 commit comments

Comments
 (0)