@@ -4,12 +4,10 @@ import {
44 FileSystem ,
55 Hats ,
66 IDE ,
7+ ScopeProvider ,
78} from "@cursorless/common" ;
89import { StoredTargetMap , TestCaseRecorder , TreeSitter } from "." ;
910import { CursorlessEngine } from "./api/CursorlessEngineApi" ;
10- import { ScopeProvider } from "./api/ScopeProvider" ;
11- import { ScopeRangeProvider } from "./ScopeVisualizer/ScopeRangeProvider" ;
12- import { ScopeSupportChecker } from "./ScopeVisualizer/ScopeSupportChecker" ;
1311import { Debug } from "./core/Debug" ;
1412import { HatTokenMapImpl } from "./core/HatTokenMapImpl" ;
1513import { Snippets } from "./core/Snippets" ;
@@ -21,9 +19,13 @@ import { ModifierStageFactoryImpl } from "./processTargets/ModifierStageFactoryI
2119import { ScopeHandlerFactoryImpl } from "./processTargets/modifiers/scopeHandlers" ;
2220import { runCommand } from "./runCommand" ;
2321import { runIntegrationTests } from "./runIntegrationTests" ;
22+ import { ScopeInfoProvider } from "./scopeProviders/ScopeInfoProvider" ;
23+ import { ScopeRangeProvider } from "./scopeProviders/ScopeRangeProvider" ;
24+ import { ScopeRangeWatcher } from "./scopeProviders/ScopeRangeWatcher" ;
25+ import { ScopeSupportChecker } from "./scopeProviders/ScopeSupportChecker" ;
26+ import { ScopeSupportWatcher } from "./scopeProviders/ScopeSupportWatcher" ;
2427import { TalonSpokenFormsJsonReader } from "./nodeCommon/TalonSpokenFormsJsonReader" ;
2528import { injectIde } from "./singletons/ide.singleton" ;
26- import { ScopeRangeWatcher } from "./ScopeVisualizer/ScopeRangeWatcher" ;
2729
2830export function createCursorlessEngine (
2931 treeSitter : TreeSitter ,
@@ -93,7 +95,11 @@ export function createCursorlessEngine(
9395 ) ;
9496 } ,
9597 } ,
96- scopeProvider : createScopeProvider ( languageDefinitions , storedTargets ) ,
98+ scopeProvider : createScopeProvider (
99+ languageDefinitions ,
100+ storedTargets ,
101+ customSpokenFormGenerator ,
102+ ) ,
97103 customSpokenFormGenerator,
98104 testCaseRecorder,
99105 storedTargets,
@@ -109,6 +115,7 @@ export function createCursorlessEngine(
109115function createScopeProvider (
110116 languageDefinitions : LanguageDefinitions ,
111117 storedTargets : StoredTargetMap ,
118+ customSpokenFormGenerator : CustomSpokenFormGeneratorImpl ,
112119) : ScopeProvider {
113120 const scopeHandlerFactory = new ScopeHandlerFactoryImpl ( languageDefinitions ) ;
114121
@@ -126,6 +133,12 @@ function createScopeProvider(
126133 rangeProvider ,
127134 ) ;
128135 const supportChecker = new ScopeSupportChecker ( scopeHandlerFactory ) ;
136+ const infoProvider = new ScopeInfoProvider ( customSpokenFormGenerator ) ;
137+ const supportWatcher = new ScopeSupportWatcher (
138+ languageDefinitions ,
139+ supportChecker ,
140+ infoProvider ,
141+ ) ;
129142
130143 return {
131144 provideScopeRanges : rangeProvider . provideScopeRanges ,
@@ -135,5 +148,8 @@ function createScopeProvider(
135148 rangeWatcher . onDidChangeIterationScopeRanges ,
136149 getScopeSupport : supportChecker . getScopeSupport ,
137150 getIterationScopeSupport : supportChecker . getIterationScopeSupport ,
151+ onDidChangeScopeSupport : supportWatcher . onDidChangeScopeSupport ,
152+ getScopeInfo : infoProvider . getScopeTypeInfo ,
153+ onDidChangeScopeInfo : infoProvider . onDidChangeScopeInfo ,
138154 } ;
139155}
0 commit comments