Genio is a native and fully functional IDE for the Haiku operating system
Some of the features of the Genio IDE are:
- LSP Server support (autocompletion, signature help, go to definition/implementation/declaration, quick fix, format)
- Multi-project browser
- Integrated source control with GIT (including opening a remote project)
- Find in files
- Links to file and build errors in Build Log and Console I/O
- Symbols outline view
- "Problems" tab
- Build on save / Save on build
- User templates for quickly creating new files and projects
- Rich editor with many features:
- Multiple tabs
- Syntax highlighting for many languages
- Highlight/Trim whitespace
- Comment/uncomment lines
- Duplicate current line
- Delete lines
- Switch between source and header
- Full screen and Focus mode
Genio started off as a fork of Ideam, and the editor is based on Scintilla for Haiku.
We also took inspiration and code from the editor Koder.
- strongly recommended for full Genio experience (autocompletion, jump to definition, etc):
- gcc_syslibs_devel
- llvm17_clang
pkgman install gcc_syslibs_devel llvm17_clang
Genio aims to be an easy, simple yet powerful IDE for Haiku inspired by VS Code and Nova.
- Plug-in architecture
- Bring the editor up-to-date and on par with other Haiku editors (Koder, Pe)
- Compiler error parser
For more advanced IDE features, Genio implements the LSP protocol. (https://microsoft.github.io/language-server-protocol/)
- For C and C++ projects you can use clangd. See Configuring-clangd-lsp.md
- For Python projects you can install and use Python LSP Server
- For C# projects you can install and use OmniSharp
Genio requires Scintilla and Lexilla to implement various functionalities.
It also requires libgit2 to implement Git features, libyaml_cpp to read yaml files and
editorconfig_core_c to provide support for project wide .editorconfig settings.
The needed development files are available in libgit2_devel
, lexilla_devel
, yaml_cpp0.8_devel
,
and editorconfig_core_c_devel
respectively.
Execute pkgman install libgit2_devel lexilla_devel yaml_cpp0.8_devel editorconfig_core_c_devel
from Terminal.
If you would like to try a clang++ build:
- Install
llvm17_clang
andllvm17_lld
hpkgs from HaikuPorts - Set
BUILD_WITH_CLANG
to1
inMakefile
Execute make deps && make
in Genio's top directory.
The executable is created in app
subdirectory.
Genio can also be built within Genio itself.
We gladly accept contributions, especially for bug fixes. Feel free to submit PRs. For code contributions, prefer Haiku API over posix, where applicable. We (try to) stick to the Haiku style for code, although we are a bit less strict sometimes.
Genio is available under the MIT license. See License.md. Outline LSP icons are taken from Visual Studio Code and released under Creative Commons license. See Visual Studio Code - Icons