Giter Club home page Giter Club logo

genio's Introduction

Genio

CodeFactor Codacy Badge Screenshot Screenshot-Dark

Introduction

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
  • "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

Goals and roadmap

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

Configuring LSP

For more advanced IDE feateures, Genio implements the LSP protocol. (https://microsoft.github.io/language-server-protocol/)

Building Genio

Prerequirements

Genio requires Scintilla and Lexilla to implement various functionalities. It also requires libgit2 to implement Git features and libyaml_cpp to read yaml files. The needed development files are available in libgit2_devel, lexilla_devel and yaml_cpp_devel, respectively. Execute pkgman install libgit2_devel lexilla_devel yaml_cpp_devel from Terminal.

If you would like to try a clang++ build:

  • Install llvm_clang hpkg from HaikuPorts
  • Set BUILD_WITH_CLANG to 1 in Makefile

Compiling

Execute make deps && make in Genio's top directory. The executable is created in app subdirectory.

Genio can already be opened and built within Genio itself. The makefile has been updated to accept the debug parameter:

  • debug=1 - Genio is built in debug mode
  • debug=0 or parameter omitted - Genio is built in release mode

Contributions

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 with a few differences.

License

Genio is available under the MIT license. See License.md.

genio's People

Contributors

freaxed avatar humdingerb avatar jackburton79 avatar lonemadmax avatar nexus6-haiku avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.