sturgeon

A toolkit for communicating with Emacs
Legend:
Library
Module
Module type
Parameter
Class
Class type
Library sturgeon
Module Sturgeon_stui
type flag = [
| `Clickable
| `Clicked
| `Editable
| `Prompt
| `Focus
| `Custom of string * Sturgeon_sexp.basic
]

Set of flags recognized by Sturgeon interface.

type shell

A buffer shell is the abstract object representing the connection to the user-interface display. Through a shell, you can create one or more buffers.

TODO:

  • bind message function from emacs for reporting information
val buffer_greetings : unit -> Sturgeon_session.t * shell

buffer_greetings provide you with a session and a shell. Send the session as a greetings to emacs instance and the shell will open and display buffers in this instance.

val message : shell -> string -> unit
type buffer
val create_buffer : shell -> name:string -> buffer

Create patch socket (low-level) from a shell.

val open_cursor : buffer -> flag Inuit.cursor
val manual_connect : buffer -> flag Inuit.patch Inuit.socket -> unit
val create_cursor : shell -> name:string -> flag Inuit.cursor

Create cursor ready to output in a buffer.

Auxiliary interactions

type 'a menu = string * [ `Item of 'a | `Sub of 'a menu list ]
val popup_menu : shell -> string -> 'a menu list -> 'a Sturgeon_session.cont -> unit
val read_file_name : shell -> prompt:string -> ?dir:string -> ?default:string -> string Sturgeon_session.cont -> unit
val fit_to_window : buffer -> unit
val split : buffer -> name:string -> [ `Left | `Right | `Top | `Bottom ] -> buffer