mirror of
https://github.com/rust-lang/rust-analyzer.git
synced 2025-09-29 21:35:20 +00:00
Get rid of do-er antipattern
This commit is contained in:
parent
caf0fa20a7
commit
4d333ebb63
7 changed files with 100 additions and 45 deletions
|
@ -9,8 +9,17 @@ use crate::{
|
|||
render::{builder_ext::Params, RenderContext},
|
||||
};
|
||||
|
||||
pub(crate) fn render_enum_variant<'a>(
|
||||
ctx: RenderContext<'a>,
|
||||
local_name: Option<String>,
|
||||
variant: hir::EnumVariant,
|
||||
path: Option<ModPath>,
|
||||
) -> CompletionItem {
|
||||
EnumVariantRender::new(ctx, local_name, variant, path).render()
|
||||
}
|
||||
|
||||
#[derive(Debug)]
|
||||
pub(crate) struct EnumVariantRender<'a> {
|
||||
struct EnumVariantRender<'a> {
|
||||
ctx: RenderContext<'a>,
|
||||
name: String,
|
||||
variant: hir::EnumVariant,
|
||||
|
@ -21,7 +30,7 @@ pub(crate) struct EnumVariantRender<'a> {
|
|||
}
|
||||
|
||||
impl<'a> EnumVariantRender<'a> {
|
||||
pub(crate) fn new(
|
||||
fn new(
|
||||
ctx: RenderContext<'a>,
|
||||
local_name: Option<String>,
|
||||
variant: hir::EnumVariant,
|
||||
|
@ -51,7 +60,7 @@ impl<'a> EnumVariantRender<'a> {
|
|||
}
|
||||
}
|
||||
|
||||
pub(crate) fn render(self) -> CompletionItem {
|
||||
fn render(self) -> CompletionItem {
|
||||
let mut builder = CompletionItem::new(
|
||||
CompletionKind::Reference,
|
||||
self.ctx.source_range(),
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue