Files
Viper_VSCode/packages
TermiNexus 90f4118603 feat(vipeye-internal): 支持 static 修饰符(禁止跨模块取参)与 f-string 前缀高亮
- static 是软关键字:`static def f` / `static fn f`(走 virtual 同一机制,记在
  FunctionNode.d.viperModifier)与 `static x: T = v`(注解脱糖为 `t.CStatic | T`,
  与 TPC _parse_type_ann 同形,展示为 `static int`)。其余位置仍是普通标识符
  (`static = 1` / `static: int` / `static(x)` / `def f(static: int)`)。
- 语义 = C 的 internal linkage:跨模块取参报错。两处拦截:模块成员访问
  (`mod.name` / `mod.fn()`)与 `from mod import name`;按声明所在文件判定,
  同模块自引用/自导入放行。新增诊断 viperStaticUsedOutsideOfModule(zh-cn/en-us)。
  判据 parseTreeUtils.isViperStaticDeclarationNode 供两处共用。
- static 并入补全关键字与 TextMate 修饰符高亮。
- f-string 的 r/u/b/f 前缀以 storage.type.string.viper 高亮(默认深色主题下为蓝色),
  之前该前缀不在字符串范围内、无任何规则命中,显示为白色。
- 新增 viperStaticModifier.test.ts(4 用例);全量 jest 796 → 800 通过。
2026-09-27 13:19:57 +08:00
..