{"id":13895989,"url":"https://github.com/orbitalquark/scintillua","last_synced_at":"2025-05-01T18:30:31.667Z","repository":{"id":38216390,"uuid":"294951902","full_name":"orbitalquark/scintillua","owner":"orbitalquark","description":"Scintillua enables Scintilla lexers to be written in Lua, particularly using LPeg. It can also be used as a standalone Lua library for syntax highlighting support.","archived":false,"fork":false,"pushed_at":"2025-04-30T13:55:16.000Z","size":10988,"stargazers_count":61,"open_issues_count":18,"forks_count":24,"subscribers_count":5,"default_branch":"default","last_synced_at":"2025-04-30T14:52:30.776Z","etag":null,"topics":["lexer","lexers","lpeg","lua","scintilla","scintillua","scite","syntax-highlighting"],"latest_commit_sha":null,"homepage":"https://orbitalquark.github.io/scintillua","language":"Lua","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-12T13:43:47.000Z","updated_at":"2025-04-30T13:53:57.000Z","dependencies_parsed_at":"2024-03-10T21:25:24.554Z","dependency_job_id":"2558b427-a96d-44f9-a84e-540e76c58c3e","html_url":"https://github.com/orbitalquark/scintillua","commit_stats":null,"previous_names":[],"tags_count":64,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/orbitalquark%2Fscintillua","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/orbitalquark%2Fscintillua/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/orbitalquark%2Fscintillua/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/orbitalquark%2Fscintillua/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/orbitalquark","download_url":"https://codeload.github.com/orbitalquark/scintillua/tar.gz/refs/heads/default","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251924564,"owners_count":21665992,"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":["lexer","lexers","lpeg","lua","scintilla","scintillua","scite","syntax-highlighting"],"created_at":"2024-08-06T18:02:36.035Z","updated_at":"2025-05-01T18:30:31.661Z","avatar_url":"https://github.com/orbitalquark.png","language":"Lua","funding_links":[],"categories":["Lua"],"sub_categories":[],"readme":"# Scintillua\n\nScintillua enables lexers for [Scintilla][] to be written in the [Lua][] programming language,\nparticularly in conjunction with the [LPeg][] pattern-matching library. It is the quickest way\nto add new or customized syntax highlighting and code folding for programming languages to any\nScintilla-based text editor or IDE. Scintillua was designed to be dropped into or compiled with\nany Scintilla environment.\n\nScintillua may also be used as a standalone Lua library for obtaining syntax highlighting\ninformation of source code. Scintilla is not required in that case.\n\n[Lua]: https://lua.org\n[LPeg]: http://www.inf.puc-rio.br/~roberto/lpeg/lpeg.html\n[Scintilla]: https://scintilla.org\n\n## Features\n\n* Drop-in installation in most Scintilla environments -- no modifications to Scintilla are\n  necessary.\n* Support for [over 120][] programming languages.\n* Easy lexer embedding for multi-language lexers.\n* Universal color themes.\n* Comparable speed to native Scintilla/Lexilla lexers.\n* Can be used as a standalone Lua library (Scintilla is not required).\n\n[over 120]: lexerlist.md\n\n## Requirements\n\nScintillua requires Scintilla 5.0.1 or greater and [Lexilla][] 5.1.0 or greater for a drop-in\ninstallation. The drop-in external lexer already has Lua and LPeg pre-compiled into it.\n\nWhen used as a standalone Lua library, Scintillua requires Lua 5.1 or greater and [LPeg][]\n1.0.0 or greater. Scintilla is not required.\n\n[Lexilla]: https://www.scintilla.org/Lexilla.html\n[LPeg]: http://www.inf.puc-rio.br/~roberto/lpeg/\n\n## Download\n\nScintillua releases can be found [here][1]. A comprehensive list of changes between releases\ncan be found [here][2].\n\n[1]: https://github.com/orbitalquark/scintillua/releases\n[2]: changelog.md\n\n## Installation and Usage\n\nScintillua comes with a [user manual][] in its *docs/* directory. It covers how to drop Scintillua\ninto an existing installation of a Scintilla-based application, how to compile Scintillua into\nyour Scintilla-based application, and how to use Scintillua as a standalone Lua library.\n\nAs an example, you can drop Scintillua into an existing installation of [SciTE][], the SCIntilla\nbased Text Editor, by moving Scintillua's directory into SciTE's installation directory,\nrenaming it simply *scintillua*, and then adding the following to your *SciTEGlobal.properties*\nfile:\n\n    import scintillua/scintillua\n\nScintillua's Application Programming Interface [(API) documentation][] is also located in\n*docs/*. It provides information on how to write and utilize Lua lexers.\n\n[user manual]: manual.md\n[SciTE]: https://scintilla.org/SciTE.html\n[(API) documentation]: api.md\n\n## Compile\n\nScintillua can be built as an external Scintilla lexer, or it can be built directly into a\nScintilla-based application. The standalone Lua library does not need to be compiled.\n\nScintillua can be built on Windows and Linux using [CMake][].\n\nGeneral requirements:\n\n- [CMake][] 3.16+\n- A C and C++ compiler, such as:\n  - [GNU C compiler][] (*gcc*) 7.1+\n  - [Microsoft Visual Studio][] 2019+\n\nBasic procedure:\n\n1. Configure CMake to build Scintillua by pointing it to Scintillua's source directory (where\n  *CMakeLists.txt* is) and specifying a binary directory to compile to.\n2. Build Scintillua.\n3. Either copy the built shared object library to Scintillua's *lexers/* directory or use CMake to\n  install it there.\n\nFor example:\n\n```bash\ncmake -S . -B build_dir -D CMAKE_BUILD_TYPE=RelWithDebInfo\ncmake --build build_dir -j # compiled shared object library is in build_dir/\ncmake --install build_dir # installs the shared object library to the local lexers/ directory\n```\n\nFor more information on compiling Scintillua, including how to compile Scintillua directly into\nyour Scintilla-based application please see the [manual][].\n\n[CMake]: https://cmake.org\n[GNU C compiler]: https://gcc.gnu.org\n[Microsoft Visual Studio]: https://visualstudio.microsoft.com/\n[manual]: manual.html#compiling-scintillua-directly-into-an-app\n\n## Support\n\n- [Manual](manual.md)\n- [API Documentation](api.md)\n- [Project page](https://github.com/orbitalquark/scintillua)\n- [Issue tracker](https://github.com/orbitalquark/scintillua/issues)\n- [Discussions](https://github.com/orbitalquark/scintillua/discussions)\n- [Credits](thanks.md)\n\nYou can contact me personally at code att foicica.com.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Forbitalquark%2Fscintillua","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Forbitalquark%2Fscintillua","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Forbitalquark%2Fscintillua/lists"}