aboutsummaryrefslogtreecommitdiffstats
path: root/runtime/queries/php_only/injections.scm
diff options
context:
space:
mode:
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"))