{"id":13894172,"url":"https://github.com/orbitalquark/scinterm","last_synced_at":"2025-07-05T09:04:33.321Z","repository":{"id":54748690,"uuid":"294279640","full_name":"orbitalquark/scinterm","owner":"orbitalquark","description":"Scinterm is a curses platform for Scintilla that supports ncurses, PDCurses, and X/Open Curses.","archived":false,"fork":false,"pushed_at":"2025-06-22T17:02:35.000Z","size":1316,"stargazers_count":25,"open_issues_count":1,"forks_count":3,"subscribers_count":6,"default_branch":"default","last_synced_at":"2025-06-22T17:37:24.018Z","etag":null,"topics":["curses","editors","pdcurses","scintilla","terminal"],"latest_commit_sha":null,"homepage":"https://orbitalquark.github.io/scinterm","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/orbitalquark.png","metadata":{"files":{"readme":"docs/README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2020-09-10T02:18:53.000Z","updated_at":"2025-06-04T13:28:16.000Z","dependencies_parsed_at":"2024-11-30T17:28:18.841Z","dependency_job_id":"95a91fe0-b3ab-49db-96f8-289a91c93b4a","html_url":"https://github.com/orbitalquark/scinterm","commit_stats":null,"previous_names":[],"tags_count":25,"template":false,"template_full_name":null,"purl":"pkg:github/orbitalquark/scinterm","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/orbitalquark%2Fscinterm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/orbitalquark%2Fscinterm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/orbitalquark%2Fscinterm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/orbitalquark%2Fscinterm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/orbitalquark","download_url":"https://codeload.github.com/orbitalquark/scinterm/tar.gz/refs/heads/default","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/orbitalquark%2Fscinterm/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263715131,"owners_count":23500240,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["curses","editors","pdcurses","scintilla","terminal"],"created_at":"2024-08-06T18:01:25.756Z","updated_at":"2025-07-05T09:04:33.314Z","avatar_url":"https://github.com/orbitalquark.png","language":"C++","readme":"# Scinterm\n\nScinterm is a curses platform for [Scintilla][] that supports [ncurses][], [PDCurses][], and\nX/Open Curses.\n\n\u003ca href=\"assets/images/scinterm.png\"\u003e\u003cimg src=\"assets/images/scinterm.png\" width=\"500\" alt=\"scinterm\"/\u003e\u003c/a\u003e\n\nIt is highly recommended to run Scinterm in a UTF-8-aware terminal with a font that supports\nmany UTF-8 characters (\"DejaVu Sans Mono\" is one of them), since Scinterm makes use of UTF-8\ncharacters when drawing wrap symbols, some marker symbols, and call tip arrows.\n\n[Scintilla]: https://scintilla.org\n[ncurses]: https://invisible-island.net/ncurses/\n[PDCurses]: https://pdcurses.org\n\n## Requirements\n\n* Scinterm 5.x requires Scintilla 5.4.2 - 5.x.\n* Scinterm 5.0 requires Scintilla 5.3.0 - 5.4.1.\n* Scinterm 4.x requires Scintilla 5.3.0 - 5.4.1.\n* Scinterm 3.2 requires Scintilla 5.1.4 - 5.2.4.\n* Scinterm 3.1 requires Scintilla 5.1.0 - 5.1.1.\n* Scinterm 3.0 requires Scintilla 3.20.0 - 3.21.0.\n* Scinterm 2.0 requires Scintilla 3.20.0 - 3.21.0.\n* Scinterm 1.12 requires Scintilla 3.11.0 - 3.11.2.\n* Scinterm 1.11 requires Scintilla 3.10.0 - 3.10.6.\n* Scinterm 1.10 requires Scintilla 3.8.0.\n* Scinterm 1.9 requires Scintilla 3.7.5 - 3.7.6.\n* Scinterm 1.8 requires Scintilla 3.6.3 - 3.7.4.\n* Scinterm 1.7 requires Scintilla 3.6.3 - 3.7.4.\n* Scinterm 1.6 requires Scintilla 3.5.5 - 3.6.2.\n* Scinterm 1.5 requires Scintilla 3.5.2 - 3.5.4.\n* Scinterm 1.4 requires Scintilla 3.5.0 - 3.5.1.\n* Scinterm 1.3 requires Scintilla 3.4.2 - 3.4.4.\n* Scinterm 1.2 requires Scintilla 3.3.7 - 3.4.1.\n* Scinterm 1.1 requires Scintilla 3.2.2 - 3.3.6.\n* Scinterm 1.0 requires Scintilla 3.2.2 - 3.3.6.\n\n## Download\n\nScinterm releases can be found [here][].\n\n[here]: https://github.com/orbitalquark/scinterm/releases\n\n## Compile\n\nAfter downloading Scinterm, it is recommended to unzip it into the top-level directory of an\ninstance of Scintilla, similar to other Scintilla platforms like *gtk/* and *win32/*. After\nthat, go into the Scinterm directory and run `make patch` followed by `make` to build the usual\n*../bin/scintilla.a*.\n\nYou can optionally build the demo application, jinx, by going into *jinx/* and running\n`make`. Pressing the `q` key quits the demo. Note that the demo assumes [lexilla][]\nis a sibling to the *../../../scintilla* directory, and that it has been built\n(i.e. *../../../lexilla/bin/liblexilla.so* exists).\n\n[lexilla]: https://www.scintilla.org/Lexilla.html\n\n## Usage\n\nScinterm's Application Programming Interface [(API) documentation][] is located in the project's\n*docs/* directory and covers how to create and interact with a Scintilla widget in a terminal\napplication.\n\n[(API) documentation]: api.md\n\n### Colors\n\nIf your terminal emulator supports RGB colors, you may use them freely in Scintilla messages.\n\nIf you prefer to use your terminal emulator's palette of up to 16 colors, you must use the\ncolors from the following table, which are listed in Scintilla's \"0xBBGGRR\" format.\n\n`0x000000` | Black | `0x404040` | Light black\n`0x000080` | Red | `0x0000FF` | Light red\n`0x008000` | Green | `0x00FF00` | Light green\n`0x800000` | Blue | `0xFF0000` | Light blue\n`0x800080` | Magenta | `0xFF00FF` | Light magenta\n`0x808000` | Cyan | `0xFFFF00` | Light cyan\n`0xC0C0C0` | White | `0xFFFFFF` | Light white\n\nYour terminal will map these colors to its palette for display. In some terminals, you may need\nto set a style's bold attribute in order to use the light color variant.\n\n## Curses Compatibility\n\nScinterm lacks some Scintilla features due to the terminal's constraints:\n\n* Any settings with alpha values are not supported.\n* Autocompletion lists cannot show images (pixmap surfaces are not supported). Instead, they\n  show the first character in the string passed to [`SCI_REGISTERIMAGE`][].\n* Buffered drawing is not supported.\n* Caret settings like period, line style, and width are not supported (terminals use block\n  carets with their own period definitions).\n* Clipboard operations do not interact with the system clipboard, including X selections\n  (primary and secondary).\n* Code pages other than UTF-8 have not been tested and it is possible some curses implementations\n  do not support them.\n* Drag and drop is not supported.\n* Edge lines are not displayed properly (the line is drawn over by text lines).\n* Extra ascent and descent for lines is not supported.\n* Fold lines cannot be drawn above or below lines.\n* Fold marker highlighting consists only of bold-facing the foreground color; setting the\n  selected background color has no effect.\n* Hotspot underlines are not drawn on mouse hover (`surface-\u003eFillRectangle()` is not supported).\n* Indent guides can only highlight in white, not the brace highlight color.\n* Indicators other than `INDIC_ROUNDBOX` and `INDIC_STRAIGHTBOX` are not drawn (`surface-\u003eLineTo()`\n  and `surface-\u003eFillRectangle()` are not supported for drawing indicator shapes and pixmap\n  surfaces are not supported). Translucent drawing and rounded corners are not supported either.\n* Some complex marker types are not drawn properly or at all (pixmap surfaces are not supported\n  and `surface-\u003eLineTo()` is not supported for drawing some marker shapes).\n* Mouse cursor types are not supported.\n* Some styles settings like font name, font size, and italic do not display properly (terminals\n  use one only font, size and variant).\n* Zoom is not supported (terminal font size is fixed).\n* When using the mouse in the Windows console, Shift+Double-click extends selections and\n  quadruple-clicking inside a selection collapses it.\n\n[`SCI_REGISTERIMAGE`]: https://scintilla.org/ScintillaDoc.html#SCI_REGISTERIMAGE\n\n## Support\n\n- [API Documentation](api.md)\n- [Project page](https://github.com/orbitalquark/scinterm)\n- [Issue tracker](https://github.com/orbitalquark/scinterm/issues)\n- [Credits](thanks.md)\n\nYou can contact me personally at code att foicica.com.\n","funding_links":[],"categories":["C++"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Forbitalquark%2Fscinterm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Forbitalquark%2Fscinterm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Forbitalquark%2Fscinterm/lists"}