├── .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 |
--------------------------------------------------------------------------------