diff --git a/Default.sublime-commands b/Default.sublime-commands index 7b12aad..07f2c8e 100644 --- a/Default.sublime-commands +++ b/Default.sublime-commands @@ -4,7 +4,7 @@ "command": "pref_toggle_setting_file" }, { - "caption": "Preference Helper: Open *.sublime-settings", + "caption": "Preference Helper: Open *.sublime-settings and *.sublime-keymap", "command": "pref_open_setting_file" }, { diff --git a/Preference Helper.py b/Preference Helper.py index 86512b5..a865d26 100644 --- a/Preference Helper.py +++ b/Preference Helper.py @@ -61,7 +61,8 @@ class PrefOpenSettingFileCommand(sublime_plugin.WindowCommand): def run(self): - resources = [resource[9:] for resource in find_resources("*.sublime-settings")] + resources = find_resources("*.sublime-settings") + find_resources("*.sublime-keymap") + resources = [resource[9:] for resource in resources] def on_done(i): if i >= 0: self.window.run_command("open_file", { "file": "${packages}/%s" % resources[i]}) diff --git a/preference_helper/tools.py b/preference_helper/tools.py index 6a88b96..1b8e138 100644 --- a/preference_helper/tools.py +++ b/preference_helper/tools.py @@ -32,8 +32,13 @@ def decode_value(string): return json.loads("\n".join(lines)) def is_sublime_settings(view): + def corrct_syntax(): + return view.match_selector(0, "source.json") or view.match_selector(0, "source.sublime-settings") or view.match_selector(0, "source.sublimekeymap") + def correct_ending(): + return view.file_name().endswith(".sublime-settings") or view.file_name().endswith(".sublime-keymap") + try: - return view.match_selector(0, "source.json") and os.path.dirname(view.file_name()).startswith(sublime.packages_path()) and view.file_name().endswith(".sublime-settings") + return corrct_syntax() and os.path.dirname(view.file_name()).startswith(sublime.packages_path()) and correct_ending() except: return False