Autor Zpráva
David1256
Profil
Dobrý den,

nevíte, jak dostat do Sublime Text nebo Brackets syntax hightlighter "HTML multihighlighter", který existuje v PSPadu. Jsem na něj strašně zvyklý a Sublime ani Brackets vůbec neumí v rámci HTML stránky používat pro odlišené programovací jazyky odlišné highlightery. Nastaví se jen motiv editoru, který používá stejné barvy na všechny highlightery, respektive na highlightery všech typů souborů, a tak třeba HTML ve kterém je trocha JS a trocha PHP vypadá naprosto nečitelně. Nemáte s tím někdo nějakou zkušenost?

Děkuji.
Zechy
Profil
JS se obarvuje vždy tak jak má (Ani samotný JS nejsou o něco víc barevnější).

Co se týče HTML, pokud jej kombinuješ s PHP předpokládám, že ten soubor je *.php, a to sublime obarvuje jak má, protože jeho PHP obarvovačka umí i HTML, takže netuším, co se ti tam nezdá.
David1256
Profil
Zechy:
Ano mám .php a Sublime ho obarví, ale úplně ve stejných barvách jako HTML, takže se v tom souboru vizuálně špatně orientuje. PHP na první pohled nejde rozeznat od HTML protože je obarveno stejnými barvami jako HTML. Uvedu příklad:

PSPad: HTML - fialová, černá
JS - červená, černá
PHP - modrá, zelená, černá

Sublime (Monokai barevné schéma): HTML - růžová, žlutá, zelená
JS - růžová, žlutá, modrá
PHP - růžová, žlutá, modrá

Tady z toho příkladu je jasně vidět, to co se snažím vysvětlit. PSPad vykresluje HTML, JS, PHP různými barvami (fialová, červená, modro-zelená), zatímco Sublime používá pro HTML, JS, PHP stejné barvy (růžovo-žlutá, růžovo-žlutá, růžovo-žlutá).
Zechy
Profil
Ještě, že existuje taková halda barevných schémat na výběr :).
David1256
Profil
Zechy:
Existuje jich sice halda, ale všechny úplně podle stejného vzorce, jen s jinými barvami místo růžovo-žluté. Nenašel jsem žádnou šablonu, která by barevně odlišovala HTML/JS/PHP
Str4wberry
Profil
Osobně při barvení jako PHP nevidím v Sublime Text problém.

HTML, CSS, JavaScript, PHP – vše je řádně obarveno.

xROAL
Profil

Je to síce screenshot z NetBeans (a nie z PSPadu), ale aj ten robí to, čo sa David1256 snaží dosiahnuť.

Ako je vidno, NetBeans používa v jednom súbore rôzne farebné schémy (prípadne aj iné pozadie na riadkoch) pre HTML, PHP, CSS aj JS. Nejde teda o zafarbovanie kódu ako takého, ale o rozlišovanie v rámci súboru - premenná v PHP má inú farbu ako premenná v JS atď., čo skutočne pomáha v lepšej orientácii v kóde.

Bohužiaľ, riešenie nepoznám, keďže Sublime Text ani Brackets nepoužívam. Chcel som len ujasniť o čo ide.
Jan Tvrdík
Profil
David1256:
Nebylo by lepší v jednom souboru HTML, JS a PHP vůbec nemíchat?
Zechy
Profil
David1256:
Když už si trváš na odlišné syntaxi, kdysi jsem napsal colorscheme pro sublime po vzoru dokumentace nette - Jinými barvami je HTML, jinými PHP.

(S tímto barevným schématem jsem i testoval, jak se chová míchané HTML a PHP při PHP zvýraznovači, když jsem psal první reakci.)
David1256
Profil
Zechy:
Tím rozlišíš PHP od HTML, ale PHP a JS vypadají skoro stejně, protože v .tmTheme od sebe není způsob, jak rozlišit barvu např. JS a PHP proměnné.

<dict>
            <key>name</key>
            <string>Variable</string>
            <key>scope</key>
            <string>variable</string>
            <key>settings</key>
            <dict>
                <key>fontStyle</key>
                <string></string>
                <key>foreground</key>
                <string>blue</string>
            </dict>
        </dict>

Pro PHP i JS proměnné bude barva modrá.
Zechy
Profil
David1256:
On ten způsob existuje :) Ale JS jsem nikde v dokumentaci obarvené neviděl, tak jsem ho neřešil.
David1256
Profil
Zechy:
A jaký je tedy ten způsob, můžeš poradit?
Zechy
Profil
Na konec každého scope se dá přidat název jazyku, aby se odlišila barevnost stejných věcí, u JS by se přidívalo .js. Viz. taje psaní témat do ST.
David1256
Profil
Zechy:
To vypadá použitelně, ještě to prozkoumám.

Co se týče Brackets editoru, tak jsem zjistil, že budou mít podporu možnosti vytvořit si highlighter s podporou různého barevného schéma pro různé kontexty od verze 1.1, která by měla vyjít v brzké době.

Vaše odpověď

Mohlo by se hodit

Pokuste se již v titulku uvést název programu související s tématem.

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: