From d71ed401ede3971a03cd06e87093267bc24afe29 Mon Sep 17 00:00:00 2001 From: soloopooo Date: Mon, 12 Feb 2024 08:26:03 +0800 Subject: [PATCH 1/5] Update Index and Getting-started for ja. --- ja/guide/getting-started.md | 37 ++++++++++++++++++++++++++++++++ ja/index.md | 38 +++++++++++++++++++++++++++++++++ ja/reference/no-implemention.md | 1 + 3 files changed, 76 insertions(+) create mode 100644 ja/guide/getting-started.md create mode 100644 ja/index.md create mode 100644 ja/reference/no-implemention.md diff --git a/ja/guide/getting-started.md b/ja/guide/getting-started.md new file mode 100644 index 0000000..a37995e --- /dev/null +++ b/ja/guide/getting-started.md @@ -0,0 +1,37 @@ +# クイックスタート + +依存関係をプロジェクトに追加してください: + +[![Maven Central](https://img.shields.io/maven-central/v/io.github.Rosemoe.sora-editor/editor.svg?label=Maven%20Central)]((https://search.maven.org/search?q=io.github.Rosemoe.sora-editor%20editor)) + +```groovy +dependencies { + implementation(platform("io.github.Rosemoe.sora-editor:bom:")) + implementation("io.github.Rosemoe.sora-editor:") +} +``` + +## 🛠️付属のモジュール + +| モジュール | 紹介 | +| ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| editor | エディターのコア フレームワークが含まれています。 | +| editor-lsp | Language Server Protocol (略して LSP) を使用して言語を作成するための便利なツールのライブラリです。 | +| language-java | Java の強調表示とオートコンプリートを含む言語ライブラリ。 | +| language-textmate | 高度なハイライト分析ライブラリ。これを使用して、textmate 言語構成ファイルをロードし、このエディターに適用できます。内部実装は [tm4e](https://github.com/eclipse/tm4e) から取得されます。 | +| language-treesitter | エディターに [tree-sitter](https://tree-sitter.github.io/tree-sitter/) サポートを提供します。これを使用すると、コードを抽象構文ツリーに迅速かつ段階的に解析することができ、正確な強調表示と補完の提供に役立ちます。このモジュールはトランジションとハイライトのサポートのみを提供することに注意してください。[android-tree-sitter](https://github.com/AndroidIDEOfficial/android-tree-sitter/)プロジェクトによって提供される Java バインディング ライブラリを感謝します。 | + +最新のエディターのバージョンは、上部のバッジまたは [Releases](https://github.com/Rosemoe/CodeEditor/releases)から見つけることができます。 + +## プロジェクトの初期化 + +CodeEditor をレイアウト ファイルに追加してください: + +```xml + +``` + +こうすると、最も基本的なエディターが完成したものです。 diff --git a/ja/index.md b/ja/index.md new file mode 100644 index 0000000..5ab1b99 --- /dev/null +++ b/ja/index.md @@ -0,0 +1,38 @@ +--- +layout: home + +title: Sora Editor +titleTemplate: 高性能Androidコードエディター + +hero: + name: Sora Editor + text: 高性能Androidコードエディター + tagline: 強力な機能、優秀な性能、簡単な拡張。これは、モバイル コード エディターを構築するために最適な選択です! + actions: + - theme: brand + text: クイックスタート + link: /ja/guide/getting-started + - theme: alt + text: GitHub + link: https://github.com/Rosemoe/sora-editor +features: + - icon: 🛠️ + title: 簡単な拡張 + details: エディターをプロジェクトにシンプルで統合や拡張できます。 + - icon: 🚀 + title: 快適な体験 + details: 適切なアニメーションやトランジションにより、コード編集をさらに楽しむことができます。 + - icon: ⚡ + title: 優秀な性能 + details: バックグラウンドの増分分析を通じて、コードの強調表示と正確なヒントを瞬時に得ることができます。 + - icon: ✨ + title: 活躍している更新 + details: モバイル エディターの最前線に立つために、私たちはエディターの機能を常に強化しています。 +--- + + \ No newline at end of file diff --git a/ja/reference/no-implemention.md b/ja/reference/no-implemention.md new file mode 100644 index 0000000..91ca1d9 --- /dev/null +++ b/ja/reference/no-implemention.md @@ -0,0 +1 @@ +No implemention \ No newline at end of file From 9c52b9c819ed40bece6e1232715043ca4b58478e Mon Sep 17 00:00:00 2001 From: soloopooo Date: Mon, 12 Feb 2024 08:35:37 +0800 Subject: [PATCH 2/5] add ja ts config --- .vitepress/config/index.ts | 4 +- .vitepress/config/ja.ts | 106 +++++++++++++++++++++++++++++++++++++ 2 files changed, 109 insertions(+), 1 deletion(-) create mode 100644 .vitepress/config/ja.ts diff --git a/.vitepress/config/index.ts b/.vitepress/config/index.ts index de21878..af7fd8b 100644 --- a/.vitepress/config/index.ts +++ b/.vitepress/config/index.ts @@ -2,11 +2,13 @@ import { defineConfig } from 'vitepress' import { shared } from './shared' import { en } from './en' import { zh } from './zh' +import { ja } from './ja' export default defineConfig({ ...shared, locales: { root: { label: 'English', ...en }, - zh: { label: '简体中文', ...zh } + zh: { label: '简体中文', ...zh }, + ja: { label: '日本語', ...ja } } }) diff --git a/.vitepress/config/ja.ts b/.vitepress/config/ja.ts new file mode 100644 index 0000000..edcffe4 --- /dev/null +++ b/.vitepress/config/ja.ts @@ -0,0 +1,106 @@ +import config from '../../package.json' +import { defineConfig, type DefaultTheme } from 'vitepress' + +export const ja = defineConfig({ + lang: 'ja', + description: 'sora-editor は効率的な Android コードエディターです', + + themeConfig: { + nav: nav(), + + sidebar: { + '/ja/reference/': { base: '/ja/reference/', items: sidebarReference() }, + '/ja/guide/': { base: '/ja/guide/', items: guideReference() } + }, + + editLink: { + pattern: 'https://github.com/project-sora/sora-editor-docs/edit/main/docs/:path', + text: 'GitHub でこのページを編集する' + }, + + footer: { + message: 'LGPL-2.1 ライセンスに基づいてリリース', + copyright: `著作権 © 2020-${new Date().getFullYear()} Rosemoe` + }, + + docFooter: { + prev: '前のページ', + next: '次のページ' + }, + + outline: { + label: 'ナビゲーション' + }, + + lastUpdated: { + text: '最終更新日', + formatOptions: { + dateStyle: 'short', + timeStyle: 'medium' + } + }, + + langMenuLabel: '言語', + returnToTopLabel: 'トップに戻る', + sidebarMenuLabel: 'メニュー', + darkModeSwitchLabel: 'テーマ', + lightModeSwitchTitle: 'ライトモードに切り替える', + darkModeSwitchTitle: 'ダークモードに切り替える' + } +}) + +function nav(): DefaultTheme.NavItem[] { + return [ + { + text: 'ガイド', + link: '/ja/guide/getting-started', + activeMatch: '/ja/guide/' + }, + { + text: '参考', + link: '/ja/reference/no-implemention', + activeMatch: '/ja/reference/' + }, + { + text: config.version, + items: [ + { + text: 'リリース', + link: 'https://github.com/Rosemoe/sora-editor/releases' + }, + { + text: '贡献者', + link: 'https://github.com/Rosemoe/sora-editor/graphs/contributors' + } + ] + } + ] +} + +function guideReference(): DefaultTheme.SidebarItem[] { + return [ + { + text: '概要と開始方法', + collapsed: false, + items: [ + { + text: 'クイックスタート', + link: '/getting-started' + } + ] + } + ] +} + +function sidebarReference(): DefaultTheme.SidebarItem[] { + return [ + { + items: [ + { + text: 'No implemention', + link: '/no-implemention' + } + ] + } + ] +} \ No newline at end of file From a5d95afcfcfc74477215dd8e9836aab5456d6cc8 Mon Sep 17 00:00:00 2001 From: summerain0 <2351602624@qq.com> Date: Mon, 12 Feb 2024 09:49:15 +0800 Subject: [PATCH 3/5] docs(zh): add getting-started --- .vitepress/config/en.ts | 2 +- .vitepress/config/zh.ts | 6 +- package-lock.json | 4 +- zh/guide/editor-overview.md | 0 zh/guide/getting-started.md | 174 +++++++++++++++++++++++++++++++++--- 5 files changed, 169 insertions(+), 17 deletions(-) create mode 100644 zh/guide/editor-overview.md diff --git a/.vitepress/config/en.ts b/.vitepress/config/en.ts index a5e1ca4..0d67a24 100644 --- a/.vitepress/config/en.ts +++ b/.vitepress/config/en.ts @@ -15,7 +15,7 @@ export const en = defineConfig({ }, editLink: { - pattern: 'https://github.com/project-sora/sora-editor-docs/edit/main/docs/:path', + pattern: 'https://github.com/project-sora/sora-editor-docs/blob/main/:path', text: 'Edit this page on GitHub' }, diff --git a/.vitepress/config/zh.ts b/.vitepress/config/zh.ts index bd4700d..06c0022 100644 --- a/.vitepress/config/zh.ts +++ b/.vitepress/config/zh.ts @@ -14,7 +14,7 @@ export const zh = defineConfig({ }, editLink: { - pattern: 'https://github.com/project-sora/sora-editor-docs/edit/main/docs/:path', + pattern: 'https://github.com/project-sora/sora-editor-docs/blob/main/:path', text: '在 GitHub 上编辑此页面' }, @@ -83,6 +83,10 @@ function guideReference(): DefaultTheme.SidebarItem[] { text: '简介与入门', collapsed: false, items: [ + { + text: '概述', + link: '/editor-overview' + }, { text: '快速开始', link: '/getting-started' diff --git a/package-lock.json b/package-lock.json index e84f198..c7aeefc 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "sora-editor-docs", - "version": "0.22.2", + "version": "0.23.2", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "sora-editor-docs", - "version": "0.22.2", + "version": "0.23.2", "devDependencies": { "markdown-it-mathjax3": "^4.3.2", "open-cli": "^8.0.0", diff --git a/zh/guide/editor-overview.md b/zh/guide/editor-overview.md new file mode 100644 index 0000000..e69de29 diff --git a/zh/guide/getting-started.md b/zh/guide/getting-started.md index 04aa940..52dd88b 100644 --- a/zh/guide/getting-started.md +++ b/zh/guide/getting-started.md @@ -1,17 +1,123 @@ +--- +outline: deep +--- # 快速开始 +## 要求 +您的项目在引入[sora-editor](https://github.com/Rosemoe/sora-editor)库之前,请确保您的构建环境及配置满足以下要求: +* 使用Gradle编译且JDK版本不低于17 +* 您模块的最低Android SDK版本至少为Android L(API 21) + * 如果您需要使用[语言服务器协议](https://microsoft.github.io/language-server-protocol/),则要求至少为Android O(API 26) +* 项目的源代码兼容性和目标兼容性应是`JavaVersion.VERSION_17` +::: details 设置Java源代码兼容性和目标兼容性 -为您的项目添加依赖: +::: code-group -[![Maven Central](https://img.shields.io/maven-central/v/io.github.Rosemoe.sora-editor/editor.svg?label=Maven%20Central)]((https://search.maven.org/search?q=io.github.Rosemoe.sora-editor%20editor)) +```Kotlin{3-4,8-10} [Kotlin DSL] +android { + compileOptions { + sourceCompatibility = JavaVersion.VERSION_17 + targetCompatibility = JavaVersion.VERSION_17 + } +} +// 如果您的应用使用Kotlin,请额外添加以下配置 +// kotlin { +// jvmToolchain(17) +// } +``` + +```Groovy{3-4} [Groovy DSL] +android { + compileOptions { + sourceCompatibility JavaVersion.VERSION_17 + targetCompatibility JavaVersion.VERSION_17 + } +} +``` + +::: + + +::: details 使用非Gradle进行构建 + +编辑器的相关资源通过AAR文件进行分发,所以构建系统必须支持处理AAR文件。 + +如果您一定要使用非Gradle作为您项目的构建系统,我们将不会为您的构建问题提供任何帮助。 + +::: +## 添加依赖 + +最新版本: [![Maven Central](https://img.shields.io/maven-central/v/io.github.Rosemoe.sora-editor/editor.svg?label=Maven%20Central)]((https://search.maven.org/search?q=io.github.Rosemoe.sora-editor%20editor)) + +添加sora-editor到您应用的依赖中: + +::: code-group + +```Kotlin{2-3} [Kotlin DSL] +dependencies { + implementation(platform("io.github.Rosemoe.sora-editor:bom:<版本名>")) + implementation("io.github.Rosemoe.sora-editor:<模块名>") +} +``` + +```Groovy{2-3} [Groovy DSL] +dependencies { + implementation(platform("io.github.Rosemoe.sora-editor:bom:<版本名>")) + implementation 'io.github.Rosemoe.sora-editor:<模块名>' +} +``` + +::: + +请将``和``替换为正确的版本名称和模块名称。你可以添加多个模块到您的项目中。 + +以下是一个在编辑器中使用TextMate语法高亮的示例,请根据您的实际情况引入: + +::: code-group + +```Kotlin{2-4} [Kotlin DSL] +dependencies { + implementation(platform("io.github.Rosemoe.sora-editor:bom:0.23.2")) + implementation("io.github.Rosemoe.sora-editor:editor") + implementation("io.github.Rosemoe.sora-editor:language-textmate") +} +``` + +```Groovy{2-4} [Groovy DSL] +dependencies { + implementation(platform("io.github.Rosemoe.sora-editor:bom:0.23.2")) + implementation 'io.github.Rosemoe.sora-editor:editor' + implementation 'io.github.Rosemoe.sora-editor:language-textmate' +} +``` + +```Kotlin{2-4} [Kotlin DSL(不使用bom)] +dependencies { + val editorVersion = "0.23.2" + implementation("io.github.Rosemoe.sora-editor:editor:$editorVersion") + implementation("io.github.Rosemoe.sora-editor:language-textmate:$editorVersion") +} +``` -```groovy +```Groovy{2-4} [Groovy DSL(不使用bom)] dependencies { - implementation(platform("io.github.Rosemoe.sora-editor:bom:")) - implementation("io.github.Rosemoe.sora-editor:") + def editorVersion = '0.23.2' + implementation 'io.github.Rosemoe.sora-editor:editor:$editorVersion' + implementation 'io.github.Rosemoe.sora-editor:language-textmate:$editorVersion' } ``` -## 🛠️包含组件 +::: + +::: tip 注意 + +您可以通过上面的徽章中得知最新的版本名称,也可以前往我们的GitHub [Releases](https://github.com/Rosemoe/sora-editor/releases)页面获取完整的版本列表。 + +当前可供使用的模块有: `editor`、`editor-lsp`、`language-java`, `language-textmate`以及`language-treesitter`。 +请参考下面的表格获取对应模块的相关信息。 + +::: + +### 🛠️可用模块 | 模块 | 介绍 | | ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | @@ -21,17 +127,59 @@ dependencies { | language-textmate | 一个高级的高亮分析库。你可以借助它来加载textmate语言配置文件并应用于本编辑器。 内部实现来自[tm4e](https://github.com/eclipse/tm4e)。 | | language-treesitter | 为编辑器提供[tree-sitter](https://tree-sitter.github.io/tree-sitter/)支持。tree-sitter可用于快速、增量地将代码转换 成抽象语法树,以便您向用户提供精确的高亮和自动补全功能。注意此模块仅提供了转换和高亮支持。感谢[android-tree-sitter](https://github.com/AndroidIDEOfficial/android-tree-sitter/)项目提供的Java绑定库。 | -你可以从顶部的徽章或者[Releases](https://github.com/Rosemoe/CodeEditor/releases)找到最新的编辑器版本。 +## 为TextMate配置脱糖 + +如果您的项目使用了`language-textmate`模块,并且想要在Android N(API 24)以下的设备上运行您的应用,您**必须**启用脱糖以避免兼容性问题。如果您已进行此操作,请看下一部分。 -## 初始化项目 +如果要启用脱糖,请按照以下说明配置您的**应用模块**。 -在你的布局文件中添加CodeEditor +* 添加脱糖依赖 +::: code-group + +```Kotlin [Kotlin DSL] +dependencies { + coreLibraryDesugaring("com.android.tools:desugar_jdk_libs:2.0.4") // [!code highlight] +} +``` -```xml +```Groovy [Groovy DSL] +dependencies { + coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:2.0.4' // [!code highlight] +} +``` + +::: + +* 添加编译选项 +::: code-group + +```Kotlin [Kotlin DSL] +android { + compileOptions { + isCoreLibraryDesugaringEnabled = true // [!code highlight] + } +} +``` + +```Groovy [Groovy DSL] +android { + compileOptions { + coreLibraryDesugaringEnabled true // [!code highlight] + } +} +``` + +::: + +## 创建组件 + +请确保您的项目中已经包含核心模块`editor`,并且您项目的Gradle相关文件已经成功同步。 + +核心组件的名称为`io.github.rosemoe.sora.widget.CodeEditor`。您可以通过XML或者Java/Kotlin代码创建组件 + +```Xml -``` - -这样一个最基本的编辑器就完成了 \ No newline at end of file +``` \ No newline at end of file From ac4a3183b33a93e998f55a9374962a5312c59ce6 Mon Sep 17 00:00:00 2001 From: summerain0 <2351602624@qq.com> Date: Mon, 12 Feb 2024 10:04:56 +0800 Subject: [PATCH 4/5] add workflow: check_pr --- .github/workflows/check_pr.yml | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 .github/workflows/check_pr.yml diff --git a/.github/workflows/check_pr.yml b/.github/workflows/check_pr.yml new file mode 100644 index 0000000..96c50b9 --- /dev/null +++ b/.github/workflows/check_pr.yml @@ -0,0 +1,29 @@ +name: Check Pull Request + +on: + pull_request: + types: [opened, reopened] + +jobs: + build: + + runs-on: ubuntu-latest + + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Setup Node + uses: actions/setup-node@v4 + with: + node-version: 20 + cache: npm + + - name: Install dependencies + run: npm ci + + - name: Test build with VitePress + run: | + npm run build \ No newline at end of file From f544ebd69e4d2238ce239ae3350c0d7d0edb1213 Mon Sep 17 00:00:00 2001 From: soloopooo Date: Mon, 12 Feb 2024 15:23:23 +0800 Subject: [PATCH 5/5] =?UTF-8?q?=E3=81=86pdate=20JA=20translation?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ja/guide/editor-overview.md | 0 ja/guide/getting-started.md | 169 +++++++++++++++++++++++++++++++++--- 2 files changed, 159 insertions(+), 10 deletions(-) create mode 100644 ja/guide/editor-overview.md diff --git a/ja/guide/editor-overview.md b/ja/guide/editor-overview.md new file mode 100644 index 0000000..e69de29 diff --git a/ja/guide/getting-started.md b/ja/guide/getting-started.md index a37995e..63ffdde 100644 --- a/ja/guide/getting-started.md +++ b/ja/guide/getting-started.md @@ -1,16 +1,122 @@ +--- +outline: deep +--- # クイックスタート -依存関係をプロジェクトに追加してください: +## 要件 +[sora-editor](https://github.com/Rosemoe/sora-editor) ライブラリをプロジェクトに組み込む前に、環境とビルド構成が以下の要件を満たしていることを確認してください。 +* JDK 17 以降で Gradle を実行する、 +* モジュールの最小 Android SDK バージョンは Android L (API 21) 以上です、 + * [言語サーバー プロトコル](https://microsoft.github.io/language-server-protocol/) を使用する場合、Android O (API 26) 以上が必要となります。 +* プロジェクトの Java ソース互換性とターゲット互換性は `JavaVersion.VERSION_17` です。 +::: details Java コンパイルとターゲットの互換性の設定 -[![Maven Central](https://img.shields.io/maven-central/v/io.github.Rosemoe.sora-editor/editor.svg?label=Maven%20Central)]((https://search.maven.org/search?q=io.github.Rosemoe.sora-editor%20editor)) +::: code-group -```groovy +```Kotlin{3-4,8-10} [Kotlin DSL] +android { + compileOptions { + sourceCompatibility = JavaVersion.VERSION_17 + targetCompatibility = JavaVersion.VERSION_17 + } +} +// アプリで Kotlin が使用されている場合 +// kotlin { +// jvmToolchain(17) +// } +``` + +```Groovy{3-4} [Groovy DSL] +android { + compileOptions { + sourceCompatibility JavaVersion.VERSION_17 + targetCompatibility JavaVersion.VERSION_17 + } +} +``` + +::: + + +::: details 非 Gradle ビルド システムの場合 + +エディターはリソースを使用し、AAR ファイルで配布されます。 ビルド システムは AAR ファイルの処理をサポートする必要があります。 + +ビルド システムとして Gradle を使用していない場合、ビルドの問題に関連する情報は提供されません。 + +::: +## 依存関係の追加 + +最新版:[![Maven Central](https://img.shields.io/maven-central/v/io.github.Rosemoe.sora-editor/editor.svg?label=Maven%20Central)]((https://search.maven.org/search?q=io.github.Rosemoe.sora-editor%20editor)) + +sora-editor ライブラリをアプリの依存関係に追加してください: + +::: code-group + +```Kotlin{2-3} [Kotlin DSL] dependencies { implementation(platform("io.github.Rosemoe.sora-editor:bom:")) implementation("io.github.Rosemoe.sora-editor:") } ``` +```Groovy{2-3} [Groovy DSL] +dependencies { + implementation(platform("io.github.Rosemoe.sora-editor:bom:")) + implementation 'io.github.Rosemoe.sora-editor:' +} +``` + +::: + +プレースホルダー `` と `` を正しいバージョン名とモジュール名に置き換えてください。 プロジェクトに複数のモジュールを追加できます。 + +以下は、エディターで構文を強調表示するために TextMate 文法を使用したい人向けの例です。 + +::: code-group + +```Kotlin{2-4} [Kotlin DSL] +dependencies { + implementation(platform("io.github.Rosemoe.sora-editor:bom:0.23.2")) + implementation("io.github.Rosemoe.sora-editor:editor") + implementation("io.github.Rosemoe.sora-editor:language-textmate") +} +``` + +```Groovy{2-4} [Groovy DSL] +dependencies { + implementation(platform("io.github.Rosemoe.sora-editor:bom:0.23.2")) + implementation 'io.github.Rosemoe.sora-editor:editor' + implementation 'io.github.Rosemoe.sora-editor:language-textmate' +} +``` + +```Kotlin{2-4} [Kotlin DSL without bom] +dependencies { + val editorVersion = "0.23.2" + implementation("io.github.Rosemoe.sora-editor:editor:$editorVersion") + implementation("io.github.Rosemoe.sora-editor:language-textmate:$editorVersion") +} +``` + +```Groovy{2-4} [Groovy DSL without bom] +dependencies { + def editorVersion = '0.23.2' + implementation 'io.github.Rosemoe.sora-editor:editor:$editorVersion' + implementation 'io.github.Rosemoe.sora-editor:language-textmate:$editorVersion' +} +``` + +::: + +::: tip NOTE + + 上のバッジから最新バージョン名を見つけるか、GitHub [リリース](https://github.com/Rosemoe/sora-editor/releases) ページにアクセスして完全なバージョンのリストを確認してください。 + +現在、利用可能なモジュール名は、`editor`、`editor-lsp`、`language-java`、`language-textmate`、および `language-treesitter` です。 +モジュールの詳細については、以下の表を確認してください。 + +::: ## 🛠️付属のモジュール | モジュール | 紹介 | @@ -21,17 +127,60 @@ dependencies { | language-textmate | 高度なハイライト分析ライブラリ。これを使用して、textmate 言語構成ファイルをロードし、このエディターに適用できます。内部実装は [tm4e](https://github.com/eclipse/tm4e) から取得されます。 | | language-treesitter | エディターに [tree-sitter](https://tree-sitter.github.io/tree-sitter/) サポートを提供します。これを使用すると、コードを抽象構文ツリーに迅速かつ段階的に解析することができ、正確な強調表示と補完の提供に役立ちます。このモジュールはトランジションとハイライトのサポートのみを提供することに注意してください。[android-tree-sitter](https://github.com/AndroidIDEOfficial/android-tree-sitter/)プロジェクトによって提供される Java バインディング ライブラリを感謝します。 | -最新のエディターのバージョンは、上部のバッジまたは [Releases](https://github.com/Rosemoe/CodeEditor/releases)から見つけることができます。 -## プロジェクトの初期化 +## TextMate の脱糖(Desugar)を構成する + +プロジェクトで `language-textmate` モジュールを使用し、Android N (API 24) のデバイスでアプリケーションを実行したい場合は、互換性の問題を回避するためにコア ライブラリの脱糖を**有効にする必要があります**。 それ以外の場合は、次のセクションに進んでください。 + +脱糖を有効にするには、以下の手順に従って**アプリケーション モジュール**をセットアップしてください: + +* Desugar 依存関係を追加 +::: code-group + +```Kotlin [Kotlin DSL] +dependencies { + coreLibraryDesugaring("com.android.tools:desugar_jdk_libs:2.0.4") // [!code highlight] +} +``` + +```Groovy [Groovy DSL] +dependencies { + coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:2.0.4' // [!code highlight] +} +``` + +::: -CodeEditor をレイアウト ファイルに追加してください: +* コンパイルオプションの追加 +::: code-group -```xml +```Kotlin [Kotlin DSL] +android { + compileOptions { + isCoreLibraryDesugaringEnabled = true // [!code highlight] + } +} +``` + +```Groovy [Groovy DSL] +android { + compileOptions { + coreLibraryDesugaringEnabled true // [!code highlight] + } +} +``` + +::: + +## ウィジェットを作成する + +プロジェクトに `editor` モジュールが含まれていることを確認し、プロジェクトを Gradle ファイルと正常に同期してください。 + +メインのウィジェット クラスは `io.github.rosemoe.sora.widget.CodeEditor` です。 コード エディターは、XML コードまたは Java/Kotlin コードによって作成できます。 + +```Xml -``` - -こうすると、最も基本的なエディターが完成したものです。 +``` \ No newline at end of file