@@ -79,9 +79,13 @@ use lsp_types::Range;
7979use lsp_types:: Url ;
8080use starlark:: analysis:: find_call_name:: AstModuleFindCallName ;
8181use starlark:: codemap:: Span ;
82+ use starlark:: docs:: DocItem ;
83+ use starlark:: docs:: DocMember ;
8284use starlark:: docs:: DocModule ;
85+ use starlark:: docs:: DocString ;
8386use starlark:: docs:: markdown:: render_doc_item_no_link;
8487use starlark:: syntax:: AstModule ;
88+ use starlark:: typing:: Ty ;
8589use starlark_lsp:: server:: LspContext ;
8690use starlark_lsp:: server:: LspEvalResult ;
8791use starlark_lsp:: server:: LspUrl ;
@@ -284,6 +288,23 @@ impl DocsCache {
284288 // Only for buildfiles, as this is a prelude symbol
285289 buildfile_docs. members . insert ( sym. clone ( ) , mem. clone ( ) ) ;
286290 }
291+ let native_member =
292+ DocItem :: Member ( DocMember :: Property ( starlark:: docs:: DocProperty {
293+ docs : Some ( DocString {
294+ summary : format ! ( "The prelude, defined in {l}" ) ,
295+ details : None ,
296+ examples : None ,
297+ } ) ,
298+ typ : Ty :: any ( ) ,
299+ } ) ) ;
300+ builtin_docs
301+ . members
302+ . insert ( "native" . to_owned ( ) , native_member. clone ( ) ) ;
303+ // Also, overwrite the one in buildfile_docs. The documentation for native
304+ // is so big it crashes some editors.
305+ buildfile_docs
306+ . members
307+ . insert ( "native" . to_owned ( ) , native_member) ;
287308 }
288309 None => {
289310 for ( sym, mem) in & docs. members {
0 commit comments