pub enum BufferDisplay {
Popup(PopupPlacement),
FloatingPopup(PopupPlacement),
ActivePane,
Split(SplitOrientation),
}Expand description
Where to put a buffer the App is about to display.
Renderer-agnostic: a future GPUI / web renderer maps these
variants to its own surfaces. The TUI maps Popup to the
existing centred-or-anchored overlay, FloatingPopup to the
hover-style overlay (popup floats; the doc keeps focus),
ActivePane to the :lsp-log-style swap-active-pane path,
and Split to a horizontal / vertical split via the pane
tree.
Variants§
Popup(PopupPlacement)
Focused overlay – the popup gains focus, the underlying
document is paused. Used by :lsp-status /
:describe-* / :apropos / etc. Carries its own
placement (cursor-anchored vs centred).
FloatingPopup(PopupPlacement)
Floating overlay – the popup paints on top, but the
document keeps focus. Cursor motion in the doc
auto-dismisses (via the hover-mode minor contract).
Used by hover (K) and signature help.
ActivePane
Replace the active pane’s buffer with this one. The
previous buffer stays in the registry; pane history /
<C-^> (post v1) returns to it.
Split(SplitOrientation)
Split the active pane (orientation-dependent) and open
the buffer in the new pane. The new pane gains focus,
matching vim’s :help / :vert help.
Implementations§
Source§impl BufferDisplay
impl BufferDisplay
Sourcepub const POPUP_CENTERED: Self
pub const POPUP_CENTERED: Self
Focused popup centred in the frame.
Sourcepub const POPUP_CURSOR: Self
pub const POPUP_CURSOR: Self
Focused popup anchored at the cursor.
Sourcepub const FLOATING_CURSOR: Self
pub const FLOATING_CURSOR: Self
Unfocused hover-style popup anchored at the cursor.
Sourcepub const SPLIT_HORIZONTAL: Self
pub const SPLIT_HORIZONTAL: Self
New pane below the active one (vim :split).
Sourcepub const SPLIT_VERTICAL: Self
pub const SPLIT_VERTICAL: Self
New pane beside the active one (vim :vsplit).
Trait Implementations§
Source§impl Clone for BufferDisplay
impl Clone for BufferDisplay
Source§fn clone(&self) -> BufferDisplay
fn clone(&self) -> BufferDisplay
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for BufferDisplay
Source§impl Debug for BufferDisplay
impl Debug for BufferDisplay
impl Eq for BufferDisplay
Source§impl PartialEq for BufferDisplay
impl PartialEq for BufferDisplay
impl StructuralPartialEq for BufferDisplay
Auto Trait Implementations§
impl Freeze for BufferDisplay
impl RefUnwindSafe for BufferDisplay
impl Send for BufferDisplay
impl Sync for BufferDisplay
impl Unpin for BufferDisplay
impl UnsafeUnpin for BufferDisplay
impl UnwindSafe for BufferDisplay
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.