@@ -11,9 +11,9 @@ use emmylua_code_analysis::{
1111} ;
1212use emmylua_parser:: {
1313 LuaAst , LuaAstNode , LuaAstToken , LuaCallArgList , LuaCallExpr , LuaComment , LuaDocFieldKey ,
14- LuaDocGenericDecl , LuaDocGenericDeclList , LuaDocObjectFieldKey , LuaExpr , LuaGeneralToken ,
15- LuaKind , LuaLiteralToken , LuaNameToken , LuaSyntaxKind , LuaSyntaxNode , LuaSyntaxToken ,
16- LuaTokenKind , LuaVarExpr ,
14+ LuaDocGenericDecl , LuaDocGenericDeclList , LuaDocMappedKey , LuaDocObjectFieldKey , LuaExpr ,
15+ LuaGeneralToken , LuaKind , LuaLiteralToken , LuaNameToken , LuaSyntaxKind , LuaSyntaxNode ,
16+ LuaSyntaxToken , LuaTokenKind , LuaVarExpr ,
1717} ;
1818use emmylua_parser_desc:: { CodeBlockHighlightKind , DescItem , DescItemKind } ;
1919use lsp_types:: SemanticToken ;
@@ -342,6 +342,17 @@ fn build_node_semantic_token(
342342 if let Some ( generic_decl_list) = doc_alias. get_generic_decl_list ( ) {
343343 render_type_parameter_list ( builder, & generic_decl_list) ;
344344 }
345+ if let Some ( alias_type) = doc_alias. get_type ( ) {
346+ for mapped_key in alias_type
347+ . syntax ( )
348+ . descendants ( )
349+ . filter_map ( LuaDocMappedKey :: cast)
350+ {
351+ if let Some ( type_decl) = mapped_key. child :: < LuaDocGenericDecl > ( ) {
352+ render_type_parameter ( builder, & type_decl) ;
353+ }
354+ }
355+ }
345356 }
346357 LuaAst :: LuaDocTagField ( doc_field) => {
347358 if let Some ( LuaDocFieldKey :: Name ( name) ) = doc_field. get_field_key ( ) {
0 commit comments