Skip to content

About

Editor models library for ACSIDE and the plugins system.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

acside-editor-models

A shared Android library that provides the LSP (Language Server Protocol) model layer for ACSIDE and its plugins system.

This library replaces the duplicated editor/ module that previously lived inside every official plugin, giving plugins a single, versioned source of truth for all editor contracts.


Why this library exists

Every official plugin (Bash, Clang, Python, Web, Flutter, …) used to ship an identical copy of the editor/ module containing the same LSP data classes and the LanguageClient interface. This meant:

  • Any change to a shared model had to be applied manually in every plugin.
  • Build times grew because every plugin compiled the same source redundantly.
  • API drift was possible when plugins fell out of sync.

acside-editor-models centralises all of that into one versioned dependency.


Package

Coordinate Value
Group ID com.github.AndroidCSIDE
Artifact ID acside-editor-models
Version GitHub Tag
Min SDK 26
Compile SDK 37
JVM target 17

Installation

Via JitPack (recommended for plugins)

Add JitPack to your dependency resolution block:

// settings.gradle.kts
dependencyResolutionManagement {
    repositories {
        google()
        mavenCentral()
        maven("https://jitpack.io")
    }
}

Then add the dependency:

// build.gradle.kts
dependencies {
    implementation("com.github.AndroidCSIDE:acside-editor-models:<tag>")
}

Via GitHub Packages

Add the GitHub Packages repository with credentials:

// settings.gradle.kts
dependencyResolutionManagement {
    repositories {
        google()
        mavenCentral()
        maven {
            url = uri("https://maven.pkg.github.com/AndroidCSIDE/acside-editor-models")
            credentials {
                username = providers.gradleProperty("gpr.user").orNull
                    ?: System.getenv("GITHUB_ACTOR")
                password = providers.gradleProperty("gpr.token").orNull
                    ?: System.getenv("GITHUB_TOKEN")
            }
        }
    }
}
// build.gradle.kts
dependencies {
    implementation("com.github.AndroidCSIDE:acside-editor-models:VERSION")
}

Credentials - set gpr.user and gpr.token in your personal ~/.gradle/gradle.properties.
In CI, set the GITHUB_ACTOR and GITHUB_TOKEN environment variables.
Never commit tokens to source control.


License

ACSIDE Editor Models is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

See LICENSE for the full text.

About

Editor models library for ACSIDE and the plugins system.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages