Skip to main content

sourceview5/subclass/
mod.rs

1// rustdoc-stripper-ignore-next
2//! Traits intended for creating custom types.
3
4// rustdoc-stripper-ignore-next
5/// Struct to hold a pointer and free it on `Drop::drop`
6pub(crate) struct PtrHolder<T, F: Fn(*mut T) + 'static>(*mut T, F);
7
8impl<T, F: Fn(*mut T) + 'static> Drop for PtrHolder<T, F> {
9    fn drop(&mut self) {
10        (self.1)(self.0)
11    }
12}
13
14pub mod buffer;
15pub mod completion_proposal;
16pub mod completion_provider;
17pub mod gutter_renderer;
18pub mod hover_provider;
19pub mod indenter;
20pub mod style_scheme_chooser;
21pub mod view;
22
23// rustdoc-stripper-ignore-next
24/// Traits intended for blanket imports.
25pub mod prelude {
26    pub use super::buffer::{BufferImpl, BufferImplExt};
27    pub use super::completion_proposal::CompletionProposalImpl;
28    pub use super::completion_provider::{CompletionProviderImpl, CompletionProviderImplExt};
29    pub use super::gutter_renderer::{GutterRendererImpl, GutterRendererImplExt};
30    pub use super::hover_provider::{HoverProviderImpl, HoverProviderImplExt};
31    pub use super::indenter::{IndenterImpl, IndenterImplExt};
32    pub use super::style_scheme_chooser::{StyleSchemeChooserImpl, StyleSchemeChooserImplExt};
33    pub use super::view::{ViewImpl, ViewImplExt};
34}