use std::path::Path;
use gpui::{App, ClipboardItem, Entity, Global};
use crate::{Editor, Mode};
#[derive(Clone, Copy, Debug)]
pub struct PasteContext<'a> {
pub mode: Mode,
pub in_fence: bool,
pub base: Option<&'a Path>,
}
#[derive(Clone, Debug, PartialEq, Eq)]
pub enum PasteContent {
Literal(String),
Markdown(String),
}
pub type PasteHandler = fn(
item: &ClipboardItem,
editor: &Entity<Editor>,
destination: PasteContext<'_>,
cx: &mut App,
) -> Option<PasteContent>;
pub(crate) struct Installed(pub PasteHandler);
impl Global for Installed {}