js-file/html/monaco-editor/esm/vs/editor/common/textModelBracketPairs.js
2022-09-29 16:48:09 +08:00

44 lines
1.9 KiB
JavaScript

/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
export class BracketInfo {
constructor(range,
/** 0-based level */
nestingLevel, nestingLevelOfEqualBracketType, isInvalid) {
this.range = range;
this.nestingLevel = nestingLevel;
this.nestingLevelOfEqualBracketType = nestingLevelOfEqualBracketType;
this.isInvalid = isInvalid;
}
}
export class BracketPairInfo {
constructor(range, openingBracketRange, closingBracketRange,
/** 0-based */
nestingLevel, nestingLevelOfEqualBracketType, bracketPairNode) {
this.range = range;
this.openingBracketRange = openingBracketRange;
this.closingBracketRange = closingBracketRange;
this.nestingLevel = nestingLevel;
this.nestingLevelOfEqualBracketType = nestingLevelOfEqualBracketType;
this.bracketPairNode = bracketPairNode;
}
get openingBracketInfo() {
return this.bracketPairNode.openingBracket.bracketInfo;
}
}
export class BracketPairWithMinIndentationInfo extends BracketPairInfo {
constructor(range, openingBracketRange, closingBracketRange,
/**
* 0-based
*/
nestingLevel, nestingLevelOfEqualBracketType, bracketPairNode,
/**
* -1 if not requested, otherwise the size of the minimum indentation in the bracket pair in terms of visible columns.
*/
minVisibleColumnIndentation) {
super(range, openingBracketRange, closingBracketRange, nestingLevel, nestingLevelOfEqualBracketType, bracketPairNode);
this.minVisibleColumnIndentation = minVisibleColumnIndentation;
}
}