Utheving av matchende tagg / blokk¶
Når markøren står på — eller inne i — en omsluttende tagg eller blokk, setter
redigereren en ramme rundt begynnelsen og slutten på det paret, så du med et blikk
kan se hvor en <div>…</div>, en if…fi eller en #if…#endif begynner og slutter.
Dette er atskilt fra treffet på enkelttegn i parenteser (tegnet for () []
{}): det virker fortsatt nøyaktig som før, for seg selv. Begge kan vises samtidig,
så du kan være inne i en { }-blokk og en omsluttende if…fi og se begge.
Å bruke den¶
Sett markøren på et taggnavn (eller hvor som helst inne i <…>) eller på et
blokknøkkelord — åpningen, lukkingen og eventuelle nøkkelord i midten lyser opp
samtidig. Setter du markøren inne i en blokk (ikke på et nøkkelord), uthever det det
nærmeste omsluttende paret. Alminnelig innhold mellom tagger uthever ingenting.
Den oppdaterer seg mens markøren beveger seg, og krever ingen hurtigtast.
Å slå den av og på¶
Vis ▸ Uthev samsvarende tagg/blokk — på som standard, og valget huskes mellom øktene.
De to slagene par¶
Tagger (oppmerking)¶
I HTML og XML setter markøren på en start- eller sluttagg en ramme rundt
elementnavnet i begge taggene. Nøsting av tagger med samme navn avgjøres etter
dybde, tagger som lukker seg selv (<br/>), har ingen partner, og en > inne i en
attributtverdi i anførselstegn avslutter aldri taggen for tidlig. < brukt som tekst
eller som en sammenligningsoperator utløser den aldri — matchingen tar utgangspunkt i
leksikografens tagg-stil og ikke i rå vinkelparenteser.
Blokknøkkelord (språk)¶
Par av hele nøkkelord, talt med riktig nøsting og med alt inne i kommentarer og tekststrenger hoppet over. Dette følger med:
| Språk | Par |
|---|---|
| Skall (bash) | if … fi (med elif/else), do … done, case … esac |
| C / C++ | forprosessorens #if / #ifdef / #ifndef … #endif (med #elif/#else) |
| SQL | begin … end, case … end (uten forskjell på store og små bokstaver) |
C/C++ bruker dette bare til forprosessoren
Alminnelige { }-blokker i C/C++ håndteres av treffet på enkelttegn i parenteser
og ikke av denne funksjonen — så en .cpp uten #if…#endif-betingelser viser
ingenting her, og det er med vilje.
Å legge til par for et annet språk¶
Par er data og ikke kode: de ligger i språkets fargelegger-JSON, så du kan legge
dem til for hvilket som helst språk uten å bygge på nytt. I fargeleggerfilen legger du
til "tagMatch": true for oppmerking, eller en "blockPairs"-liste for par av
nøkkelord, for eksempel:
"blockPairs": [
{ "open": "if", "middle": ["elif", "else"], "close": "fi" },
{ "open": "do", "close": "done" }
],
"pairsCaseSensitive": false
En fargeleggerfil fra brukeren overskygger den medfølgende, så du kan overstyre eller utvide de innebygde. Se Syntaksfarging for hvor fargeleggerfilene ligger.
Merknader og grenser¶
- Matchingen ser gjennom et vindu rundt markøren, så et par med ender som ligger svært langt fra hverandre (rundt tusen linjer eller mer — for eksempel et inkluderingsvern for en hel fil) blir kanskje ikke matchet.
- Matchingen bruker streng nøsting: én enkelt ulukket tagg eller blokk lenger inne hindrer taggene og blokkene rundt den i å matche inntil den er lukket.
Beslektet¶
- Automatiske par og innrykk — parenteser og anførselstegn som lukkes av seg selv mens du skriver (en annen funksjon).
- Syntaksfarging — fargeleggerfilene som også erklærer disse parene.