From c8586a15da440449ff20256e34fc98a8c9c02791 Mon Sep 17 00:00:00 2001 From: Xinyu Tao Date: Wed, 2 Apr 2025 15:08:24 +0800 Subject: [PATCH] Fix parameter parsing with generic type hints (PEP 695) (#273) --- src/parse/get_function_name.ts | 2 +- src/parse/tokenize_definition.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/parse/get_function_name.ts b/src/parse/get_function_name.ts index 063e0a1..826ac3b 100644 --- a/src/parse/get_function_name.ts +++ b/src/parse/get_function_name.ts @@ -1,5 +1,5 @@ export function getFunctionName(functionDefinition: string): string { - const pattern = /(?:def|class)\s+(\w+)\s*\(/; + const pattern = /(?:def|class)\s+(\w+)\s*(?:\[[\w\s,:'"|=\[\]\(\)]+\])?\s*\(/; const match = pattern.exec(functionDefinition); diff --git a/src/parse/tokenize_definition.ts b/src/parse/tokenize_definition.ts index e8d9d96..b80e6a1 100644 --- a/src/parse/tokenize_definition.ts +++ b/src/parse/tokenize_definition.ts @@ -1,6 +1,6 @@ export function tokenizeDefinition(functionDefinition: string): string[] { const definitionPattern = - /(?:def|class)\s+\w+\s*\(([\s\S]*)\)\s*(->\s*(["']?)[\w\[\], |\.]*\3)?:\s*(?:#.*)?$/; + /(?:def|class)\s+\w+\s*(?:\[[\w\s,:'"|=\[\]\(\)]+\])?\s*\(([\s\S]*)\)\s*(->\s*(["']?)[\w\[\], |\.]*\3)?:\s*(?:#.*)?$/; const match = definitionPattern.exec(functionDefinition); if (match == undefined || match[1] == undefined) {