Unnamed repository; edit this file 'description' to name the repository.
kdl queries: basic tag.scm and niri injections (#14401)
| -rw-r--r-- | book/src/generated/lang-support.md | 2 | ||||
| -rw-r--r-- | runtime/queries/kdl/injections.scm | 63 | ||||
| -rw-r--r-- | runtime/queries/kdl/tags.scm | 3 |
3 files changed, 67 insertions, 1 deletions
diff --git a/book/src/generated/lang-support.md b/book/src/generated/lang-support.md index d7bf9eff..c8511ccf 100644 --- a/book/src/generated/lang-support.md +++ b/book/src/generated/lang-support.md @@ -140,7 +140,7 @@ | julia | ✓ | ✓ | ✓ | | | `julia` | | just | ✓ | ✓ | ✓ | ✓ | | `just-lsp` | | kconfig | ✓ | | ✓ | | | | -| kdl | ✓ | ✓ | ✓ | | | | +| kdl | ✓ | ✓ | ✓ | ✓ | | | | koka | ✓ | | ✓ | | | `koka` | | kotlin | ✓ | ✓ | ✓ | ✓ | | `kotlin-language-server` | | koto | ✓ | ✓ | ✓ | | | `koto-ls` | diff --git a/runtime/queries/kdl/injections.scm b/runtime/queries/kdl/injections.scm new file mode 100644 index 00000000..eaa168e2 --- /dev/null +++ b/runtime/queries/kdl/injections.scm @@ -0,0 +1,63 @@ +; match/exclude regex with regular string +(node + (identifier) @_section_name + (#any-of? @_section_name "window-rule" "layer-rule") + children: (node_children + (node + (identifier) @_node_name + (#any-of? @_node_name "match" "exclude") + (node_field + (prop + (identifier) @_prop_name + (#any-of? @_prop_name "app-id" "title" "namespace") + (value + (string + (string_fragment) @injection.content + (#set! injection.language "regex") + ) + ) + ) + ) + ) + ) +) + +(node + (identifier) @_section + (#eq? @_section "binds") + children: (node_children + (node + (identifier) + children: (node_children + (node + (identifier) @_action_name + (#eq? @_action_name "spawn") + (node_field + (value + (string + (string_fragment) @_executable + (#eq? @_executable "fish") + ) + ) + ) + (node_field + (value + (string + (string_fragment) @_flag + (#eq? @_flag "-c") + ) + ) + ) + (node_field + (value + (string + (string_fragment) @injection.content + (#set! injection.language "fish") + ) + ) + ) + ) + ) + ) + ) +) diff --git a/runtime/queries/kdl/tags.scm b/runtime/queries/kdl/tags.scm new file mode 100644 index 00000000..ec073a3d --- /dev/null +++ b/runtime/queries/kdl/tags.scm @@ -0,0 +1,3 @@ +(node (identifier) @definition.struct + children: _ +) |