@@ -3,8 +3,8 @@ use crate::formatter::model::{FormatPlan, TokenSpacingExpected};
33use crate :: ir;
44use crate :: ir:: DocIR ;
55use emmylua_parser:: {
6- LuaAstNode , LuaAstToken , LuaComment , LuaDocDescriptionOwner , LuaDocTag , LuaSyntaxId ,
7- LuaSyntaxToken , LuaTokenKind ,
6+ LuaAstNode , LuaAstToken , LuaComment , LuaDocDescription , LuaDocDescriptionOwner , LuaDocFieldKey ,
7+ LuaDocTag , LuaSyntaxId , LuaSyntaxToken , LuaTokenKind ,
88} ;
99use std:: collections:: HashMap ;
1010
@@ -477,10 +477,14 @@ fn extract_columns(
477477 let desc = tag_description ( tag) ;
478478 match tag {
479479 LuaDocTag :: Param ( t) => {
480- let name = t
481- . get_name_token ( )
482- . map ( |n| n. get_name_text ( ) . to_string ( ) )
483- . unwrap_or_default ( ) ;
480+ let name = if t. is_vararg ( ) {
481+ "..." . to_string ( )
482+ } else if let Some ( name_token) = t. get_name_token ( ) {
483+ name_token. get_name_text ( ) . to_string ( )
484+ } else {
485+ "" . to_string ( )
486+ } ;
487+
484488 let nullable = if t. is_nullable ( ) { "?" } else { "" } ;
485489 let ty = t
486490 . get_type ( )
@@ -544,12 +548,12 @@ fn extract_columns(
544548 let key = f
545549 . get_field_key ( )
546550 . map ( |k| match k {
547- emmylua_parser :: LuaDocFieldKey :: Name ( n) => n. get_name_text ( ) . to_string ( ) ,
548- emmylua_parser :: LuaDocFieldKey :: String ( s) => format ! ( "[\" {}\" ]" , s. get_value( ) ) ,
549- emmylua_parser :: LuaDocFieldKey :: Integer ( i) => {
551+ LuaDocFieldKey :: Name ( n) => n. get_name_text ( ) . to_string ( ) ,
552+ LuaDocFieldKey :: String ( s) => format ! ( "[\" {}\" ]" , s. get_value( ) ) ,
553+ LuaDocFieldKey :: Integer ( i) => {
550554 format ! ( "[{}]" , i. syntax( ) . text( ) )
551555 }
552- emmylua_parser :: LuaDocFieldKey :: Type ( ty) => {
556+ LuaDocFieldKey :: Type ( ty) => {
553557 format ! ( "[{}]" , format_node_tokens( plan, ty. syntax( ) ) )
554558 }
555559 } )
@@ -649,7 +653,7 @@ fn extract_columns(
649653}
650654
651655fn tag_description ( tag : & LuaDocTag ) -> String {
652- let d: Option < emmylua_parser :: LuaDocDescription > = match tag {
656+ let d: Option < LuaDocDescription > = match tag {
653657 LuaDocTag :: Class ( t) => t. get_description ( ) ,
654658 LuaDocTag :: Param ( t) => t. get_description ( ) ,
655659 LuaDocTag :: Return ( t) => t. get_description ( ) ,
@@ -674,7 +678,7 @@ fn comment_desc_for_tag(c: &LuaComment, tag: &LuaDocTag) -> String {
674678 found_tag = true ;
675679 continue ;
676680 }
677- if found_tag && let Some ( desc) = emmylua_parser :: LuaDocDescription :: cast ( n) {
681+ if found_tag && let Some ( desc) = LuaDocDescription :: cast ( n) {
678682 return desc. syntax ( ) . text ( ) . to_string ( ) . trim ( ) . to_string ( ) ;
679683 }
680684 }
0 commit comments