aboutsummaryrefslogtreecommitdiffstats
path: root/runtime/queries/php_only/injections.scm
diff options
context:
space:
mode:
authorChristian Clason <c.clason@uni-graz.at>2023-06-12 09:54:30 -0600
committerChristian Clason <c.clason@uni-graz.at>2025-05-12 18:43:40 +0200
commit692b051b09935653befdb8f7ba8afdb640adf17b (patch)
tree167162b6b129ae04f68c5735078521a72917c742 /runtime/queries/php_only/injections.scm
parentfeat(c-family): inherit injections (diff)
downloadnvim-treesitter-692b051b09935653befdb8f7ba8afdb640adf17b.tar
nvim-treesitter-692b051b09935653befdb8f7ba8afdb640adf17b.tar.gz
nvim-treesitter-692b051b09935653befdb8f7ba8afdb640adf17b.tar.bz2
nvim-treesitter-692b051b09935653befdb8f7ba8afdb640adf17b.tar.lz
nvim-treesitter-692b051b09935653befdb8f7ba8afdb640adf17b.tar.xz
nvim-treesitter-692b051b09935653befdb8f7ba8afdb640adf17b.tar.zst
nvim-treesitter-692b051b09935653befdb8f7ba8afdb640adf17b.zip
feat!: drop modules, general refactor and cleanup
Diffstat (limited to 'runtime/queries/php_only/injections.scm')
-rw-r--r--runtime/queries/php_only/injections.scm43
1 files changed, 43 insertions, 0 deletions
diff --git a/runtime/queries/php_only/injections.scm b/runtime/queries/php_only/injections.scm
new file mode 100644
index 000000000..368177643
--- /dev/null
+++ b/runtime/queries/php_only/injections.scm
@@ -0,0 +1,43 @@
+((comment) @injection.content
+ (#set! injection.language "phpdoc"))
+
+(heredoc
+ (heredoc_body) @injection.content
+ (heredoc_end) @injection.language
+ (#set! injection.include-children)
+ (#downcase! @injection.language))
+
+(nowdoc
+ (nowdoc_body) @injection.content
+ (heredoc_end) @injection.language
+ (#set! injection.include-children)
+ (#downcase! @injection.language))
+
+; regex
+((function_call_expression
+ function: (_) @_preg_func_identifier
+ arguments: (arguments
+ .
+ (argument
+ (_
+ (string_content) @injection.content))))
+ (#set! injection.language "regex")
+ (#lua-match? @_preg_func_identifier "^preg_"))
+
+; bash
+((function_call_expression
+ function: (_) @_shell_func_identifier
+ arguments: (arguments
+ .
+ (argument
+ (_
+ (string_content) @injection.content))))
+ (#set! injection.language "bash")
+ (#any-of? @_shell_func_identifier
+ "shell_exec" "escapeshellarg" "escapeshellcmd" "exec" "passthru" "proc_open" "shell_exec"
+ "system"))
+
+(expression_statement
+ (shell_command_expression
+ (string_content) @injection.content)
+ (#set! injection.language "bash"))