Zvýraznění odpovídajícího tagu / bloku¶
Když je kurzor na obklopujícím tagu nebo bloku — nebo uvnitř něj — editor orámuje
začátek a konec tohoto páru, takže na první pohled vidíte, kde <div>…</div>, if…fi
nebo #if…#endif začíná a končí.
Je to oddělené od jednoznakové shody závorek (glyfy () [] {}): ta stále funguje
přesně jako dřív, sama o sobě. Obojí se může zobrazit naráz, takže můžete být uvnitř bloku
{ } a zároveň obklopujícího if…fi a vidět obě.
Použití¶
Umístěte kurzor na název tagu (nebo kamkoli dovnitř <…>), případně na klíčové slovo
bloku — otevírací, uzavírací i všechna »prostřední« klíčová slova se rozsvítí společně.
Umístění kurzoru dovnitř bloku (nikoli na klíčové slovo) zvýrazní nejbližší obklopující
pár. Prostý obsah mezi tagy nezvýrazní nic.
Aktualizuje se, jak se kurzor pohybuje, a nepotřebuje žádnou zkratku.
Zapnutí a vypnutí¶
Zobrazit ▸ Zvýraznit odpovídající tag/blok — ve výchozím stavu zapnuto a volba se pamatuje mezi relacemi.
Dva druhy párů¶
Tagy (značkovací jazyky)¶
V HTML a XML orámuje kurzor na otevíracím nebo uzavíracím tagu název prvku v obou tagech.
Vnoření stejnojmenných tagů se řeší podle hloubky, samouzavírací tagy (<br/>) partnera
nemají a > uvnitř hodnoty atributu v uvozovkách tag nikdy neukončí předčasně. < použité
jako text nebo operátor porovnání zvýraznění nikdy nespustí — párování vychází ze stylování
tagů z lexeru, nikoli ze samotných špičatých závorek.
Klíčová slova bloků (jazyky)¶
Páry celých klíčových slov, počítané se správným vnořováním a s přeskočením všeho uvnitř komentářů a řetězců. V balení jsou:
| Jazyk | Páry |
|---|---|
| Shell (bash) | if … fi (s elif/else), do … done, case … esac |
| C / C++ | preprocesor #if / #ifdef / #ifndef … #endif (s #elif/#else) |
| SQL | begin … end, case … end (bez ohledu na velikost písmen) |
C/C++ to používá jen pro preprocesor
Obyčejné bloky { } v C/C++ řeší jednoznaková shoda závorek, nikoli tato funkce —
takže .cpp bez podmínek #if…#endif zde záměrně neukáže nic.
Přidání párů pro další jazyk¶
Páry jsou data, nikoli kód: bydlí v souboru JSON obarvovače daného jazyka, takže je
můžete přidat pro libovolný jazyk bez nového sestavení. Do souboru obarvovače přidejte
"tagMatch": true pro značkovací jazyky, nebo seznam "blockPairs" pro páry klíčových
slov, například:
"blockPairs": [
{ "open": "if", "middle": ["elif", "else"], "close": "fi" },
{ "open": "do", "close": "done" }
],
"pairsCaseSensitive": false
Uživatelský soubor obarvovače zastiňuje ten dodávaný, takže vestavěné hodnoty můžete přebít nebo rozšířit. Kde soubory obarvovačů leží, najdete v Obarvování syntaxe.
Poznámky a omezení¶
- Párování prohledává okno kolem kurzoru, takže pár, jehož konce jsou velmi daleko od sebe (řádově tisíc řádků i více — například strážce vložení pro celý soubor), se nemusí spárovat.
- Párování používá přísné vnořování: jediný neuzavřený vnitřní tag či blok brání spárování tagů a bloků kolem něj, dokud jej neuzavřete.
Související¶
- Automatické páry a odsazení — automatické uzavírání závorek a uvozovek při psaní (jiná funkce).
- Obarvování syntaxe — soubory obarvovačů, které tyto páry rovněž deklarují.