mirror of
https://github.com/windmill-labs/windmill.git
synced 2026-08-18 16:02:10 +00:00
51cba95d39
* fix(backend): replace regex with one-pass algorithm for PowerShell param parsing The previous regex-based approach used which would fail when encountering nested parentheses inside the param block, such as or . This commit replaces the regex with a proper one-pass parser that: - Tracks parenthesis depth to correctly handle nesting - Respects string quotes (both single and double quotes) - Handles PowerShell's backtick escape character - Works correctly with complex default values and function calls Changes: - Removed RE_POWERSHELL_PARAM regex constant - Added extract_powershell_param_block() function for extracting param contents - Added extract_powershell_param_block_full() function for extracting full param block - Updated parse_powershell_file() in windmill-parser-bash - Updated pwsh_executor.rs to use the new extractor - Added comprehensive test cases for nested parens and quoted strings Fixes #7079 Co-authored-by: windmill-internal-app[bot] <windmill-internal-app[bot]@users.noreply.github.com> * refactor(backend): combine PowerShell param extraction functions Merged extract_powershell_param_block() and extract_powershell_param_block_full() into a single function with a boolean parameter to control output format: - include_keyword=false returns just contents between parentheses - include_keyword=true returns full param(...) block This eliminates code duplication while maintaining all existing functionality. Co-authored-by: hugocasa <hugocasa@users.noreply.github.com> * fix(backend): improve pwsh param block parsing * chore: publish parser --------- Co-authored-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com> Co-authored-by: windmill-internal-app[bot] <windmill-internal-app[bot]@users.noreply.github.com> Co-authored-by: hugocasa <hugocasa@users.noreply.github.com>