dotfiles/talon/community/community-cursorless-0.4.0/code/snippets.py
2024-11-16 20:27:38 -07:00

41 lines
1.1 KiB
Python

# defines placeholder actions and captures for ide-specific snippet functionality
from talon import Module, actions, app, Context, imgui, registry
mod = Module()
mod.tag("snippets", desc="Tag for enabling code snippet-related commands")
mod.list("snippets", desc="List of code snippets")
@imgui.open()
def gui(gui: imgui.GUI):
gui.text("snippets")
gui.line()
if "user.snippets" in registry.lists:
function_list = sorted(registry.lists["user.snippets"][0].keys())
# print(str(registry.lists["user.snippets"]))
# print(str(registry.lists["user.code_functions"]))
if function_list:
for i, entry in enumerate(function_list):
gui.text("{}".format(entry, function_list))
@mod.action_class
class Actions:
def snippet_search(text: str):
"""Triggers the program's snippet search"""
def snippet_insert(text: str):
"""Inserts a snippet"""
def snippet_create():
"""Triggers snippet creation"""
def snippet_toggle():
"""Toggles UI for available snippets"""
if gui.showing:
gui.hide()
else:
gui.show()