From 65d683df367ac1d2b8c421c61b76c9e2c26b8704 Mon Sep 17 00:00:00 2001 From: Lukas Wirth Date: Mon, 21 Jun 2021 21:57:01 +0200 Subject: Collapse documentation and markdown config settings into an enum --- crates/rust-analyzer/src/config.rs | 37 +++++++++++++++++++++++-------------- 1 file changed, 23 insertions(+), 14 deletions(-) (limited to 'crates/rust-analyzer') diff --git a/crates/rust-analyzer/src/config.rs b/crates/rust-analyzer/src/config.rs index de70959a5..b9aa6f0aa 100644 --- a/crates/rust-analyzer/src/config.rs +++ b/crates/rust-analyzer/src/config.rs @@ -10,7 +10,10 @@ use std::{ffi::OsString, iter, path::PathBuf}; use flycheck::FlycheckConfig; -use ide::{AssistConfig, CompletionConfig, DiagnosticsConfig, HoverConfig, InlayHintsConfig}; +use ide::{ + AssistConfig, CompletionConfig, DiagnosticsConfig, HoverConfig, HoverDocFormat, + InlayHintsConfig, +}; use ide_db::helpers::{ insert_use::{ImportGranularity, InsertUseConfig, PrefixKind}, SnippetCap, @@ -777,19 +780,25 @@ impl Config { pub fn hover(&self) -> HoverConfig { HoverConfig { links_in_hover: self.data.hover_linksInHover, - markdown: try_or!( - self.caps - .text_document - .as_ref()? - .hover - .as_ref()? - .content_format - .as_ref()? - .as_slice(), - &[] - ) - .contains(&MarkupKind::Markdown), - documentation: self.data.hover_documentation, + documentation: self.data.hover_documentation.then(|| { + let is_markdown = try_or!( + self.caps + .text_document + .as_ref()? + .hover + .as_ref()? + .content_format + .as_ref()? + .as_slice(), + &[] + ) + .contains(&MarkupKind::Markdown); + if is_markdown { + HoverDocFormat::Markdown + } else { + HoverDocFormat::PlainText + } + }), } } -- cgit v1.2.3