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 free
ing 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 free
ing 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_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