Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/ide/src/hover.rs')
| -rw-r--r-- | crates/ide/src/hover.rs | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/crates/ide/src/hover.rs b/crates/ide/src/hover.rs index 1a84a963f5..5ef6ac9480 100644 --- a/crates/ide/src/hover.rs +++ b/crates/ide/src/hover.rs @@ -27,12 +27,27 @@ use crate::{ #[derive(Clone, Debug, PartialEq, Eq)] pub struct HoverConfig { pub links_in_hover: bool, - pub memory_layout: bool, + pub memory_layout: Option<MemoryLayoutHoverConfig>, pub documentation: bool, pub keywords: bool, pub format: HoverDocFormat, } +#[derive(Copy, Clone, Debug, PartialEq, Eq)] +pub struct MemoryLayoutHoverConfig { + pub size: Option<MemoryLayoutHoverRenderKind>, + pub offset: Option<MemoryLayoutHoverRenderKind>, + pub alignment: Option<MemoryLayoutHoverRenderKind>, + pub niches: bool, +} + +#[derive(Copy, Clone, Debug, PartialEq, Eq)] +pub enum MemoryLayoutHoverRenderKind { + Decimal, + Hexadecimal, + Both, +} + #[derive(Clone, Debug, PartialEq, Eq)] pub enum HoverDocFormat { Markdown, |