mirror of
https://github.com/Microsoft/vscode
synced 2024-10-12 06:17:18 +00:00
avoid cursor move forward using a snippet cursor
This commit is contained in:
parent
1f9d809e35
commit
a832497526
|
@ -3,7 +3,7 @@
|
|||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
import { window, workspace, Disposable, TextDocument, Position, SnippetString, TextDocumentChangeEvent, TextDocumentChangeReason, Selection, TextDocumentContentChangeEvent } from 'vscode';
|
||||
import { window, workspace, Disposable, TextDocument, Position, SnippetString, TextDocumentChangeEvent, TextDocumentChangeReason, TextDocumentContentChangeEvent } from 'vscode';
|
||||
import { Runtime } from './htmlClient';
|
||||
|
||||
export function activateAutoInsertion(provider: (kind: 'autoQuote' | 'autoClose', document: TextDocument, position: Position) => Thenable<string>, supportedLanguages: { [id: string]: boolean }, runtime: Runtime): Disposable {
|
||||
|
@ -36,8 +36,9 @@ export function activateAutoInsertion(provider: (kind: 'autoQuote' | 'autoClose'
|
|||
if (!supportedLanguages[document.languageId]) {
|
||||
return;
|
||||
}
|
||||
isEnabled['autoQuote'] = workspace.getConfiguration(undefined, document.uri).get<boolean>('html.autoCreateQuotes') ?? false;
|
||||
isEnabled['autoClose'] = workspace.getConfiguration(undefined, document.uri).get<boolean>('html.autoClosingTags') ?? false;
|
||||
const configurations = workspace.getConfiguration(undefined, document.uri);
|
||||
isEnabled['autoQuote'] = configurations.get<boolean>('html.autoCreateQuotes') ?? false;
|
||||
isEnabled['autoClose'] = configurations.get<boolean>('html.autoClosingTags') ?? false;
|
||||
anyIsEnabled = isEnabled['autoQuote'] || isEnabled['autoClose'];
|
||||
}
|
||||
|
||||
|
@ -76,10 +77,6 @@ export function activateAutoInsertion(provider: (kind: 'autoQuote' | 'autoClose'
|
|||
const selections = activeEditor.selections;
|
||||
if (selections.length && selections.some(s => s.active.isEqual(position))) {
|
||||
activeEditor.insertSnippet(new SnippetString(text), selections.map(s => s.active));
|
||||
if (kind === 'autoQuote') {
|
||||
// Move all cursors one forward
|
||||
activeEditor.selections = selections.map(s => new Selection(s.active.translate(0, 1), s.active.translate(0, 1)));
|
||||
}
|
||||
} else {
|
||||
activeEditor.insertSnippet(new SnippetString(text), position);
|
||||
}
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
"main": "./out/node/htmlServerMain",
|
||||
"dependencies": {
|
||||
"vscode-css-languageservice": "^5.1.9",
|
||||
"vscode-html-languageservice": "^4.2.0",
|
||||
"vscode-html-languageservice": "^4.2.1",
|
||||
"vscode-languageserver": "^7.0.0",
|
||||
"vscode-languageserver-textdocument": "^1.0.1",
|
||||
"vscode-nls": "^5.0.0",
|
||||
|
|
|
@ -22,10 +22,10 @@ vscode-css-languageservice@^5.1.9:
|
|||
vscode-nls "^5.0.0"
|
||||
vscode-uri "^3.0.2"
|
||||
|
||||
vscode-html-languageservice@^4.2.0:
|
||||
version "4.2.0"
|
||||
resolved "https://registry.yarnpkg.com/vscode-html-languageservice/-/vscode-html-languageservice-4.2.0.tgz#87ea1c659b40ae0b6f6627df75e5d25650977d30"
|
||||
integrity sha512-5ebk/5kMa7PrCPL3JuP27vo8h+coDgSkMP14pSlKz3ISXZxHm+nnCenhVrpy9Ayamtwb28YXeQuN8AqNQH8kVQ==
|
||||
vscode-html-languageservice@^4.2.1:
|
||||
version "4.2.1"
|
||||
resolved "https://registry.yarnpkg.com/vscode-html-languageservice/-/vscode-html-languageservice-4.2.1.tgz#b95077cffd19bf187e53c7bf79e3e0dd7edbc7cf"
|
||||
integrity sha512-PgaToZVXJ44nFWEBuSINdDgVV6EnpC3MnXBsysR3O5TKcAfywbYeRGRy+Y4dVR7YeUgDvtb+JkJoSkaYC0mxXQ==
|
||||
dependencies:
|
||||
vscode-languageserver-textdocument "^1.0.1"
|
||||
vscode-languageserver-types "^3.16.0"
|
||||
|
|
Loading…
Reference in a new issue