Gå til innhold

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