A curses platform for Scintilla that supports curses platforms like ncurses.
scintilla_delete(sci)Deletes the given Scintilla window.
Parameters:
scintilla_new().Returns: void
scintilla_get_clipboard(sci, len)Returns a null-terminated copy of the text on Scintilla’s internal clipboard (not the primary and/or secondary X selections) and stores its length in len.
The caller is responsible for freeing the returned text.
Keep in mind clipboard text may contain null bytes.
Parameters:
scintilla_new().int *) The length of the returned text.Returns: char * clipboard text (caller is responsible for freeing it)
scintilla_get_window(sci)Returns the curses WINDOW associated with the given Scintilla window.
Parameters:
scintilla_new().Returns: curses WINDOW.
scintilla_new(callback, userdata)Creates a new Scintilla curses window.
Parameters:
void callback(Scintilla *,
int, void *, void *).void *) Userdata to pass to callback.Returns: Scintilla *
scintilla_noutrefresh(sci)Refreshes the Scintilla window on the virtual screen.
This should be done along with the normal curses noutrefresh().
Note: the terminal cursor may be hidden if Scintilla thinks this window has focus
(e.g. SCI_SETFOCUS) and Scintilla’s caret is out of view. If another non-Scintilla window
has the real focus, call curs_set(1) in order to show the terminal cursor for that window.
Parameters:
scintilla_new().scintilla_refresh(sci)Refreshes the Scintilla window on the physical screen.
This should be done along with the normal curses refresh().
Note: the terminal cursor may be hidden if Scintilla thinks this window has focus
(e.g. SCI_SETFOCUS) and Scintilla’s caret is out of view. If another non-Scintilla window
has the real focus, call curs_set(1) in order to show the terminal cursor for that window.
Parameters:
scintilla_new().Returns: void
scintilla_send_key(sci, key, modifiers)Sends the specified key to the given Scintilla window for processing.
If it is not consumed, an SCNotification will be emitted.
Parameters:
scintilla_new().int) The keycode of the key, or, if Scintilla’s code page is UTF-8, the UTF-8
code point of the key.int) Bit-mask of SCMOD_* modifier keys.Returns: void
scintilla_send_message(sci, iMessage, wParam, lParam)Sends the given message with parameters to the given Scintilla window.
Parameters:
scintilla_new().int) The Scintilla message ID.uptr_t) The first parameter.sptr_t) The second parameter.Returns: sptr_t
scintilla_send_mouse(sci, event, button, modifiers, y, x)Sends the specified mouse event to the given Scintilla window for processing.
Parameters:
scintilla_new().int) The mouse event (SCM_CLICK, SCM_DRAG, or SCM_RELEASE).int) The button number pressed, or 0 if none.int) Bit-mask of SCMOD_* modifier keys.int) The absolute y coordinate of the mouse event.int) The absolute x coordinate of the mouse event.Returns: bool whether or not Scintilla handled the mouse event.
scintilla_set_color_offsets(color_offset, pair_offset)Sets the offsets for colors and color pairs generated on-demand.
Applications that define their own colors and color pairs can tell Scinterm where to start from.
Parameters:
init_color().init_pair().scintilla_update_cursor(sci)Updates the curses window cursor for the Scintilla window so the terminal draws the cursor in the correct position.
This only needs to be called when scintilla_refresh() or scintilla_noutrefresh() is not
the last curses draw command issued (for any window, not just the Scintilla window).
Note: the terminal cursor may be hidden if Scintilla thinks this window has focus
(e.g. SCI_SETFOCUS) and Scintilla’s caret is out of view. If another non-Scintilla window
has the real focus, call curs_set(1) in order to show the terminal cursor for that window.
Parameters:
scintilla_new().Returns: void