Evidențierea sintaxei pentru limbajul Kivy - kvlang - în Sublime Text


 30 Mar, 2015  doru  568  
kivy kv evidentiere-sintaxa syntax-highlighting python

Dacă vrei să folosești eficient biblioteca grafică, multi-platformă, Kivy (făcută în python) trebuie să folosești limbajul de marcare (markup language) al acesteia - kv (denumit și kvlang). Pentru că este un limbaj de marcare nou și specific acestei biblioteci grafice majoritatea editoarelor de text nu oferă evidențiere a sintaxei (syntax highlighting) pentru fișierele cu terminație .kv. Cu două excepții: PyCharm și - mai nou - Sublime Text.

Pentru a avea evidențierea sintaxei pentru fișierele .kv în Sublime Text - 2 sau 3 - trebuie să faceți următoarele:

  1. Porniți Sublime Text și mergeți la Preferences > Browse Packages, aici creați un nou folder cu numele Kivy
  2. În folderul Kivy creați un fișier cu numele kivy.tmLanguage
  3. În acest fișier copiați următorul cod:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>fileTypes</key>
	<array>
		<string>kv</string>
	</array>
	<key>name</key>
	<string>Kivy Language</string>
	<key>patterns</key>
	<array>
		<dict>
			<key>match</key>
			<string>#:.*?$</string>
			<key>name</key>
			<string>support.type.kivy</string>
		</dict>
		<dict>
			<key>match</key>
			<string>#.*?$</string>
			<key>name</key>
			<string>comment.kivy</string>
		</dict>
		<dict>
			<key>match</key>
			<string>\&lt;.+\&gt;</string>
			<key>name</key>
			<string>support.class.kivy</string>
		</dict>
		<dict>
			<key>match</key>
			<string>[A-Za-z][A-Za-z0-9]+$</string>
			<key>name</key>
			<string>support.function.kivy</string>
		</dict>
		<dict>
			<key>match</key>
			<string>.*?:$</string>
			<key>name</key>
			<string>support.function.kivy</string>
		</dict>
		<dict>
			<key>match</key>
			<string>(.*?):$</string>
			<key>name</key>
			<string>entity.name.section.kivy</string>
		</dict>
		<dict>
			<key>include</key>
			<string>source.python</string>
		</dict>
	</array>
	<key>scopeName</key>
	<string>source.python.kivy</string>
	<key>uuid</key>
	<string>49cecc44-5094-48ec-a876-91f597e8bf81</string>
</dict>
</plist>

(Codul este luat de pe GitHub, de pe această pagină.)

Aveți acum evidențiere a sintaxei pentru fișierele .kv în Sublime Text.