Fremhævning af matchende tag / blok¶
Når markøren står på — eller inde i — et omsluttende tag eller en omsluttende
blok, rammer editoren begyndelsen og slutningen af det par ind, så du på et
øjeblik kan se, hvor en <div>…</div>, en if…fi eller en #if…#endif begynder og
slutter.
Dette er adskilt fra matchningen af en enkelt parentes (tegnet () [] {}):
den virker stadig præcis som før, på egen hånd. Begge kan vises samtidig, så du kan
være inde i en { }-blok og en omsluttende if…fi og se begge.
Brug¶
Sæt markøren på et tagnavn (eller hvor som helst inde i <…>) eller på et
bloknøgleord — åbneren, lukkeren og eventuelle «mellemliggende» nøgleord lyser op
sammen. At placere markøren inde i en blok (ikke på et nøgleord) fremhæver det
nærmeste omsluttende par. Almindeligt indhold mellem tags fremhæver intet.
Det opdateres, mens markøren bevæger sig, og kræver ingen genvejstast.
At slå til og fra¶
Vis ▸ Fremhæv matchende tag/blok — slået til som standard, og valget huskes mellem sessioner.
De to slags par¶
Tags (opmærkning)¶
I HTML og XML rammer markøren på et start- eller sluttag elementnavnet i begge
tags ind. Indlejring af tags med samme navn løses efter dybde, tags, der lukker sig
selv (<br/>), har ingen partner, og et > inde i en citeret attributværdi afslutter
aldrig tagget for tidligt. Et < brugt som tekst eller sammenligningsoperator
udløser den aldrig — matchningen tager udgangspunkt i lexerens tag-stil, ikke i
nøgne vinkelparenteser.
Bloknøgleord (sprog)¶
Par af hele nøgleord, talt med korrekt indlejring og med alt inde i kommentarer og strenge sprunget over. Følger med fra start:
| Sprog | Par |
|---|---|
| Shell (bash) | if … fi (med elif/else), do … done, case … esac |
| C / C++ | præprocessorens #if / #ifdef / #ifndef … #endif (med #elif/#else) |
| SQL | begin … end, case … end (uafhængigt af store/små bogstaver) |
C/C++ bruger kun dette til præprocessoren
Almindelige { }-blokke i C/C++ håndteres af matchningen af en enkelt parentes,
ikke af denne funktion — så en .cpp uden #if…#endif-betingelser viser intet
her, med vilje.
At tilføje par for et andet sprog¶
Parrene er data, ikke kode: de bor i sprogets colorizer-JSON, så du kan tilføje
dem for ethvert sprog uden at bygge om. Tilføj i colorizer-filen "tagMatch": true
for opmærkning, eller en liste "blockPairs" for nøgleordspar, for eksempel:
"blockPairs": [
{ "open": "if", "middle": ["elif", "else"], "close": "fi" },
{ "open": "do", "close": "done" }
],
"pairsCaseSensitive": false
En colorizer-fil fra brugeren overskygger den medfølgende, så du kan tilsidesætte eller udvide de indbyggede. Se Syntaksfarvning for, hvor colorizer-filerne bor.
Bemærkninger og grænser¶
- Matchningen gennemsøger et vindue omkring markøren, så et par, hvis ender ligger meget langt fra hinanden (omtrent tusind linjer eller mere — for eksempel en include-vagt for en hel fil), findes muligvis ikke.
- Matchningen bruger streng indlejring: ét enkelt ulukket indre tag eller en ulukket indre blok forhindrer tags eller blokke omkring den i at matche, indtil den lukkes.
Beslægtet¶
- Automatiske par og indrykning — parenteser og anførselstegn, der lukkes automatisk, mens du skriver (en anden funktion).
- Syntaksfarvning — colorizer-filerne, der også erklærer disse par.