Example #1
0
 .then(() => {
     if (content) {
         return window.activeTextEditor.edit(editBuilder => {
             editBuilder.insert(new Position(0, 0), content);
         });
     }
 });
function addImportStatementToCurrentFile(item: QuickPickItem, config: Config) {
    const statementES6 = `import {} from ${config.importQuotes}${item.label}${config.importQuotes}${config.importLinebreak}`;
    const statementRequire = `${config.importDeclarationType} ${guessVariableName(item.label)} = require(${config.importQuotes}${item.label}${config.importQuotes})${config.importLinebreak}`;
    const statement = config.importES6 ? statementES6 : statementRequire;
    const insertLocation = window.activeTextEditor.selection.start;
    window.activeTextEditor.edit(edit => edit.insert(insertLocation, statement));
}
    public async complete(): Promise<void> {
        if (this.langClient === undefined) {
            return;
        }

        const triggerStartPos = this.lastChangeRange.start;
        const doc = this.lastDocument;

        const result = await this.langClient.sendRequest(CommentHelpRequestType, {
            documentUri: doc.uri.toString(),
            triggerPosition: triggerStartPos,
            blockComment: this.settings.helpCompletion === Settings.HelpCompletion.BlockComment,
        });

        if (!(result && result.content)) {
            return;
        }

        const replaceRange = new Range(triggerStartPos.translate(0, -1), triggerStartPos.translate(0, 1));

        // TODO add indentation level to the help content
        // Trim leading whitespace (used by the rule for indentation) as VSCode takes care of the indentation.
        // Trim the last empty line and join the strings.
        const lines: string[] = result.content;
        const text = lines
            .map((x) => (x as any).trimLeft())
            .join(this.getEOL(doc.eol));

        const snippetString = new SnippetString(text);

        window.activeTextEditor.insertSnippet(snippetString, replaceRange);
    }
Example #4
0
			tagProvider(document, position).then(text => {
				if (text && isEnabled) {
					let activeDocument = window.activeTextEditor && window.activeTextEditor.document;
					if (document === activeDocument && activeDocument.version === version) {
						window.activeTextEditor.insertSnippet(new SnippetString(text), position);
					}
				}
			});
Example #5
0
 private async moveCaretDown() {
     // Take focus back to the editor
     window.activeTextEditor.show();
     const selectionEmpty = window.activeTextEditor.selection.isEmpty;
     if (selectionEmpty) {
         await commands.executeCommand("cursorMove",
             {
                 by: "line",
                 to: "down",
             });
     }
 }
function toggle(lines: TextLine[], check: string = ';') {
    let firstToggle = -1; // -1 = not yet, 0 = remove, 1 = insert
    window.activeTextEditor.edit((editBuilder) => {
        lines.forEach(line => {
            let found = line.text.slice(-1 * check.length) === check;
            let shouldRemove = (follow && found && firstToggle !== 1) || (!follow && found);
            let shouldInsert = (follow && !found && firstToggle !== 0) || (!follow && !found);
            shouldRemove && remove(editBuilder, line, check);
            !shouldRemove && shouldInsert && insert(editBuilder, line, check);
            firstToggle = firstToggle === -1 ? found ? 0 : 1 : -1;
        });
    });
}
 textEdits.forEach((te) => {
     window.activeTextEditor.edit((textEditorEdit: TextEditorEdit) => {
         textEditorEdit.replace(te.range, te.newText);
     });
 });