├── .github ├── ISSUE_TEMPLATE │ ├── bug_report.md │ └── feature_request.md └── workflows │ ├── android.yml │ └── android_pull_req.yml ├── .gitignore ├── LICENSE ├── README.md ├── app ├── .gitignore ├── build.gradle ├── proguard-rules.pro └── src │ └── main │ ├── AndroidManifest.xml │ ├── assets │ ├── Templates │ │ ├── NewFiles │ │ │ ├── template_01.html │ │ │ ├── template_02.css │ │ │ ├── template_03.js │ │ │ ├── template_04.java │ │ │ └── template_05.java │ │ └── html_01 │ │ │ └── ${Project_Name} │ │ │ ├── index.html │ │ │ ├── main.js │ │ │ └── style.css │ ├── eruda.js │ └── oos.text │ ├── java │ └── android │ │ └── code │ │ └── editor │ │ ├── MyApplication.java │ │ ├── handlers │ │ └── FileTypeHandler.java │ │ ├── interfaces │ │ ├── PathCreationListener.java │ │ └── TaskListener.java │ │ ├── listeners │ │ └── OnPathDeletedListener.java │ │ ├── ui │ │ ├── activities │ │ │ ├── BaseActivity.java │ │ │ ├── CodeEditorActivity.java │ │ │ ├── ContributorsActivity.java │ │ │ ├── DebugActivity.java │ │ │ ├── FileManagerActivity.java │ │ │ ├── LicenseActivity.java │ │ │ ├── MainActivity.java │ │ │ ├── MarkdownViewerActivity.java │ │ │ ├── SettingActivity.java │ │ │ ├── TerminalActivity.java │ │ │ └── WebViewActivity.java │ │ ├── adapters │ │ │ ├── ContributorsListAdapter.java │ │ │ ├── FileList.java │ │ │ └── FileTabAdapter.java │ │ ├── bottomsheet │ │ │ └── editor │ │ │ │ └── FileOperationBottomSheet.java │ │ ├── dialogs │ │ │ ├── editor │ │ │ │ ├── DeleteFileDialog.java │ │ │ │ └── FileCreatorDialog.java │ │ │ └── filemanager │ │ │ │ ├── DeleteFileDialog.java │ │ │ │ ├── FileCreatorDialog.java │ │ │ │ ├── FolderCreatorDialog.java │ │ │ │ └── ProjectCreatorDialog.java │ │ └── viewholders │ │ │ └── FileTreeViewHolder.java │ │ └── utils │ │ ├── FileIcon.java │ │ ├── FileTabDataOperator.java │ │ ├── LanguageModeHandler.java │ │ ├── Languages.java │ │ ├── MaterialColorHelper.java │ │ ├── RadioOptionChooser.java │ │ ├── RequestNetwork.java │ │ ├── RequestNetworkController.java │ │ ├── Setting.java │ │ ├── SimpleHttpServer.java │ │ └── Utils.java │ └── res │ ├── drawable │ ├── banner.png │ ├── check.xml │ ├── chevron_down.png │ ├── chevron_left.png │ ├── chevron_right.png │ ├── chevron_up.png │ ├── delete.xml │ ├── file_plus.xml │ ├── file_xml_box.xml │ ├── git_icon.xml │ ├── ic_file_tab_indicator.xml │ ├── ic_folder_black_24dp.png │ ├── ic_folder_open_black_24dp.png │ ├── ic_language_java.xml │ ├── ic_language_kotlin.xml │ ├── ic_launcher_background.xml │ ├── ic_launcher_foreground.xml │ ├── icon_file.xml │ ├── information_outline.xml │ ├── language_css.xml │ ├── language_html.xml │ ├── language_javascript.xml │ ├── language_json.xml │ ├── language_markdown.xml │ ├── logo_black.png │ ├── logo_white.png │ ├── more_vert_fill0_wght400_grad0_opsz48.png │ ├── play_outline.xml │ └── ripple_on_color_surface.xml │ ├── layout │ ├── activity_code_editor.xml │ ├── activity_contributors.xml │ ├── activity_debug.xml │ ├── activity_file_manager.xml │ ├── activity_license.xml │ ├── activity_main.xml │ ├── activity_markdown_viewer.xml │ ├── activity_setting.xml │ ├── activity_terminal.xml │ ├── activity_web_view.xml │ ├── code_editor_controller.xml │ ├── contributors.xml │ ├── filelist.xml │ ├── layout_console_chooser_radio_group.xml │ ├── layout_console_log_item.xml │ ├── layout_deleting_file.xml │ ├── layout_editor_chooser_radio_group.xml │ ├── layout_edittext_dialog.xml │ ├── layout_file_operation_code_editor.xml │ ├── layout_file_tab.xml │ ├── layout_file_tree_view.xml │ ├── layout_language_chooser_radio_group.xml │ ├── layout_loading_progress.xml │ ├── layout_project_template_bottomsheet.xml │ ├── one_line_item.xml │ ├── report_issues.xml │ └── theme_chooser_item.xml │ ├── menu │ ├── activity_code_editor.xml │ ├── filemanager_activity_menu.xml │ └── web_view_activity_menu.xml │ ├── mipmap-anydpi-v26 │ ├── ic_launcher.xml │ └── ic_launcher_round.xml │ ├── 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-fa │ └── strings.xml │ ├── values-hi │ └── strings.xml │ ├── values-night │ └── themes.xml │ └── values │ ├── colors.xml │ ├── strings.xml │ └── themes.xml ├── assets ├── contributors.json └── description.jpg ├── build.gradle ├── common ├── .gitignore ├── build.gradle ├── proguard-rules.pro └── src │ └── main │ ├── AndroidManifest.xml │ ├── java │ ├── android │ │ └── code │ │ │ └── editor │ │ │ └── common │ │ │ ├── interfaces │ │ │ └── FileDeleteListener.java │ │ │ └── utils │ │ │ ├── AssetsManager.java │ │ │ ├── ColorUtils.java │ │ │ ├── FileDeleteUtils.java │ │ │ └── FileUtils.java │ └── com │ │ └── blankj │ │ └── utilcode │ │ ├── constant │ │ ├── CacheConstants.java │ │ ├── MemoryConstants.java │ │ ├── PermissionConstants.java │ │ ├── RegexConstants.java │ │ └── TimeConstants.java │ │ └── util │ │ ├── ActivityUtils.java │ │ ├── AdaptScreenUtils.java │ │ ├── ApiUtils.java │ │ ├── AppUtils.java │ │ ├── ArrayUtils.java │ │ ├── BarUtils.java │ │ ├── BrightnessUtils.java │ │ ├── BusUtils.java │ │ ├── CacheDiskStaticUtils.java │ │ ├── CacheDiskUtils.java │ │ ├── CacheDoubleStaticUtils.java │ │ ├── CacheDoubleUtils.java │ │ ├── CacheMemoryStaticUtils.java │ │ ├── CacheMemoryUtils.java │ │ ├── CleanUtils.java │ │ ├── ClickUtils.java │ │ ├── ClipboardUtils.java │ │ ├── CloneUtils.java │ │ ├── CloseUtils.java │ │ ├── CollectionUtils.java │ │ ├── ColorUtils.java │ │ ├── ConvertUtils.java │ │ ├── CrashUtils.java │ │ ├── DebouncingUtils.java │ │ ├── DeviceUtils.java │ │ ├── DialogUtils.java │ │ ├── EncodeUtils.java │ │ ├── EncryptUtils.java │ │ ├── FileIOUtils.java │ │ ├── FileUtils.java │ │ ├── FlashlightUtils.java │ │ ├── FragmentUtils.java │ │ ├── GsonUtils.java │ │ ├── ImageUtils.java │ │ ├── IntentUtils.java │ │ ├── JsonUtils.java │ │ ├── KeyboardUtils.java │ │ ├── LanguageUtils.java │ │ ├── LogUtils.java │ │ ├── MapUtils.java │ │ ├── MessengerUtils.java │ │ ├── MetaDataUtils.java │ │ ├── NetworkUtils.java │ │ ├── NotificationUtils.java │ │ ├── NumberUtils.java │ │ ├── ObjectUtils.java │ │ ├── PathUtils.java │ │ ├── PermissionUtils.java │ │ ├── PhoneUtils.java │ │ ├── ProcessUtils.java │ │ ├── ReflectUtils.java │ │ ├── RegexUtils.java │ │ ├── ResourceUtils.java │ │ ├── RomUtils.java │ │ ├── SDCardUtils.java │ │ ├── SPStaticUtils.java │ │ ├── SPUtils.java │ │ ├── ScreenUtils.java │ │ ├── ServiceUtils.java │ │ ├── ShadowUtils.java │ │ ├── ShellUtils.java │ │ ├── SizeUtils.java │ │ ├── SpanUtils.java │ │ ├── StringUtils.java │ │ ├── ThreadUtils.java │ │ ├── ThrowableUtils.java │ │ ├── TimeUtils.java │ │ ├── TouchUtils.java │ │ ├── UiMessageUtils.java │ │ ├── UriUtils.java │ │ ├── Utils.java │ │ ├── UtilsActivityLifecycleImpl.java │ │ ├── UtilsBridge.java │ │ ├── UtilsFileProvider.java │ │ ├── UtilsTransActivity.java │ │ ├── UtilsTransActivity4MainProcess.java │ │ ├── VibrateUtils.java │ │ ├── ViewUtils.java │ │ ├── VolumeUtils.java │ │ └── ZipUtils.java │ └── res │ ├── values-v21 │ └── styles.xml │ ├── values │ └── styles.xml │ └── xml │ └── util_code_provider_paths.xml ├── editor ├── .gitignore ├── build.gradle ├── proguard-rules.pro └── src │ └── main │ ├── assets │ └── Editor │ │ ├── Ace-Editor │ │ └── AceEditor │ │ │ ├── css │ │ │ └── themes │ │ │ │ ├── chrome.css │ │ │ │ ├── clouds.css │ │ │ │ ├── crimson-editor.css │ │ │ │ ├── dawn.css │ │ │ │ ├── dracula.css │ │ │ │ └── monokai.css │ │ │ ├── index.html │ │ │ └── js │ │ │ ├── ace.js │ │ │ ├── ext-beautify.js │ │ │ ├── ext-code_lens.js │ │ │ ├── ext-command_bar.js │ │ │ ├── ext-elastic_tabstops_lite.js │ │ │ ├── ext-emmet.js │ │ │ ├── ext-error_marker.js │ │ │ ├── ext-hardwrap.js │ │ │ ├── ext-inline_autocomplete.js │ │ │ ├── ext-keybinding_menu.js │ │ │ ├── ext-language_tools.js │ │ │ ├── ext-linking.js │ │ │ ├── ext-modelist.js │ │ │ ├── ext-options.js │ │ │ ├── ext-prompt.js │ │ │ ├── ext-rtl.js │ │ │ ├── ext-searchbox.js │ │ │ ├── ext-settings_menu.js │ │ │ ├── ext-spellcheck.js │ │ │ ├── ext-split.js │ │ │ ├── ext-static_highlight.js │ │ │ ├── ext-statusbar.js │ │ │ ├── ext-textarea.js │ │ │ ├── ext-themelist.js │ │ │ ├── ext-whitespace.js │ │ │ ├── keybinding-emacs.js │ │ │ ├── keybinding-sublime.js │ │ │ ├── keybinding-vim.js │ │ │ ├── keybinding-vscode.js │ │ │ ├── mode-abap.js │ │ │ ├── mode-abc.js │ │ │ ├── mode-actionscript.js │ │ │ ├── mode-ada.js │ │ │ ├── mode-alda.js │ │ │ ├── mode-apache_conf.js │ │ │ ├── mode-apex.js │ │ │ ├── mode-applescript.js │ │ │ ├── mode-aql.js │ │ │ ├── mode-asciidoc.js │ │ │ ├── mode-asl.js │ │ │ ├── mode-assembly_x86.js │ │ │ ├── mode-autohotkey.js │ │ │ ├── mode-batchfile.js │ │ │ ├── mode-bibtex.js │ │ │ ├── mode-c9search.js │ │ │ ├── mode-c_cpp.js │ │ │ ├── mode-cirru.js │ │ │ ├── mode-clojure.js │ │ │ ├── mode-cobol.js │ │ │ ├── mode-coffee.js │ │ │ ├── mode-coldfusion.js │ │ │ ├── mode-crystal.js │ │ │ ├── mode-csharp.js │ │ │ ├── mode-csound_document.js │ │ │ ├── mode-csound_orchestra.js │ │ │ ├── mode-csound_score.js │ │ │ ├── mode-csp.js │ │ │ ├── mode-css.js │ │ │ ├── mode-curly.js │ │ │ ├── mode-cuttlefish.js │ │ │ ├── mode-d.js │ │ │ ├── mode-dart.js │ │ │ ├── mode-diff.js │ │ │ ├── mode-django.js │ │ │ ├── mode-dockerfile.js │ │ │ ├── mode-dot.js │ │ │ ├── mode-drools.js │ │ │ ├── mode-edifact.js │ │ │ ├── mode-eiffel.js │ │ │ ├── mode-ejs.js │ │ │ ├── mode-elixir.js │ │ │ ├── mode-elm.js │ │ │ ├── mode-erlang.js │ │ │ ├── mode-forth.js │ │ │ ├── mode-fortran.js │ │ │ ├── mode-fsharp.js │ │ │ ├── mode-fsl.js │ │ │ ├── mode-ftl.js │ │ │ ├── mode-gcode.js │ │ │ ├── mode-gherkin.js │ │ │ ├── mode-gitignore.js │ │ │ ├── mode-glsl.js │ │ │ ├── mode-gobstones.js │ │ │ ├── mode-golang.js │ │ │ ├── mode-graphqlschema.js │ │ │ ├── mode-groovy.js │ │ │ ├── mode-haml.js │ │ │ ├── mode-handlebars.js │ │ │ ├── mode-haskell.js │ │ │ ├── mode-haskell_cabal.js │ │ │ ├── mode-haxe.js │ │ │ ├── mode-hjson.js │ │ │ ├── mode-html.js │ │ │ ├── mode-html_elixir.js │ │ │ ├── mode-html_ruby.js │ │ │ ├── mode-ini.js │ │ │ ├── mode-io.js │ │ │ ├── mode-ion.js │ │ │ ├── mode-jack.js │ │ │ ├── mode-jade.js │ │ │ ├── mode-java.js │ │ │ ├── mode-javascript.js │ │ │ ├── mode-jexl.js │ │ │ ├── mode-json.js │ │ │ ├── mode-json5.js │ │ │ ├── mode-jsoniq.js │ │ │ ├── mode-jsp.js │ │ │ ├── mode-jssm.js │ │ │ ├── mode-jsx.js │ │ │ ├── mode-julia.js │ │ │ ├── mode-kotlin.js │ │ │ ├── mode-latex.js │ │ │ ├── mode-latte.js │ │ │ ├── mode-less.js │ │ │ ├── mode-liquid.js │ │ │ ├── mode-lisp.js │ │ │ ├── mode-livescript.js │ │ │ ├── mode-logiql.js │ │ │ ├── mode-logtalk.js │ │ │ ├── mode-lsl.js │ │ │ ├── mode-lua.js │ │ │ ├── mode-luapage.js │ │ │ ├── mode-lucene.js │ │ │ ├── mode-makefile.js │ │ │ ├── mode-markdown.js │ │ │ ├── mode-mask.js │ │ │ ├── mode-matlab.js │ │ │ ├── mode-maze.js │ │ │ ├── mode-mediawiki.js │ │ │ ├── mode-mel.js │ │ │ ├── mode-mips.js │ │ │ ├── mode-mixal.js │ │ │ ├── mode-mushcode.js │ │ │ ├── mode-mysql.js │ │ │ ├── mode-nginx.js │ │ │ ├── mode-nim.js │ │ │ ├── mode-nix.js │ │ │ ├── mode-nsis.js │ │ │ ├── mode-nunjucks.js │ │ │ ├── mode-objectivec.js │ │ │ ├── mode-ocaml.js │ │ │ ├── mode-odin.js │ │ │ ├── mode-partiql.js │ │ │ ├── mode-pascal.js │ │ │ ├── mode-perl.js │ │ │ ├── mode-pgsql.js │ │ │ ├── mode-php.js │ │ │ ├── mode-php_laravel_blade.js │ │ │ ├── mode-pig.js │ │ │ ├── mode-plain_text.js │ │ │ ├── mode-plsql.js │ │ │ ├── mode-powershell.js │ │ │ ├── mode-praat.js │ │ │ ├── mode-prisma.js │ │ │ ├── mode-prolog.js │ │ │ ├── mode-properties.js │ │ │ ├── mode-protobuf.js │ │ │ ├── mode-puppet.js │ │ │ ├── mode-python.js │ │ │ ├── mode-qml.js │ │ │ ├── mode-r.js │ │ │ ├── mode-raku.js │ │ │ ├── mode-razor.js │ │ │ ├── mode-rdoc.js │ │ │ ├── mode-red.js │ │ │ ├── mode-redshift.js │ │ │ ├── mode-rhtml.js │ │ │ ├── mode-robot.js │ │ │ ├── mode-rst.js │ │ │ ├── mode-ruby.js │ │ │ ├── mode-rust.js │ │ │ ├── mode-sac.js │ │ │ ├── mode-sass.js │ │ │ ├── mode-scad.js │ │ │ ├── mode-scala.js │ │ │ ├── mode-scheme.js │ │ │ ├── mode-scrypt.js │ │ │ ├── mode-scss.js │ │ │ ├── mode-sh.js │ │ │ ├── mode-sjs.js │ │ │ ├── mode-slim.js │ │ │ ├── mode-smarty.js │ │ │ ├── mode-smithy.js │ │ │ ├── mode-snippets.js │ │ │ ├── mode-soy_template.js │ │ │ ├── mode-space.js │ │ │ ├── mode-sparql.js │ │ │ ├── mode-sql.js │ │ │ ├── mode-sqlserver.js │ │ │ ├── mode-stylus.js │ │ │ ├── mode-svg.js │ │ │ ├── mode-swift.js │ │ │ ├── mode-tcl.js │ │ │ ├── mode-terraform.js │ │ │ ├── mode-tex.js │ │ │ ├── mode-text.js │ │ │ ├── mode-textile.js │ │ │ ├── mode-toml.js │ │ │ ├── mode-tsx.js │ │ │ ├── mode-turtle.js │ │ │ ├── mode-twig.js │ │ │ ├── mode-typescript.js │ │ │ ├── mode-vala.js │ │ │ ├── mode-vbscript.js │ │ │ ├── mode-velocity.js │ │ │ ├── mode-verilog.js │ │ │ ├── mode-vhdl.js │ │ │ ├── mode-visualforce.js │ │ │ ├── mode-wollok.js │ │ │ ├── mode-xml.js │ │ │ ├── mode-xquery.js │ │ │ ├── mode-yaml.js │ │ │ ├── mode-zeek.js │ │ │ ├── snippets │ │ │ ├── abap.js │ │ │ ├── abc.js │ │ │ ├── actionscript.js │ │ │ ├── ada.js │ │ │ ├── alda.js │ │ │ ├── apache_conf.js │ │ │ ├── apex.js │ │ │ ├── applescript.js │ │ │ ├── aql.js │ │ │ ├── asciidoc.js │ │ │ ├── asl.js │ │ │ ├── assembly_x86.js │ │ │ ├── autohotkey.js │ │ │ ├── batchfile.js │ │ │ ├── bibtex.js │ │ │ ├── c9search.js │ │ │ ├── c_cpp.js │ │ │ ├── cirru.js │ │ │ ├── clojure.js │ │ │ ├── cobol.js │ │ │ ├── coffee.js │ │ │ ├── coldfusion.js │ │ │ ├── crystal.js │ │ │ ├── csharp.js │ │ │ ├── csound_document.js │ │ │ ├── csound_orchestra.js │ │ │ ├── csound_score.js │ │ │ ├── csp.js │ │ │ ├── css.js │ │ │ ├── curly.js │ │ │ ├── cuttlefish.js │ │ │ ├── d.js │ │ │ ├── dart.js │ │ │ ├── diff.js │ │ │ ├── django.js │ │ │ ├── dockerfile.js │ │ │ ├── dot.js │ │ │ ├── drools.js │ │ │ ├── edifact.js │ │ │ ├── eiffel.js │ │ │ ├── ejs.js │ │ │ ├── elixir.js │ │ │ ├── elm.js │ │ │ ├── erlang.js │ │ │ ├── forth.js │ │ │ ├── fortran.js │ │ │ ├── fsharp.js │ │ │ ├── fsl.js │ │ │ ├── ftl.js │ │ │ ├── gcode.js │ │ │ ├── gherkin.js │ │ │ ├── gitignore.js │ │ │ ├── glsl.js │ │ │ ├── gobstones.js │ │ │ ├── golang.js │ │ │ ├── graphqlschema.js │ │ │ ├── groovy.js │ │ │ ├── haml.js │ │ │ ├── handlebars.js │ │ │ ├── haskell.js │ │ │ ├── haskell_cabal.js │ │ │ ├── haxe.js │ │ │ ├── hjson.js │ │ │ ├── html.js │ │ │ ├── html_elixir.js │ │ │ ├── html_ruby.js │ │ │ ├── ini.js │ │ │ ├── io.js │ │ │ ├── ion.js │ │ │ ├── jack.js │ │ │ ├── jade.js │ │ │ ├── java.js │ │ │ ├── javascript.js │ │ │ ├── jexl.js │ │ │ ├── json.js │ │ │ ├── json5.js │ │ │ ├── jsoniq.js │ │ │ ├── jsp.js │ │ │ ├── jssm.js │ │ │ ├── jsx.js │ │ │ ├── julia.js │ │ │ ├── kotlin.js │ │ │ ├── latex.js │ │ │ ├── latte.js │ │ │ ├── less.js │ │ │ ├── liquid.js │ │ │ ├── lisp.js │ │ │ ├── livescript.js │ │ │ ├── logiql.js │ │ │ ├── logtalk.js │ │ │ ├── lsl.js │ │ │ ├── lua.js │ │ │ ├── luapage.js │ │ │ ├── lucene.js │ │ │ ├── makefile.js │ │ │ ├── markdown.js │ │ │ ├── mask.js │ │ │ ├── matlab.js │ │ │ ├── maze.js │ │ │ ├── mediawiki.js │ │ │ ├── mel.js │ │ │ ├── mips.js │ │ │ ├── mixal.js │ │ │ ├── mushcode.js │ │ │ ├── mysql.js │ │ │ ├── nginx.js │ │ │ ├── nim.js │ │ │ ├── nix.js │ │ │ ├── nsis.js │ │ │ ├── nunjucks.js │ │ │ ├── objectivec.js │ │ │ ├── ocaml.js │ │ │ ├── odin.js │ │ │ ├── partiql.js │ │ │ ├── pascal.js │ │ │ ├── perl.js │ │ │ ├── pgsql.js │ │ │ ├── php.js │ │ │ ├── php_laravel_blade.js │ │ │ ├── pig.js │ │ │ ├── plain_text.js │ │ │ ├── plsql.js │ │ │ ├── powershell.js │ │ │ ├── praat.js │ │ │ ├── prisma.js │ │ │ ├── prolog.js │ │ │ ├── properties.js │ │ │ ├── protobuf.js │ │ │ ├── puppet.js │ │ │ ├── python.js │ │ │ ├── qml.js │ │ │ ├── r.js │ │ │ ├── raku.js │ │ │ ├── razor.js │ │ │ ├── rdoc.js │ │ │ ├── red.js │ │ │ ├── redshift.js │ │ │ ├── rhtml.js │ │ │ ├── robot.js │ │ │ ├── rst.js │ │ │ ├── ruby.js │ │ │ ├── rust.js │ │ │ ├── sac.js │ │ │ ├── sass.js │ │ │ ├── scad.js │ │ │ ├── scala.js │ │ │ ├── scheme.js │ │ │ ├── scrypt.js │ │ │ ├── scss.js │ │ │ ├── sh.js │ │ │ ├── sjs.js │ │ │ ├── slim.js │ │ │ ├── smarty.js │ │ │ ├── smithy.js │ │ │ ├── snippets.js │ │ │ ├── soy_template.js │ │ │ ├── space.js │ │ │ ├── sparql.js │ │ │ ├── sql.js │ │ │ ├── sqlserver.js │ │ │ ├── stylus.js │ │ │ ├── svg.js │ │ │ ├── swift.js │ │ │ ├── tcl.js │ │ │ ├── terraform.js │ │ │ ├── tex.js │ │ │ ├── text.js │ │ │ ├── textile.js │ │ │ ├── toml.js │ │ │ ├── tsx.js │ │ │ ├── turtle.js │ │ │ ├── twig.js │ │ │ ├── typescript.js │ │ │ ├── vala.js │ │ │ ├── vbscript.js │ │ │ ├── velocity.js │ │ │ ├── verilog.js │ │ │ ├── vhdl.js │ │ │ ├── visualforce.js │ │ │ ├── wollok.js │ │ │ ├── xml.js │ │ │ ├── xquery.js │ │ │ ├── yaml.js │ │ │ └── zeek.js │ │ │ ├── theme-ambiance.js │ │ │ ├── theme-chaos.js │ │ │ ├── theme-chrome.js │ │ │ ├── theme-cloud9_day.js │ │ │ ├── theme-cloud9_night.js │ │ │ ├── theme-cloud9_night_low_color.js │ │ │ ├── theme-clouds.js │ │ │ ├── theme-clouds_midnight.js │ │ │ ├── theme-cobalt.js │ │ │ ├── theme-crimson_editor.js │ │ │ ├── theme-dawn.js │ │ │ ├── theme-dracula.js │ │ │ ├── theme-dreamweaver.js │ │ │ ├── theme-eclipse.js │ │ │ ├── theme-github.js │ │ │ ├── theme-github_dark.js │ │ │ ├── theme-gob.js │ │ │ ├── theme-gruvbox.js │ │ │ ├── theme-gruvbox_dark_hard.js │ │ │ ├── theme-gruvbox_light_hard.js │ │ │ ├── theme-idle_fingers.js │ │ │ ├── theme-iplastic.js │ │ │ ├── theme-katzenmilch.js │ │ │ ├── theme-kr_theme.js │ │ │ ├── theme-kuroir.js │ │ │ ├── theme-merbivore.js │ │ │ ├── theme-merbivore_soft.js │ │ │ ├── theme-mono_industrial.js │ │ │ ├── theme-monokai.js │ │ │ ├── theme-nord_dark.js │ │ │ ├── theme-one_dark.js │ │ │ ├── theme-pastel_on_dark.js │ │ │ ├── theme-solarized_dark.js │ │ │ ├── theme-solarized_light.js │ │ │ ├── theme-sqlserver.js │ │ │ ├── theme-terminal.js │ │ │ ├── theme-textmate.js │ │ │ ├── theme-tomorrow.js │ │ │ ├── theme-tomorrow_night.js │ │ │ ├── theme-tomorrow_night_blue.js │ │ │ ├── theme-tomorrow_night_bright.js │ │ │ ├── theme-tomorrow_night_eighties.js │ │ │ ├── theme-twilight.js │ │ │ ├── theme-vibrant_ink.js │ │ │ ├── theme-xcode.js │ │ │ ├── worker-base.js │ │ │ ├── worker-coffee.js │ │ │ ├── worker-css.js │ │ │ ├── worker-html.js │ │ │ ├── worker-javascript.js │ │ │ ├── worker-json.js │ │ │ ├── worker-lua.js │ │ │ ├── worker-php.js │ │ │ ├── worker-xml.js │ │ │ ├── worker-xquery.js │ │ │ └── worker-yaml.js │ │ └── SoraEditor │ │ ├── abyss.json │ │ ├── bat │ │ ├── language-configuration.json │ │ └── syntaxes │ │ │ └── batchfile.tmLanguage.json │ │ ├── cpp │ │ ├── language-configuration.json │ │ └── syntaxes │ │ │ └── cpp.tmLanguage.json │ │ ├── csharp │ │ ├── language-configuration.json │ │ └── syntaxes │ │ │ └── csharp.tmLanguage.json │ │ ├── css │ │ ├── .vscode │ │ │ └── launch.json │ │ ├── .vscodeignore │ │ ├── cgmanifest.json │ │ ├── language-configuration.json │ │ ├── package.json │ │ ├── package.nls.json │ │ ├── syntaxes │ │ │ └── css.tmLanguage.json │ │ └── yarn.lock │ │ ├── darcula.json │ │ ├── go │ │ ├── language-configuration.json │ │ └── syntaxes │ │ │ └── go.tmLanguage.json │ │ ├── groovy │ │ ├── language-configuration.json │ │ └── syntaxes │ │ │ └── groovy.tmLanguage.json │ │ ├── html │ │ ├── completions │ │ │ ├── LICENSE.md │ │ │ └── completions.json │ │ ├── language-configuration.json │ │ └── syntaxes │ │ │ └── html.tmLanguage.json │ │ ├── ini │ │ ├── ini.language-configuration.json │ │ └── syntaxes │ │ │ └── ini.tmLanguage.json │ │ ├── java │ │ ├── language-configuration.json │ │ └── syntaxes │ │ │ └── java.tmLanguage.json │ │ ├── javascript │ │ ├── language-configuration.json │ │ └── syntaxes │ │ │ └── JavaScript.tmLanguage.json │ │ ├── jetbrains.ttf │ │ ├── json │ │ ├── language-configuration.json │ │ └── syntaxes │ │ │ └── json.tmLanguage.json │ │ ├── julia │ │ ├── language-configuration.json │ │ └── syntaxes │ │ │ └── julia.tmLanguage.json │ │ ├── kotlin │ │ ├── language-configuration.json │ │ └── syntaxes │ │ │ └── Kotlin.tmLanguage │ │ ├── language_scopes.json │ │ ├── languages.json │ │ ├── log │ │ └── syntaxes │ │ │ └── log.tmLanguage.json │ │ ├── lua │ │ ├── language-configuration.json │ │ ├── package.json │ │ └── syntaxes │ │ │ └── lua.tmLanguage.json │ │ ├── markdown │ │ ├── language-configuration.json │ │ └── syntaxes │ │ │ └── markdown.tmLanguage.json │ │ ├── monokai-color-theme.json │ │ ├── php │ │ ├── language-configuration.json │ │ └── syntaxes │ │ │ └── php.tmLanguage.json │ │ ├── python │ │ ├── language-configuration.json │ │ └── syntaxes │ │ │ └── python.tmLanguage.json │ │ ├── quietlight.json │ │ ├── shellscript │ │ ├── language-configuration.json │ │ └── syntaxes │ │ │ └── shell-unix-bash.tmLanguage.json │ │ ├── smali │ │ ├── language-configuration.json │ │ └── syntaxes │ │ │ └── smali.tmLanguage.json │ │ ├── solarized-light-color-theme.json │ │ ├── solarized_drak.json │ │ ├── typescript │ │ ├── language-configuration.json │ │ └── syntaxes │ │ │ ├── Readme.md │ │ │ ├── TypeScript.tmLanguage.json │ │ │ ├── TypeScriptReact.tmLanguage.json │ │ │ ├── jsdoc.js.injection.tmLanguage.json │ │ │ └── jsdoc.ts.injection.tmLanguage.json │ │ ├── xml │ │ ├── language-configuration.json │ │ └── syntaxes │ │ │ └── xml.tmLanguage.json │ │ └── yaml │ │ ├── language-configuration.json │ │ └── syntaxes │ │ └── yaml.tmLanguage.json │ ├── java │ └── editor │ │ └── tsd │ │ ├── editors │ │ ├── AceEditor.java │ │ ├── Editor.java │ │ ├── SoraEditor.java │ │ ├── ace │ │ │ └── AceEditorColors.java │ │ └── sora │ │ │ └── lang │ │ │ └── textmate │ │ │ ├── AndroidCodeEditorTMLanguage.java │ │ │ └── provider │ │ │ └── TextMateProvider.java │ │ ├── tools │ │ ├── EditorListeners.java │ │ ├── Language.java │ │ └── Themes.java │ │ └── widget │ │ └── CodeEditorLayout.java │ └── res │ └── values │ └── attrs.xml ├── gradle.properties ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── keystore.jks ├── markdown-viewer ├── .gitignore ├── build.gradle ├── proguard-rules.pro └── src │ └── main │ ├── assets │ ├── css │ │ └── tooltipster.bundle.min.css │ └── js │ │ ├── highlight-init.js │ │ ├── highlight.js │ │ ├── jquery-3.1.1.min.js │ │ ├── mathjax-config.js │ │ ├── my-script.js │ │ ├── tooltipster-init.js │ │ └── tooltipster.bundle.min.js │ ├── java │ └── br │ │ └── tiagohm │ │ └── markdownview │ │ ├── MarkdownView.java │ │ ├── Utils.java │ │ ├── css │ │ ├── ExternalStyleSheet.java │ │ ├── InternalStyleSheet.java │ │ ├── StyleSheet.java │ │ └── styles │ │ │ ├── Bootstrap.java │ │ │ └── Github.java │ │ ├── ext │ │ ├── bean │ │ │ ├── Bean.java │ │ │ ├── BeanExtension.java │ │ │ └── internal │ │ │ │ ├── BeanDelimiterProcessor.java │ │ │ │ └── BeanNodeRenderer.java │ │ ├── emoji │ │ │ ├── Emoji.java │ │ │ ├── EmojiExtension.java │ │ │ └── internal │ │ │ │ ├── EmojiCheatSheet.java │ │ │ │ ├── EmojiDelimiterProcessor.java │ │ │ │ └── EmojiNodeRenderer.java │ │ ├── kbd │ │ │ ├── Keystroke.java │ │ │ ├── KeystrokeExtension.java │ │ │ └── internal │ │ │ │ ├── KeystrokeDelimiterProcessor.java │ │ │ │ └── KeystrokeNodeRenderer.java │ │ ├── label │ │ │ ├── Label.java │ │ │ ├── LabelExtension.java │ │ │ └── internal │ │ │ │ ├── LabelDelimiterProcessor.java │ │ │ │ └── LabelNodeRenderer.java │ │ ├── mark │ │ │ ├── Mark.java │ │ │ ├── MarkExtension.java │ │ │ └── internal │ │ │ │ ├── MarkDelimiterProcessor.java │ │ │ │ └── MarkNodeRenderer.java │ │ ├── mathjax │ │ │ ├── MathJax.java │ │ │ ├── MathJaxExtension.java │ │ │ └── internal │ │ │ │ ├── MathJaxDelimiterProcessor.java │ │ │ │ └── MathJaxNodeRenderer.java │ │ ├── twitter │ │ │ ├── Twitter.java │ │ │ ├── TwitterExtension.java │ │ │ └── internal │ │ │ │ ├── TwitterNodePostProcessor.java │ │ │ │ └── TwitterNodeRenderer.java │ │ └── video │ │ │ ├── VideoLink.java │ │ │ ├── VideoLinkExtension.java │ │ │ └── internal │ │ │ ├── VideoLinkNodePostProcessor.java │ │ │ └── VideoLinkNodeRenderer.java │ │ └── js │ │ ├── ExternalScript.java │ │ └── JavaScript.java │ └── res │ └── values │ ├── attrs.xml │ └── strings.xml ├── settings.gradle └── treeview ├── .gitignore ├── build.gradle └── src └── main ├── java └── com │ └── unnamed │ └── b │ └── atv │ ├── holder │ └── SimpleViewHolder.java │ ├── model │ └── TreeNode.java │ └── view │ ├── AndroidTreeView.java │ ├── TreeNodeWrapperView.java │ └── TwoDScrollView.java └── res └── values ├── ids.xml └── styles.xml /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug report 3 | about: Create a report to help us improve 4 | title: BUG report 5 | labels: '' 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Describe the bug** 11 | A clear and concise description of what the bug is. 12 | 13 | **To Reproduce** 14 | Steps to reproduce the behavior: 15 | 1. Go to '...' 16 | 2. Click on '....' 17 | 3. Scroll down to '....' 18 | 4. See error 19 | 20 | **Expected behavior** 21 | A clear and concise description of what you expected to happen. 22 | 23 | **Screenshots** 24 | If applicable, add screenshots to help explain your problem. 25 | 26 | **Smartphone (please complete the following information):** 27 | - Device: [e.g. Samsung] 28 | - OS: [e.g. 10] 29 | - Version [e.g. 22] 30 | 31 | **Additional context** 32 | Add any other context about the problem here. 33 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature request 3 | about: Suggest an idea for this project 4 | title: Feature request 5 | labels: feature request 6 | assignees: TechnicalStudioDeveloper 7 | 8 | --- 9 | 10 | **Is your feature request related to a problem? Please describe.** 11 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] 12 | 13 | **Describe the solution you'd like** 14 | A clear and concise description of what you want to happen. 15 | 16 | **Describe alternatives you've considered** 17 | A clear and concise description of any alternative solutions or features you've considered. 18 | 19 | **Additional context** 20 | Add any other context or screenshots about the feature request here. 21 | -------------------------------------------------------------------------------- /.github/workflows/android_pull_req.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: GPL-3.0-only 2 | # Original at https://github.com/tyron12233/CodeAssist/blob/main/.github/workflows/build-apk.yml 3 | # Changes: Minor adjustments, removal of Cancel previous runs step, but every change can be found with a simple diff. 4 | 5 | name: Android CI[PR] 6 | 7 | on: 8 | pull_request: 9 | paths-ignore: 10 | - assets/** 11 | - .gitignore 12 | - LICENCE 13 | - README.md 14 | 15 | jobs: 16 | buildApkFile: 17 | name: Build Debug APK 18 | runs-on: ubuntu-latest 19 | steps: 20 | - uses: actions/checkout@v3 21 | 22 | - name: Set up JDK 17 23 | uses: actions/setup-java@v3 24 | with: 25 | java-version: 17 26 | distribution: temurin 27 | 28 | - name: Allow gradlew permission 29 | run: chmod +x ./gradlew 30 | 31 | - name: Build debug APK 32 | run: ./gradlew assembleDebug --warning-mode all 33 | 34 | - name: Upload debug APK 35 | uses: actions/upload-artifact@v3 36 | with: 37 | name: Android Code Editor Debug Apk 38 | path: app/build/outputs/apk/debug 39 | - name: Upload editor aar debug 40 | uses: actions/upload-artifact@v3 41 | with: 42 | name: Editor Debug Aar 43 | path: editor/build/outputs/aar/editor-debug.aar -------------------------------------------------------------------------------- /app/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /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 -------------------------------------------------------------------------------- /app/src/main/assets/Templates/NewFiles/template_01.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | ${Project_Name} 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /app/src/main/assets/Templates/NewFiles/template_02.css: -------------------------------------------------------------------------------- 1 | body { 2 | font-size: 15pt; 3 | } 4 | -------------------------------------------------------------------------------- /app/src/main/assets/Templates/NewFiles/template_03.js: -------------------------------------------------------------------------------- 1 | console.log("Hello world!"); 2 | -------------------------------------------------------------------------------- /app/src/main/assets/Templates/NewFiles/template_04.java: -------------------------------------------------------------------------------- 1 | public class ${Class_Name} { 2 | public static void main(String[] args) { 3 | System.out.println("Hello, World!"); 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /app/src/main/assets/Templates/NewFiles/template_05.java: -------------------------------------------------------------------------------- 1 | public class ${Class_Name} { 2 | public static void main(String[] args) { 3 | System.out.println("Hello, World!"); 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /app/src/main/assets/Templates/html_01/${Project_Name}/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | ${Project_Name} 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /app/src/main/assets/Templates/html_01/${Project_Name}/main.js: -------------------------------------------------------------------------------- 1 | console.log('Hello World!'); 2 | -------------------------------------------------------------------------------- /app/src/main/assets/Templates/html_01/${Project_Name}/style.css: -------------------------------------------------------------------------------- 1 | body { 2 | font-size: 15pt; 3 | } -------------------------------------------------------------------------------- /app/src/main/java/android/code/editor/interfaces/PathCreationListener.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.interfaces; 19 | 20 | import java.io.File; 21 | 22 | public interface PathCreationListener { 23 | void onPathCreated(File path); 24 | } 25 | -------------------------------------------------------------------------------- /app/src/main/java/android/code/editor/interfaces/TaskListener.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.interfaces; 19 | 20 | public interface TaskListener { 21 | void onTaskComplete(); 22 | } 23 | -------------------------------------------------------------------------------- /app/src/main/java/android/code/editor/listeners/OnPathDeletedListener.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.listeners; 19 | 20 | import java.io.File; 21 | 22 | public interface OnPathDeletedListener { 23 | void OnPathDeleted(File path); 24 | } 25 | -------------------------------------------------------------------------------- /app/src/main/java/android/code/editor/utils/Languages.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.utils; 19 | 20 | public class Languages { 21 | public static final String English = "en"; 22 | public static final String Hindi = "hi"; 23 | public static final String Persian = "fa"; 24 | public static final String Default = "en"; 25 | } 26 | -------------------------------------------------------------------------------- /app/src/main/java/android/code/editor/utils/Utils.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.utils; 19 | 20 | import android.content.Context; 21 | import android.util.TypedValue; 22 | 23 | public class Utils { 24 | public static int dpToPx(Context context, int dp) { 25 | return (int) 26 | TypedValue.applyDimension( 27 | TypedValue.COMPLEX_UNIT_DIP, dp, context.getResources().getDisplayMetrics()); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Innovative-CST/Android-Code-Editor/091ebe9a71f5d9fd8551caeb98a4d172f831d4c9/app/src/main/res/drawable/banner.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/check.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 11 | 12 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/chevron_down.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Innovative-CST/Android-Code-Editor/091ebe9a71f5d9fd8551caeb98a4d172f831d4c9/app/src/main/res/drawable/chevron_down.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/chevron_left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Innovative-CST/Android-Code-Editor/091ebe9a71f5d9fd8551caeb98a4d172f831d4c9/app/src/main/res/drawable/chevron_left.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/chevron_right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Innovative-CST/Android-Code-Editor/091ebe9a71f5d9fd8551caeb98a4d172f831d4c9/app/src/main/res/drawable/chevron_right.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/chevron_up.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Innovative-CST/Android-Code-Editor/091ebe9a71f5d9fd8551caeb98a4d172f831d4c9/app/src/main/res/drawable/chevron_up.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/delete.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 11 | 12 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/file_plus.xml: -------------------------------------------------------------------------------- 1 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/file_xml_box.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 11 | 12 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/git_icon.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 11 | 12 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_file_tab_indicator.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_folder_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Innovative-CST/Android-Code-Editor/091ebe9a71f5d9fd8551caeb98a4d172f831d4c9/app/src/main/res/drawable/ic_folder_black_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_folder_open_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Innovative-CST/Android-Code-Editor/091ebe9a71f5d9fd8551caeb98a4d172f831d4c9/app/src/main/res/drawable/ic_folder_open_black_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_language_java.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 11 | 12 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_language_kotlin.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 11 | 12 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/icon_file.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 11 | 12 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/information_outline.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 11 | 12 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/language_css.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 11 | 12 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/language_html.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 11 | 12 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/language_javascript.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 11 | 12 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/language_json.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 11 | 12 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/language_markdown.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 11 | 12 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/logo_black.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Innovative-CST/Android-Code-Editor/091ebe9a71f5d9fd8551caeb98a4d172f831d4c9/app/src/main/res/drawable/logo_black.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/logo_white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Innovative-CST/Android-Code-Editor/091ebe9a71f5d9fd8551caeb98a4d172f831d4c9/app/src/main/res/drawable/logo_white.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/more_vert_fill0_wght400_grad0_opsz48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Innovative-CST/Android-Code-Editor/091ebe9a71f5d9fd8551caeb98a4d172f831d4c9/app/src/main/res/drawable/more_vert_fill0_wght400_grad0_opsz48.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/play_outline.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 11 | 12 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ripple_on_color_surface.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_debug.xml: -------------------------------------------------------------------------------- 1 | 2 | 9 | 10 | 13 | 14 | 17 | 18 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_main.xml: -------------------------------------------------------------------------------- 1 | 2 | 9 | 10 | 16 | 17 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_terminal.xml: -------------------------------------------------------------------------------- 1 | 2 | 9 | 10 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /app/src/main/res/layout/layout_console_chooser_radio_group.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 13 | 14 | 19 | 20 | 25 | 26 | 31 | 32 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /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_deleting_file.xml: -------------------------------------------------------------------------------- 1 | 2 | 10 | 11 | 15 | 16 | 23 | 24 | -------------------------------------------------------------------------------- /app/src/main/res/layout/layout_editor_chooser_radio_group.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 13 | 14 | 19 | 20 | 25 | 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /app/src/main/res/layout/layout_edittext_dialog.xml: -------------------------------------------------------------------------------- 1 | 2 | 11 | 12 | 19 | 20 | 25 | 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /app/src/main/res/layout/layout_file_tab.xml: -------------------------------------------------------------------------------- 1 | 2 | 11 | 12 | 19 | 20 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /app/src/main/res/layout/layout_language_chooser_radio_group.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 13 | 14 | 19 | 20 | 25 | 26 | 31 | 32 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /app/src/main/res/layout/layout_loading_progress.xml: -------------------------------------------------------------------------------- 1 | 2 | 12 | 13 | 16 | 17 | 21 | 22 | -------------------------------------------------------------------------------- /app/src/main/res/layout/one_line_item.xml: -------------------------------------------------------------------------------- 1 | 2 | 9 | 10 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /app/src/main/res/layout/report_issues.xml: -------------------------------------------------------------------------------- 1 | 2 | 9 | 10 | 13 | 14 | 19 | 20 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /app/src/main/res/layout/theme_chooser_item.xml: -------------------------------------------------------------------------------- 1 | 2 | 9 | 10 | 16 | 17 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /app/src/main/res/menu/activity_code_editor.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 13 | 14 | 21 | 22 | -------------------------------------------------------------------------------- /app/src/main/res/menu/filemanager_activity_menu.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 13 | 14 | -------------------------------------------------------------------------------- /app/src/main/res/menu/web_view_activity_menu.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 11 | 16 | 17 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Innovative-CST/Android-Code-Editor/091ebe9a71f5d9fd8551caeb98a4d172f831d4c9/app/src/main/res/mipmap-hdpi/ic_launcher.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Innovative-CST/Android-Code-Editor/091ebe9a71f5d9fd8551caeb98a4d172f831d4c9/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Innovative-CST/Android-Code-Editor/091ebe9a71f5d9fd8551caeb98a4d172f831d4c9/app/src/main/res/mipmap-mdpi/ic_launcher.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Innovative-CST/Android-Code-Editor/091ebe9a71f5d9fd8551caeb98a4d172f831d4c9/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Innovative-CST/Android-Code-Editor/091ebe9a71f5d9fd8551caeb98a4d172f831d4c9/app/src/main/res/mipmap-xhdpi/ic_launcher.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Innovative-CST/Android-Code-Editor/091ebe9a71f5d9fd8551caeb98a4d172f831d4c9/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Innovative-CST/Android-Code-Editor/091ebe9a71f5d9fd8551caeb98a4d172f831d4c9/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Innovative-CST/Android-Code-Editor/091ebe9a71f5d9fd8551caeb98a4d172f831d4c9/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Innovative-CST/Android-Code-Editor/091ebe9a71f5d9fd8551caeb98a4d172f831d4c9/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Innovative-CST/Android-Code-Editor/091ebe9a71f5d9fd8551caeb98a4d172f831d4c9/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /assets/contributors.json: -------------------------------------------------------------------------------- 1 | { 2 | "Contributors": [ 3 | { 4 | "Name": "Dev Kumar", 5 | "Image": "https://github.com/DevAnDroidCoder.png", 6 | "Description": "Main Developer", 7 | "markdownUrl": "https://raw.githubusercontent.com/DevAnDroidCoder/DevAnDroidCoder/main/README.md" 8 | }, 9 | { 10 | "Name": "CyberGlitch01", 11 | "Image": "https://github.com/CyberGlitch01.png", 12 | "Description": "Main Contributor" 13 | }, 14 | { 15 | "Name": "PHANTOM XOTIC", 16 | "Image": "https://github.com/PHANTOMLOCAL.png", 17 | "Description": "Contributor" 18 | }, 19 | { 20 | "Name": "Marilyn Manson", 21 | "Image": "https://github.com/moderGamer.png", 22 | "Description": "Helped to add java file template" 23 | } 24 | ] 25 | } 26 | -------------------------------------------------------------------------------- /assets/description.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Innovative-CST/Android-Code-Editor/091ebe9a71f5d9fd8551caeb98a4d172f831d4c9/assets/description.jpg -------------------------------------------------------------------------------- /build.gradle: -------------------------------------------------------------------------------- 1 | buildscript { 2 | repositories { 3 | google() 4 | mavenCentral() 5 | maven { url 'https://jitpack.io' } 6 | } 7 | dependencies { 8 | classpath 'com.android.tools.build:gradle:8.0.0' 9 | classpath "com.google.gms:google-services:4.3.15" 10 | // NOTE: Do not place your application dependencies here; they belong 11 | // in the individual module build.gradle files 12 | } 13 | } 14 | 15 | allprojects { 16 | repositories { 17 | google() 18 | mavenCentral() 19 | maven { url 'https://jitpack.io' } 20 | } 21 | } 22 | 23 | task clean(type: Delete) { 24 | delete rootProject.buildDir 25 | } -------------------------------------------------------------------------------- /common/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /common/build.gradle: -------------------------------------------------------------------------------- 1 | plugins { 2 | id 'com.android.library' 3 | } 4 | 5 | android { 6 | compileSdk 32 7 | buildToolsVersion "33.0.2" 8 | useLibrary 'org.apache.http.legacy' 9 | namespace "android.code.editor.common" 10 | 11 | defaultConfig { 12 | minSdk 21 13 | targetSdk 28 14 | } 15 | 16 | buildTypes { 17 | release { 18 | minifyEnabled false 19 | proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' 20 | } 21 | } 22 | 23 | compileOptions { 24 | sourceCompatibility JavaVersion.VERSION_17 25 | targetCompatibility JavaVersion.VERSION_17 26 | } 27 | 28 | buildFeatures { 29 | viewBinding true 30 | } 31 | } 32 | 33 | dependencies { 34 | implementation 'androidx.appcompat:appcompat:1.4.0' 35 | implementation 'com.google.android.material:material:1.8.0' 36 | implementation 'com.google.code.gson:gson:2.8.7' 37 | } 38 | -------------------------------------------------------------------------------- /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 -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /common/src/main/res/values-v21/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 17 | 18 | -------------------------------------------------------------------------------- /common/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 16 | 17 | -------------------------------------------------------------------------------- /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/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /editor/build.gradle: -------------------------------------------------------------------------------- 1 | plugins { 2 | id 'com.android.library' 3 | } 4 | 5 | android { 6 | compileSdk 32 7 | buildToolsVersion "33.0.2" 8 | useLibrary 'org.apache.http.legacy' 9 | namespace "editor.tsd" 10 | 11 | defaultConfig { 12 | minSdk 21 13 | targetSdk 28 14 | } 15 | 16 | buildTypes { 17 | release { 18 | minifyEnabled false 19 | proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' 20 | } 21 | } 22 | 23 | compileOptions { 24 | sourceCompatibility JavaVersion.VERSION_17 25 | targetCompatibility JavaVersion.VERSION_17 26 | } 27 | 28 | buildFeatures { 29 | viewBinding true 30 | } 31 | } 32 | 33 | dependencies { 34 | implementation 'com.google.code.gson:gson:2.8.7' 35 | def editorGroupId = "io.github.Rosemoe.sora-editor" 36 | implementation platform("$editorGroupId:bom:0.22.0") 37 | implementation "$editorGroupId:editor" 38 | implementation "$editorGroupId:language-textmate" 39 | implementation "$editorGroupId:language-java" 40 | implementation project(path: ':common') 41 | } 42 | -------------------------------------------------------------------------------- /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/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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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/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/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/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/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 | -------------------------------------------------------------------------------- /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/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/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 | -------------------------------------------------------------------------------- /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/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/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/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/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/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/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/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/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/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/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/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/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/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/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 | -------------------------------------------------------------------------------- /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/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/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/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/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 | -------------------------------------------------------------------------------- /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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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 | -------------------------------------------------------------------------------- /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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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 | -------------------------------------------------------------------------------- /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/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/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/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/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/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/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/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/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/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 | -------------------------------------------------------------------------------- /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/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/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/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 | -------------------------------------------------------------------------------- /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/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/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/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/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 | -------------------------------------------------------------------------------- /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/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/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/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/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/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/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/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/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/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/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/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/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/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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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/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/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/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/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/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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /editor/src/main/assets/Editor/SoraEditor/css/.vscodeignore: -------------------------------------------------------------------------------- 1 | test/** 2 | cgmanifest.json 3 | .vscode -------------------------------------------------------------------------------- /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/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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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/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 | -------------------------------------------------------------------------------- /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/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/jetbrains.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Innovative-CST/Android-Code-Editor/091ebe9a71f5d9fd8551caeb98a4d172f831d4c9/editor/src/main/assets/Editor/SoraEditor/jetbrains.ttf -------------------------------------------------------------------------------- /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/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 | } -------------------------------------------------------------------------------- /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 | } -------------------------------------------------------------------------------- /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/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/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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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/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/editors/sora/lang/textmate/AndroidCodeEditorTMLanguage.java: -------------------------------------------------------------------------------- 1 | package editor.tsd.editors.sora.lang.textmate; 2 | 3 | import io.github.rosemoe.sora.langs.textmate.TextMateLanguage; 4 | import io.github.rosemoe.sora.langs.textmate.registry.GrammarRegistry; 5 | import io.github.rosemoe.sora.langs.textmate.registry.ThemeRegistry; 6 | import org.eclipse.tm4e.core.grammar.IGrammar; 7 | import org.eclipse.tm4e.languageconfiguration.model.LanguageConfiguration; 8 | 9 | public class AndroidCodeEditorTMLanguage extends TextMateLanguage { 10 | public final String languageScope; 11 | 12 | public AndroidCodeEditorTMLanguage( 13 | IGrammar iGrammar, 14 | LanguageConfiguration languageConfiguration, 15 | ThemeRegistry themeRegistry, 16 | String scope) { 17 | super(iGrammar, languageConfiguration, null, themeRegistry, false); 18 | this.languageScope = scope; 19 | } 20 | 21 | public static AndroidCodeEditorTMLanguage create(String scope) { 22 | final GrammarRegistry grammarRegistry = GrammarRegistry.getInstance(); 23 | IGrammar grammar = grammarRegistry.findGrammar(scope); 24 | 25 | if (grammar == null) { 26 | throw new IllegalArgumentException( 27 | "Language with scope name not found.Scope : ".concat(scope)); 28 | } 29 | 30 | var languageConfiguration = grammarRegistry.findLanguageConfiguration(grammar.getScopeName()); 31 | 32 | return new AndroidCodeEditorTMLanguage( 33 | grammar, languageConfiguration, ThemeRegistry.getInstance(), scope); 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /editor/src/main/java/editor/tsd/editors/sora/lang/textmate/provider/TextMateProvider.java: -------------------------------------------------------------------------------- 1 | package editor.tsd.editors.sora.lang.textmate.provider; 2 | 3 | import android.code.editor.common.utils.FileUtils; 4 | import android.content.Context; 5 | import com.google.gson.Gson; 6 | import com.google.gson.reflect.TypeToken; 7 | import io.github.rosemoe.sora.langs.textmate.registry.GrammarRegistry; 8 | import java.util.Map; 9 | 10 | public class TextMateProvider { 11 | public static void loadGrammars() { 12 | GrammarRegistry.getInstance().loadGrammars("Editor/SoraEditor/languages.json"); 13 | } 14 | 15 | public static String getLanguageScope(Context context, String fileExt) { 16 | Map scopes; 17 | var type = new TypeToken>() {}.getType(); 18 | scopes = 19 | new Gson() 20 | .fromJson( 21 | FileUtils.readFileFromAssets(context.getAssets(), "Editor/SoraEditor/language_scopes.json"), 22 | type); 23 | return scopes.get(fileExt); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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/res/values/attrs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 6 | 9 | 12 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /gradle.properties: -------------------------------------------------------------------------------- 1 | android.useAndroidX=true -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Innovative-CST/Android-Code-Editor/091ebe9a71f5d9fd8551caeb98a4d172f831d4c9/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.0-all.zip 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | -------------------------------------------------------------------------------- /keystore.jks: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Innovative-CST/Android-Code-Editor/091ebe9a71f5d9fd8551caeb98a4d172f831d4c9/keystore.jks -------------------------------------------------------------------------------- /markdown-viewer/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /markdown-viewer/build.gradle: -------------------------------------------------------------------------------- 1 | plugins { 2 | id 'com.android.library' 3 | } 4 | 5 | android { 6 | compileSdkVersion 32 7 | 8 | defaultConfig { 9 | minSdkVersion 16 10 | targetSdkVersion 27 11 | } 12 | 13 | namespace 'br.tiagohm.markdownview' 14 | buildTypes { 15 | release { 16 | minifyEnabled false 17 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 18 | } 19 | } 20 | } 21 | 22 | dependencies { 23 | implementation fileTree(dir: 'libs', include: ['*.jar']) 24 | 25 | implementation 'androidx.appcompat:appcompat:1.4.0' 26 | //Flexmark 27 | implementation 'com.vladsch.flexmark:flexmark:0.28.32' 28 | implementation 'com.vladsch.flexmark:flexmark-ext-tables:0.28.32' 29 | implementation 'com.vladsch.flexmark:flexmark-ext-gfm-strikethrough:0.28.32' 30 | implementation 'com.vladsch.flexmark:flexmark-ext-gfm-tasklist:0.28.32' 31 | implementation 'com.vladsch.flexmark:flexmark-ext-autolink:0.28.32' 32 | implementation 'com.vladsch.flexmark:flexmark-ext-abbreviation:0.28.32' 33 | implementation 'com.vladsch.flexmark:flexmark-ext-superscript:0.28.32' 34 | implementation 'com.vladsch.flexmark:flexmark-ext-footnotes:0.28.32' 35 | implementation 'com.vladsch.flexmark:flexmark-ext-attributes:0.28.32' 36 | } 37 | -------------------------------------------------------------------------------- /markdown-viewer/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # By default, the flags in this file are appended to flags specified 3 | # in /home/tiago/Android/sdk/tools/proguard/proguard-android.txt 4 | # You can edit the include path and order by changing the proguardFiles 5 | # directive in build.gradle. 6 | # 7 | # For more details, see 8 | # http://developer.android.com/guide/developing/tools/proguard.html 9 | 10 | # Add any project specific keep options here: 11 | 12 | # If your project uses WebView with JS, uncomment the following 13 | # and specify the fully qualified class name to the JavaScript interface 14 | # class: 15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 16 | # public *; 17 | #} 18 | -------------------------------------------------------------------------------- /markdown-viewer/src/main/assets/js/highlight-init.js: -------------------------------------------------------------------------------- 1 | function highlight_init() { 2 | if(hljs) hljs.initHighlightingOnLoad(); 3 | } 4 | 5 | highlight_init(); -------------------------------------------------------------------------------- /markdown-viewer/src/main/assets/js/mathjax-config.js: -------------------------------------------------------------------------------- 1 | MathJax.Hub.Config({showProcessingMessages: false, messageStyle: 'none', showMathMenu: false, tex2jax: {inlineMath: [['$','$']]}}); -------------------------------------------------------------------------------- /markdown-viewer/src/main/assets/js/my-script.js: -------------------------------------------------------------------------------- 1 | $(document).ready(function () { 2 | 3 | $(window).scroll(function () { 4 | if ($(this).scrollTop() > 100) { 5 | $('.scrollup').css('visibility', 'visible'); 6 | } else { 7 | $('.scrollup').css('visibility', 'hidden'); 8 | } 9 | }); 10 | 11 | $('.scrollup').click(function () { 12 | $("html, body").animate({ 13 | scrollTop: 0 14 | }, 1200); 15 | return false; 16 | }); 17 | }); -------------------------------------------------------------------------------- /markdown-viewer/src/main/assets/js/tooltipster-init.js: -------------------------------------------------------------------------------- 1 | $('.tooltip').tooltipster({trigger: 'click', timer: 1500}); -------------------------------------------------------------------------------- /markdown-viewer/src/main/java/br/tiagohm/markdownview/css/ExternalStyleSheet.java: -------------------------------------------------------------------------------- 1 | package br.tiagohm.markdownview.css; 2 | 3 | import java.io.File; 4 | import java.net.URL; 5 | 6 | public class ExternalStyleSheet implements StyleSheet { 7 | private String mUrl; 8 | private String mMediaQuery; 9 | 10 | public ExternalStyleSheet(String url) { 11 | mUrl = url; 12 | } 13 | 14 | public ExternalStyleSheet(String url, String mediaQuery) { 15 | this(url); 16 | mMediaQuery = mediaQuery; 17 | } 18 | 19 | public static ExternalStyleSheet fromUrl(URL url, String mediaQuery) { 20 | return new ExternalStyleSheet(url.toString(), mediaQuery); 21 | } 22 | 23 | public static ExternalStyleSheet fromFile(File file, String mediaQuery) { 24 | return new ExternalStyleSheet(file.getAbsolutePath(), mediaQuery); 25 | } 26 | 27 | public static StyleSheet fromAsset(String path, String mediaQuery) { 28 | return new ExternalStyleSheet("file:///android_asset/" + path, mediaQuery); 29 | } 30 | 31 | public String getUrl() { 32 | return mUrl; 33 | } 34 | 35 | public String getMediaQuery() { 36 | return mMediaQuery; 37 | } 38 | 39 | @Override 40 | public String toString() { 41 | return getUrl(); 42 | } 43 | 44 | @Override 45 | public String toHTML() { 46 | return String.format("\n", 47 | getMediaQuery() == null ? "" : getMediaQuery(), 48 | getUrl()); 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /markdown-viewer/src/main/java/br/tiagohm/markdownview/css/StyleSheet.java: -------------------------------------------------------------------------------- 1 | package br.tiagohm.markdownview.css; 2 | 3 | public interface StyleSheet { 4 | String toHTML(); 5 | } 6 | -------------------------------------------------------------------------------- /markdown-viewer/src/main/java/br/tiagohm/markdownview/ext/kbd/KeystrokeExtension.java: -------------------------------------------------------------------------------- 1 | package br.tiagohm.markdownview.ext.kbd; 2 | 3 | import com.vladsch.flexmark.Extension; 4 | import com.vladsch.flexmark.html.HtmlRenderer; 5 | import com.vladsch.flexmark.parser.Parser; 6 | import com.vladsch.flexmark.util.options.MutableDataHolder; 7 | 8 | import br.tiagohm.markdownview.ext.kbd.internal.KeystrokeDelimiterProcessor; 9 | import br.tiagohm.markdownview.ext.kbd.internal.KeystrokeNodeRenderer; 10 | 11 | public class KeystrokeExtension implements Parser.ParserExtension, HtmlRenderer.HtmlRendererExtension { 12 | private KeystrokeExtension() { 13 | } 14 | 15 | public static Extension create() { 16 | return new KeystrokeExtension(); 17 | } 18 | 19 | @Override 20 | public void rendererOptions(final MutableDataHolder options) { 21 | 22 | } 23 | 24 | @Override 25 | public void parserOptions(final MutableDataHolder options) { 26 | 27 | } 28 | 29 | @Override 30 | public void extend(Parser.Builder parserBuilder) { 31 | parserBuilder.customDelimiterProcessor(new KeystrokeDelimiterProcessor()); 32 | } 33 | 34 | @Override 35 | public void extend(HtmlRenderer.Builder rendererBuilder, String rendererType) { 36 | switch (rendererType) { 37 | case "HTML": 38 | rendererBuilder.nodeRendererFactory(new KeystrokeNodeRenderer.Factory()); 39 | break; 40 | } 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /markdown-viewer/src/main/java/br/tiagohm/markdownview/ext/label/LabelExtension.java: -------------------------------------------------------------------------------- 1 | package br.tiagohm.markdownview.ext.label; 2 | 3 | import com.vladsch.flexmark.Extension; 4 | import com.vladsch.flexmark.html.HtmlRenderer; 5 | import com.vladsch.flexmark.parser.Parser; 6 | import com.vladsch.flexmark.util.options.MutableDataHolder; 7 | 8 | import br.tiagohm.markdownview.ext.label.internal.LabelDelimiterProcessor; 9 | import br.tiagohm.markdownview.ext.label.internal.LabelNodeRenderer; 10 | 11 | public class LabelExtension implements Parser.ParserExtension, HtmlRenderer.HtmlRendererExtension { 12 | private LabelExtension() { 13 | } 14 | 15 | public static Extension create() { 16 | return new LabelExtension(); 17 | } 18 | 19 | @Override 20 | public void rendererOptions(final MutableDataHolder options) { 21 | 22 | } 23 | 24 | @Override 25 | public void parserOptions(final MutableDataHolder options) { 26 | 27 | } 28 | 29 | @Override 30 | public void extend(Parser.Builder parserBuilder) { 31 | parserBuilder.customDelimiterProcessor(new LabelDelimiterProcessor()); 32 | } 33 | 34 | @Override 35 | public void extend(HtmlRenderer.Builder rendererBuilder, String rendererType) { 36 | switch (rendererType) { 37 | case "HTML": 38 | rendererBuilder.nodeRendererFactory(new LabelNodeRenderer.Factory()); 39 | break; 40 | } 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /markdown-viewer/src/main/java/br/tiagohm/markdownview/ext/twitter/Twitter.java: -------------------------------------------------------------------------------- 1 | package br.tiagohm.markdownview.ext.twitter; 2 | 3 | import com.vladsch.flexmark.ast.InlineLinkNode; 4 | import com.vladsch.flexmark.ast.Link; 5 | import com.vladsch.flexmark.util.sequence.BasedSequence; 6 | 7 | public class Twitter extends InlineLinkNode { 8 | public Twitter(final Link other) { 9 | super(other.getChars().baseSubSequence(other.getChars().getStartOffset() - 1, other.getChars().getEndOffset()), 10 | other.getChars().baseSubSequence(other.getChars().getStartOffset() - 1, other.getTextOpeningMarker().getEndOffset()), 11 | other.getText(), 12 | other.getTextClosingMarker(), 13 | other.getLinkOpeningMarker(), 14 | other.getUrl(), 15 | other.getTitleOpeningMarker(), 16 | other.getTitle(), 17 | other.getTitleClosingMarker(), 18 | other.getLinkClosingMarker() 19 | ); 20 | } 21 | 22 | @Override 23 | public void setTextChars(BasedSequence textChars) { 24 | int textCharsLength = textChars.length(); 25 | textOpeningMarker = textChars.subSequence(0, 1); 26 | text = textChars.subSequence(1, textCharsLength - 1).trim(); 27 | textClosingMarker = textChars.subSequence(textCharsLength - 1, textCharsLength); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /markdown-viewer/src/main/java/br/tiagohm/markdownview/ext/twitter/TwitterExtension.java: -------------------------------------------------------------------------------- 1 | package br.tiagohm.markdownview.ext.twitter; 2 | 3 | import com.vladsch.flexmark.Extension; 4 | import com.vladsch.flexmark.html.HtmlRenderer; 5 | import com.vladsch.flexmark.parser.Parser; 6 | import com.vladsch.flexmark.util.options.MutableDataHolder; 7 | 8 | import br.tiagohm.markdownview.ext.twitter.internal.TwitterNodePostProcessor; 9 | import br.tiagohm.markdownview.ext.twitter.internal.TwitterNodeRenderer; 10 | 11 | public class TwitterExtension implements Parser.ParserExtension, HtmlRenderer.HtmlRendererExtension { 12 | private TwitterExtension() { 13 | } 14 | 15 | public static Extension create() { 16 | return new TwitterExtension(); 17 | } 18 | 19 | @Override 20 | public void extend(Parser.Builder parserBuilder) { 21 | parserBuilder.postProcessorFactory(new TwitterNodePostProcessor.Factory(parserBuilder)); 22 | } 23 | 24 | @Override 25 | public void rendererOptions(final MutableDataHolder options) { 26 | 27 | } 28 | 29 | @Override 30 | public void parserOptions(final MutableDataHolder options) { 31 | 32 | } 33 | 34 | @Override 35 | public void extend(HtmlRenderer.Builder rendererBuilder, String rendererType) { 36 | if (rendererType.equals("HTML")) { 37 | rendererBuilder.nodeRendererFactory(new TwitterNodeRenderer.Factory()); 38 | } 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /markdown-viewer/src/main/java/br/tiagohm/markdownview/ext/video/VideoLink.java: -------------------------------------------------------------------------------- 1 | package br.tiagohm.markdownview.ext.video; 2 | 3 | import com.vladsch.flexmark.ast.InlineLinkNode; 4 | import com.vladsch.flexmark.ast.Link; 5 | import com.vladsch.flexmark.util.sequence.BasedSequence; 6 | 7 | public class VideoLink extends InlineLinkNode { 8 | public VideoLink(final Link other) { 9 | super(other.getChars().baseSubSequence(other.getChars().getStartOffset() - 1, other.getChars().getEndOffset()), 10 | other.getChars().baseSubSequence(other.getChars().getStartOffset() - 1, other.getTextOpeningMarker().getEndOffset()), 11 | other.getText(), 12 | other.getTextClosingMarker(), 13 | other.getLinkOpeningMarker(), 14 | other.getUrl(), 15 | other.getTitleOpeningMarker(), 16 | other.getTitle(), 17 | other.getTitleClosingMarker(), 18 | other.getLinkClosingMarker() 19 | ); 20 | } 21 | 22 | @Override 23 | public void setTextChars(BasedSequence textChars) { 24 | int textCharsLength = textChars.length(); 25 | textOpeningMarker = textChars.subSequence(0, 1); 26 | text = textChars.subSequence(1, textCharsLength - 1).trim(); 27 | textClosingMarker = textChars.subSequence(textCharsLength - 1, textCharsLength); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /markdown-viewer/src/main/java/br/tiagohm/markdownview/ext/video/VideoLinkExtension.java: -------------------------------------------------------------------------------- 1 | package br.tiagohm.markdownview.ext.video; 2 | 3 | import com.vladsch.flexmark.Extension; 4 | import com.vladsch.flexmark.html.HtmlRenderer; 5 | import com.vladsch.flexmark.parser.Parser; 6 | import com.vladsch.flexmark.util.options.MutableDataHolder; 7 | 8 | import br.tiagohm.markdownview.ext.video.internal.VideoLinkNodePostProcessor; 9 | import br.tiagohm.markdownview.ext.video.internal.VideoLinkNodeRenderer; 10 | 11 | public class VideoLinkExtension implements Parser.ParserExtension, HtmlRenderer.HtmlRendererExtension { 12 | private VideoLinkExtension() { 13 | } 14 | 15 | public static Extension create() { 16 | return new VideoLinkExtension(); 17 | } 18 | 19 | @Override 20 | public void extend(Parser.Builder parserBuilder) { 21 | parserBuilder.postProcessorFactory(new VideoLinkNodePostProcessor.Factory(parserBuilder)); 22 | } 23 | 24 | @Override 25 | public void rendererOptions(final MutableDataHolder options) { 26 | 27 | } 28 | 29 | @Override 30 | public void parserOptions(final MutableDataHolder options) { 31 | 32 | } 33 | 34 | @Override 35 | public void extend(HtmlRenderer.Builder rendererBuilder, String rendererType) { 36 | if (rendererType.equals("HTML")) { 37 | rendererBuilder.nodeRendererFactory(new VideoLinkNodeRenderer.Factory()); 38 | } 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /markdown-viewer/src/main/java/br/tiagohm/markdownview/js/ExternalScript.java: -------------------------------------------------------------------------------- 1 | package br.tiagohm.markdownview.js; 2 | 3 | public class ExternalScript implements JavaScript { 4 | private final String mSrc; 5 | private final boolean mIsAync; 6 | private final boolean mIsDefer; 7 | private final String mType; 8 | 9 | public ExternalScript(String src, boolean isAync, boolean isDefer, String type) { 10 | mSrc = src; 11 | mIsAync = isAync; 12 | mIsDefer = isDefer; 13 | mType = type; 14 | } 15 | 16 | public ExternalScript(String url, boolean isAync, boolean isDefer) { 17 | this(url, isAync, isDefer, "text/javascript"); 18 | } 19 | 20 | public String getSrc() { 21 | return mSrc; 22 | } 23 | 24 | public String getType() { 25 | return mType; 26 | } 27 | 28 | public boolean isAync() { 29 | return mIsAync; 30 | } 31 | 32 | public boolean isDefer() { 33 | return mIsDefer; 34 | } 35 | 36 | @Override 37 | public String toHTML() { 38 | return String.format("\n", 39 | isAync() ? "async " : "", 40 | isDefer() ? "defer " : "", 41 | getSrc(), 42 | getType()); 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /markdown-viewer/src/main/java/br/tiagohm/markdownview/js/JavaScript.java: -------------------------------------------------------------------------------- 1 | package br.tiagohm.markdownview.js; 2 | 3 | public interface JavaScript { 4 | String toHTML(); 5 | } 6 | -------------------------------------------------------------------------------- /markdown-viewer/src/main/res/values/attrs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /markdown-viewer/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | MarkdownView 3 | 4 | -------------------------------------------------------------------------------- /settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | include ':editor' 3 | include ':markdown-viewer' 4 | include ':treeview' 5 | include ':common' 6 | -------------------------------------------------------------------------------- /treeview/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /treeview/build.gradle: -------------------------------------------------------------------------------- 1 | plugins { 2 | id 'com.android.library' 3 | } 4 | 5 | android { 6 | compileSdk 32 7 | buildToolsVersion "33.0.2" 8 | useLibrary 'org.apache.http.legacy' 9 | namespace "com.unnamed.b.atv" 10 | 11 | defaultConfig { 12 | minSdk 21 13 | targetSdk 28 14 | } 15 | 16 | buildTypes { 17 | release { 18 | minifyEnabled false 19 | proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' 20 | } 21 | } 22 | 23 | compileOptions { 24 | sourceCompatibility JavaVersion.VERSION_17 25 | targetCompatibility JavaVersion.VERSION_17 26 | } 27 | 28 | buildFeatures { 29 | viewBinding true 30 | } 31 | } 32 | 33 | dependencies { 34 | implementation 'androidx.appcompat:appcompat:1.4.0' 35 | } 36 | -------------------------------------------------------------------------------- /treeview/src/main/java/com/unnamed/b/atv/holder/SimpleViewHolder.java: -------------------------------------------------------------------------------- 1 | package com.unnamed.b.atv.holder; 2 | 3 | import android.content.Context; 4 | import android.view.View; 5 | import android.widget.TextView; 6 | import com.unnamed.b.atv.model.TreeNode; 7 | 8 | /** Created by Bogdan Melnychuk on 2/11/15. */ 9 | public class SimpleViewHolder extends TreeNode.BaseNodeViewHolder { 10 | 11 | public SimpleViewHolder(Context context) { 12 | super(context); 13 | } 14 | 15 | @Override 16 | public View createNodeView(TreeNode node, Object value) { 17 | final TextView tv = new TextView(context); 18 | tv.setText(String.valueOf(value)); 19 | return tv; 20 | } 21 | 22 | @Override 23 | public void toggle(boolean active) {} 24 | } 25 | -------------------------------------------------------------------------------- /treeview/src/main/res/values/ids.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /treeview/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 3 | 6 | 7 | --------------------------------------------------------------------------------