Skip to content

Kanata: Add deftemplate and deflayermap support #109

@malpern

Description

@malpern

Problem

Kanata supports code generation (deftemplate) and pattern layers (deflayermap) but KeyPath doesn't expose these features.

Missing Features

  • deftemplate: Code generation for repetitive config
  • deflayermap: Pattern-based layer syntax
  • Dynamic conditionals (cond-if)

Impact

Advanced users can't use Kanata's more powerful abstraction features.

Priority

Low - these are power-user features for complex configs.

Fix

  1. Model these constructs in Swift config types
  2. Consider read-only preservation first (like MAL-36)
  3. Add UI later for creation/editing

References

  • Comprehensive review: docs/code-review/comprehensive-feature-review.md section 4

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions