mirror of
https://github.com/react/react-native-devtools-frontend.git
synced 2026-10-28 17:07:42 +08:00
Bug: 370734442 No-Presubmit: true Change-Id: I7021b801e5bacd4ed33643651a53b8db20ccf8b0 Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/5898986 Commit-Queue: Danil Somsikov <dsv@chromium.org> Reviewed-by: Simon Zünd <szuend@chromium.org>
54 lines
2.8 KiB
JavaScript
54 lines
2.8 KiB
JavaScript
/*---------------------------------------------------------------------------------------------
|
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
*--------------------------------------------------------------------------------------------*/
|
|
import { createScanner } from './parser/htmlScanner';
|
|
import { parse } from './parser/htmlParser';
|
|
import { HTMLCompletion } from './services/htmlCompletion';
|
|
import { HTMLHover } from './services/htmlHover';
|
|
import { format } from './services/htmlFormatter';
|
|
import { findDocumentLinks } from './services/htmlLinks';
|
|
import { findDocumentHighlights } from './services/htmlHighlighting';
|
|
import { findDocumentSymbols } from './services/htmlSymbolsProvider';
|
|
import { doRename } from './services/htmlRename';
|
|
import { findMatchingTagPosition } from './services/htmlMatchingTagPosition';
|
|
import { findOnTypeRenameRanges } from './services/htmlSyncedRegions';
|
|
import { getFoldingRanges } from './services/htmlFolding';
|
|
import { getSelectionRanges } from './services/htmlSelectionRange';
|
|
import { HTMLDataProvider } from './languageFacts/dataProvider';
|
|
import { HTMLDataManager } from './languageFacts/dataManager';
|
|
import { htmlData } from './languageFacts/data/webCustomData';
|
|
export * from './htmlLanguageTypes';
|
|
var defaultLanguageServiceOptions = {};
|
|
export function getLanguageService(options) {
|
|
if (options === void 0) { options = defaultLanguageServiceOptions; }
|
|
var dataManager = new HTMLDataManager(options);
|
|
var htmlHover = new HTMLHover(options, dataManager);
|
|
var htmlCompletion = new HTMLCompletion(options, dataManager);
|
|
return {
|
|
setDataProviders: dataManager.setDataProviders.bind(dataManager),
|
|
createScanner: createScanner,
|
|
parseHTMLDocument: function (document) { return parse(document.getText()); },
|
|
doComplete: htmlCompletion.doComplete.bind(htmlCompletion),
|
|
doComplete2: htmlCompletion.doComplete2.bind(htmlCompletion),
|
|
setCompletionParticipants: htmlCompletion.setCompletionParticipants.bind(htmlCompletion),
|
|
doHover: htmlHover.doHover.bind(htmlHover),
|
|
format: format,
|
|
findDocumentHighlights: findDocumentHighlights,
|
|
findDocumentLinks: findDocumentLinks,
|
|
findDocumentSymbols: findDocumentSymbols,
|
|
getFoldingRanges: getFoldingRanges,
|
|
getSelectionRanges: getSelectionRanges,
|
|
doTagComplete: htmlCompletion.doTagComplete.bind(htmlCompletion),
|
|
doRename: doRename,
|
|
findMatchingTagPosition: findMatchingTagPosition,
|
|
findOnTypeRenameRanges: findOnTypeRenameRanges
|
|
};
|
|
}
|
|
export function newHTMLDataProvider(id, customData) {
|
|
return new HTMLDataProvider(id, customData);
|
|
}
|
|
export function getDefaultHTMLDataProvider() {
|
|
return newHTMLDataProvider('default', htmlData);
|
|
}
|