@@ -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,6 +95,11 @@ export function createCursorlessEngine(
9395 ) ;
9496 } ,
9597 } ,
98+ scopeProvider : createScopeProvider (
99+ languageDefinitions ,
100+ storedTargets ,
101+ customSpokenFormGenerator ,
102+ ) ,
96103 customSpokenFormGenerator,
97104 testCaseRecorder,
98105 storedTargets,
@@ -108,6 +115,7 @@ export function createCursorlessEngine(
108115function createScopeProvider (
109116 languageDefinitions : LanguageDefinitions ,
110117 storedTargets : StoredTargetMap ,
118+ customSpokenFormGenerator : CustomSpokenFormGeneratorImpl ,
111119) : ScopeProvider {
112120 const scopeHandlerFactory = new ScopeHandlerFactoryImpl ( languageDefinitions ) ;
113121
@@ -125,6 +133,12 @@ function createScopeProvider(
125133 rangeProvider ,
126134 ) ;
127135 const supportChecker = new ScopeSupportChecker ( scopeHandlerFactory ) ;
136+ const infoProvider = new ScopeInfoProvider ( customSpokenFormGenerator ) ;
137+ const supportWatcher = new ScopeSupportWatcher (
138+ languageDefinitions ,
139+ supportChecker ,
140+ infoProvider ,
141+ ) ;
128142
129143 return {
130144 provideScopeRanges : rangeProvider . provideScopeRanges ,
@@ -134,5 +148,8 @@ function createScopeProvider(
134148 rangeWatcher . onDidChangeIterationScopeRanges ,
135149 getScopeSupport : supportChecker . getScopeSupport ,
136150 getIterationScopeSupport : supportChecker . getIterationScopeSupport ,
151+ onDidChangeScopeSupport : supportWatcher . onDidChangeScopeSupport ,
152+ getScopeInfo : infoProvider . getScopeTypeInfo ,
153+ onDidChangeScopeInfo : infoProvider . onDidChangeScopeInfo ,
137154 } ;
138155}
0 commit comments