The goal of this project is to provide an open source library for building editors that can handle massive files, and multiple viewports.
User documentation is published to https://ctc-oss.github.io/omega-edit/.
The Ωedit project is built primarily using CLion. If using CLion everything should build seamlessly, though Visual Studio Code also works well.
- C/C++ compiler (such as clang, gcc, mingw, or MSVC)
- CMake (https://cmake.org/download/)
- conan C/C++ package manager
- make or ninja for running the build scripts
- nvm or nodeenv for using specific versions of node.js
- doxygen to generate API documentation (https://www.doxygen.nl)
- sphinx to generate user documentation (https://www.sphinx-doc.org)
- sphinx RTD theme (https://github.com/readthedocs/sphinx_rtd_theme)
- breathe ReStructuredText and Sphinx bridge to Doxygen (https://github.com/michaeljones/breathe)
- scala/sbt/java
❗ These commands should be executed at the root level of the repository ❗
pip install conan
Depending on your linking needs, Ωedit can be built as either as a static (e.g., libomega_edit.a) or shared (e.g., libomega_edit.so) library.
cmake -S . -B cmake-build-debug -DCMAKE_BUILD_TYPE=Debug
cmake -S . -B cmake-build-debug -DCMAKE_BUILD_TYPE=Debug -DBUILD_SHARED_LIBS=YES
cmake --build cmake-build-debug
cmake -S src/tests -B cmake-build-tests -DCMAKE_BUILD_TYPE=Debug
pushd cmake-build-tests && ctest -C Debug --output-on-failure && popd
This package is normally uploaded to npmjs.com
❗ Node needs to be installed but shouldn't matter what version you use. ❗
-
Create local
.tgz
filecd src/rpc/client/ts yarn install # if not ran before yarn package
-
File will be at
src/rpc/client/ts/omega-edit-v${VERSION}.tgz
-
-
Publish
.tgz
file to npmjs -- requires authyarn publish omega-edit-v${VERSION}.tgz
This publishes for Scala version 2.13 to GitHub packages.
- Requires the
GITHUB_TOKEN
environment variable to be set
sbt publishAll
This packages the reference Scala server to a local zip folder
cd src/rpc/server/scala
sbt universial:packageBin
Zip file will be located at
src/rpc/server/scala/target/universal/omega-edit-grpc-server-${VERSION}.zip
Currently, the repo holds bindings for both Scala and node.
Binary releases for macOS (x86), Windows (x86), and Linux (ARM, and x86; glibc 2.31 or greater required) are built and published via GitHub CI workflows.
Ωedit follows Semantic Versioning.