name: query
functions:
  queryWidget:
    path: query.ts:widget
    codeWidget: query
    renderMode: markdown

  lintQuery:
    path: query.ts:lintQuery
    events:
    - editor:lint

  templateWidget:
    path: template.ts:widget
    codeWidget: template
    renderMode: markdown

  queryComplete:
    path: complete.ts:queryComplete
    events:
    - editor:complete

  languageComplete:
    path: complete.ts:languageComplete
    events:
    - editor:complete

  refreshAllWidgets:
    path: widget.ts:refreshAllWidgets
    command:
      name: "Live Queries and Templates: Refresh All"
      key: "Alt-q"

  # Query widget buttons
  editButton:
    path: widget.ts:editButton

  # Slash commands
  insertQuery:
    redirect: template.insertTemplateText
    slashCommand:
      name: query
      description: Insert a query
      value: |
        ```query
        |^|
        ```
  insertUseTemplate:
    redirect: template.insertTemplateText
    slashCommand:
      name: template
      description: Use a template
      value: |
        ```template
        page: "[[|^|]]"
        ```