当前位置: 首页>>代码示例>>TypeScript>>正文


TypeScript TextDocument.getText方法代码示例

本文整理汇总了TypeScript中vscode-languageserver.TextDocument.getText方法的典型用法代码示例。如果您正苦于以下问题:TypeScript TextDocument.getText方法的具体用法?TypeScript TextDocument.getText怎么用?TypeScript TextDocument.getText使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在vscode-languageserver.TextDocument的用法示例。


在下文中一共展示了TextDocument.getText方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。

示例1: nodeMcuSignatureHelpHandler

export function nodeMcuSignatureHelpHandler(remoteConsole: RemoteConsole, document: TextDocument, textDocumentPosition: TextDocumentPositionParams): SignatureHelp {
    remoteConsole.log("Server nodeMcuSignatureHelpHandler entered");

    let text = document.getText();
    let lineText = text.split(/\r?\n/g)[textDocumentPosition.position.line];

    let analyzeResult = analyze(lineText, textDocumentPosition.position);

    remoteConsole.log("Server nodeMcuSignatureHelpHandler word: " + JSON.stringify(analyzeResult));

    if (analyzeResult.inSignatureDefinition &&  analyzeResult.signatureName && analyzeResult.moduleName && api[analyzeResult.moduleName]) {
        let currentApi: CompletionItem[] = api[analyzeResult.moduleName];

        let filtered = currentApi.filter(function (value: CompletionItem, index: number, array: CompletionItem[]) {
            return value.label == analyzeResult.signatureName;
        });

        if (filtered.length > 0) {

            let signatureInfo: SignatureInformation = {
                label: filtered[0].detail,
                documentation: filtered[0].documentation
            };

            let result: SignatureHelp = {
                signatures: [signatureInfo],
            };

            return result;
        }
    }

    return null;
}
开发者ID:fduman,项目名称:vscode-nodemcu,代码行数:34,代码来源:nodeMcuSignatureHelpHandler.ts

示例2: validateTextDocumentAsync

export function validateTextDocumentAsync(textDocument: TextDocument, options: CSpellUserSettings): Rx.Observable<Diagnostic> {
    const limit = (options.checkLimit || defaultCheckLimit) * 1024;
    const text = textDocument.getText().slice(0, limit);
    return Rx.Observable.fromPromise<cspell.TextOffset[]>(validateText(text, options))
        .flatMap(a => a)
        .filter(a => !!a)
        .map(a => a!)
        // Convert the offset into a position
        .map(offsetWord => ({...offsetWord, position: textDocument.positionAt(offsetWord.offset) }))
        // Calculate the range
        .map(word => ({
            ...word,
            range: {
                start: word.position,
                end: ({...word.position, character: word.position.character + word.text.length })
            }
        }))
        // Convert it to a Diagnostic
        .map(({text, range}) => ({
            severity: DiagnosticSeverity.Information,
            range: range,
            message: `Unknown word: "${text}"`,
            source: diagSource
        }))
    ;
}
开发者ID:AlekSi,项目名称:vscode-spell-checker,代码行数:26,代码来源:validator.ts

示例3: syntaxCheck

export async function syntaxCheck(document: TextDocument) {
  const diagnostics: Diagnostic[] = []
  try {
    const client = await clientFromUrl(document.uri)
    if (!client) return
    const obj = await getObject(document.uri)
    // no object or include without a main program
    if (!obj || !objectIsValid(obj)) return

    const source = document.getText()
    const checks = await client.syntaxCheck(
      obj.url,
      obj.mainUrl,
      source,
      obj.mainProgram
    )
    checks.forEach(c => {
      const range = sourceRange(document, c.line, c.offset)
      diagnostics.push({
        message: c.text,
        range,
        severity: decodeSeverity(c.severity)
      })
    })
  } catch (e) {
    log("Exception in syntax check:", e.toString()) // ignore
  }
  connection.sendDiagnostics({ uri: document.uri, diagnostics })
}
开发者ID:valdirmendesgt,项目名称:vscode_abap_remote_fs,代码行数:29,代码来源:syntaxcheck.ts

示例4: validateTextDocumentAsync

export function validateTextDocumentAsync(textDocument: TextDocument, options: CSpellUserSettings): Observable<Diagnostic> {
    const { diagnosticLevel = DiagnosticSeverity.Information.toString() } = options;
    const severity = diagSeverityMap.get(diagnosticLevel.toLowerCase()) || DiagnosticSeverity.Information;
    const limit = (options.checkLimit || defaultCheckLimit) * 1024;
    const text = textDocument.getText().slice(0, limit);
    return from(validateText(text, options)).pipe(
        flatMap(a => a),
        filter(a => !!a),
        map(a => a!),
        // Convert the offset into a position
        map(offsetWord => ({...offsetWord, position: textDocument.positionAt(offsetWord.offset) })),
        // Calculate the range
        map(word => ({
            ...word,
            range: {
                start: word.position,
                end: ({...word.position, character: word.position.character + word.text.length })
            }
        })),
        // Convert it to a Diagnostic
        map(({text, range}) => ({
            severity,
            range: range,
            message: `"${text}": Unknown word.`,
            source: diagSource
        })),
    );
}
开发者ID:Jason-Rev,项目名称:vscode-spell-checker,代码行数:28,代码来源:validator.ts

示例5: getSettings

 function getSettings(doc: TextDocument): [CSpellUserSettings, Promise<SpellingDictionary>] {
     const cached = settingsCache.get(doc.uri);
     if (!cached || cached.version !== doc.version) {
         const docSetting = cspell.constructSettingsForText(fnSettings(), doc.getText(), doc.languageId);
         const dict = cspell.getDictionary(docSetting);
         settingsCache.set(doc.uri, { version: doc.version, settings: [docSetting, dict] });
     }
     return settingsCache.get(doc.uri)!.settings;
 }
开发者ID:AlekSi,项目名称:vscode-spell-checker,代码行数:9,代码来源:codeActions.ts

示例6: constructor

	constructor(document: TextDocument, config: FormatterConfig) {
		this.document = document;
		this.originalText = document.getText();
		this.config = config;
		this.differ = new DiffMatchPatch();

		if (this.range) {
			this.modifyRange();
		}
	}
开发者ID:rubyide,项目名称:vscode-ruby,代码行数:10,代码来源:BaseFormatter.ts

示例7: getEOL

function getEOL(document: TextDocument): string {
	let text = document.getText();
	if (document.lineCount > 1) {
		let to = document.offsetAt(Position.create(1, 0));
		let from = to;
		while (from > 0 && isEOL(text, from - 1)) {
			from--;
		}
		return text.substr(from, to - from);
	}
	return '\n';
}
开发者ID:DiLRandI,项目名称:vscode,代码行数:12,代码来源:jsonFormatter.ts

示例8: collectEntries

async function collectEntries(
    document: TextDocument,
    request: ImageInfoRequest,
    cancellationToken: CancellationToken
): Promise<ImageInfo[]> {
    let items = [];

    absoluteUrlMappers.forEach(absoluteUrlMapper =>
        absoluteUrlMapper.refreshConfig(request.workspaceFolder, request.additionalSourcefolder, request.paths)
    );

    const lines = document.getText().split(/\r\n|\r|\n/);
    for (const lineIndex of request.visibleLines) {
        var line = lines[lineIndex];
        if (!line) continue;
        if (cancellationToken.isCancellationRequested) return items;
        if (line.length > 20000) {
            continue;
        }

        recognizers
            .map(recognizer => {
                if (cancellationToken.isCancellationRequested) return;
                return recognizer.recognize(lineIndex, line);
            })
            .filter(item => !!item)
            .forEach(urlMatches => {
                if (cancellationToken.isCancellationRequested) return;
                urlMatches.forEach(urlMatch => {
                    if (cancellationToken.isCancellationRequested) return;
                    let absoluteUrls = absoluteUrlMappers
                        .map(mapper => {
                            try {
                                return mapper.map(request.fileName, urlMatch.url);
                            } catch (e) {}
                        })
                        .filter(item => nonNullOrEmpty(item));

                    let absoluteUrlsSet = new Set(absoluteUrls);

                    items = items.concat(
                        Array.from(absoluteUrlsSet.values()).map(absoluteImagePath => {
                            const result =
                                convertToLocalImagePath(absoluteImagePath, urlMatch) || Promise.resolve(null);
                            return result.catch(p => null);
                        })
                    );
                });
            });
    }
    return await Promise.all(items);
}
开发者ID:kisstkondoros,项目名称:gutter-preview,代码行数:52,代码来源:server.ts

示例9: applyEdits

export function applyEdits(document: TextDocument, edits: TextEdit[]) : string {
	let formatted = document.getText();
	let sortedEdits = edits.sort((a, b) => document.offsetAt(b.range.start) - document.offsetAt(a.range.start));
	let lastOffset = formatted.length;
	sortedEdits.forEach(e => {
		let startOffset = document.offsetAt(e.range.start);
		let endOffset = document.offsetAt(e.range.end);
		assert.ok(startOffset <= endOffset);
		assert.ok(endOffset <= lastOffset);
		formatted = formatted.substring(0, startOffset) + e.newText + formatted.substring(endOffset, formatted.length);
		lastOffset = startOffset;
	});
	return formatted;
}
开发者ID:Huachao,项目名称:vscode,代码行数:14,代码来源:textEditSupport.ts

示例10: async

export const exportDocument = async (
  argdownEngine: AsyncArgdownApplication,
  args: ExportDocumentArgs,
  doc: TextDocument | undefined
) => {
  let request: any = { logLevel: "none" };
  request.inputPath = Uri.parse(args.source).fsPath;
  request.outputPath = Uri.parse(args.target).fsPath;
  const getRequest = requestProviders[args.process];
  request = getRequest(request);
  if (doc) {
    request.input = doc.getText();
    await argdownEngine.runAsync(request);
  } else {
    await argdownEngine.load(request);
  }
};
开发者ID:christianvoigt,项目名称:argdown,代码行数:17,代码来源:Export.ts


注:本文中的vscode-languageserver.TextDocument.getText方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。