« get me outta code hell

st4: hsmusic: only use keybinds on yamls - dotfiles - Miscellaneous configuration files of my personal use
about summary refs log tree commit diff
path: root/apps/Sublime Text 4/Packages/User/HSMusic Editing.py
diff options
context:
space:
mode:
author(quasar) nebula <qznebula@protonmail.com>2025-05-01 12:07:42 -0300
committer(quasar) nebula <qznebula@protonmail.com>2025-05-01 12:07:42 -0300
commit7ec3e2724ff6b43e3da88815fd1d47e6e59bdfcd (patch)
tree101c1d7890c4cee96f1813c6e29efa677e37c5e4 /apps/Sublime Text 4/Packages/User/HSMusic Editing.py
parent8f0a6f347e9dd4042b8873e742c5526baedfcc4e (diff)
st4: hsmusic: only use keybinds on yamls HEAD main
Diffstat (limited to 'apps/Sublime Text 4/Packages/User/HSMusic Editing.py')
-rw-r--r--apps/Sublime Text 4/Packages/User/HSMusic Editing.py19
1 files changed, 19 insertions, 0 deletions
diff --git a/apps/Sublime Text 4/Packages/User/HSMusic Editing.py b/apps/Sublime Text 4/Packages/User/HSMusic Editing.py
index 41c6408..a31cf06 100644
--- a/apps/Sublime Text 4/Packages/User/HSMusic Editing.py
+++ b/apps/Sublime Text 4/Packages/User/HSMusic Editing.py
@@ -22,6 +22,25 @@ class ProjectSpecificKeyBinding(sublime_plugin.EventListener):
     elif operator == sublime.QueryOperator.NOT_REGEX_CONTAINS:
       return not re.search(operand, current_project_name)
 
+class FileSpecificKeyBinding(sublime_plugin.EventListener):
+  def on_query_context(self, view, key, operator, operand, match_all):
+    current_file_name = view.file_name()
+
+    if not current_file_name:
+      return None
+
+    if key != "file_name" and os.path.isfile(current_file_name):
+      return None
+
+    if operator == sublime.OP_EQUAL:
+      return current_file_name == operand
+    elif operator == sublime.OP_NOT_EQUAL:
+      return current_file_name != operand
+    elif operator == sublime.QueryOperator.REGEX_CONTAINS:
+      return re.search(operand, current_file_name)
+    elif operator == sublime.QueryOperator.NOT_REGEX_CONTAINS:
+      return not re.search(operand, current_file_name)
+
 class _CursorAdaptiveCommand(sublime_plugin.TextCommand):
   handle_region_fallback = ('keep',)