├── app
├── .gitignore
├── src
│ └── main
│ │ ├── res
│ │ ├── drawable
│ │ │ ├── banner.png
│ │ │ ├── block.png
│ │ │ ├── logo.png
│ │ │ ├── ripple_on_color_surface.xml
│ │ │ ├── plus.xml
│ │ │ ├── play.xml
│ │ │ ├── delete.xml
│ │ │ ├── folder.xml
│ │ │ ├── list_status.xml
│ │ │ ├── close.xml
│ │ │ ├── image.xml
│ │ │ ├── file_document.xml
│ │ │ ├── language_css.xml
│ │ │ ├── language_html.xml
│ │ │ ├── gesture_tap_hold.xml
│ │ │ ├── gesture_tap_hold_tertiary.xml
│ │ │ ├── language_javascript.xml
│ │ │ └── setting.xml
│ │ ├── raw
│ │ │ ├── block_drag.wav
│ │ │ └── block_drop.wav
│ │ ├── drawable-xhdpi
│ │ │ ├── string.9.png
│ │ │ ├── block_default.9.png
│ │ │ ├── block_joint.9.png
│ │ │ ├── complex_block.9.png
│ │ │ ├── define_block.9.png
│ │ │ ├── side_attachable.9.png
│ │ │ ├── complex_block_bottom.9.png
│ │ │ └── default_block_attachable.9.png
│ │ ├── drawable-xxxhdpi
│ │ │ ├── number.9.png
│ │ │ ├── block_boolean.9.png
│ │ │ └── block_boolean_bg.png
│ │ ├── mipmap-hdpi
│ │ │ ├── ic_launcher.webp
│ │ │ └── ic_launcher_round.webp
│ │ ├── mipmap-mdpi
│ │ │ ├── ic_launcher.webp
│ │ │ └── ic_launcher_round.webp
│ │ ├── mipmap-xhdpi
│ │ │ ├── ic_launcher.webp
│ │ │ └── ic_launcher_round.webp
│ │ ├── mipmap-xxhdpi
│ │ │ ├── ic_launcher.webp
│ │ │ └── ic_launcher_round.webp
│ │ ├── mipmap-xxxhdpi
│ │ │ ├── ic_launcher.webp
│ │ │ └── ic_launcher_round.webp
│ │ ├── values
│ │ │ └── values.xml
│ │ ├── mipmap-anydpi-v26
│ │ │ ├── ic_launcher.xml
│ │ │ └── ic_launcher_round.xml
│ │ ├── color
│ │ │ ├── navigation_item_color.xml
│ │ │ └── navigation_item_background_color.xml
│ │ ├── xml
│ │ │ ├── backup_rules.xml
│ │ │ └── data_extraction_rules.xml
│ │ ├── menu
│ │ │ ├── activity_event_list_menu.xml
│ │ │ ├── activity_main_drawer_menu.xml
│ │ │ └── activity_event_editor_menu.xml
│ │ ├── layout
│ │ │ ├── layout_source_code_dialog.xml
│ │ │ ├── layout_drawer_header_main.xml
│ │ │ ├── layout_console_log_item.xml
│ │ │ ├── layout_license_list_item.xml
│ │ │ ├── layout_event_blocks_holder_list_item.xml
│ │ │ ├── activity_debug.xml
│ │ │ ├── layout_add_text_in_block.xml
│ │ │ ├── layout_projects_manager_list_item.xml
│ │ │ ├── layout_file_list_item.xml
│ │ │ ├── layout_setting_item.xml
│ │ │ ├── layout_event_list_item.xml
│ │ │ ├── layout_bottomsheet_event_operation.xml
│ │ │ ├── layout_bottomsheet_project_operation.xml
│ │ │ ├── layout_file_operation.xml
│ │ │ ├── layout_event_list_adapter.xml
│ │ │ ├── layout_blocks_holder_list_item.xml
│ │ │ ├── activity_license_reader.xml
│ │ │ ├── activity_license.xml
│ │ │ ├── layout_new_blocks_holder_dialog.xml
│ │ │ └── activity_setting.xml
│ │ └── drawable-v24
│ │ │ └── ic_launcher_foreground.xml
│ │ └── assets
│ │ ├── attribution
│ │ └── free_sound_attribution.txt
│ │ ├── LicenseList.json
│ │ └── license
│ │ └── ace_editor_license.txt
└── proguard-rules.pro
├── common
├── .gitignore
├── src
│ └── main
│ │ ├── java
│ │ ├── com
│ │ │ └── blankj
│ │ │ │ └── utilcode
│ │ │ │ ├── constant
│ │ │ │ ├── CacheConstants.java
│ │ │ │ ├── MemoryConstants.java
│ │ │ │ └── TimeConstants.java
│ │ │ │ └── util
│ │ │ │ ├── UtilsFileProvider.java
│ │ │ │ ├── CloneUtils.java
│ │ │ │ ├── UtilsTransActivity4MainProcess.java
│ │ │ │ └── CloseUtils.java
│ │ └── android
│ │ │ └── code
│ │ │ └── editor
│ │ │ └── common
│ │ │ ├── utils
│ │ │ └── ColorUtils.java
│ │ │ └── interfaces
│ │ │ └── FileDeleteListener.java
│ │ └── res
│ │ ├── values
│ │ └── styles.xml
│ │ ├── xml
│ │ └── util_code_provider_paths.xml
│ │ └── values-v21
│ │ └── styles.xml
├── proguard-rules.pro
└── build.gradle
├── editor
├── .gitignore
├── src
│ └── main
│ │ ├── assets
│ │ └── Editor
│ │ │ ├── SoraEditor
│ │ │ ├── css
│ │ │ │ ├── .vscodeignore
│ │ │ │ ├── yarn.lock
│ │ │ │ ├── package.nls.json
│ │ │ │ ├── .vscode
│ │ │ │ │ └── launch.json
│ │ │ │ ├── language-configuration.json
│ │ │ │ └── package.json
│ │ │ ├── jetbrains.ttf
│ │ │ ├── language_scopes.json
│ │ │ ├── typescript
│ │ │ │ └── syntaxes
│ │ │ │ │ ├── jsdoc.ts.injection.tmLanguage.json
│ │ │ │ │ ├── jsdoc.js.injection.tmLanguage.json
│ │ │ │ │ └── Readme.md
│ │ │ ├── ini
│ │ │ │ └── ini.language-configuration.json
│ │ │ ├── groovy
│ │ │ │ └── language-configuration.json
│ │ │ ├── bat
│ │ │ │ └── language-configuration.json
│ │ │ ├── csharp
│ │ │ │ └── language-configuration.json
│ │ │ ├── shellscript
│ │ │ │ └── language-configuration.json
│ │ │ ├── yaml
│ │ │ │ └── language-configuration.json
│ │ │ ├── smali
│ │ │ │ └── language-configuration.json
│ │ │ ├── cpp
│ │ │ │ └── language-configuration.json
│ │ │ ├── go
│ │ │ │ └── language-configuration.json
│ │ │ ├── julia
│ │ │ │ └── language-configuration.json
│ │ │ ├── lua
│ │ │ │ ├── package.json
│ │ │ │ └── language-configuration.json
│ │ │ ├── html
│ │ │ │ └── completions
│ │ │ │ │ └── LICENSE.md
│ │ │ └── markdown
│ │ │ │ └── language-configuration.json
│ │ │ └── Ace-Editor
│ │ │ └── AceEditor
│ │ │ ├── js
│ │ │ ├── mode-text.js
│ │ │ ├── snippets
│ │ │ │ ├── d.js
│ │ │ │ ├── abap.js
│ │ │ │ ├── ada.js
│ │ │ │ ├── alda.js
│ │ │ │ ├── apex.js
│ │ │ │ ├── aql.js
│ │ │ │ ├── asl.js
│ │ │ │ ├── csp.js
│ │ │ │ ├── dot.js
│ │ │ │ ├── ejs.js
│ │ │ │ ├── elm.js
│ │ │ │ ├── ftl.js
│ │ │ │ ├── glsl.js
│ │ │ │ ├── haxe.js
│ │ │ │ ├── ini.js
│ │ │ │ ├── ion.js
│ │ │ │ ├── jack.js
│ │ │ │ ├── jade.js
│ │ │ │ ├── jexl.js
│ │ │ │ ├── json.js
│ │ │ │ ├── jssm.js
│ │ │ │ ├── jsx.js
│ │ │ │ ├── less.js
│ │ │ │ ├── lisp.js
│ │ │ │ ├── mask.js
│ │ │ │ ├── mel.js
│ │ │ │ ├── mips.js
│ │ │ │ ├── nim.js
│ │ │ │ ├── nix.js
│ │ │ │ ├── nsis.js
│ │ │ │ ├── odin.js
│ │ │ │ ├── pig.js
│ │ │ │ ├── qml.js
│ │ │ │ ├── raku.js
│ │ │ │ ├── rdoc.js
│ │ │ │ ├── red.js
│ │ │ │ ├── rust.js
│ │ │ │ ├── sac.js
│ │ │ │ ├── sass.js
│ │ │ │ ├── scad.js
│ │ │ │ ├── scss.js
│ │ │ │ ├── sjs.js
│ │ │ │ ├── slim.js
│ │ │ │ ├── svg.js
│ │ │ │ ├── text.js
│ │ │ │ ├── toml.js
│ │ │ │ ├── tsx.js
│ │ │ │ ├── twig.js
│ │ │ │ ├── vhdl.js
│ │ │ │ ├── xml.js
│ │ │ │ ├── yaml.js
│ │ │ │ ├── zeek.js
│ │ │ │ ├── bibtex.js
│ │ │ │ ├── cirru.js
│ │ │ │ ├── cobol.js
│ │ │ │ ├── crystal.js
│ │ │ │ ├── csharp.js
│ │ │ │ ├── curly.js
│ │ │ │ ├── eiffel.js
│ │ │ │ ├── elixir.js
│ │ │ │ ├── forth.js
│ │ │ │ ├── fortran.js
│ │ │ │ ├── fsharp.js
│ │ │ │ ├── gcode.js
│ │ │ │ ├── gherkin.js
│ │ │ │ ├── golang.js
│ │ │ │ ├── groovy.js
│ │ │ │ ├── hjson.js
│ │ │ │ ├── json5.js
│ │ │ │ ├── julia.js
│ │ │ │ ├── kotlin.js
│ │ │ │ ├── latex.js
│ │ │ │ ├── latte.js
│ │ │ │ ├── logiql.js
│ │ │ │ ├── logtalk.js
│ │ │ │ ├── luapage.js
│ │ │ │ ├── lucene.js
│ │ │ │ ├── matlab.js
│ │ │ │ ├── mixal.js
│ │ │ │ ├── mysql.js
│ │ │ │ ├── nginx.js
│ │ │ │ ├── ocaml.js
│ │ │ │ ├── partiql.js
│ │ │ │ ├── pascal.js
│ │ │ │ ├── pgsql.js
│ │ │ │ ├── plsql.js
│ │ │ │ ├── praat.js
│ │ │ │ ├── prisma.js
│ │ │ │ ├── prolog.js
│ │ │ │ ├── puppet.js
│ │ │ │ ├── rhtml.js
│ │ │ │ ├── scala.js
│ │ │ │ ├── scheme.js
│ │ │ │ ├── scrypt.js
│ │ │ │ ├── smarty.js
│ │ │ │ ├── smithy.js
│ │ │ │ ├── space.js
│ │ │ │ ├── sparql.js
│ │ │ │ ├── stylus.js
│ │ │ │ ├── swift.js
│ │ │ │ ├── turtle.js
│ │ │ │ ├── verilog.js
│ │ │ │ ├── asciidoc.js
│ │ │ │ ├── batchfile.js
│ │ │ │ ├── c9search.js
│ │ │ │ ├── gitignore.js
│ │ │ │ ├── html_ruby.js
│ │ │ │ ├── mediawiki.js
│ │ │ │ ├── mushcode.js
│ │ │ │ ├── nunjucks.js
│ │ │ │ ├── protobuf.js
│ │ │ │ ├── redshift.js
│ │ │ │ ├── terraform.js
│ │ │ │ ├── vbscript.js
│ │ │ │ ├── apache_conf.js
│ │ │ │ ├── applescript.js
│ │ │ │ ├── assembly_x86.js
│ │ │ │ ├── autohotkey.js
│ │ │ │ ├── coldfusion.js
│ │ │ │ ├── csound_score.js
│ │ │ │ ├── cuttlefish.js
│ │ │ │ ├── dockerfile.js
│ │ │ │ ├── handlebars.js
│ │ │ │ ├── html_elixir.js
│ │ │ │ ├── livescript.js
│ │ │ │ ├── objectivec.js
│ │ │ │ ├── plain_text.js
│ │ │ │ ├── powershell.js
│ │ │ │ ├── properties.js
│ │ │ │ ├── soy_template.js
│ │ │ │ ├── typescript.js
│ │ │ │ ├── visualforce.js
│ │ │ │ ├── haskell_cabal.js
│ │ │ │ ├── php_laravel_blade.js
│ │ │ │ ├── razor.js
│ │ │ │ ├── makefile.js
│ │ │ │ ├── maze.js
│ │ │ │ ├── snippets.js
│ │ │ │ ├── fsl.js
│ │ │ │ ├── csound_document.js
│ │ │ │ ├── drools.js
│ │ │ │ ├── rst.js
│ │ │ │ ├── haml.js
│ │ │ │ ├── lua.js
│ │ │ │ ├── diff.js
│ │ │ │ ├── textile.js
│ │ │ │ ├── velocity.js
│ │ │ │ ├── graphqlschema.js
│ │ │ │ ├── sql.js
│ │ │ │ ├── abc.js
│ │ │ │ ├── csound_orchestra.js
│ │ │ │ ├── wollok.js
│ │ │ │ └── dart.js
│ │ │ ├── ext-error_marker.js
│ │ │ ├── theme-textmate.js
│ │ │ ├── mode-plain_text.js
│ │ │ └── mode-gitignore.js
│ │ │ └── css
│ │ │ └── themes
│ │ │ ├── dawn.css
│ │ │ ├── chrome.css
│ │ │ ├── clouds.css
│ │ │ ├── monokai.css
│ │ │ ├── dracula.css
│ │ │ └── crimson-editor.css
│ │ ├── res
│ │ └── values
│ │ │ └── attrs.xml
│ │ └── java
│ │ └── editor
│ │ └── tsd
│ │ ├── tools
│ │ ├── EditorListeners.java
│ │ └── Language.java
│ │ └── editors
│ │ ├── Editor.java
│ │ └── sora
│ │ └── lang
│ │ └── textmate
│ │ └── provider
│ │ └── TextMateProvider.java
├── proguard-rules.pro
└── build.gradle
├── block
└── core
│ └── .gitignore
├── keystore.jks
├── gradle.properties
├── gradle
└── wrapper
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── settings.gradle
├── .github
└── workflows
│ ├── android-pr.yml
│ └── android.yml
└── .gitignore
/app/.gitignore:
--------------------------------------------------------------------------------
1 | /build
--------------------------------------------------------------------------------
/common/.gitignore:
--------------------------------------------------------------------------------
1 | /build
--------------------------------------------------------------------------------
/editor/.gitignore:
--------------------------------------------------------------------------------
1 | /build
--------------------------------------------------------------------------------
/block/core/.gitignore:
--------------------------------------------------------------------------------
1 | /build
--------------------------------------------------------------------------------
/keystore.jks:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Innovative-CST/BlockWebBuilder/HEAD/keystore.jks
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/SoraEditor/css/.vscodeignore:
--------------------------------------------------------------------------------
1 | test/**
2 | cgmanifest.json
3 | .vscode
--------------------------------------------------------------------------------
/gradle.properties:
--------------------------------------------------------------------------------
1 | android.useAndroidX=true
2 | kotlin.code.style=official
3 | android.nonTransitiveRClass=true
4 |
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Innovative-CST/BlockWebBuilder/HEAD/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/app/src/main/res/drawable/banner.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Innovative-CST/BlockWebBuilder/HEAD/app/src/main/res/drawable/banner.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/block.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Innovative-CST/BlockWebBuilder/HEAD/app/src/main/res/drawable/block.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Innovative-CST/BlockWebBuilder/HEAD/app/src/main/res/drawable/logo.png
--------------------------------------------------------------------------------
/app/src/main/res/raw/block_drag.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Innovative-CST/BlockWebBuilder/HEAD/app/src/main/res/raw/block_drag.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/block_drop.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Innovative-CST/BlockWebBuilder/HEAD/app/src/main/res/raw/block_drop.wav
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/string.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Innovative-CST/BlockWebBuilder/HEAD/app/src/main/res/drawable-xhdpi/string.9.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxxhdpi/number.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Innovative-CST/BlockWebBuilder/HEAD/app/src/main/res/drawable-xxxhdpi/number.9.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_launcher.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Innovative-CST/BlockWebBuilder/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/ic_launcher.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Innovative-CST/BlockWebBuilder/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/ic_launcher.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Innovative-CST/BlockWebBuilder/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher.webp
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/SoraEditor/css/yarn.lock:
--------------------------------------------------------------------------------
1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2 | # yarn lockfile v1
3 |
4 |
5 |
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Innovative-CST/BlockWebBuilder/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Innovative-CST/BlockWebBuilder/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/block_default.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Innovative-CST/BlockWebBuilder/HEAD/app/src/main/res/drawable-xhdpi/block_default.9.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/block_joint.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Innovative-CST/BlockWebBuilder/HEAD/app/src/main/res/drawable-xhdpi/block_joint.9.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/complex_block.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Innovative-CST/BlockWebBuilder/HEAD/app/src/main/res/drawable-xhdpi/complex_block.9.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/define_block.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Innovative-CST/BlockWebBuilder/HEAD/app/src/main/res/drawable-xhdpi/define_block.9.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Innovative-CST/BlockWebBuilder/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Innovative-CST/BlockWebBuilder/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/side_attachable.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Innovative-CST/BlockWebBuilder/HEAD/app/src/main/res/drawable-xhdpi/side_attachable.9.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxxhdpi/block_boolean.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Innovative-CST/BlockWebBuilder/HEAD/app/src/main/res/drawable-xxxhdpi/block_boolean.9.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Innovative-CST/BlockWebBuilder/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Innovative-CST/BlockWebBuilder/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxxhdpi/block_boolean_bg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Innovative-CST/BlockWebBuilder/HEAD/app/src/main/res/drawable-xxxhdpi/block_boolean_bg.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Innovative-CST/BlockWebBuilder/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/SoraEditor/jetbrains.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Innovative-CST/BlockWebBuilder/HEAD/editor/src/main/assets/Editor/SoraEditor/jetbrains.ttf
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/complex_block_bottom.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Innovative-CST/BlockWebBuilder/HEAD/app/src/main/res/drawable-xhdpi/complex_block_bottom.9.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/default_block_attachable.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Innovative-CST/BlockWebBuilder/HEAD/app/src/main/res/drawable-xhdpi/default_block_attachable.9.png
--------------------------------------------------------------------------------
/app/src/main/res/values/values.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/SoraEditor/css/package.nls.json:
--------------------------------------------------------------------------------
1 | {
2 | "displayName": "CSS Language Basics",
3 | "description": "Provides syntax highlighting and bracket matching for CSS, LESS and SCSS files."
4 | }
5 |
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionBase=GRADLE_USER_HOME
2 | distributionPath=wrapper/dists
3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.2-all.zip
4 | zipStoreBase=GRADLE_USER_HOME
5 | zipStorePath=wrapper/dists
6 |
--------------------------------------------------------------------------------
/app/src/main/assets/attribution/free_sound_attribution.txt:
--------------------------------------------------------------------------------
1 | S: Keyboard Key by AntoineRomo | License: Attribution 3.0 | Timestamp: 2024-02-03 14:33:44.475509
2 |
3 | S: Enter Key Press Mechanical Keyboard by alpinemesh | License: Creative Commons 0 | Timestamp: 2024-02-03 14:29:28.512802
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/SoraEditor/language_scopes.json:
--------------------------------------------------------------------------------
1 | {
2 | "js": "source.js",
3 | "json": "source.json",
4 | "java": "source.java",
5 | "md": "text.html.markdown",
6 | "css": "source.css",
7 | "htm": "text.html.basic",
8 | "kt": "source.kotlin",
9 | "html": "text.html.basic",
10 | "xml": "text.xml"
11 | }
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ripple_on_color_surface.xml:
--------------------------------------------------------------------------------
1 |
4 | -
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/plus.xml:
--------------------------------------------------------------------------------
1 |
7 |
10 |
11 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/SoraEditor/css/.vscode/launch.json:
--------------------------------------------------------------------------------
1 | {
2 | "version": "0.2.0",
3 | "configurations": [
4 | {
5 | "name": "Launch Grammar",
6 | "type": "extensionHost",
7 | "request": "launch",
8 | "runtimeExecutable": "${execPath}",
9 | "args": [
10 | "--extensionDevelopmentPath=${workspaceRoot}"
11 | ]
12 | }
13 | ]
14 | }
15 |
--------------------------------------------------------------------------------
/app/src/main/assets/LicenseList.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "Name": "Free Sound - Sound Attribution",
4 | "Path": "attribution/free_sound_attribution.txt"
5 | },
6 | {
7 | "Name": "Sora-Editor - the awesome code editor for Android",
8 | "Path": "license/sora_editor_license.txt"
9 | },
10 | {
11 | "Name": "Ace Editor - Ajax.org",
12 | "Path": "license/ace_editor_license.txt"
13 | }
14 | ]
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/mode-text.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/mode/text"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/d.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/d"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/play.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
11 |
12 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/abap.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/abap"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/ada.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/ada"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/alda.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/alda"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/apex.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/apex"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/aql.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/aql"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/asl.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/asl"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/csp.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/csp"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/dot.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/dot"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/ejs.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/ejs"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/elm.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/elm"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/ftl.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/ftl"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/glsl.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/glsl"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/haxe.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/haxe"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/ini.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/ini"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/ion.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/ion"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/jack.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/jack"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/jade.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/jade"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/jexl.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/jexl"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/json.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/json"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/jssm.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/jssm"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/jsx.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/jsx"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/less.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/less"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/lisp.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/lisp"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/mask.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/mask"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/mel.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/mel"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/mips.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/mips"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/nim.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/nim"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/nix.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/nix"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/nsis.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/nsis"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/odin.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/odin"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/pig.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/pig"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/qml.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/qml"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/raku.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/raku"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/rdoc.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/rdoc"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/red.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/red"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/rust.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/rust"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/sac.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/sac"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/sass.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/sass"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/scad.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/scad"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/scss.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/scss"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/sjs.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/sjs"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/slim.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/slim"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/svg.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/svg"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/text.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/text"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/toml.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/toml"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/tsx.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/tsx"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/twig.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/twig"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/vhdl.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/vhdl"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/xml.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/xml"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/yaml.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/yaml"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/zeek.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/zeek"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/ext-error_marker.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/ext/error_marker"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/bibtex.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/bibtex"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/cirru.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/cirru"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/cobol.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/cobol"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/crystal.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/crystal"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/csharp.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/csharp"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/curly.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/curly"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/eiffel.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/eiffel"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/elixir.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/elixir"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/forth.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/forth"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/fortran.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/fortran"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/fsharp.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/fsharp"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/gcode.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/gcode"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/gherkin.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/gherkin"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/golang.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/golang"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/groovy.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/groovy"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/hjson.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/hjson"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/json5.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/json5"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/julia.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/julia"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/kotlin.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/kotlin"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/latex.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/latex"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/latte.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/latte"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/logiql.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/logiql"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/logtalk.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/logtalk"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/luapage.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/luapage"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/lucene.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/lucene"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/matlab.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/matlab"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/mixal.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/mixal"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/mysql.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/mysql"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/nginx.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/nginx"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/ocaml.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/ocaml"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/partiql.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/partiql"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/pascal.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/pascal"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/pgsql.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/pgsql"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/plsql.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/plsql"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/praat.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/praat"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/prisma.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/prisma"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/prolog.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/prolog"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/puppet.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/puppet"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/rhtml.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/rhtml"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/scala.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/scala"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/scheme.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/scheme"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/scrypt.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/scrypt"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/smarty.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/smarty"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/smithy.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/smithy"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/space.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/space"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/sparql.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/sparql"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/stylus.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/stylus"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/swift.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/swift"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/turtle.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/turtle"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/verilog.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/verilog"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/asciidoc.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/asciidoc"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/batchfile.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/batchfile"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/c9search.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/c9search"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/gitignore.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/gitignore"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/html_ruby.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/html_ruby"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/mediawiki.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/mediawiki"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/mushcode.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/mushcode"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/nunjucks.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/nunjucks"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/protobuf.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/protobuf"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/redshift.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/redshift"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/terraform.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/terraform"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/vbscript.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/vbscript"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/common/src/main/java/com/blankj/utilcode/constant/CacheConstants.java:
--------------------------------------------------------------------------------
1 | package com.blankj.utilcode.constant;
2 |
3 | /**
4 | *
5 | * author: Blankj
6 | * blog : http://blankj.com
7 | * time : 2018/06/13
8 | * desc : constants of cache
9 | *
10 | */
11 | public interface CacheConstants {
12 | int SEC = 1;
13 | int MIN = 60;
14 | int HOUR = 3600;
15 | int DAY = 86400;
16 | }
17 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/apache_conf.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/apache_conf"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/applescript.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/applescript"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/assembly_x86.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/assembly_x86"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/autohotkey.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/autohotkey"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/coldfusion.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/coldfusion"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/csound_score.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/csound_score"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/cuttlefish.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/cuttlefish"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/dockerfile.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/dockerfile"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/handlebars.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/handlebars"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/html_elixir.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/html_elixir"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/livescript.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/livescript"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/objectivec.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/objectivec"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/plain_text.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/plain_text"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/powershell.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/powershell"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/properties.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/properties"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/soy_template.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/soy_template"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/typescript.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/typescript"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/visualforce.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/visualforce"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/haskell_cabal.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/haskell_cabal"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/common/src/main/java/android/code/editor/common/utils/ColorUtils.java:
--------------------------------------------------------------------------------
1 | package android.code.editor.common.utils;
2 |
3 | import android.content.Context;
4 | import com.google.android.material.color.MaterialColors;
5 |
6 | public class ColorUtils {
7 | public static String materialIntToHexColor(Context context, int res) {
8 | return String.format("#%06X", (0xFFFFFF & MaterialColors.getColor(context, res, "#000000")));
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/php_laravel_blade.js:
--------------------------------------------------------------------------------
1 |
2 | ; (function() {
3 | ace.require(["ace/snippets/php_laravel_blade"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/delete.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
11 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/folder.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
11 |
--------------------------------------------------------------------------------
/settings.gradle:
--------------------------------------------------------------------------------
1 | pluginManagement {
2 | repositories {
3 | google()
4 | mavenCentral()
5 | }
6 | }
7 |
8 | dependencyResolutionManagement {
9 | repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
10 | repositories {
11 | google()
12 | mavenCentral()
13 | }
14 | }
15 |
16 | rootProject.name = "BlockWeb Builder"
17 |
18 | include(":app")
19 | include(":common")
20 | include(":editor")
21 | include(":block:core")
22 |
--------------------------------------------------------------------------------
/app/src/main/res/color/navigation_item_color.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/list_status.xml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/close.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
11 |
12 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/image.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
11 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/file_document.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
11 |
12 |
--------------------------------------------------------------------------------
/editor/src/main/res/values/attrs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
6 |
9 |
12 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/language_css.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
11 |
12 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/SoraEditor/typescript/syntaxes/jsdoc.ts.injection.tmLanguage.json:
--------------------------------------------------------------------------------
1 |
2 | {
3 | "injectionSelector": "L:comment.block.documentation",
4 | "patterns": [
5 | {
6 | "include": "#jsdocbody"
7 | }
8 | ],
9 | "repository": {
10 | "jsdocbody": {
11 | "begin": "(?<=/\\*\\*)([^*]|\\*(?!/))*$",
12 | "while": "(^|\\G)\\s*\\*(?!/)(?=([^*]|[*](?!/))*$)",
13 | "patterns": [
14 | {
15 | "include": "source.ts#docblock"
16 | }
17 | ]
18 | }
19 | },
20 | "scopeName": "documentation.injection.ts"
21 | }
22 |
--------------------------------------------------------------------------------
/app/src/main/res/color/navigation_item_background_color.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/app/src/main/res/xml/backup_rules.xml:
--------------------------------------------------------------------------------
1 |
8 |
9 |
13 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/SoraEditor/typescript/syntaxes/jsdoc.js.injection.tmLanguage.json:
--------------------------------------------------------------------------------
1 |
2 | {
3 | "injectionSelector": "L:comment.block.documentation",
4 | "patterns": [
5 | {
6 | "include": "#jsdocbody"
7 | }
8 | ],
9 | "repository": {
10 | "jsdocbody": {
11 | "begin": "(?<=/\\*\\*)([^*]|\\*(?!/))*$",
12 | "while": "(^|\\G)\\s*\\*(?!/)(?=([^*]|[*](?!/))*$)",
13 | "patterns": [
14 | {
15 | "include": "source.ts#docblock"
16 | }
17 | ]
18 | }
19 | },
20 | "scopeName": "documentation.injection.js.jsx"
21 | }
22 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/language_html.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
11 |
12 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/SoraEditor/ini/ini.language-configuration.json:
--------------------------------------------------------------------------------
1 | {
2 | "comments": {
3 | "lineComment": ";",
4 | "blockComment": [ ";", " " ]
5 | },
6 | "brackets": [
7 | ["{", "}"],
8 | ["[", "]"],
9 | ["(", ")"]
10 | ],
11 | "autoClosingPairs": [
12 | ["{", "}"],
13 | ["[", "]"],
14 | ["(", ")"],
15 | { "open": "\"", "close": "\"", "notIn": ["string"] },
16 | { "open": "'", "close": "'", "notIn": ["string"] }
17 | ],
18 | "surroundingPairs": [
19 | ["{", "}"],
20 | ["[", "]"],
21 | ["(", ")"],
22 | ["\"", "\""],
23 | ["'", "'"]
24 | ]
25 | }
26 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/SoraEditor/groovy/language-configuration.json:
--------------------------------------------------------------------------------
1 | {
2 | "comments": {
3 | "lineComment": "//",
4 | "blockComment": [ "/*", "*/" ]
5 | },
6 | "brackets": [
7 | ["{", "}"],
8 | ["[", "]"],
9 | ["(", ")"]
10 | ],
11 | "autoClosingPairs": [
12 | ["{", "}"],
13 | ["[", "]"],
14 | ["(", ")"],
15 | { "open": "\"", "close": "\"", "notIn": ["string"] },
16 | { "open": "'", "close": "'", "notIn": ["string"] }
17 | ],
18 | "surroundingPairs": [
19 | ["{", "}"],
20 | ["[", "]"],
21 | ["(", ")"],
22 | ["\"", "\""],
23 | ["'", "'"]
24 | ]
25 | }
26 |
--------------------------------------------------------------------------------
/common/src/main/java/com/blankj/utilcode/util/UtilsFileProvider.java:
--------------------------------------------------------------------------------
1 | package com.blankj.utilcode.util;
2 |
3 | import android.app.Application;
4 |
5 | import androidx.core.content.FileProvider;
6 |
7 | /**
8 | *
9 | * author: blankj
10 | * blog : http://blankj.com
11 | * time : 2020/03/19
12 | * desc :
13 | *
14 | */
15 | public class UtilsFileProvider extends FileProvider {
16 |
17 | @Override
18 | public boolean onCreate() {
19 | //noinspection ConstantConditions
20 | Utils.init((Application) getContext().getApplicationContext());
21 | return true;
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/SoraEditor/bat/language-configuration.json:
--------------------------------------------------------------------------------
1 | {
2 | "comments": {
3 | "lineComment": "@REM"
4 | },
5 | "brackets": [
6 | ["{", "}"],
7 | ["[", "]"],
8 | ["(", ")"]
9 | ],
10 | "autoClosingPairs": [
11 | ["{", "}"],
12 | ["[", "]"],
13 | ["(", ")"],
14 | { "open": "\"", "close": "\"", "notIn": ["string"] }
15 | ],
16 | "surroundingPairs": [
17 | ["{", "}"],
18 | ["[", "]"],
19 | ["(", ")"],
20 | ["%", "%"],
21 | ["\"", "\""]
22 | ],
23 | "folding": {
24 | "markers": {
25 | "start": "^\\s*(::|REM|@REM)\\s*#region",
26 | "end": "^\\s*(::|REM|@REM)\\s*#endregion"
27 | }
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/app/src/main/res/xml/data_extraction_rules.xml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
8 |
12 |
13 |
19 |
--------------------------------------------------------------------------------
/app/src/main/res/menu/activity_event_list_menu.xml:
--------------------------------------------------------------------------------
1 |
2 |
19 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/SoraEditor/csharp/language-configuration.json:
--------------------------------------------------------------------------------
1 | {
2 | "comments": {
3 | "lineComment": "//",
4 | "blockComment": ["/*", "*/"]
5 | },
6 | "brackets": [
7 | ["{", "}"],
8 | ["[", "]"],
9 | ["(", ")"]
10 | ],
11 | "autoClosingPairs": [
12 | ["{", "}"],
13 | ["[", "]"],
14 | ["(", ")"],
15 | { "open": "'", "close": "'", "notIn": ["string", "comment"] },
16 | { "open": "\"", "close": "\"", "notIn": ["string", "comment"] }
17 | ],
18 | "surroundingPairs": [
19 | ["{", "}"],
20 | ["[", "]"],
21 | ["(", ")"],
22 | ["<", ">"],
23 | ["'", "'"],
24 | ["\"", "\""]
25 | ],
26 | "folding": {
27 | "markers": {
28 | "start": "^\\s*#region\\b",
29 | "end": "^\\s*#endregion\\b"
30 | }
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/gesture_tap_hold.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
11 |
12 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/layout_source_code_dialog.xml:
--------------------------------------------------------------------------------
1 |
2 |
11 |
12 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/gesture_tap_hold_tertiary.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
11 |
12 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/SoraEditor/shellscript/language-configuration.json:
--------------------------------------------------------------------------------
1 | {
2 | "comments": {
3 | "lineComment": "#"
4 | },
5 | "brackets": [
6 | ["{", "}"],
7 | ["[", "]"],
8 | ["(", ")"]
9 | ],
10 | "autoClosingPairs": [
11 | ["{", "}"],
12 | ["[", "]"],
13 | ["(", ")"],
14 | { "open": "\"", "close": "\"", "notIn": ["string"] },
15 | { "open": "'", "close": "'", "notIn": ["string"] },
16 | { "open": "`", "close": "`", "notIn": ["string"] }
17 | ],
18 | "surroundingPairs": [
19 | ["{", "}"],
20 | ["[", "]"],
21 | ["(", ")"],
22 | ["\"", "\""],
23 | ["'", "'"],
24 | ["`", "`"]
25 | ],
26 | "folding": {
27 | "markers": {
28 | "start": "^\\s*#\\s*#?region\\b.*",
29 | "end": "^\\s*#\\s*#?endregion\\b.*"
30 | }
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/layout_drawer_header_main.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
12 |
13 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/common/src/main/java/com/blankj/utilcode/constant/MemoryConstants.java:
--------------------------------------------------------------------------------
1 | package com.blankj.utilcode.constant;
2 |
3 | import androidx.annotation.IntDef;
4 |
5 | import java.lang.annotation.Retention;
6 | import java.lang.annotation.RetentionPolicy;
7 |
8 | /**
9 | *
10 | * author: Blankj
11 | * blog : http://blankj.com
12 | * time : 2017/03/13
13 | * desc : constants of memory
14 | *
15 | */
16 | public final class MemoryConstants {
17 |
18 | public static final int BYTE = 1;
19 | public static final int KB = 1024;
20 | public static final int MB = 1048576;
21 | public static final int GB = 1073741824;
22 |
23 | @IntDef({BYTE, KB, MB, GB})
24 | @Retention(RetentionPolicy.SOURCE)
25 | public @interface Unit {
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/SoraEditor/yaml/language-configuration.json:
--------------------------------------------------------------------------------
1 | {
2 | "comments": {
3 | "lineComment": "#"
4 | },
5 | "brackets": [
6 | ["{", "}"],
7 | ["[", "]"],
8 | ["(", ")"]
9 | ],
10 | "autoClosingPairs": [
11 | ["{", "}"],
12 | ["[", "]"],
13 | ["(", ")"],
14 | ["\"", "\""],
15 | ["'", "'"]
16 | ],
17 | "surroundingPairs": [
18 | ["{", "}"],
19 | ["[", "]"],
20 | ["(", ")"],
21 | ["\"", "\""],
22 | ["'", "'"]
23 | ],
24 | "folding": {
25 | "offSide": true,
26 | "markers": {
27 | "start": "^\\s*#\\s*region\\b",
28 | "end": "^\\s*#\\s*endregion\\b"
29 | }
30 | },
31 | "indentationRules": {
32 | "increaseIndentPattern": "^\\s*.*(:|-) ?(&\\w+)?(\\{[^}\"']*|\\([^)\"']*)?$",
33 | "decreaseIndentPattern": "^\\s+\\}$"
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/css/themes/dawn.css:
--------------------------------------------------------------------------------
1 | .ace-dawn {
2 | /* Background */
3 | /* Orginal Background */
4 | /* background-color: #272822; */
5 | background-color: ace_background;
6 | }
7 |
8 | .ace-dawn .ace_gutter {
9 | /* line number background */
10 | /* background: #2F3129; */
11 | background: ace_gutter_background;
12 | /* line number color */
13 | /* color: #8F908A; */
14 | color: ace_gutter_text_color;
15 | }
16 |
17 | .ace-dawn .ace_marker-layer .ace_active-line {
18 | /* Active line */
19 | /* background: #202020; */
20 | background: ace_active_line;
21 | }
22 |
23 | .ace-dawn .ace_gutter-active-line {
24 | /* Side bar active line color */
25 | /* background-color: #272727; */
26 | background-color: ace_gutter_active_line;
27 | }
28 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/theme-textmate.js:
--------------------------------------------------------------------------------
1 | ace.define("ace/theme/textmate",["require","exports","module","ace/theme/textmate-css","ace/lib/dom"], function(require, exports, module){"use strict";
2 | exports.isDark = false;
3 | exports.cssClass = "ace-tm";
4 | exports.cssText = require("./textmate-css");
5 | exports.$id = "ace/theme/textmate";
6 | var dom = require("../lib/dom");
7 | dom.importCssString(exports.cssText, exports.cssClass, false);
8 |
9 | }); (function() {
10 | ace.require(["ace/theme/textmate"], function(m) {
11 | if (typeof module == "object" && typeof exports == "object" && module) {
12 | module.exports = m;
13 | }
14 | });
15 | })();
16 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/css/themes/chrome.css:
--------------------------------------------------------------------------------
1 | .ace-chrome {
2 | /* Background */
3 | /* Orginal Background */
4 | /* background-color: #272822; */
5 | background-color: ace_background;
6 | }
7 |
8 | .ace-chrome .ace_gutter {
9 | /* line number background */
10 | /* background: #2F3129; */
11 | background: ace_gutter_background;
12 | /* line number color */
13 | /* color: #8F908A; */
14 | color: ace_gutter_text_color;
15 | }
16 |
17 | .ace-chrome .ace_marker-layer .ace_active-line {
18 | /* Active line */
19 | /* background: #202020; */
20 | background: ace_active_line;
21 | }
22 |
23 | .ace-chrome .ace_gutter-active-line {
24 | /* Side bar active line color */
25 | /* background-color: #272727; */
26 | background-color: ace_gutter_active_line;
27 | }
28 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/css/themes/clouds.css:
--------------------------------------------------------------------------------
1 | .ace-clouds {
2 | /* Background */
3 | /* Orginal Background */
4 | /* background-color: #272822; */
5 | background-color: ace_background;
6 | }
7 |
8 | .ace-clouds .ace_gutter {
9 | /* line number background */
10 | /* background: #2F3129; */
11 | background: ace_gutter_background;
12 | /* line number color */
13 | /* color: #8F908A; */
14 | color: ace_gutter_text_color;
15 | }
16 |
17 | .ace-clouds .ace_marker-layer .ace_active-line {
18 | /* Active line */
19 | /* background: #202020; */
20 | background: ace_active_line;
21 | }
22 |
23 | .ace-clouds .ace_gutter-active-line {
24 | /* Side bar active line color */
25 | /* background-color: #272727; */
26 | background-color: ace_gutter_active_line;
27 | }
28 |
--------------------------------------------------------------------------------
/app/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # You can control the set of applied configuration files using the
3 | # proguardFiles setting in build.gradle.
4 | #
5 | # For more details, see
6 | # http://developer.android.com/guide/developing/tools/proguard.html
7 |
8 | # If your project uses WebView with JS, uncomment the following
9 | # and specify the fully qualified class name to the JavaScript interface
10 | # class:
11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
12 | # public *;
13 | #}
14 |
15 | # Uncomment this to preserve the line number information for
16 | # debugging stack traces.
17 | #-keepattributes SourceFile,LineNumberTable
18 |
19 | # If you keep the line number information, uncomment this to
20 | # hide the original source file name.
21 | #-renamesourcefileattribute SourceFile
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/css/themes/monokai.css:
--------------------------------------------------------------------------------
1 | .ace-monokai {
2 | /* Background */
3 | /* Orginal Background */
4 | /* background-color: #272822; */
5 | background-color: ace_background;
6 | }
7 |
8 | .ace-monokai .ace_gutter {
9 | /* line number background */
10 | /* background: #2F3129; */
11 | background: ace_gutter_background;
12 | /* line number color */
13 | /* color: #8F908A; */
14 | color: ace_gutter_text_color;
15 | }
16 |
17 | .ace-monokai .ace_marker-layer .ace_active-line {
18 | /* Active line */
19 | /* background: #202020; */
20 | background: ace_active_line;
21 | }
22 |
23 | .ace-monokai .ace_gutter-active-line {
24 | /* Side bar active line color */
25 | /* background-color: #272727; */
26 | background-color: ace_gutter_active_line;
27 | }
28 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/razor.js:
--------------------------------------------------------------------------------
1 | ace.define("ace/snippets/razor.snippets",["require","exports","module"], function(require, exports, module){module.exports = "snippet if\n(${1} == ${2}) {\n\t${3}\n}";
2 |
3 | });
4 |
5 | ace.define("ace/snippets/razor",["require","exports","module","ace/snippets/razor.snippets"], function(require, exports, module){"use strict";
6 | exports.snippetText = require("./razor.snippets");
7 | exports.scope = "razor";
8 |
9 | }); (function() {
10 | ace.require(["ace/snippets/razor"], function(m) {
11 | if (typeof module == "object" && typeof exports == "object" && module) {
12 | module.exports = m;
13 | }
14 | });
15 | })();
16 |
--------------------------------------------------------------------------------
/common/src/main/java/com/blankj/utilcode/constant/TimeConstants.java:
--------------------------------------------------------------------------------
1 | package com.blankj.utilcode.constant;
2 |
3 | import androidx.annotation.IntDef;
4 |
5 | import java.lang.annotation.Retention;
6 | import java.lang.annotation.RetentionPolicy;
7 |
8 | /**
9 | *
10 | * author: Blankj
11 | * blog : http://blankj.com
12 | * time : 2017/03/13
13 | * desc : constants of time
14 | *
15 | */
16 | public final class TimeConstants {
17 |
18 | public static final int MSEC = 1;
19 | public static final int SEC = 1000;
20 | public static final int MIN = 60000;
21 | public static final int HOUR = 3600000;
22 | public static final int DAY = 86400000;
23 |
24 | @IntDef({MSEC, SEC, MIN, HOUR, DAY})
25 | @Retention(RetentionPolicy.SOURCE)
26 | public @interface Unit {
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/layout_console_log_item.xml:
--------------------------------------------------------------------------------
1 |
2 |
9 |
10 |
15 |
16 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/layout_license_list_item.xml:
--------------------------------------------------------------------------------
1 |
2 |
9 |
10 |
14 |
15 |
21 |
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/common/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # You can control the set of applied configuration files using the
3 | # proguardFiles setting in build.gradle.
4 | #
5 | # For more details, see
6 | # http://developer.android.com/guide/developing/tools/proguard.html
7 |
8 | # If your project uses WebView with JS, uncomment the following
9 | # and specify the fully qualified class name to the JavaScript interface
10 | # class:
11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
12 | # public *;
13 | #}
14 |
15 | # Uncomment this to preserve the line number information for
16 | # debugging stack traces.
17 | #-keepattributes SourceFile,LineNumberTable
18 |
19 | # If you keep the line number information, uncomment this to
20 | # hide the original source file name.
21 | #-renamesourcefileattribute SourceFile
--------------------------------------------------------------------------------
/editor/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # You can control the set of applied configuration files using the
3 | # proguardFiles setting in build.gradle.
4 | #
5 | # For more details, see
6 | # http://developer.android.com/guide/developing/tools/proguard.html
7 |
8 | # If your project uses WebView with JS, uncomment the following
9 | # and specify the fully qualified class name to the JavaScript interface
10 | # class:
11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
12 | # public *;
13 | #}
14 |
15 | # Uncomment this to preserve the line number information for
16 | # debugging stack traces.
17 | #-keepattributes SourceFile,LineNumberTable
18 |
19 | # If you keep the line number information, uncomment this to
20 | # hide the original source file name.
21 | #-renamesourcefileattribute SourceFile
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/css/themes/dracula.css:
--------------------------------------------------------------------------------
1 | .ace-dracula {
2 | /* Background */
3 | /* Orginal Background */
4 | /* background-color: #272822; */
5 | background-color: ace_background;
6 | /* Text color */
7 | }
8 |
9 | .ace-dracula .ace_gutter {
10 | /* line number background */
11 | /* background: #2F3129; */
12 | background: ace_gutter_background;
13 | /* line number color */
14 | /* color: #8F908A; */
15 | color: ace_gutter_text_color;
16 | }
17 |
18 | .ace-dracula .ace_marker-layer .ace_active-line {
19 | /* Active line */
20 | /* background: #202020; */
21 | background: ace_active_line;
22 | }
23 |
24 | .ace-dracula .ace_gutter-active-line {
25 | /* Side bar active line color */
26 | /* background-color: #272727; */
27 | background-color: ace_gutter_active_line;
28 | }
29 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/css/themes/crimson-editor.css:
--------------------------------------------------------------------------------
1 | .ace-crimson-editor {
2 | /* Background */
3 | /* Orginal Background */
4 | /* background-color: #272822; */
5 | background-color: ace_background;
6 | }
7 |
8 | .ace-crimson-editor .ace_gutter {
9 | /* line number background */
10 | /* background: #2F3129; */
11 | background: ace_gutter_background;
12 | /* line number color */
13 | /* color: #8F908A; */
14 | color: ace_gutter_text_color;
15 | }
16 |
17 | .ace-crimson-editor .ace_marker-layer .ace_active-line {
18 | /* Active line */
19 | /* background: #202020; */
20 | background: ace_active_line;
21 | }
22 |
23 | .ace-crimson-editor .ace_gutter-active-line {
24 | /* Side bar active line color */
25 | /* background-color: #272727; */
26 | background-color: ace_gutter_active_line;
27 | }
28 |
--------------------------------------------------------------------------------
/common/src/main/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
16 |
17 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/makefile.js:
--------------------------------------------------------------------------------
1 | ace.define("ace/snippets/makefile.snippets",["require","exports","module"], function(require, exports, module){module.exports = "snippet ifeq\n\tifeq (${1:cond0},${2:cond1})\n\t\t${3:code}\n\tendif\n";
2 |
3 | });
4 |
5 | ace.define("ace/snippets/makefile",["require","exports","module","ace/snippets/makefile.snippets"], function(require, exports, module){"use strict";
6 | exports.snippetText = require("./makefile.snippets");
7 | exports.scope = "makefile";
8 |
9 | }); (function() {
10 | ace.require(["ace/snippets/makefile"], function(m) {
11 | if (typeof module == "object" && typeof exports == "object" && module) {
12 | module.exports = m;
13 | }
14 | });
15 | })();
16 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/SoraEditor/smali/language-configuration.json:
--------------------------------------------------------------------------------
1 | {
2 | "comments": {
3 | "lineComment": "#"
4 | },
5 | "brackets": [
6 | ["{", "}"],
7 | ["[", "]"],
8 | ["(", ")"],
9 | ["<", ">"]
10 | ],
11 | "autoClosingPairs": [
12 | ["{", "}"],
13 | ["[", "]"],
14 | ["(", ")"],
15 | ["<", ">"],
16 | { "open": "\"", "close": "\"", "notIn": ["string"] },
17 | { "open": "'", "close": "'", "notIn": ["string"] },
18 | { "open": "#", "close": "\n", "notIn": ["string"] }
19 | ],
20 | "surroundingPairs": [
21 | ["{", "}"],
22 | ["[", "]"],
23 | ["(", ")"],
24 | ["\"", "\""],
25 | ["'", "'"],
26 | ["<", ">"]
27 | ],
28 | "folding": {
29 | "markers": {
30 | "start": "^\\s*//\\s*(?:(?:#?region\\b)|(?:))"
32 | }
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/layout_event_blocks_holder_list_item.xml:
--------------------------------------------------------------------------------
1 |
2 |
12 |
13 |
17 |
18 |
19 |
20 |
25 |
26 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/maze.js:
--------------------------------------------------------------------------------
1 | ace.define("ace/snippets/maze.snippets",["require","exports","module"], function(require, exports, module){module.exports = "snippet >\ndescription assignment\nscope maze\n\t-> ${1}= ${2}\n\nsnippet >\ndescription if\nscope maze\n\t-> IF ${2:**} THEN %${3:L} ELSE %${4:R}\n";
2 |
3 | });
4 |
5 | ace.define("ace/snippets/maze",["require","exports","module","ace/snippets/maze.snippets"], function(require, exports, module){"use strict";
6 | exports.snippetText = require("./maze.snippets");
7 | exports.scope = "maze";
8 |
9 | }); (function() {
10 | ace.require(["ace/snippets/maze"], function(m) {
11 | if (typeof module == "object" && typeof exports == "object" && module) {
12 | module.exports = m;
13 | }
14 | });
15 | })();
16 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/SoraEditor/cpp/language-configuration.json:
--------------------------------------------------------------------------------
1 | {
2 | "comments": {
3 | "lineComment": "//",
4 | "blockComment": ["/*", "*/"]
5 | },
6 | "brackets": [
7 | ["{", "}"],
8 | ["[", "]"],
9 | ["(", ")"]
10 | ],
11 | "autoClosingPairs": [
12 | { "open": "[", "close": "]" },
13 | { "open": "{", "close": "}" },
14 | { "open": "(", "close": ")" },
15 | { "open": "'", "close": "'", "notIn": ["string", "comment"] },
16 | { "open": "\"", "close": "\"", "notIn": ["string"] }
17 | ],
18 | "surroundingPairs": [
19 | ["{", "}"],
20 | ["[", "]"],
21 | ["(", ")"],
22 | ["\"", "\""],
23 | ["'", "'"],
24 | ["<", ">"]
25 | ],
26 | "wordPattern": "(-?\\d*\\.\\d\\w*)|([^\\`\\~\\!\\@\\#\\%\\^\\&\\*\\(\\)\\-\\=\\+\\[\\{\\]\\}\\\\\\|\\;\\:\\'\\\"\\,\\.\\<\\>\\/\\?\\s]+)",
27 | "folding": {
28 | "markers": {
29 | "start": "^\\s*#pragma\\s+region\\b",
30 | "end": "^\\s*#pragma\\s+endregion\\b"
31 | }
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/common/src/main/res/xml/util_code_provider_paths.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
6 |
7 |
10 |
11 |
14 |
15 |
18 |
19 |
22 |
23 |
26 |
28 |
31 |
32 |
--------------------------------------------------------------------------------
/editor/src/main/java/editor/tsd/tools/EditorListeners.java:
--------------------------------------------------------------------------------
1 | /*
2 | * This file is part of Android Code Editor.
3 | *
4 | * Android Code Editor is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU General Public License as published by
6 | * the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * Android Code Editor is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with Android Code Editor. If not, see .
16 | */
17 |
18 | package editor.tsd.tools;
19 |
20 | public interface EditorListeners {
21 | void onReceviedCode(String code);
22 | }
23 |
--------------------------------------------------------------------------------
/common/src/main/res/values-v21/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
17 |
18 |
--------------------------------------------------------------------------------
/app/src/main/res/menu/activity_main_drawer_menu.xml:
--------------------------------------------------------------------------------
1 |
2 |
27 |
--------------------------------------------------------------------------------
/common/src/main/java/com/blankj/utilcode/util/CloneUtils.java:
--------------------------------------------------------------------------------
1 | package com.blankj.utilcode.util;
2 |
3 | import java.lang.reflect.Type;
4 |
5 | /**
6 | *
7 | * author: Blankj
8 | * blog : http://blankj.com
9 | * time : 2018/01/30
10 | * desc : utils about clone
11 | *
12 | */
13 | public final class CloneUtils {
14 |
15 | private CloneUtils() {
16 | throw new UnsupportedOperationException("u can't instantiate me...");
17 | }
18 |
19 | /**
20 | * Deep clone.
21 | *
22 | * @param data The data.
23 | * @param type The type.
24 | * @param The value type.
25 | * @return The object of cloned.
26 | */
27 | public static T deepClone(final T data, final Type type) {
28 | try {
29 | return UtilsBridge.fromJson(UtilsBridge.toJson(data), type);
30 | } catch (Exception e) {
31 | e.printStackTrace();
32 | return null;
33 | }
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/snippets.js:
--------------------------------------------------------------------------------
1 | ace.define("ace/snippets/snippets.snippets",["require","exports","module"], function(require, exports, module){module.exports = "# snippets for making snippets :)\nsnippet snip\n\tsnippet ${1:trigger}\n\t\t${2}\nsnippet msnip\n\tsnippet ${1:trigger} ${2:description}\n\t\t${3}\nsnippet v\n\t{VISUAL}\n";
2 |
3 | });
4 |
5 | ace.define("ace/snippets/snippets",["require","exports","module","ace/snippets/snippets.snippets"], function(require, exports, module){"use strict";
6 | exports.snippetText = require("./snippets.snippets");
7 | exports.scope = "snippets";
8 |
9 | }); (function() {
10 | ace.require(["ace/snippets/snippets"], function(m) {
11 | if (typeof module == "object" && typeof exports == "object" && module) {
12 | module.exports = m;
13 | }
14 | });
15 | })();
16 |
--------------------------------------------------------------------------------
/common/build.gradle:
--------------------------------------------------------------------------------
1 | plugins {
2 | id 'com.android.library'
3 | }
4 |
5 | android {
6 | compileSdk 34
7 | buildToolsVersion "34.0.0"
8 | useLibrary 'org.apache.http.legacy'
9 | namespace "android.code.editor.common"
10 |
11 | defaultConfig {
12 | minSdk 21
13 | targetSdk 28
14 | compileSdkVersion 34
15 | }
16 |
17 | buildTypes {
18 | release {
19 | minifyEnabled false
20 | proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
21 | }
22 | }
23 |
24 | compileOptions {
25 | sourceCompatibility JavaVersion.VERSION_17
26 | targetCompatibility JavaVersion.VERSION_17
27 | }
28 |
29 | buildFeatures {
30 | viewBinding true
31 | }
32 | }
33 |
34 | dependencies {
35 | implementation 'androidx.appcompat:appcompat:1.6.1'
36 | implementation 'com.google.android.material:material:1.11.0'
37 | implementation 'com.google.code.gson:gson:2.8.7'
38 | }
39 |
--------------------------------------------------------------------------------
/app/src/main/res/menu/activity_event_editor_menu.xml:
--------------------------------------------------------------------------------
1 |
2 |
26 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/fsl.js:
--------------------------------------------------------------------------------
1 | ace.define("ace/snippets/fsl.snippets",["require","exports","module"], function(require, exports, module){module.exports = "snippet header\n\tmachine_name : \"\";\n\tmachine_author : \"\";\n\tmachine_license : MIT;\n\tmachine_comment : \"\";\n\tmachine_language : en;\n\tmachine_version : 1.0.0;\n\tfsl_version : 1.0.0;\n\tstart_states : [];\n";
2 |
3 | });
4 |
5 | ace.define("ace/snippets/fsl",["require","exports","module","ace/snippets/fsl.snippets"], function(require, exports, module){"use strict";
6 | exports.snippetText = require("./fsl.snippets");
7 | exports.scope = "fsl";
8 |
9 | }); (function() {
10 | ace.require(["ace/snippets/fsl"], function(m) {
11 | if (typeof module == "object" && typeof exports == "object" && module) {
12 | module.exports = m;
13 | }
14 | });
15 | })();
16 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/csound_document.js:
--------------------------------------------------------------------------------
1 | ace.define("ace/snippets/csound_document.snippets",["require","exports","module"], function(require, exports, module){module.exports = "# \nsnippet synth\n\t\n\t\n\t${1}\n\t\n\t\n\te\n\t\n\t\n";
2 |
3 | });
4 |
5 | ace.define("ace/snippets/csound_document",["require","exports","module","ace/snippets/csound_document.snippets"], function(require, exports, module){"use strict";
6 | exports.snippetText = require("./csound_document.snippets");
7 | exports.scope = "csound_document";
8 |
9 | }); (function() {
10 | ace.require(["ace/snippets/csound_document"], function(m) {
11 | if (typeof module == "object" && typeof exports == "object" && module) {
12 | module.exports = m;
13 | }
14 | });
15 | })();
16 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/language_javascript.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
11 |
12 |
--------------------------------------------------------------------------------
/.github/workflows/android-pr.yml:
--------------------------------------------------------------------------------
1 | name: Android CI[PR
2 |
3 | on:
4 | pull_request:
5 | paths-ignore:
6 | - .gitignore
7 |
8 | jobs:
9 | buildApkFile:
10 | name: Build Debug APK
11 | runs-on: ubuntu-latest
12 | steps:
13 | - uses: actions/checkout@v3
14 |
15 | - name: Set up JDK 17
16 | uses: actions/setup-java@v3
17 | with:
18 | java-version: 17
19 | distribution: temurin
20 |
21 | - name: Allow gradlew permission
22 | run: chmod +x ./gradlew
23 |
24 | - name: Build debug APK
25 | run: ./gradlew assembleDebug
26 |
27 | - name: Upload debug APK
28 | uses: actions/upload-artifact@v3
29 | with:
30 | name: BlockWeb Builder Apk
31 | path: app/build/outputs/apk/debug/app-debug.apk
32 |
33 | - name: Upload output metadata APK
34 | uses: actions/upload-artifact@v3
35 | with:
36 | name: Output Metadata
37 | path: app/build/outputs/apk/debug/output-metadata.json
38 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/drools.js:
--------------------------------------------------------------------------------
1 | ace.define("ace/snippets/drools.snippets",["require","exports","module"], function(require, exports, module){module.exports = "\nsnippet rule\n\trule \"${1?:rule_name}\"\n\twhen\n\t\t${2:// when...} \n\tthen\n\t\t${3:// then...}\n\tend\n\nsnippet query\n\tquery ${1?:query_name}\n\t\t${2:// find} \n\tend\n\t\nsnippet declare\n\tdeclare ${1?:type_name}\n\t\t${2:// attributes} \n\tend\n\n";
2 |
3 | });
4 |
5 | ace.define("ace/snippets/drools",["require","exports","module","ace/snippets/drools.snippets"], function(require, exports, module){"use strict";
6 | exports.snippetText = require("./drools.snippets");
7 | exports.scope = "drools";
8 |
9 | }); (function() {
10 | ace.require(["ace/snippets/drools"], function(m) {
11 | if (typeof module == "object" && typeof exports == "object" && module) {
12 | module.exports = m;
13 | }
14 | });
15 | })();
16 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/SoraEditor/go/language-configuration.json:
--------------------------------------------------------------------------------
1 | {
2 | "comments": {
3 | "lineComment": "//",
4 | "blockComment": [ "/*", "*/" ]
5 | },
6 | "brackets": [
7 | ["{", "}"],
8 | ["[", "]"],
9 | ["(", ")"]
10 | ],
11 | "autoClosingPairs": [
12 | ["{", "}"],
13 | ["[", "]"],
14 | ["(", ")"],
15 | { "open": "`", "close": "`", "notIn": ["string"]},
16 | { "open": "\"", "close": "\"", "notIn": ["string"]},
17 | { "open": "'", "close": "'", "notIn": ["string", "comment"]}
18 | ],
19 | "surroundingPairs": [
20 | ["{", "}"],
21 | ["[", "]"],
22 | ["(", ")"],
23 | ["\"", "\""],
24 | ["'", "'"],
25 | ["`", "`"]
26 | ],
27 | "indentationRules": {
28 | "increaseIndentPattern": "^.*(\\bcase\\b.*:|\\bdefault\\b:|(\\b(func|if|else|switch|select|for|struct)\\b.*)?{[^}\"'`]*|\\([^)\"'`]*)$",
29 | "decreaseIndentPattern": "^\\s*(\\bcase\\b.*:|\\bdefault\\b:|}[)}]*[),]?|\\)[,]?)$"
30 | },
31 | "folding": {
32 | "markers": {
33 | "start": "^\\s*//\\s*#?region\\b",
34 | "end": "^\\s*//\\s*#?endregion\\b"
35 | }
36 | }
37 | }
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/SoraEditor/julia/language-configuration.json:
--------------------------------------------------------------------------------
1 | {
2 | "comments": {
3 | "lineComment": "#",
4 | "blockComment": [ "#=", "=#" ]
5 | },
6 | "brackets": [
7 | ["{", "}"],
8 | ["[", "]"],
9 | ["(", ")"]
10 | ],
11 | "autoClosingPairs": [
12 | ["{", "}"],
13 | ["[", "]"],
14 | ["(", ")"],
15 | ["`", "`"],
16 | { "open": "\"", "close": "\"", "notIn": ["string", "comment"] }
17 | ],
18 | "surroundingPairs": [
19 | ["{", "}"],
20 | ["[", "]"],
21 | ["(", ")"],
22 | ["\"", "\""],
23 | ["`", "`"]
24 | ],
25 | "folding": {
26 | "markers": {
27 | "start": "^\\s*#region",
28 | "end": "^\\s*#endregion"
29 | }
30 | },
31 | "indentationRules": {
32 | "increaseIndentPattern": "^(\\s*|.*=\\s*|.*@\\w*\\s*)[\\w\\s]*(?:[\"'`][^\"'`]*[\"'`])*[\\w\\s]*\\b(if|while|for|function|macro|(mutable\\s+)?struct|abstract\\s+type|primitive\\s+type|let|quote|try|begin|.*\\)\\s*do|else|elseif|catch|finally)\\b(?!(?:.*\\bend\\b[^\\]]*)|(?:[^\\[]*\\].*)$).*$",
33 | "decreaseIndentPattern": "^\\s*(end|else|elseif|catch|finally)\\b.*$"
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/rst.js:
--------------------------------------------------------------------------------
1 | ace.define("ace/snippets/rst.snippets",["require","exports","module"], function(require, exports, module){module.exports = "# rst\n\nsnippet :\n\t:${1:field name}: ${2:field body}\nsnippet *\n\t*${1:Emphasis}*\nsnippet **\n\t**${1:Strong emphasis}**\nsnippet _\n\t\\`${1:hyperlink-name}\\`_\n\t.. _\\`$1\\`: ${2:link-block}\nsnippet =\n\t${1:Title}\n\t=====${2:=}\n\t${3}\nsnippet -\n\t${1:Title}\n\t-----${2:-}\n\t${3}\nsnippet cont:\n\t.. contents::\n\t\n";
2 |
3 | });
4 |
5 | ace.define("ace/snippets/rst",["require","exports","module","ace/snippets/rst.snippets"], function(require, exports, module){"use strict";
6 | exports.snippetText = require("./rst.snippets");
7 | exports.scope = "rst";
8 |
9 | }); (function() {
10 | ace.require(["ace/snippets/rst"], function(m) {
11 | if (typeof module == "object" && typeof exports == "object" && module) {
12 | module.exports = m;
13 | }
14 | });
15 | })();
16 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/activity_debug.xml:
--------------------------------------------------------------------------------
1 |
2 |
10 |
11 |
14 |
15 |
18 |
19 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/SoraEditor/css/language-configuration.json:
--------------------------------------------------------------------------------
1 | {
2 | "comments": {
3 | "blockComment": ["/*", "*/"]
4 | },
5 | "brackets": [
6 | ["{", "}"],
7 | ["[", "]"],
8 | ["(", ")"]
9 | ],
10 | "autoClosingPairs": [
11 | { "open": "{", "close": "}", "notIn": ["string", "comment"] },
12 | { "open": "[", "close": "]", "notIn": ["string", "comment"] },
13 | { "open": "(", "close": ")", "notIn": ["string", "comment"] },
14 | { "open": "\"", "close": "\"", "notIn": ["string", "comment"] },
15 | { "open": "'", "close": "'", "notIn": ["string", "comment"] }
16 | ],
17 | "surroundingPairs": [
18 | ["{", "}"],
19 | ["[", "]"],
20 | ["(", ")"],
21 | ["\"", "\""],
22 | ["'", "'"]
23 | ],
24 | "folding": {
25 | "markers": {
26 | "start": "^\\s*\\/\\*\\s*#region\\b\\s*(.*?)\\s*\\*\\/",
27 | "end": "^\\s*\\/\\*\\s*#endregion\\b.*\\*\\/"
28 | }
29 | },
30 | "indentationRules": {
31 | "increaseIndentPattern": "(^.*\\{[^}]*$)",
32 | "decreaseIndentPattern": "^\\s*\\}"
33 | },
34 | "wordPattern": "(#?-?\\d*\\.\\d\\w*%?)|(::?[\\w-]*(?=[^,{;]*[,{]))|(([@#.!])?[\\w-?]+%?|[@#!.])"
35 | }
36 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/haml.js:
--------------------------------------------------------------------------------
1 | ace.define("ace/snippets/haml.snippets",["require","exports","module"], function(require, exports, module){module.exports = "snippet t\n\t%table\n\t\t%tr\n\t\t\t%th\n\t\t\t\t${1:headers}\n\t\t%tr\n\t\t\t%td\n\t\t\t\t${2:headers}\nsnippet ul\n\t%ul\n\t\t%li\n\t\t\t${1:item}\n\t\t%li\nsnippet =rp\n\t= render :partial => '${1:partial}'\nsnippet =rpl\n\t= render :partial => '${1:partial}', :locals => {}\nsnippet =rpc\n\t= render :partial => '${1:partial}', :collection => @$1\n\n";
2 |
3 | });
4 |
5 | ace.define("ace/snippets/haml",["require","exports","module","ace/snippets/haml.snippets"], function(require, exports, module){"use strict";
6 | exports.snippetText = require("./haml.snippets");
7 | exports.scope = "haml";
8 |
9 | }); (function() {
10 | ace.require(["ace/snippets/haml"], function(m) {
11 | if (typeof module == "object" && typeof exports == "object" && module) {
12 | module.exports = m;
13 | }
14 | });
15 | })();
16 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/lua.js:
--------------------------------------------------------------------------------
1 | ace.define("ace/snippets/lua.snippets",["require","exports","module"], function(require, exports, module){module.exports = "snippet #!\n\t#!/usr/bin/env lua\n\t$1\nsnippet local\n\tlocal ${1:x} = ${2:1}\nsnippet fun\n\tfunction ${1:fname}(${2:...})\n\t\t${3:-- body}\n\tend\nsnippet for\n\tfor ${1:i}=${2:1},${3:10} do\n\t\t${4:print(i)}\n\tend\nsnippet forp\n\tfor ${1:i},${2:v} in pairs(${3:table_name}) do\n\t ${4:-- body}\n\tend\nsnippet fori\n\tfor ${1:i},${2:v} in ipairs(${3:table_name}) do\n\t ${4:-- body}\n\tend\n";
2 |
3 | });
4 |
5 | ace.define("ace/snippets/lua",["require","exports","module","ace/snippets/lua.snippets"], function(require, exports, module){"use strict";
6 | exports.snippetText = require("./lua.snippets");
7 | exports.scope = "lua";
8 |
9 | }); (function() {
10 | ace.require(["ace/snippets/lua"], function(m) {
11 | if (typeof module == "object" && typeof exports == "object" && module) {
12 | module.exports = m;
13 | }
14 | });
15 | })();
16 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/SoraEditor/lua/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "lua",
3 | "displayName": "%displayName%",
4 | "description": "%description%",
5 | "version": "1.0.0",
6 | "publisher": "vscode",
7 | "license": "MIT",
8 | "engines": {
9 | "vscode": "*"
10 | },
11 | "scripts": {
12 | "update-grammar": "node ../node_modules/vscode-grammar-updater/bin sumneko/lua.tmbundle Syntaxes/Lua.plist ./syntaxes/lua.tmLanguage.json"
13 | },
14 | "contributes": {
15 | "languages": [
16 | {
17 | "id": "lua",
18 | "extensions": [
19 | ".lua"
20 | ],
21 | "aliases": [
22 | "Lua",
23 | "lua"
24 | ],
25 | "configuration": "./language-configuration.json"
26 | }
27 | ],
28 | "grammars": [
29 | {
30 | "language": "lua",
31 | "scopeName": "source.lua",
32 | "path": "./syntaxes/lua.tmLanguage.json",
33 | "tokenTypes": {
34 | "comment.line.double-dash.doc.lua": "other"
35 | }
36 | }
37 | ]
38 | },
39 | "repository": {
40 | "type": "git",
41 | "url": "https://github.com/microsoft/vscode.git"
42 | }
43 | }
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/SoraEditor/html/completions/LICENSE.md:
--------------------------------------------------------------------------------
1 | Copyright (c) 2015 GitHub Inc.
2 |
3 | Permission is hereby granted, free of charge, to any person obtaining
4 | a copy of this software and associated documentation files (the
5 | "Software"), to deal in the Software without restriction, including
6 | without limitation the rights to use, copy, modify, merge, publish,
7 | distribute, sublicense, and/or sell copies of the Software, and to
8 | permit persons to whom the Software is furnished to do so, subject to
9 | the following conditions:
10 |
11 | The above copyright notice and this permission notice shall be
12 | included in all copies or substantial portions of the Software.
13 |
14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21 |
--------------------------------------------------------------------------------
/editor/build.gradle:
--------------------------------------------------------------------------------
1 | plugins {
2 | id 'com.android.library'
3 | }
4 |
5 | android {
6 | compileSdk 34
7 | buildToolsVersion "34.0.0"
8 | useLibrary 'org.apache.http.legacy'
9 | namespace "editor.tsd"
10 |
11 | defaultConfig {
12 | minSdk 21
13 | targetSdk 28
14 | compileSdkVersion 33
15 | }
16 |
17 | buildTypes {
18 | release {
19 | minifyEnabled false
20 | proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
21 | }
22 | }
23 |
24 | compileOptions {
25 | sourceCompatibility JavaVersion.VERSION_17
26 | targetCompatibility JavaVersion.VERSION_17
27 | }
28 |
29 | buildFeatures {
30 | viewBinding true
31 | }
32 | }
33 |
34 | dependencies {
35 | implementation 'com.google.code.gson:gson:2.8.7'
36 | def editorGroupId = "io.github.Rosemoe.sora-editor"
37 | implementation platform("$editorGroupId:bom:0.22.0")
38 | implementation "$editorGroupId:editor"
39 | implementation "$editorGroupId:language-textmate"
40 | implementation "$editorGroupId:language-java"
41 | implementation project(path: ':common')
42 | }
43 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/layout_add_text_in_block.xml:
--------------------------------------------------------------------------------
1 |
2 |
11 |
12 |
20 |
21 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/diff.js:
--------------------------------------------------------------------------------
1 | ace.define("ace/snippets/diff.snippets",["require","exports","module"], function(require, exports, module){module.exports = "# DEP-3 (http://dep.debian.net/deps/dep3/) style patch header\nsnippet header DEP-3 style header\n\tDescription: ${1}\n\tOrigin: ${2:vendor|upstream|other}, ${3:url of the original patch}\n\tBug: ${4:url in upstream bugtracker}\n\tForwarded: ${5:no|not-needed|url}\n\tAuthor: ${6:`g:snips_author`}\n\tReviewed-by: ${7:name and email}\n\tLast-Update: ${8:`strftime(\"%Y-%m-%d\")`}\n\tApplied-Upstream: ${9:upstream version|url|commit}\n\n";
2 |
3 | });
4 |
5 | ace.define("ace/snippets/diff",["require","exports","module","ace/snippets/diff.snippets"], function(require, exports, module){"use strict";
6 | exports.snippetText = require("./diff.snippets");
7 | exports.scope = "diff";
8 |
9 | }); (function() {
10 | ace.require(["ace/snippets/diff"], function(m) {
11 | if (typeof module == "object" && typeof exports == "object" && module) {
12 | module.exports = m;
13 | }
14 | });
15 | })();
16 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/textile.js:
--------------------------------------------------------------------------------
1 | ace.define("ace/snippets/textile.snippets",["require","exports","module"], function(require, exports, module){module.exports = "# Jekyll post header\nsnippet header\n\t---\n\ttitle: ${1:title}\n\tlayout: post\n\tdate: ${2:date} ${3:hour:minute:second} -05:00\n\t---\n\n# Image\nsnippet img\n\t!${1:url}(${2:title}):${3:link}!\n\n# Table\nsnippet |\n\t|${1}|${2}\n\n# Link\nsnippet link\n\t\"${1:link text}\":${2:url}\n\n# Acronym\nsnippet (\n\t(${1:Expand acronym})${2}\n\n# Footnote\nsnippet fn\n\t[${1:ref number}] ${3}\n\n\tfn$1. ${2:footnote}\n\t\n";
2 |
3 | });
4 |
5 | ace.define("ace/snippets/textile",["require","exports","module","ace/snippets/textile.snippets"], function(require, exports, module){"use strict";
6 | exports.snippetText = require("./textile.snippets");
7 | exports.scope = "textile";
8 |
9 | }); (function() {
10 | ace.require(["ace/snippets/textile"], function(m) {
11 | if (typeof module == "object" && typeof exports == "object" && module) {
12 | module.exports = m;
13 | }
14 | });
15 | })();
16 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/mode-plain_text.js:
--------------------------------------------------------------------------------
1 | ace.define("ace/mode/plain_text",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/text_highlight_rules","ace/mode/behaviour"], function(require, exports, module){"use strict";
2 | var oop = require("../lib/oop");
3 | var TextMode = require("./text").Mode;
4 | var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
5 | var Behaviour = require("./behaviour").Behaviour;
6 | var Mode = function () {
7 | this.HighlightRules = TextHighlightRules;
8 | this.$behaviour = new Behaviour();
9 | };
10 | oop.inherits(Mode, TextMode);
11 | (function () {
12 | this.type = "text";
13 | this.getNextLineIndent = function (state, line, tab) {
14 | return '';
15 | };
16 | this.$id = "ace/mode/plain_text";
17 | }).call(Mode.prototype);
18 | exports.Mode = Mode;
19 |
20 | }); (function() {
21 | ace.require(["ace/mode/plain_text"], function(m) {
22 | if (typeof module == "object" && typeof exports == "object" && module) {
23 | module.exports = m;
24 | }
25 | });
26 | })();
27 |
--------------------------------------------------------------------------------
/common/src/main/java/android/code/editor/common/interfaces/FileDeleteListener.java:
--------------------------------------------------------------------------------
1 | /*
2 | * This file is part of Android Code Editor.
3 | *
4 | * Android Code Editor is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU General Public License as published by
6 | * the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * Android Code Editor is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with Android Code Editor. If not, see .
16 | */
17 |
18 | package android.code.editor.common.interfaces;
19 |
20 | import java.io.File;
21 |
22 | public interface FileDeleteListener {
23 | public void onProgressUpdate(int deleteDone);
24 |
25 | public void onTotalCount(int total);
26 |
27 | public void onDeleting(File path);
28 |
29 | public void onDeleteComplete(File path);
30 |
31 | public void onTaskComplete();
32 | }
33 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/SoraEditor/css/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "css",
3 | "displayName": "%displayName%",
4 | "description": "%description%",
5 | "version": "1.0.0",
6 | "publisher": "vscode",
7 | "license": "MIT",
8 | "engines": {
9 | "vscode": "0.10.x"
10 | },
11 | "scripts": {
12 | "update-grammar": "node ../node_modules/vscode-grammar-updater/bin microsoft/vscode-css grammars/css.cson ./syntaxes/css.tmLanguage.json"
13 | },
14 | "contributes": {
15 | "languages": [
16 | {
17 | "id": "css",
18 | "aliases": [
19 | "CSS",
20 | "css"
21 | ],
22 | "extensions": [
23 | ".css"
24 | ],
25 | "mimetypes": [
26 | "text/css"
27 | ],
28 | "configuration": "./language-configuration.json"
29 | }
30 | ],
31 | "grammars": [
32 | {
33 | "language": "css",
34 | "scopeName": "source.css",
35 | "path": "./syntaxes/css.tmLanguage.json",
36 | "tokenTypes": {
37 | "meta.function.url string.quoted": "other"
38 | }
39 | }
40 | ]
41 | },
42 | "repository": {
43 | "type": "git",
44 | "url": "https://github.com/microsoft/vscode.git"
45 | }
46 | }
47 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/setting.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
11 |
12 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/layout_projects_manager_list_item.xml:
--------------------------------------------------------------------------------
1 |
2 |
10 |
11 |
17 |
18 |
23 |
24 |
25 |
26 |
32 |
33 |
--------------------------------------------------------------------------------
/editor/src/main/java/editor/tsd/editors/Editor.java:
--------------------------------------------------------------------------------
1 | /*
2 | * This file is part of Android Code Editor.
3 | *
4 | * Android Code Editor is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU General Public License as published by
6 | * the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * Android Code Editor is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with Android Code Editor. If not, see .
16 | */
17 |
18 | package editor.tsd.editors;
19 |
20 | import editor.tsd.tools.EditorListeners;
21 |
22 | public interface Editor {
23 | public void setCode(String Code);
24 |
25 | public void getCode(EditorListeners listener);
26 |
27 | public int getCodeEditorType();
28 |
29 | public void setLanguageMode(String LqnguageMode);
30 |
31 | public void setTheme(String theme);
32 |
33 | public void moveCursorHorizontally(int steps);
34 |
35 | public void moveCursorVertically(int steps);
36 | }
37 |
--------------------------------------------------------------------------------
/editor/src/main/java/editor/tsd/tools/Language.java:
--------------------------------------------------------------------------------
1 | /*
2 | * This file is part of Android Code Editor.
3 | *
4 | * Android Code Editor is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU General Public License as published by
6 | * the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * Android Code Editor is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with Android Code Editor. If not, see .
16 | */
17 |
18 | package editor.tsd.tools;
19 |
20 | public class Language {
21 | public static final String Java = "java";
22 | public static final String Kt = "kt";
23 | public static final String JavaScript = "js";
24 | public static final String HTML = "html";
25 | public static final String CSS = "css";
26 | public static final String XML = "xml";
27 | public static final String Markdown = "md";
28 | public static final String JSON = "json";
29 | public static final String UNKNOWN = "Unknown";
30 | }
31 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/velocity.js:
--------------------------------------------------------------------------------
1 | ace.define("ace/snippets/velocity.snippets",["require","exports","module"], function(require, exports, module){module.exports = "# macro\nsnippet #macro\n\t#macro ( ${1:macroName} ${2:\\$var1, [\\$var2, ...]} )\n\t\t${3:## macro code}\n\t#end\n# foreach\nsnippet #foreach\n\t#foreach ( ${1:\\$item} in ${2:\\$collection} )\n\t\t${3:## foreach code}\n\t#end\n# if\nsnippet #if\n\t#if ( ${1:true} )\n\t\t${0}\n\t#end\n# if ... else\nsnippet #ife\n\t#if ( ${1:true} )\n\t\t${2}\n\t#else\n\t\t${0}\n\t#end\n#import\nsnippet #import\n\t#import ( \"${1:path/to/velocity/format}\" )\n# set\nsnippet #set\n\t#set ( $${1:var} = ${0} )\n";
2 |
3 | });
4 |
5 | ace.define("ace/snippets/velocity",["require","exports","module","ace/snippets/velocity.snippets"], function(require, exports, module){"use strict";
6 | exports.snippetText = require("./velocity.snippets");
7 | exports.scope = "velocity";
8 | exports.includeScopes = ["html", "javascript", "css"];
9 |
10 | }); (function() {
11 | ace.require(["ace/snippets/velocity"], function(m) {
12 | if (typeof module == "object" && typeof exports == "object" && module) {
13 | module.exports = m;
14 | }
15 | });
16 | })();
17 |
--------------------------------------------------------------------------------
/common/src/main/java/com/blankj/utilcode/util/UtilsTransActivity4MainProcess.java:
--------------------------------------------------------------------------------
1 | package com.blankj.utilcode.util;
2 |
3 | import android.app.Activity;
4 | import android.content.Intent;
5 |
6 | /**
7 | *
8 | * author: blankj
9 | * blog : http://blankj.com
10 | * time : 2020/03/19
11 | * desc :
12 | *
13 | */
14 | public class UtilsTransActivity4MainProcess extends UtilsTransActivity {
15 |
16 | public static void start(final TransActivityDelegate delegate) {
17 | start(null, null, delegate, UtilsTransActivity4MainProcess.class);
18 | }
19 |
20 | public static void start(final Utils.Consumer consumer,
21 | final TransActivityDelegate delegate) {
22 | start(null, consumer, delegate, UtilsTransActivity4MainProcess.class);
23 | }
24 |
25 | public static void start(final Activity activity,
26 | final TransActivityDelegate delegate) {
27 | start(activity, null, delegate, UtilsTransActivity4MainProcess.class);
28 | }
29 |
30 | public static void start(final Activity activity,
31 | final Utils.Consumer consumer,
32 | final TransActivityDelegate delegate) {
33 | start(activity, consumer, delegate, UtilsTransActivity4MainProcess.class);
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/layout_file_list_item.xml:
--------------------------------------------------------------------------------
1 |
2 |
14 |
15 |
22 |
23 |
28 |
29 |
36 |
37 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/graphqlschema.js:
--------------------------------------------------------------------------------
1 | ace.define("ace/snippets/graphqlschema.snippets",["require","exports","module"], function(require, exports, module){module.exports = "# Type Snippet\ntrigger type\nsnippet type\n\ttype ${1:type_name} {\n\t\t${2:type_siblings}\n\t}\n\n# Input Snippet\ntrigger input\nsnippet input\n\tinput ${1:input_name} {\n\t\t${2:input_siblings}\n\t}\n\n# Interface Snippet\ntrigger interface\nsnippet interface\n\tinterface ${1:interface_name} {\n\t\t${2:interface_siblings}\n\t}\n\n# Interface Snippet\ntrigger union\nsnippet union\n\tunion ${1:union_name} = ${2:type} | ${3: type}\n\n# Enum Snippet\ntrigger enum\nsnippet enum\n\tenum ${1:enum_name} {\n\t\t${2:enum_siblings}\n\t}\n";
2 |
3 | });
4 |
5 | ace.define("ace/snippets/graphqlschema",["require","exports","module","ace/snippets/graphqlschema.snippets"], function(require, exports, module){"use strict";
6 | exports.snippetText = require("./graphqlschema.snippets");
7 | exports.scope = "graphqlschema";
8 |
9 | }); (function() {
10 | ace.require(["ace/snippets/graphqlschema"], function(m) {
11 | if (typeof module == "object" && typeof exports == "object" && module) {
12 | module.exports = m;
13 | }
14 | });
15 | })();
16 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/SoraEditor/lua/language-configuration.json:
--------------------------------------------------------------------------------
1 | {
2 | "comments": {
3 | "lineComment": "--",
4 | "blockComment": [
5 | "--[[",
6 | "]]"
7 | ]
8 | },
9 | "brackets": [
10 | [
11 | "{",
12 | "}"
13 | ],
14 | [
15 | "[",
16 | "]"
17 | ],
18 | [
19 | "(",
20 | ")"
21 | ]
22 | ],
23 | "autoClosingPairs": [
24 | [
25 | "{",
26 | "}"
27 | ],
28 | [
29 | "[",
30 | "]"
31 | ],
32 | [
33 | "(",
34 | ")"
35 | ],
36 | {
37 | "open": "\"",
38 | "close": "\"",
39 | "notIn": [
40 | "string"
41 | ]
42 | },
43 | {
44 | "open": "'",
45 | "close": "'",
46 | "notIn": [
47 | "string"
48 | ]
49 | }
50 | ],
51 | "surroundingPairs": [
52 | [
53 | "{",
54 | "}"
55 | ],
56 | [
57 | "[",
58 | "]"
59 | ],
60 | [
61 | "(",
62 | ")"
63 | ],
64 | [
65 | "\"",
66 | "\""
67 | ],
68 | [
69 | "'",
70 | "'"
71 | ]
72 | ],
73 | "indentationRules": {
74 | "increaseIndentPattern": "^((?!(\\-\\-)).)*((\\b(else|function|then|do|repeat)\\b((?!\\b(end|until)\\b).)*)|(\\{\\s*))$",
75 | "decreaseIndentPattern": "^\\s*((\\b(elseif|else|end|until)\\b)|(\\})|(\\)))"
76 | }
77 | }
--------------------------------------------------------------------------------
/app/src/main/res/layout/layout_setting_item.xml:
--------------------------------------------------------------------------------
1 |
2 |
10 |
11 |
16 |
17 |
22 |
23 |
28 |
29 |
30 |
31 |
36 |
37 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/SoraEditor/typescript/syntaxes/Readme.md:
--------------------------------------------------------------------------------
1 | The file `TypeScript.tmLanguage.json` and `TypeScriptReact.tmLanguage.json` are derived from [TypeScript.tmLanguage](https://github.com/microsoft/TypeScript-TmLanguage/blob/master/TypeScript.tmLanguage) and [TypeScriptReact.tmLanguage](https://github.com/microsoft/TypeScript-TmLanguage/blob/master/TypeScriptReact.tmLanguage).
2 |
3 | To update to the latest version:
4 | - `cd extensions/typescript` and run `npm run update-grammars`
5 | - don't forget to run the integration tests at `./scripts/test-integration.sh`
6 |
7 | Migration notes and todos:
8 |
9 | - differentiate variable and function declarations from references
10 | - I suggest we use a new scope segment 'function-call' to signal a function reference, and 'definition' to the declaration. An alternative is to use 'support.function' everywhere.
11 | - I suggest we use a new scope segment 'definition' to the variable declarations. Haven't yet found a scope for references that other grammars use.
12 |
13 | - rename scope to return.type to return-type, which is already used in other grammars
14 | - rename entity.name.class to entity.name.type.class which is used in all other grammars I've seen
15 |
16 | - do we really want to have the list of all the 'library' types (Math, Dom...). It adds a lot of size to the grammar, lots of special rules and is not really correct as it depends on the JavaScript runtime which types are present.
17 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/layout_event_list_item.xml:
--------------------------------------------------------------------------------
1 |
2 |
13 |
14 |
19 |
20 |
26 |
27 |
32 |
33 |
38 |
39 |
40 |
41 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/layout_bottomsheet_event_operation.xml:
--------------------------------------------------------------------------------
1 |
2 |
9 |
10 |
14 |
15 |
22 |
23 |
29 |
30 |
36 |
37 |
38 |
39 |
40 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/layout_bottomsheet_project_operation.xml:
--------------------------------------------------------------------------------
1 |
2 |
9 |
10 |
14 |
15 |
22 |
23 |
29 |
30 |
36 |
37 |
38 |
39 |
40 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/layout_file_operation.xml:
--------------------------------------------------------------------------------
1 |
2 |
9 |
10 |
14 |
15 |
22 |
23 |
29 |
30 |
36 |
37 |
38 |
39 |
--------------------------------------------------------------------------------
/common/src/main/java/com/blankj/utilcode/util/CloseUtils.java:
--------------------------------------------------------------------------------
1 | package com.blankj.utilcode.util;
2 |
3 | import java.io.Closeable;
4 | import java.io.IOException;
5 |
6 | /**
7 | *
8 | * author: Blankj
9 | * blog : http://blankj.com
10 | * time : 2016/10/09
11 | * desc : utils about close
12 | *
13 | */
14 | public final class CloseUtils {
15 |
16 | private CloseUtils() {
17 | throw new UnsupportedOperationException("u can't instantiate me...");
18 | }
19 |
20 | /**
21 | * Close the io stream.
22 | *
23 | * @param closeables The closeables.
24 | */
25 | public static void closeIO(final Closeable... closeables) {
26 | if (closeables == null) return;
27 | for (Closeable closeable : closeables) {
28 | if (closeable != null) {
29 | try {
30 | closeable.close();
31 | } catch (IOException e) {
32 | e.printStackTrace();
33 | }
34 | }
35 | }
36 | }
37 |
38 | /**
39 | * Close the io stream quietly.
40 | *
41 | * @param closeables The closeables.
42 | */
43 | public static void closeIOQuietly(final Closeable... closeables) {
44 | if (closeables == null) return;
45 | for (Closeable closeable : closeables) {
46 | if (closeable != null) {
47 | try {
48 | closeable.close();
49 | } catch (IOException ignored) {
50 | }
51 | }
52 | }
53 | }
54 | }
55 |
--------------------------------------------------------------------------------
/app/src/main/assets/license/ace_editor_license.txt:
--------------------------------------------------------------------------------
1 | Copyright (c) 2010, Ajax.org B.V.
2 | All rights reserved.
3 |
4 | Redistribution and use in source and binary forms, with or without
5 | modification, are permitted provided that the following conditions are met:
6 | * Redistributions of source code must retain the above copyright
7 | notice, this list of conditions and the following disclaimer.
8 | * Redistributions in binary form must reproduce the above copyright
9 | notice, this list of conditions and the following disclaimer in the
10 | documentation and/or other materials provided with the distribution.
11 | * Neither the name of Ajax.org B.V. nor the
12 | names of its contributors may be used to endorse or promote products
13 | derived from this software without specific prior written permission.
14 |
15 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
16 | ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
17 | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
18 | DISCLAIMED. IN NO EVENT SHALL AJAX.ORG B.V. BE LIABLE FOR ANY
19 | DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
20 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
21 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
22 | ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
24 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/sql.js:
--------------------------------------------------------------------------------
1 | ace.define("ace/snippets/sql.snippets",["require","exports","module"], function(require, exports, module){module.exports = "snippet tbl\n\tcreate table ${1:table} (\n\t\t${2:columns}\n\t);\nsnippet col\n\t${1:name}\t${2:type}\t${3:default ''}\t${4:not null}\nsnippet ccol\n\t${1:name}\tvarchar2(${2:size})\t${3:default ''}\t${4:not null}\nsnippet ncol\n\t${1:name}\tnumber\t${3:default 0}\t${4:not null}\nsnippet dcol\n\t${1:name}\tdate\t${3:default sysdate}\t${4:not null}\nsnippet ind\n\tcreate index ${3:$1_$2} on ${1:table}(${2:column});\nsnippet uind\n\tcreate unique index ${1:name} on ${2:table}(${3:column});\nsnippet tblcom\n\tcomment on table ${1:table} is '${2:comment}';\nsnippet colcom\n\tcomment on column ${1:table}.${2:column} is '${3:comment}';\nsnippet addcol\n\talter table ${1:table} add (${2:column} ${3:type});\nsnippet seq\n\tcreate sequence ${1:name} start with ${2:1} increment by ${3:1} minvalue ${4:1};\nsnippet s*\n\tselect * from ${1:table}\n";
2 |
3 | });
4 |
5 | ace.define("ace/snippets/sql",["require","exports","module","ace/snippets/sql.snippets"], function(require, exports, module){"use strict";
6 | exports.snippetText = require("./sql.snippets");
7 | exports.scope = "sql";
8 |
9 | }); (function() {
10 | ace.require(["ace/snippets/sql"], function(m) {
11 | if (typeof module == "object" && typeof exports == "object" && module) {
12 | module.exports = m;
13 | }
14 | });
15 | })();
16 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/SoraEditor/markdown/language-configuration.json:
--------------------------------------------------------------------------------
1 | {
2 | "comments": {
3 | "blockComment": [
4 | ""
6 | ]
7 | },
8 | "brackets": [
9 | [
10 | "{",
11 | "}"
12 | ],
13 | [
14 | "[",
15 | "]"
16 | ],
17 | [
18 | "(",
19 | ")"
20 | ]
21 | ],
22 | "colorizedBracketPairs": [
23 | ],
24 | "autoClosingPairs": [
25 | {
26 | "open": "{",
27 | "close": "}"
28 | },
29 | {
30 | "open": "[",
31 | "close": "]"
32 | },
33 | {
34 | "open": "(",
35 | "close": ")"
36 | },
37 | {
38 | "open": "<",
39 | "close": ">",
40 | "notIn": [
41 | "string"
42 | ]
43 | }
44 | ],
45 | "surroundingPairs": [
46 | [
47 | "(",
48 | ")"
49 | ],
50 | [
51 | "[",
52 | "]"
53 | ],
54 | [
55 | "`",
56 | "`"
57 | ],
58 | [
59 | "_",
60 | "_"
61 | ],
62 | [
63 | "*",
64 | "*"
65 | ],
66 | [
67 | "{",
68 | "}"
69 | ],
70 | [
71 | "'",
72 | "'"
73 | ],
74 | [
75 | "\"",
76 | "\""
77 | ]
78 | ],
79 | "folding": {
80 | "offSide": true,
81 | "markers": {
82 | "start": "^\\s*",
83 | "end": "^\\s*"
84 | }
85 | },
86 | "wordPattern": "(\\p{Alphabetic}|\\p{Number}|\\p{Nonspacing_Mark})(((\\p{Alphabetic}|\\p{Number}|\\p{Nonspacing_Mark})|[_])?(\\p{Alphabetic}|\\p{Number}|\\p{Nonspacing_Mark}))*"
87 | }
88 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/abc.js:
--------------------------------------------------------------------------------
1 | ace.define("ace/snippets/abc.snippets",["require","exports","module"], function(require, exports, module){module.exports = "\nsnippet zupfnoter.print\n\t%%%%hn.print {\"startpos\": ${1:pos_y}, \"t\":\"${2:title}\", \"v\":[${3:voices}], \"s\":[[${4:syncvoices}1,2]], \"f\":[${5:flowlines}], \"sf\":[${6:subflowlines}], \"j\":[${7:jumplines}]}\n\nsnippet zupfnoter.note\n\t%%%%hn.note {\"pos\": [${1:pos_x},${2:pos_y}], \"text\": \"${3:text}\", \"style\": \"${4:style}\"}\n\nsnippet zupfnoter.annotation\n\t%%%%hn.annotation {\"id\": \"${1:id}\", \"pos\": [${2:pos}], \"text\": \"${3:text}\"}\n\nsnippet zupfnoter.lyrics\n\t%%%%hn.lyrics {\"pos\": [${1:x_pos},${2:y_pos}]}\n\nsnippet zupfnoter.legend\n\t%%%%hn.legend {\"pos\": [${1:x_pos},${2:y_pos}]}\n\n\n\nsnippet zupfnoter.target\n\t\"^:${1:target}\"\n\nsnippet zupfnoter.goto\n\t\"^@${1:target}@${2:distance}\"\n\nsnippet zupfnoter.annotationref\n\t\"^#${1:target}\"\n\nsnippet zupfnoter.annotation\n\t\"^!${1:text}@${2:x_offset},${3:y_offset}\"\n\n\n";
2 |
3 | });
4 |
5 | ace.define("ace/snippets/abc",["require","exports","module","ace/snippets/abc.snippets"], function(require, exports, module){"use strict";
6 | exports.snippetText = require("./abc.snippets");
7 | exports.scope = "abc";
8 |
9 | }); (function() {
10 | ace.require(["ace/snippets/abc"], function(m) {
11 | if (typeof module == "object" && typeof exports == "object" && module) {
12 | module.exports = m;
13 | }
14 | });
15 | })();
16 |
--------------------------------------------------------------------------------
/.github/workflows/android.yml:
--------------------------------------------------------------------------------
1 | name: Android CI
2 |
3 | on:
4 | push:
5 | paths-ignore:
6 | - .gitignore
7 |
8 | jobs:
9 | buildApkFile:
10 | name: Build Debug APK
11 | runs-on: ubuntu-latest
12 | steps:
13 | - uses: actions/checkout@v3
14 |
15 | - name: Set up JDK 17
16 | uses: actions/setup-java@v3
17 | with:
18 | java-version: 17
19 | distribution: temurin
20 |
21 | - name: Allow gradlew permission
22 | run: chmod +x ./gradlew
23 |
24 | - name: Set environmental variables
25 | shell: bash
26 | env:
27 | JSON_CONTENT: ${{ secrets.KEYSTOREPASSWORD }}
28 | if: ${{ env.JSON_CONTENT != '' }}
29 | run: |
30 | printf 'KEYSTOREPASSWORD<> $GITHUB_ENV
31 |
32 |
33 | - name: Set up firebase
34 | shell: bash
35 | env:
36 | GOOGLE_SERVICES_JSON: ${{ secrets.GOOGLE_ANALYTICS }}
37 | if: ${{ env.GOOGLE_SERVICES_JSON != '' }}
38 | run: |
39 | printf 'GOOGLE_ANALYTICS<> $GITHUB_ENV
40 |
41 | - name: Build debug APK
42 | run: ./gradlew assembleDebug
43 |
44 | - name: Upload debug APK
45 | uses: actions/upload-artifact@v3
46 | with:
47 | name: BlockWeb Builder Apk
48 | path: app/build/outputs/apk/debug/app-debug.apk
49 |
50 | - name: Upload output metadata APK
51 | uses: actions/upload-artifact@v3
52 | with:
53 | name: Output Metadata
54 | path: app/build/outputs/apk/debug/output-metadata.json
55 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/layout_event_list_adapter.xml:
--------------------------------------------------------------------------------
1 |
2 |
13 |
14 |
19 |
20 |
26 |
27 |
32 |
33 |
38 |
39 |
40 |
41 |
45 |
46 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Built application files
2 | *.apk
3 | *.ap_
4 | *.aab
5 |
6 | # Files for the ART/Dalvik VM
7 | *.dex
8 |
9 | # Java class files
10 | *.class
11 |
12 | # Generated files
13 | /bin/
14 | /gen/
15 | /out/
16 | # Uncomment the following line in case you need and you don't have the release build type files in your app
17 | # Gradle files
18 | .gradle/
19 | /build/
20 |
21 | # Local configuration file (sdk path, etc)
22 | local.properties
23 |
24 | # Proguard folder generated by Eclipse
25 | proguard/
26 |
27 | # Log Files
28 | *.log
29 |
30 | # Android Studio Navigation editor temp files
31 | .navigation/
32 |
33 | # Android Studio captures folder
34 | captures/
35 |
36 | # Android IDE
37 | .androidide
38 |
39 | # VS Code Editor
40 | .vscode
41 |
42 | # IntelliJ
43 | *.iml
44 | .idea/workspace.xml
45 | .idea/tasks.xml
46 | .idea/gradle.xml
47 | .idea/assetWizardSettings.xml
48 | .idea/dictionaries
49 | .idea/libraries
50 | # Android Studio 3 in .gitignore file.
51 | .idea/caches
52 | .idea/modules.xml
53 | # Comment next line if keeping position of elements in Navigation Editor is relevant for you
54 | .idea/navEditor.xml
55 |
56 | # External native build folder generated in Android Studio 2.2 and later
57 | .externalNativeBuild
58 | .cxx/
59 |
60 | # Google Services (e.g. APIs or Firebase)
61 | # google-services.json
62 |
63 | # Freeline
64 | freeline.py
65 | freeline/
66 | freeline_project_description.json
67 |
68 | # fastlane
69 | fastlane/report.xml
70 | fastlane/Preview.html
71 | fastlane/screenshots
72 | fastlane/test_output
73 | fastlane/readme.md
74 |
75 | # Version control
76 | vcs.xml
77 |
78 | # lint
79 | lint/intermediates/
80 | lint/generated/
81 | lint/outputs/
82 | lint/tmp/
83 | # lint/reports/
84 |
85 | # Secrets
86 | app/google-services.json
87 | secrets.properties
88 |
--------------------------------------------------------------------------------
/editor/src/main/assets/Editor/Ace-Editor/AceEditor/js/snippets/csound_orchestra.js:
--------------------------------------------------------------------------------
1 | ace.define("ace/snippets/csound_orchestra.snippets",["require","exports","module"], function(require, exports, module){module.exports = "# else\nsnippet else\n\telse\n\t\t${1:/* statements */}\n# elseif\nsnippet elseif\n\telseif ${1:/* condition */} then\n\t\t${2:/* statements */}\n# if\nsnippet if\n\tif ${1:/* condition */} then\n\t\t${2:/* statements */}\n\tendif\n# instrument block\nsnippet instr\n\tinstr ${1:name}\n\t\t${2:/* statements */}\n\tendin\n# i-time while loop\nsnippet iwhile\n\ti${1:Index} = ${2:0}\n\twhile i${1:Index} < ${3:/* count */} do\n\t\t${4:/* statements */}\n\t\ti${1:Index} += 1\n\tod\n# k-rate while loop\nsnippet kwhile\n\tk${1:Index} = ${2:0}\n\twhile k${1:Index} < ${3:/* count */} do\n\t\t${4:/* statements */}\n\t\tk${1:Index} += 1\n\tod\n# opcode\nsnippet opcode\n\topcode ${1:name}, ${2:/* output types */ 0}, ${3:/* input types */ 0}\n\t\t${4:/* statements */}\n\tendop\n# until loop\nsnippet until\n\tuntil ${1:/* condition */} do\n\t\t${2:/* statements */}\n\tod\n# while loop\nsnippet while\n\twhile ${1:/* condition */} do\n\t\t${2:/* statements */}\n\tod\n";
2 |
3 | });
4 |
5 | ace.define("ace/snippets/csound_orchestra",["require","exports","module","ace/snippets/csound_orchestra.snippets"], function(require, exports, module){"use strict";
6 | exports.snippetText = require("./csound_orchestra.snippets");
7 | exports.scope = "csound_orchestra";
8 |
9 | }); (function() {
10 | ace.require(["ace/snippets/csound_orchestra"], function(m) {
11 | if (typeof module == "object" && typeof exports == "object" && module) {
12 | module.exports = m;
13 | }
14 | });
15 | })();
16 |
--------------------------------------------------------------------------------
/editor/src/main/java/editor/tsd/editors/sora/lang/textmate/provider/TextMateProvider.java:
--------------------------------------------------------------------------------
1 | /*
2 | * This file is part of Android Code Editor.
3 | *
4 | * Android Code Editor is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU General Public License as published by
6 | * the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * Android Code Editor is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with Android Code Editor. If not, see .
16 | */
17 |
18 | package editor.tsd.editors.sora.lang.textmate.provider;
19 |
20 | import android.code.editor.common.utils.FileUtils;
21 | import android.content.Context;
22 | import com.google.gson.Gson;
23 | import com.google.gson.reflect.TypeToken;
24 | import io.github.rosemoe.sora.langs.textmate.registry.GrammarRegistry;
25 | import java.util.Map;
26 |
27 | public class TextMateProvider {
28 | public static void loadGrammars() {
29 | GrammarRegistry.getInstance().loadGrammars("Editor/SoraEditor/languages.json");
30 | }
31 |
32 | public static String getLanguageScope(Context context, String fileExt) {
33 | Map scopes;
34 | var type = new TypeToken