LspHelpers

Trait LspHelpers 

Source
pub trait LspHelpers<'db>: Database {
    // Provided methods
    fn methods_in_module(
        &'db self,
        module_id: ModuleId<'db>,
        type_filter: TypeFilter<'db>,
    ) -> Arc<Vec<TraitFunctionId<'db>>> { ... }
    fn methods_in_crate(
        &'db self,
        crate_id: CrateId<'db>,
        type_filter: TypeFilter<'db>,
    ) -> Arc<Vec<TraitFunctionId<'db>>> { ... }
    fn visible_importables_from_module(
        &'db self,
        module_id: ModuleId<'db>,
    ) -> Option<Arc<OrderedHashMap<ImportableId<'db>, String>>> { ... }
    fn visible_importables_in_module(
        &'db self,
        module_id: ModuleId<'db>,
        user_module_id: ModuleId<'db>,
        include_parent: bool,
    ) -> Arc<Vec<(ImportableId<'db>, String)>> { ... }
    fn visible_importables_in_crate(
        &'db self,
        crate_id: CrateId<'db>,
        user_module_id: ModuleId<'db>,
    ) -> Arc<Vec<(ImportableId<'db>, String)>> { ... }
    fn visible_traits_from_module(
        &'db self,
        module_id: ModuleId<'db>,
    ) -> Option<Arc<OrderedHashMap<TraitId<'db>, String>>> { ... }
    fn inline_macro_expansion_files(
        &'db self,
        module_id: ModuleId<'db>,
    ) -> &'db Vec<FileId<'db>> { ... }
    fn accumulate_inline_macro_expansion(&'db self, file: &FileLongId<'db>) { ... }
}
Expand description

Trait for LSP helpers.

Provided Methods§

Source

fn methods_in_module( &'db self, module_id: ModuleId<'db>, type_filter: TypeFilter<'db>, ) -> Arc<Vec<TraitFunctionId<'db>>>

Returns all methods in a module that match the given type filter.

Source

fn methods_in_crate( &'db self, crate_id: CrateId<'db>, type_filter: TypeFilter<'db>, ) -> Arc<Vec<TraitFunctionId<'db>>>

Returns all methods in a crate that match the given type filter.

Source

fn visible_importables_from_module( &'db self, module_id: ModuleId<'db>, ) -> Option<Arc<OrderedHashMap<ImportableId<'db>, String>>>

Returns all the importables visible from a module, alongside a visible use path to the trait.

Source

fn visible_importables_in_module( &'db self, module_id: ModuleId<'db>, user_module_id: ModuleId<'db>, include_parent: bool, ) -> Arc<Vec<(ImportableId<'db>, String)>>

Returns all visible importables in a module, alongside a visible use path to the trait. user_module_id is the module from which the importables should be visible. If include_parent is true, the parent module of module_id is also considered.

Source

fn visible_importables_in_crate( &'db self, crate_id: CrateId<'db>, user_module_id: ModuleId<'db>, ) -> Arc<Vec<(ImportableId<'db>, String)>>

Returns all visible importables in a crate, alongside a visible use path to the trait. user_module_id is the module from which the importables should be visible.

Source

fn visible_traits_from_module( &'db self, module_id: ModuleId<'db>, ) -> Option<Arc<OrderedHashMap<TraitId<'db>, String>>>

Returns all the traits visible from a module, alongside a visible use path to the trait.

Source

fn inline_macro_expansion_files( &'db self, module_id: ModuleId<'db>, ) -> &'db Vec<FileId<'db>>

Returns all files generated by inline macro expansion inside provided module.

Source

fn accumulate_inline_macro_expansion(&'db self, file: &FileLongId<'db>)

Marks file as result of inline macro expansion.

Implementors§

Source§

impl<'db, T: Database + ?Sized> LspHelpers<'db> for T