mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-02-16 10:58:30 -05:00
Merge from vscode 3c6f6af7347d38e87bc6406024e8dcf9e9bce229 (#8962)
* Merge from vscode 3c6f6af7347d38e87bc6406024e8dcf9e9bce229 * skip failing tests * update mac build image
This commit is contained in:
committed by
Karl Burtram
parent
0eaee18dc4
commit
fefe1454de
@@ -268,6 +268,10 @@ export class LinkComputer {
|
||||
// `*` terminates a link if the link began with `*`
|
||||
chClass = (linkBeginChCode === CharCode.Asterisk) ? CharacterClass.ForceTermination : CharacterClass.None;
|
||||
break;
|
||||
case CharCode.Pipe:
|
||||
// `|` terminates a link if the link began with `|`
|
||||
chClass = (linkBeginChCode === CharCode.Pipe) ? CharacterClass.ForceTermination : CharacterClass.None;
|
||||
break;
|
||||
default:
|
||||
chClass = classifier.get(chCode);
|
||||
}
|
||||
|
||||
@@ -62,6 +62,11 @@ export class ScopedLineTokens {
|
||||
return actualLineContent.substring(this.firstCharOffset, this._lastCharOffset);
|
||||
}
|
||||
|
||||
public getActualLineContentBefore(offset: number): string {
|
||||
const actualLineContent = this._actual.getLineContent();
|
||||
return actualLineContent.substring(0, this.firstCharOffset + offset);
|
||||
}
|
||||
|
||||
public getTokenCount(): number {
|
||||
return this._lastTokenIndex - this._firstTokenIndex;
|
||||
}
|
||||
|
||||
@@ -49,28 +49,27 @@ export class BracketElectricCharacterSupport {
|
||||
return null;
|
||||
}
|
||||
|
||||
let tokenIndex = context.findTokenIndexAtOffset(column - 1);
|
||||
const tokenIndex = context.findTokenIndexAtOffset(column - 1);
|
||||
if (ignoreBracketsInToken(context.getStandardTokenType(tokenIndex))) {
|
||||
return null;
|
||||
}
|
||||
|
||||
let reversedBracketRegex = this._richEditBrackets.reversedRegex;
|
||||
let text = context.getLineContent().substring(0, column - 1) + character;
|
||||
const reversedBracketRegex = this._richEditBrackets.reversedRegex;
|
||||
const text = context.getLineContent().substring(0, column - 1) + character;
|
||||
|
||||
let r = BracketsUtils.findPrevBracketInRange(reversedBracketRegex, 1, text, 0, text.length);
|
||||
const r = BracketsUtils.findPrevBracketInRange(reversedBracketRegex, 1, text, 0, text.length);
|
||||
if (!r) {
|
||||
return null;
|
||||
}
|
||||
|
||||
let bracketText = text.substring(r.startColumn - 1, r.endColumn - 1);
|
||||
bracketText = bracketText.toLowerCase();
|
||||
const bracketText = text.substring(r.startColumn - 1, r.endColumn - 1).toLowerCase();
|
||||
|
||||
let isOpen = this._richEditBrackets.textIsOpenBracket[bracketText];
|
||||
const isOpen = this._richEditBrackets.textIsOpenBracket[bracketText];
|
||||
if (isOpen) {
|
||||
return null;
|
||||
}
|
||||
|
||||
let textBeforeBracket = text.substring(0, r.startColumn - 1);
|
||||
const textBeforeBracket = context.getActualLineContentBefore(r.startColumn - 1);
|
||||
if (!/^\s*$/.test(textBeforeBracket)) {
|
||||
// There is other text on the line before the bracket
|
||||
return null;
|
||||
|
||||
Reference in New Issue
Block a user