77
88import * as nls from 'vscode-nls' ;
99const localize = nls . loadMessageBundle ( ) ;
10+
1011import { ExtensionContext , workspace , window , Disposable , commands , Uri , OutputChannel } from 'vscode' ;
1112import { findGit , Git , IGit } from './git' ;
1213import { Model } from './model' ;
@@ -16,8 +17,9 @@ import { GitDecorations } from './decorationProvider';
1617import { Askpass } from './askpass' ;
1718import { toDisposable , filterEvent , eventToPromise } from './util' ;
1819import TelemetryReporter from 'vscode-extension-telemetry' ;
19- import { API , NoopAPIImpl , APIImpl } from './api' ;
20+ import { GitExtension } from './api' ;
2021import { GitProtocolHandler } from './protocolHandler' ;
22+ import { createGitExtension } from './api.impl' ;
2123
2224const deactivateTasks : { ( ) : Promise < any > ; } [ ] = [ ] ;
2325
@@ -69,7 +71,7 @@ async function createModel(context: ExtensionContext, outputChannel: OutputChann
6971 return model ;
7072}
7173
72- export async function activate ( context : ExtensionContext ) : Promise < API > {
74+ export async function activate ( context : ExtensionContext ) : Promise < GitExtension > {
7375 const disposables : Disposable [ ] = [ ] ;
7476 context . subscriptions . push ( new Disposable ( ( ) => Disposable . from ( ...disposables ) . dispose ( ) ) ) ;
7577
@@ -92,7 +94,7 @@ export async function activate(context: ExtensionContext): Promise<API> {
9294
9395 try {
9496 const model = await createModel ( context , outputChannel , telemetryReporter , disposables ) ;
95- return new APIImpl ( model ) ;
97+ return createGitExtension ( model ) ;
9698 } catch ( err ) {
9799 if ( ! / G i t i n s t a l l a t i o n n o t f o u n d / . test ( err . message || '' ) ) {
98100 throw err ;
@@ -121,7 +123,7 @@ export async function activate(context: ExtensionContext): Promise<API> {
121123 }
122124 }
123125
124- return new NoopAPIImpl ( ) ;
126+ return createGitExtension ( ) ;
125127 }
126128}
127129
0 commit comments