diff --git a/src/haxeLanguageServer/features/CompletionFeature.hx b/src/haxeLanguageServer/features/CompletionFeature.hx index 1f5691c0..94d0686f 100644 --- a/src/haxeLanguageServer/features/CompletionFeature.hx +++ b/src/haxeLanguageServer/features/CompletionFeature.hx @@ -36,12 +36,18 @@ class CompletionFeature { } static var reFieldPart = ~/(\.|@(:?))(\w*)$/; + static var reStructPart = ~/[(,]\s*{(\s*(\s*\w+\s*:\s*["'\w()\.]+\s*,\s*)*\w*)$/; static function calculateCompletionPosition(text:String, index:Int):CompletionPosition { if (reFieldPart.match(text)) return { pos: index - reFieldPart.matched(3).length, toplevel: false, }; + else if (reStructPart.match(text)) + return { + pos: index - reStructPart.matched(1).length, + toplevel: false, + }; else return { pos: index,