提交 27568c03 编写于 作者: A Alex Dima

Extract SnippetController to its own file

上级 cfe6a58d
......@@ -23,7 +23,8 @@ import * as editorCommon from 'vs/editor/common/editorCommon';
import {editorAction, ServicesAccessor, EditorAction} from 'vs/editor/common/editorCommonExtensions';
import {ICodeEditor, IOverlayWidget, IOverlayWidgetPosition, OverlayWidgetPositionPreference} from 'vs/editor/browser/editorBrowser';
import {EditorBrowserRegistry} from 'vs/editor/browser/editorBrowserExtensions';
import {CodeSnippet, getSnippetController} from 'vs/editor/contrib/snippet/common/snippet';
import {CodeSnippet} from 'vs/editor/contrib/snippet/common/snippet';
import {SnippetController} from 'vs/editor/contrib/snippet/common/snippetController';
import {SmartSnippetInserter} from 'vs/editor/contrib/defineKeybinding/common/smartSnippetInserter';
import EditorContextKeys = editorCommon.EditorContextKeys;
......@@ -116,7 +117,7 @@ export class DefineKeybindingController implements editorCommon.IEditorContribut
snippetText = smartInsertInfo.prepend + snippetText + smartInsertInfo.append;
this._editor.setPosition(smartInsertInfo.position);
getSnippetController(this._editor).run(new CodeSnippet(snippetText), 0, 0);
SnippetController.get(this._editor).run(new CodeSnippet(snippetText), 0, 0);
}
private _onModel(): void {
......
......@@ -15,7 +15,8 @@ import { editorAction, ServicesAccessor, EditorAction, EditorCommand, CommonEdit
import { ICodeEditor } from 'vs/editor/browser/editorBrowser';
import { EditorBrowserRegistry } from 'vs/editor/browser/editorBrowserExtensions';
import { EditOperation } from 'vs/editor/common/core/editOperation';
import { getSnippetController, CodeSnippet } from 'vs/editor/contrib/snippet/common/snippet';
import { CodeSnippet } from 'vs/editor/contrib/snippet/common/snippet';
import { SnippetController } from 'vs/editor/contrib/snippet/common/snippetController';
import { Context as SuggestContext } from 'vs/editor/contrib/suggest/common/suggest';
import { SuggestModel } from '../common/suggestModel';
import { CompletionItem } from '../common/completionModel';
......@@ -83,7 +84,7 @@ export class SuggestController implements IEditorContribution {
this.editor.pushUndoStop();
}
getSnippetController(this.editor).run(
SnippetController.get(this.editor).run(
new CodeSnippet(insertText),
overwriteBefore + columnDelta,
overwriteAfter,
......
......@@ -13,7 +13,8 @@ import {Registry} from 'vs/platform/platform';
import {IDisposable} from 'vs/base/common/lifecycle';
import * as editorCommon from 'vs/editor/common/editorCommon';
import {CommonEditorRegistry, EditorCommand} from 'vs/editor/common/editorCommonExtensions';
import {CodeSnippet, ISnippetController, getSnippetController} from 'vs/editor/contrib/snippet/common/snippet';
import {CodeSnippet} from 'vs/editor/contrib/snippet/common/snippet';
import {SnippetController} from 'vs/editor/contrib/snippet/common/snippetController';
import EditorContextKeys = editorCommon.EditorContextKeys;
......@@ -28,7 +29,7 @@ class TabCompletionController implements editorCommon.IEditorContribution {
return editor.getContribution<TabCompletionController>(TabCompletionController.ID);
}
private _snippetController: ISnippetController;
private _snippetController: SnippetController;
private _cursorChangeSubscription: IDisposable;
private _currentSnippets: ISnippet[] = [];
......@@ -36,7 +37,7 @@ class TabCompletionController implements editorCommon.IEditorContribution {
editor: editorCommon.ICommonCodeEditor,
@IContextKeyService contextKeyService: IContextKeyService
) {
this._snippetController = getSnippetController(editor);
this._snippetController = SnippetController.get(editor);
const hasSnippets = TabCompletionController.ContextKey.bindTo(contextKeyService);
this._cursorChangeSubscription = editor.onDidChangeCursorSelection(e => {
......
......@@ -9,7 +9,8 @@ import {Registry} from 'vs/platform/platform';
import {TPromise} from 'vs/base/common/winjs.base';
import {ICommonCodeEditor, EditorContextKeys} from 'vs/editor/common/editorCommon';
import {editorAction, ServicesAccessor, EditorAction} from 'vs/editor/common/editorCommonExtensions';
import {getSnippetController, CodeSnippet} from 'vs/editor/contrib/snippet/common/snippet';
import {CodeSnippet} from 'vs/editor/contrib/snippet/common/snippet';
import {SnippetController} from 'vs/editor/contrib/snippet/common/snippetController';
import {IQuickOpenService, IPickOpenEntry} from 'vs/workbench/services/quickopen/common/quickOpenService';
import {ISnippetsRegistry, Extensions, ISnippet} from 'vs/editor/common/modes/snippetsRegistry';
......@@ -48,7 +49,7 @@ class ShowSnippetsActions extends EditorAction {
return quickOpenService.pick(picks).then(pick => {
if (pick) {
getSnippetController(editor).run(new CodeSnippet(pick.snippet.codeSnippet), 0, 0);
SnippetController.get(editor).run(new CodeSnippet(pick.snippet.codeSnippet), 0, 0);
}
});
}
......
......@@ -9,6 +9,7 @@ import {IPosition, ICommonCodeEditor} from 'vs/editor/common/editorCommon';
import strings = require('vs/base/common/strings');
import snippets = require('vs/editor/contrib/snippet/common/snippet');
import {Range} from 'vs/editor/common/core/range';
import {SnippetController} from 'vs/editor/contrib/snippet/common/snippetController';
import emmet = require('emmet');
......@@ -88,7 +89,7 @@ export class EditorAccessor implements emmet.Editor {
let range = new Range(startPosition.lineNumber, startPosition.column, endPosition.lineNumber, endPosition.column);
let snippet = snippets.CodeSnippet.convertExternalSnippet(value, snippets.ExternalSnippetType.EmmetSnippet);
let codeSnippet = new snippets.CodeSnippet(snippet);
snippets.getSnippetController(this.editor).runWithReplaceRange(codeSnippet, range, false);
SnippetController.get(this.editor).runWithReplaceRange(codeSnippet, range, false);
}
public onAfterEmmetAction(): void {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册