Přeskočit obsah

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í