| 1234567891011121314151617181920212223242526272829303132333435 |
- /*---------------------------------------------------------------------------------------------
- * Copyright (c) Microsoft Corporation. All rights reserved.
- * Licensed under the MIT License. See License.txt in the project root for license information.
- *--------------------------------------------------------------------------------------------*/
- import { StandardAutoClosingPairConditional } from '../languageConfiguration.js';
- export class CharacterPairSupport {
- constructor(config) {
- if (config.autoClosingPairs) {
- this._autoClosingPairs = config.autoClosingPairs.map(el => new StandardAutoClosingPairConditional(el));
- }
- else if (config.brackets) {
- this._autoClosingPairs = config.brackets.map(b => new StandardAutoClosingPairConditional({ open: b[0], close: b[1] }));
- }
- else {
- this._autoClosingPairs = [];
- }
- if (config.__electricCharacterSupport && config.__electricCharacterSupport.docComment) {
- const docComment = config.__electricCharacterSupport.docComment;
- // IDocComment is legacy, only partially supported
- this._autoClosingPairs.push(new StandardAutoClosingPairConditional({ open: docComment.open, close: docComment.close || '' }));
- }
- this._autoCloseBefore = typeof config.autoCloseBefore === 'string' ? config.autoCloseBefore : CharacterPairSupport.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED;
- this._surroundingPairs = config.surroundingPairs || this._autoClosingPairs;
- }
- getAutoClosingPairs() {
- return this._autoClosingPairs;
- }
- getAutoCloseBeforeSet() {
- return this._autoCloseBefore;
- }
- getSurroundingPairs() {
- return this._surroundingPairs;
- }
- }
- CharacterPairSupport.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED = ';:.,=}])> \n\t';
|