package grenier
Install
    
    dune-project
 Dependency
Authors
Maintainers
Sources
sha256=e5362e6ad0e888526517415e78b9e8243bb0cc1b0c952201884148832ac4442f
    
    
  sha512=4e2f16b52b3c2786a1b8e93156184fd69d448cea571ca839b6cb88ab73f380994d1561fe24c1523c43ed8fc42d2ac01b673a13b6151fff4af4f009923d3aaf37
    
    
  doc/grenier.trope/Trope/index.html
Module Trope
Buffer management
val create : unit -> 'a tCreate a new lineage of buffers
val is_empty : 'a t -> booltrue iff is buffer empty ?
Shift contents of the buffer by removing len units starting at at. Valid iff at >= 0 && len >= 0. Cursors exactly at position at are removed iff called with ~left_of:().
Shift contents of the buffer by inserting len units starting at at. Valid iff at >= 0 && len >= 0. Cursors exactly at position at are shifted iff called with ~left_of:().
Cursor management
Creation and removal of cursors
Create a new cursors at position at Valid iff at >= 0.
Insert or update a cursor. Cursor is inserted at the left-most valid position.
Insert or update a cursor. Cursor is inserted at the right-most valid position before buffer end.
rem_cursor t c removes a cursor from the buffer. Valid iff member t c.
cursor_at_origin t creates a cursor that is minimal for t (before all other cursors in t)
Modification of buffers
Remove anything between two cursors. remove_between t a b is valid iff member t a && member t b && compare a b <= 0
remove_before t c len removes len units before c. Valid iff member t c && len >= 0.
remove_after t c len removes len units after c. Valid iff member t c && len >= 0.
insert_before t c len inserts len units before c. Valid iff member t c && len >= 0.
insert_before t c len inserts len units after c. Valid iff member t c && len >= 0.
Looking up cursors in the buffer
find_before t at finds the last cursor c in t satisfying position t c <= at
find_after t at finds the first cursor c in t satisfying position t c >= at
seek_before t c finds the last cursor c' in t satisfying compare c' c < 0
seek_after t c finds the first cursor c' in t satisfying compare c' c > 0