當前位置: 首頁>>代碼示例>>TypeScript>>正文


TypeScript vscode-languageserver-types.MarkedString類代碼示例

本文整理匯總了TypeScript中vscode-languageserver-types.MarkedString的典型用法代碼示例。如果您正苦於以下問題:TypeScript MarkedString類的具體用法?TypeScript MarkedString怎麽用?TypeScript MarkedString使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


在下文中一共展示了MarkedString類的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。

示例1:

      provider.collectTags((t, label) => {

        if (t === tagLower) {
          const tagLabel = open ? '<' + tagLower + '>' : '</' + tagLower + '>';
          hover = { contents: [{ language: 'html', value: tagLabel }, MarkedString.fromPlainText(label)], range };
        }
      });
開發者ID:cryptobuks,項目名稱:tandem,代碼行數:7,代碼來源:htmlHover.ts

示例2:

 provider.collectAttributes(tag, (attr, type, documentation) => {
   if (attribute !== attr) {
     return;
   }
   const contents = [documentation ? MarkedString.fromPlainText(documentation) : `No doc for ${attr}`];
   hover = { contents, range };
 });
開發者ID:tiravata,項目名稱:vetur,代碼行數:7,代碼來源:htmlHover.ts

示例3: getJavascriptMode

export function getJavascriptMode(htmlLanguageService: HTMLLanguageService, htmlDocuments: LanguageModelCache<HTMLDocument>): LanguageMode {
	let compilerOptions = { allowNonTsExtensions: true, allowJs: true, target: ts.ScriptTarget.Latest };
	let currentTextDocument: TextDocument;
	let host = {
		getCompilationSettings: () => compilerOptions,
		getScriptFileNames: () => [FILE_NAME],
		getScriptVersion: (fileName: string) => {
			if (fileName === FILE_NAME) {
				return String(currentTextDocument.version);
			}
			return '1'; // default lib is static
		},
		getScriptSnapshot: (fileName: string) => {
			let text = fileName === FILE_NAME ? currentTextDocument.getText() : DEFAULT_LIB.CONTENTS;
			return {
				getText: (start, end) => text.substring(start, end),
				getLength: () => text.length,
				getChangeRange: () => void 0
			};
		},
		getCurrentDirectory: () => '',
		getDefaultLibFileName: options => DEFAULT_LIB.NAME
	};
	let jsLanguageService = ts.createLanguageService(host);

	let jsDocuments = getLanguageModelCache<TextDocument>(10, 60, document => {
		return getEmbeddedDocument(htmlLanguageService, document, htmlDocuments.get(document), 'javascript');
	});
	let settings: any = {};

	return {
		configure(options: any) {
			settings = options && options.html;
		},
		doValidation(document: TextDocument): Diagnostic[] {
			currentTextDocument = jsDocuments.get(document);
			const diagnostics = jsLanguageService.getSyntacticDiagnostics(FILE_NAME);
			return diagnostics.map(diag => {
				return {
					range: convertRange(currentTextDocument, diag),
					severity: DiagnosticSeverity.Error,
					message: ts.flattenDiagnosticMessageText(diag.messageText, '\n')
				};
			});
		},
		doComplete(document: TextDocument, position: Position): CompletionList {
			currentTextDocument = jsDocuments.get(document);
			let offset = currentTextDocument.offsetAt(position);
			let completions = jsLanguageService.getCompletionsAtPosition(FILE_NAME, offset);
			if (!completions) {
				return { isIncomplete: false, items: [] };
			}
			let replaceRange = convertRange(currentTextDocument, getWordAtText(currentTextDocument.getText(), offset, JS_WORD_REGEX));
			return {
				isIncomplete: false,
				items: completions.entries.map(entry => {
					return {
						uri: document.uri,
						position: position,
						label: entry.name,
						sortText: entry.sortText,
						kind: convertKind(entry.kind),
						textEdit: TextEdit.replace(replaceRange, entry.name),
						data: { // data used for resolving item details (see 'doResolve')
							languageId: 'javascript',
							uri: document.uri,
							offset: offset
						}
					};
				})
			};
		},
		doResolve(document: TextDocument, item: CompletionItem): CompletionItem {
			currentTextDocument = jsDocuments.get(document);
			let details = jsLanguageService.getCompletionEntryDetails(FILE_NAME, item.data.offset, item.label);
			if (details) {
				item.detail = ts.displayPartsToString(details.displayParts);
				item.documentation = ts.displayPartsToString(details.documentation);
				delete item.data;
			}
			return item;
		},
		doHover(document: TextDocument, position: Position): Hover {
			currentTextDocument = jsDocuments.get(document);
			let info = jsLanguageService.getQuickInfoAtPosition(FILE_NAME, currentTextDocument.offsetAt(position));
			if (info) {
				let contents = ts.displayPartsToString(info.displayParts);
				return {
					range: convertRange(currentTextDocument, info.textSpan),
					contents: MarkedString.fromPlainText(contents)
				};
			}
			return null;
		},
		doSignatureHelp(document: TextDocument, position: Position): SignatureHelp {
			currentTextDocument = jsDocuments.get(document);
			let signHelp = jsLanguageService.getSignatureHelpItems(FILE_NAME, currentTextDocument.offsetAt(position));
			if (signHelp) {
				let ret: SignatureHelp = {
					activeSignature: signHelp.selectedItemIndex,
//.........這裏部分代碼省略.........
開發者ID:,項目名稱:,代碼行數:101,代碼來源:


注:本文中的vscode-languageserver-types.MarkedString類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。