2015-10-17 23 views
1

我想創建崇高的文本3是根據如果文件中有未保存的更改或不改變其行爲中的熱鍵綁定。崇高文本Keybinds範圍內未保存的更改

崇高已經支持創建keybinds內的背景選項像這樣:

{"keys":[":","e"],"command":"revert","context":[{"key": "setting.command_mode", "operand": true}]}, 

但是我找不到,如果有一種方法,如果該文件被保存或骯髒的檢測。

任何人都有這方面的見解?

回答

0

查看unofficial documentation(官方文檔已過時),似乎沒有上下文可用於鍵綁定來確定文件是保存還是骯髒。

因此,我認爲有必要在Python中創建一個插件,並使用一個命令根據文件是否存在未保存的更改來執行所需的操作。然後,您可以將鍵綁定設置爲執行此命令而不考慮上下文,因爲插件將包含必要的邏輯。 official documentation提到插件可以使用視圖上的is_dirty()方法確定文件是否已保存。

我從您要執行revert命令你的問題看,所以我畫了一個快速和簡單的崇高文字插件/ python腳本,將做到這一點:

import sublime, sublime_plugin 

class RevertIfUnsavedCommand(sublime_plugin.TextCommand): 
    def run(self, edit): 
     if self.view.is_dirty(): 
      self.view.run_command('revert') 
     else: 
      print('TODO: do something else here')