@@ -573,7 +573,9 @@ let completionForConstructors ~(env : QueryEnv.t) ~suffix =
573573 Utils. startsWith c.Constructor. cname.txt suffix)
574574 |> List. map (fun c ->
575575 Completion. create ~name: c.Constructor. cname.txt
576- ~kind: (Completion. Constructor (c, t))))
576+ ~kind:
577+ (Completion. Constructor
578+ (c, t.item.decl |> Shared. declToString t.name.txt))))
577579 @ ! res
578580 | _ -> () );
579581 ! res
@@ -588,7 +590,9 @@ let completionForFields ~(env : QueryEnv.t) ~suffix =
588590 |> List. filter (fun f -> Utils. startsWith f.fname.txt suffix)
589591 |> List. map (fun f ->
590592 Completion. create ~name: f.fname.txt
591- ~kind: (Completion. Field (f, t))))
593+ ~kind:
594+ (Completion. Field
595+ (f, t.item.decl |> Shared. declToString t.name.txt))))
592596 @ ! res
593597 | _ -> () );
594598 ! res
@@ -676,13 +680,8 @@ let detail name (kind : Completion.kind) =
676680 | Value typ -> typ |> Shared. typeToString
677681 | Module _ -> " module"
678682 | FileModule _ -> " file module"
679- | Field ({typ} , t ) ->
680- name ^ " : "
681- ^ (typ |> Shared. typeToString)
682- ^ " \n\n "
683- ^ (t.item.decl |> Shared. declToString t.name.txt)
684- | Constructor (c , t ) ->
685- showConstructor c ^ " \n\n " ^ (t.item.decl |> Shared. declToString t.name.txt)
683+ | Field ({typ} , s ) -> name ^ " : " ^ (typ |> Shared. typeToString) ^ " \n\n " ^ s
684+ | Constructor (c , s ) -> showConstructor c ^ " \n\n " ^ s
686685
687686let localValueCompletions ~pos ~(env : QueryEnv.t ) suffix =
688687 let results = [] in
@@ -857,7 +856,7 @@ let getCompletions ~full ~rawOpens ~allFiles ~pos ~dotpath =
857856 Log. log (" Found it! " ^ declared.name.txt);
858857 match declared.item |> extractRecordType ~env ~package with
859858 | None -> []
860- | Some (env , fields , typ ) -> (
859+ | Some (env , fields , typDecl ) -> (
861860 match
862861 middleFields
863862 |> List. fold_left
@@ -872,16 +871,20 @@ let getCompletions ~full ~rawOpens ~allFiles ~pos ~dotpath =
872871 | Some attr ->
873872 Log. log (" Found attr " ^ name);
874873 attr.typ |> extractRecordType ~env ~package ))
875- (Some (env, fields, typ ))
874+ (Some (env, fields, typDecl ))
876875 with
877876 | None -> []
878- | Some (env , fields , typ ) ->
877+ | Some (env , fields , typDecl ) ->
879878 fields
880879 |> Utils. filterMap (fun field ->
881880 if Utils. startsWith field.fname.txt lastField then
882881 Some
883882 ( Completion. create ~name: field.fname.txt
884- ~kind: (Completion. Field (field, typ)),
883+ ~kind:
884+ (Completion. Field
885+ ( field,
886+ typDecl.item.decl
887+ |> Shared. declToString typDecl.name.txt )),
885888 env )
886889 else None ))))
887890 | None -> [] )
0 commit comments