add hover popover setting
This commit is contained in:
parent
a477733bcb
commit
1eb8351440
2 changed files with 13 additions and 4 deletions
|
@ -7,6 +7,7 @@ use gpui::{
|
||||||
};
|
};
|
||||||
use language::Bias;
|
use language::Bias;
|
||||||
use project::{HoverBlock, Project};
|
use project::{HoverBlock, Project};
|
||||||
|
use settings::Settings;
|
||||||
use std::{ops::Range, time::Duration};
|
use std::{ops::Range, time::Duration};
|
||||||
use util::TryFutureExt;
|
use util::TryFutureExt;
|
||||||
|
|
||||||
|
@ -40,10 +41,12 @@ pub fn hover(editor: &mut Editor, _: &Hover, cx: &mut ViewContext<Editor>) {
|
||||||
/// The internal hover action dispatches between `show_hover` or `hide_hover`
|
/// The internal hover action dispatches between `show_hover` or `hide_hover`
|
||||||
/// depending on whether a point to hover over is provided.
|
/// depending on whether a point to hover over is provided.
|
||||||
pub fn hover_at(editor: &mut Editor, action: &HoverAt, cx: &mut ViewContext<Editor>) {
|
pub fn hover_at(editor: &mut Editor, action: &HoverAt, cx: &mut ViewContext<Editor>) {
|
||||||
if let Some(point) = action.point {
|
if cx.global::<Settings>().hover_popover_enabled {
|
||||||
show_hover(editor, point, false, cx);
|
if let Some(point) = action.point {
|
||||||
} else {
|
show_hover(editor, point, false, cx);
|
||||||
hide_hover(editor, cx);
|
} else {
|
||||||
|
hide_hover(editor, cx);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -23,6 +23,7 @@ pub struct Settings {
|
||||||
pub buffer_font_family: FamilyId,
|
pub buffer_font_family: FamilyId,
|
||||||
pub buffer_font_size: f32,
|
pub buffer_font_size: f32,
|
||||||
pub default_buffer_font_size: f32,
|
pub default_buffer_font_size: f32,
|
||||||
|
pub hover_popover_enabled: bool,
|
||||||
pub vim_mode: bool,
|
pub vim_mode: bool,
|
||||||
pub language_settings: LanguageSettings,
|
pub language_settings: LanguageSettings,
|
||||||
pub language_defaults: HashMap<Arc<str>, LanguageSettings>,
|
pub language_defaults: HashMap<Arc<str>, LanguageSettings>,
|
||||||
|
@ -57,6 +58,8 @@ pub struct SettingsFileContent {
|
||||||
#[serde(default)]
|
#[serde(default)]
|
||||||
pub buffer_font_size: Option<f32>,
|
pub buffer_font_size: Option<f32>,
|
||||||
#[serde(default)]
|
#[serde(default)]
|
||||||
|
pub hover_popover_enabled: Option<bool>,
|
||||||
|
#[serde(default)]
|
||||||
pub vim_mode: Option<bool>,
|
pub vim_mode: Option<bool>,
|
||||||
#[serde(default)]
|
#[serde(default)]
|
||||||
pub format_on_save: Option<bool>,
|
pub format_on_save: Option<bool>,
|
||||||
|
@ -80,6 +83,7 @@ impl Settings {
|
||||||
buffer_font_family: font_cache.load_family(&[buffer_font_family])?,
|
buffer_font_family: font_cache.load_family(&[buffer_font_family])?,
|
||||||
buffer_font_size: 15.,
|
buffer_font_size: 15.,
|
||||||
default_buffer_font_size: 15.,
|
default_buffer_font_size: 15.,
|
||||||
|
hover_popover_enabled: true,
|
||||||
vim_mode: false,
|
vim_mode: false,
|
||||||
language_settings: Default::default(),
|
language_settings: Default::default(),
|
||||||
language_defaults: Default::default(),
|
language_defaults: Default::default(),
|
||||||
|
@ -151,6 +155,7 @@ impl Settings {
|
||||||
buffer_font_family: cx.font_cache().load_family(&["Monaco"]).unwrap(),
|
buffer_font_family: cx.font_cache().load_family(&["Monaco"]).unwrap(),
|
||||||
buffer_font_size: 14.,
|
buffer_font_size: 14.,
|
||||||
default_buffer_font_size: 14.,
|
default_buffer_font_size: 14.,
|
||||||
|
hover_popover_enabled: true,
|
||||||
vim_mode: false,
|
vim_mode: false,
|
||||||
language_settings: Default::default(),
|
language_settings: Default::default(),
|
||||||
language_defaults: Default::default(),
|
language_defaults: Default::default(),
|
||||||
|
@ -191,6 +196,7 @@ impl Settings {
|
||||||
);
|
);
|
||||||
merge(&mut self.buffer_font_size, data.buffer_font_size);
|
merge(&mut self.buffer_font_size, data.buffer_font_size);
|
||||||
merge(&mut self.default_buffer_font_size, data.buffer_font_size);
|
merge(&mut self.default_buffer_font_size, data.buffer_font_size);
|
||||||
|
merge(&mut self.hover_popover_enabled, data.hover_popover_enabled);
|
||||||
merge(&mut self.vim_mode, data.vim_mode);
|
merge(&mut self.vim_mode, data.vim_mode);
|
||||||
merge_option(
|
merge_option(
|
||||||
&mut self.language_settings.format_on_save,
|
&mut self.language_settings.format_on_save,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue