2015-06-16 10 views

Odpowiedz

0

Sądząc z podanych przykładów, powinieneś użyć rozszerzeń plików zamiast składni. Aktywną składnię można zmienić za pomocą menu składni, natomiast rozszerzenia plików są stałe.

#■■■■■ Establish Valid File Extensions ■■■■■■■■■■■■■■■■■■■■ 

valid_FileExtensions = [] 
valid_FileExtensions.append ("txt") 
valid_FileExtensions.append ("myCustomFileExtension") 

#■■■■■ Get Current File Extension ■■■■■■■■■■■■■■■■■■■■■■■■■ 

window  = view.window() 
fileExtension = window.extract_variables()[ "file_extension" ] 

#■■■■■ Verify Current File Extension ■■■■■■■■■■■■■■■■■■■■■■ 

file_IsValid = False 

for entry in valid_FileExtensions: 
    if fileExtension == entry: 
     file_IsValid = True 

#■■■■■ Exit Routine If File Extension Is Invalid ■■■■■■■■■■ 

if file_IsValid == False: 
    return 

Alternatywnie; jeśli wolisz używać składni, możesz użyć:
fileSyntax = view.settings().get ("syntax")

Opcjonalnie; możesz utworzyć tablicę valid_FileExtensions pod adresem YourPlugin.sublime-settings, aby użytkownicy mogli dyktować, dla których rozszerzeń będzie działać wtyczka.

0

Oto przykład klucza wiążące używać do wtyczki Markdown Preview

{ 
    "keys": ["ctrl+b"], "command": "markdown_preview", "args": {"target": "browser"}, 
    "context": [{ "key": "selector", "operator": "equal", "operand": "text.html.markdown" }] 
}, 

Jak widać używam klucza ctrl+b który jest zwykle związany z komendą w build, ale jest aktywna tylko wtedy, gdy mój kursor znajduje się w "text.html.markdown", który występuje tylko w plikach ze zniżkami. Dlatego ctrl+b budować jak zwykle, gdy jestem w innym typie pliku.

Ten zakres zwykle znajduje się w formularzu "text.html ..." lub "source.python ...". Aby znaleźć aktualną nazwę zakresu kursora, użyj polecenia "show_scope_name" z ctrl+alt+shift+p.

Relevant documentation