2015-06-16 3 views

risposta

0

A giudicare dagli esempi forniti, si consiglia di utilizzare le estensioni dei file anziché la sintassi. La sintassi attiva può essere modificata tramite il menu di sintassi, mentre le estensioni dei file sono costanti.

#■■■■■ 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 

In alternativa; se si preferisce utilizzare la sintassi, è possibile utilizzare:
fileSyntax = view.settings().get ("syntax")

Opzionalmente; è possibile creare un array di valid_FileExtensions allo YourPlugin.sublime-settings, in modo che gli utenti possano dettare le estensioni per le quali il plug-in funzionerà.

0

Ecco un esempio di una chiave vincolante che uso per il plugin Markdown Preview

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

Come potete vedere sto usando la chiave ctrl+b che di solito è legato al comando build, ma è attivo solo quando il mio cursore si trova in un "text.html.markdown" che si verifica solo nei file markdown. Pertanto, ctrl+b si compila come al solito quando sono in un altro tipo di file.

Questo ambito è in genere nella forma "text.html ..." o "source.python ...". Per trovare il nome corrente dell'oscilloscopio, utilizzare il comando "show_scope_name" con ctrl+alt+shift+p.

Relevant documentation