Source file clipboard.ml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
open! Core
open! Async_kernel
open! Import

let () = Feature.require ("select" |> Symbol.intern)
let select_enable_clipboard = Customization.Wrap.("select-enable-clipboard" <: bool)

let with_clipboard_enabled f =
  Current_buffer.set_value_temporarily
    Sync
    (select_enable_clipboard |> Customization.var)
    true
    ~f
;;

let kill_new text = with_clipboard_enabled (fun () -> Kill_ring.kill_new text)
let yank_at_point () = with_clipboard_enabled Point.yank