Giter Site home page Giter Site logo

rellikjaeger / sora-editor Goto Github PK

View Code? Open in Web Editor NEW

This project forked from rosemoe/sora-editor

1.0 2.0 0.0 11.78 MB

A wonderful code editor library on Android with syntax-highlighting and auto-completion.

License: GNU Lesser General Public License v2.1

Java 82.18% Kotlin 14.24% Lua 3.37% Scheme 0.21%

sora-editor's Introduction

Banner

CI GitHub license Maven Central
Telegram QQ

sora-editor is a cool and optimized code editor on Android platform

Read this in other languages: English, 简体中文, Español, 日本語.

Note that statements in other languages may not be up-to-date.

Work In Progress This project is still developing slowly.
Download the newest sources from Releases instead of cloning this repository directly. Issues and pull requests are welcome.

Features

  • Syntax highlighting
  • Auto-completion (with code snippets)
  • Auto indent
  • Code block lines
  • Scale text
  • Undo/redo
  • Search and replace
  • Auto wordwrap
  • Show non-printable characters
  • Error/Warning/Typo/Deprecated indicators
  • Text magnifier
  • Incremental highlight analysis
  • Sticky Scroll
  • Highlight bracket pairs
  • Event System

Key bindings

When working with a physical keyboard, you can use key bindings for performing various text actions. The editor provides support for some key bindings by default. However, you can subscribe to KeyBindingEvent and add your own key bindings. You can even override the default key bindings and perform actions of your own.

The currently supported key bindings are mostly similar to Android Studio/Intellij IDEA. See the supported key bindings.

Screenshots

GeneralAppearance ProblemIndicator

Get started

Add to your app's dependencies:

dependencies {
    implementation(platform("io.github.Rosemoe.sora-editor:bom:<versionName>"))
    implementation("io.github.Rosemoe.sora-editor:<moduleName>")
}

Available modules:

  • editor
    Widget library containing all basic things of the framework
  • editor-lsp
    A convenient library for creating languages by using Language Server Protocol (aka LSP)
  • language-java
    A simple implementation for Java highlighting and identifier auto-completion
  • language-textmate
    An advanced highlighter for the editor. You can find textmate language bundles and themes and load them by using this module. The internal implementation of textmate is from tm4e.
  • language-treesitter
    Offer tree-sitter support for editor. This can be used to parse the code to an AST fast and incrementally, which is helpful for accurate highlighting and providing completions. Note that this module only provides incremental paring and highlighting. Thanks to Java bindings android-tree-sitter

Check the newest version from the badge above or Releases.

Using Snapshot Versions

Snapshot releases are automatically generated on repository push. You may combine current released version name and short commit hash to make a snapshot version name. For example, if the latest released version name is '0.21.1' and short commit hash is '97c4963', you may use version name '0.21.1-97c4963-SNAPSHOT' to import the snapshot version to your project.

Discuss

Contributors

License

sora-editor - the awesome code editor for Android
https://github.com/Rosemoe/sora-editor
Copyright (C) 2020-2023  Rosemoe

This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301
USA

Please contact Rosemoe by email [email protected] if you need
additional information or have any questions

Acknowledgements

Thanks to JetBrains for allocating free open-source licences for IDEs such as IntelliJ IDEA.

sora-editor's People

Contributors

rosemoe avatar dingyi222666 avatar itsaky avatar renovate[bot] avatar coyamo avatar summerain0 avatar dependabot[bot] avatar ninjacoderhsi avatar pranavpurwar avatar liyujiang-gzu avatar keta1 avatar martlintz avatar massivemadness avatar randunurtx avatar zeroaicy avatar tyron12233 avatar muntashirakon avatar randunuk avatar ikws4 avatar yuruxuan avatar elcosilol9 avatar m-anshuman2166 avatar omeraydindev avatar mnixry avatar tegajoel avatar

Stargazers

Rellik Jaeger avatar

Watchers

James Cloos avatar Rellik Jaeger 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.