├── .github ├── FUNDING.yml └── workflows │ ├── build.yml │ └── delete_workflows.yml ├── .gitignore ├── CHANGELOG.md ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── add_license_header.sh ├── app ├── .gitignore ├── build.gradle ├── codeopsstudio.keystore ├── dictionary.txt ├── google-services.json ├── proguard-rules.pro └── src │ └── main │ ├── AndroidManifest.xml │ ├── assets │ ├── plugins │ │ └── eruda.min.zip │ └── templates.zip │ ├── googlePlay.png │ ├── java │ └── com │ │ └── eup │ │ └── codeopsstudio │ │ ├── CrashActivity.java │ │ ├── IdeApplication.java │ │ ├── MainActivity.java │ │ ├── MainFragment.java │ │ ├── adapters │ │ ├── ActionAdapter.java │ │ ├── BuildActionPagerAdapter.java │ │ ├── ProjectAdapter.java │ │ ├── holder │ │ │ └── FileTreeViewHolder.java │ │ ├── logger │ │ │ └── LogAdapter.java │ │ └── template │ │ │ └── ProjectTemplateAdapter.java │ │ ├── aggregators │ │ └── Recents.java │ │ ├── domain │ │ ├── FileAction.java │ │ ├── FormatDateUseCase.java │ │ └── events │ │ │ ├── CurrentPaneEvent.java │ │ │ ├── EditorModificationEvent.java │ │ │ └── PaneEvent.java │ │ ├── git │ │ ├── BatchProgressMonitor.java │ │ ├── CloneListener.java │ │ └── GitRepository.java │ │ ├── listeners │ │ ├── Result.java │ │ ├── ResultListener.java │ │ └── onPaneTabSelectedListener.java │ │ ├── models │ │ ├── ActionModel.java │ │ ├── ExtensionTable.java │ │ ├── logger │ │ │ ├── Log.java │ │ │ ├── LogLevel.java │ │ │ └── Logger.java │ │ ├── recents │ │ │ ├── Project.java │ │ │ └── ProjectHistory.java │ │ ├── template │ │ │ └── ProjectTemplateModel.java │ │ └── user │ │ │ ├── DeviceInfo.java │ │ │ └── User.java │ │ ├── observers │ │ ├── ContextualLifecycleObserver.java │ │ └── FileWatcher.java │ │ ├── service │ │ ├── FileWatcherService.java │ │ └── FileWatcherServiceConnection.java │ │ ├── ui │ │ ├── AllowChildInterceptDrawerLayout.java │ │ ├── custom │ │ │ └── preference │ │ │ │ ├── DefaultFileEncodingDialogPreference.java │ │ │ │ ├── DialogEditTextPreference.java │ │ │ │ ├── FontSeekBarDialogPreference.java │ │ │ │ └── TabSizeSeekBarDialogPreference.java │ │ ├── editor │ │ │ ├── BaseFragment.java │ │ │ ├── BuildActionFragment.java │ │ │ ├── DiagnosticsFragment.java │ │ │ ├── IdeLogsFragment.java │ │ │ ├── OutPutFragment.java │ │ │ ├── actions │ │ │ │ ├── EditorAction.java │ │ │ │ ├── EditorShortcutAdapter.java │ │ │ │ └── EditorShortcutView.java │ │ │ ├── code │ │ │ │ ├── CodeEditorPane.java │ │ │ │ ├── breadcrumb │ │ │ │ │ ├── BreadCrumbPanel.java │ │ │ │ │ ├── adapter │ │ │ │ │ │ └── BreadCrumbAdapter.java │ │ │ │ │ ├── model │ │ │ │ │ │ └── BreadCrumb.java │ │ │ │ │ └── pane │ │ │ │ │ │ └── CrumbTreePane.java │ │ │ │ └── manager │ │ │ │ │ └── EditorManager.java │ │ │ └── panes │ │ │ │ ├── EmptyPaneWindow.java │ │ │ │ ├── WebViewPane.java │ │ │ │ └── WelcomePane.java │ │ ├── explore │ │ │ ├── PluginFragment.java │ │ │ ├── PrimarySideBarFragment.java │ │ │ ├── TemplateFragment.java │ │ │ ├── TreeViewFragment.java │ │ │ └── Vscfragment.java │ │ └── settings │ │ │ ├── AboutFragment.java │ │ │ ├── ChangeLogFragment.java │ │ │ ├── CodeEditorConfigurationFragment.java │ │ │ ├── GeneralConfigurationFragment.java │ │ │ ├── PreferencesFragment.java │ │ │ ├── PrivacyFragment.java │ │ │ ├── SettingsPane.java │ │ │ └── api │ │ │ ├── AboutAdapter.java │ │ │ ├── AboutItems.java │ │ │ ├── AboutListAdapter.java │ │ │ ├── ChangelogAdapter.java │ │ │ └── ChangelogItem.java │ │ ├── util │ │ ├── BaseUtil.java │ │ ├── BinaryFileChecker.java │ │ ├── EncodingDetector.java │ │ ├── ThrowableUtils.java │ │ ├── Wizard.java │ │ ├── manager │ │ │ └── FileManager.java │ │ └── pane │ │ │ └── PaneUtil.java │ │ └── viewmodel │ │ ├── FileViewModel.java │ │ ├── MainViewModel.java │ │ ├── PaneViewModel.java │ │ └── SavedStateViewModel.java │ └── res │ ├── layout-sw600dp-land │ └── fragment_main.xml │ ├── layout │ ├── activity_crash.xml │ ├── activity_main.xml │ ├── activity_preferences.xml │ ├── empty_pane_window.xml │ ├── fragment_about.xml │ ├── fragment_base.xml │ ├── fragment_build_action.xml │ ├── fragment_build_output.xml │ ├── fragment_change_log.xml │ ├── fragment_diagnostics.xml │ ├── fragment_ide_logs.xml │ ├── fragment_main.xml │ ├── fragment_plugin.xml │ ├── fragment_primary_side_bar.xml │ ├── fragment_template.xml │ ├── fragment_treeview.xml │ ├── fragment_vsc.xml │ ├── fragment_warning.xml │ ├── layout_about_app_item.xml │ ├── layout_about_nested_list_item.xml │ ├── layout_action_item.xml │ ├── layout_bundle_release_item.xml │ ├── layout_change_log_item.xml │ ├── layout_code_editor.xml │ ├── layout_create_project_footer.xml │ ├── layout_create_project_fragment_details.xml │ ├── layout_empty_projects.xml │ ├── layout_logging_sheet.xml │ ├── layout_pane_webview.xml │ ├── layout_pane_welcome.xml │ ├── layout_privacy_item.xml │ └── layout_project_template_item.xml │ └── xml │ └── provider_paths.xml ├── assets ├── breadcrumbs.jpeg ├── cos_banner.jpeg ├── editor.jpeg ├── filetree.jpeg ├── icon.png ├── intro.jpeg ├── jsconsole.jpeg └── site_preview.jpeg ├── ast-core ├── .gitignore ├── build.gradle ├── consumer-rules.pro ├── proguard-rules.pro └── src │ └── main │ ├── AndroidManifest.xml │ └── java │ └── com │ └── eup │ └── codeops │ └── ast │ └── core │ ├── exception │ ├── InvalidRangeException.java │ └── NodeNotFoundException.java │ ├── filters │ ├── Filter.java │ └── RegexFilter.java │ ├── node │ ├── AbstractNode.java │ └── Node.java │ ├── transversal │ ├── BFS.java │ ├── DFS.java │ ├── INext.java │ ├── Observer.java │ └── Traversable.java │ ├── util │ ├── NodeFactory.java │ └── TreePrinter.java │ └── visitors │ └── NodeVisitor.java ├── batch_rename.sh ├── batch_rename_folder.sh ├── build.gradle ├── code-editor ├── .gitignore ├── README.md ├── build.gradle ├── proguard-rules.pro └── src │ └── main │ ├── AndroidManifest.xml │ ├── assets │ └── editor │ │ ├── scheme │ │ ├── aurora_light_theme.json │ │ ├── aurora_night_theme.json │ │ ├── darcula.json │ │ └── quietlight.json │ │ └── textmate │ │ ├── bat │ │ ├── language-configuration.json │ │ ├── package.json │ │ ├── package.nls.json │ │ └── syntaxes │ │ │ └── batchfile.tmLanguage.json │ │ ├── clojure │ │ ├── language-configuration.json │ │ ├── package.json │ │ ├── package.nls.json │ │ └── syntaxes │ │ │ └── clojure.tmLanguage.json │ │ ├── coffeescript │ │ ├── language-configuration.json │ │ ├── package.json │ │ ├── package.nls.json │ │ └── syntaxes │ │ │ └── coffeescript.tmLanguage.json │ │ ├── cpp │ │ ├── language-configuration.json │ │ ├── package.json │ │ ├── package.nls.json │ │ └── syntaxes │ │ │ ├── c.tmLanguage.json │ │ │ ├── cpp.embedded.macro.tmLanguage.json │ │ │ ├── cpp.tmLanguage.json │ │ │ ├── cuda-cpp.tmLanguage.json │ │ │ └── platform.tmLanguage.json │ │ ├── csharp │ │ ├── language-configuration.json │ │ ├── package.json │ │ ├── package.nls.json │ │ └── syntaxes │ │ │ └── csharp.tmLanguage.json │ │ ├── css │ │ ├── language-configuration.json │ │ ├── package.json │ │ ├── package.nls.json │ │ └── syntaxes │ │ │ └── css.tmLanguage.json │ │ ├── dart │ │ ├── language-configuration.json │ │ ├── package.json │ │ ├── package.nls.json │ │ └── syntaxes │ │ │ └── dart.tmLanguage.json │ │ ├── diff │ │ ├── language-configuration.json │ │ ├── package.json │ │ ├── package.nls.json │ │ └── syntaxes │ │ │ └── diff.tmLanguage.json │ │ ├── docker │ │ ├── language-configuration.json │ │ ├── package.json │ │ ├── package.nls.json │ │ └── syntaxes │ │ │ └── docker.tmLanguage.json │ │ ├── fsharp │ │ ├── language-configuration.json │ │ ├── package.json │ │ ├── package.nls.json │ │ ├── snippets │ │ │ └── fsharp.code-snippets │ │ └── syntaxes │ │ │ └── fsharp.tmLanguage.json │ │ ├── git-base │ │ ├── README.md │ │ ├── dist │ │ │ └── extension.js │ │ ├── languages │ │ │ ├── git-commit.language-configuration.json │ │ │ ├── git-rebase.language-configuration.json │ │ │ └── ignore.language-configuration.json │ │ ├── package.json │ │ ├── package.nls.json │ │ ├── resources │ │ │ └── icons │ │ │ │ └── git.png │ │ └── syntaxes │ │ │ ├── git-commit.tmLanguage.json │ │ │ ├── git-rebase.tmLanguage.json │ │ │ └── ignore.tmLanguage.json │ │ ├── go │ │ ├── language-configuration.json │ │ ├── package.json │ │ ├── package.nls.json │ │ └── syntaxes │ │ │ └── go.tmLanguage.json │ │ ├── groovy │ │ ├── language-configuration.json │ │ ├── package.json │ │ ├── package.nls.json │ │ ├── snippets │ │ │ └── groovy.code-snippets │ │ └── syntaxes │ │ │ └── groovy.tmLanguage.json │ │ ├── handlebars │ │ ├── language-configuration.json │ │ ├── package.json │ │ ├── package.nls.json │ │ └── syntaxes │ │ │ └── Handlebars.tmLanguage.json │ │ ├── hlsl │ │ ├── language-configuration.json │ │ ├── package.json │ │ ├── package.nls.json │ │ └── syntaxes │ │ │ └── hlsl.tmLanguage.json │ │ ├── html │ │ ├── language-configuration.json │ │ ├── package.json │ │ ├── package.nls.json │ │ ├── snippets │ │ │ └── html.code-snippets │ │ └── syntaxes │ │ │ ├── html-derivative.tmLanguage.json │ │ │ └── html.tmLanguage.json │ │ ├── ini │ │ ├── ini.language-configuration.json │ │ ├── package.json │ │ ├── package.nls.json │ │ ├── properties.language-configuration.json │ │ └── syntaxes │ │ │ └── ini.tmLanguage.json │ │ ├── java │ │ ├── language-configuration.json │ │ ├── package.json │ │ ├── package.nls.json │ │ ├── snippets │ │ │ └── java.code-snippets │ │ └── syntaxes │ │ │ └── java.tmLanguage.json │ │ ├── javascript │ │ ├── javascript-language-configuration.json │ │ ├── package.json │ │ ├── package.nls.json │ │ ├── snippets │ │ │ └── javascript.code-snippets │ │ ├── syntaxes │ │ │ ├── JavaScript.tmLanguage.json │ │ │ ├── JavaScriptReact.tmLanguage.json │ │ │ └── Regular Expressions (JavaScript).tmLanguage │ │ └── tags-language-configuration.json │ │ ├── json │ │ ├── language-configuration.json │ │ ├── package.json │ │ ├── package.nls.json │ │ └── syntaxes │ │ │ ├── json.tmLanguage.json │ │ │ └── jsonc.tmLanguage.json │ │ ├── julia │ │ ├── language-configuration.json │ │ ├── package.json │ │ ├── package.nls.json │ │ └── syntaxes │ │ │ └── julia.tmLanguage.json │ │ ├── kotlin │ │ ├── language-configuration.json │ │ └── syntaxes │ │ │ └── Kotlin.tmLanguage │ │ ├── language_scopes.json │ │ ├── languages.json │ │ ├── latex │ │ ├── cpp-bailout-license.txt │ │ ├── latex-cpp-embedded-language-configuration.json │ │ ├── latex-language-configuration.json │ │ ├── markdown-latex-combined-language-configuration.json │ │ ├── markdown-latex-combined-license.txt │ │ ├── package.json │ │ ├── package.nls.json │ │ └── syntaxes │ │ │ ├── Bibtex.tmLanguage.json │ │ │ ├── LaTeX.tmLanguage.json │ │ │ ├── TeX.tmLanguage.json │ │ │ ├── cpp-grammar-bailout.tmLanguage.json │ │ │ └── markdown-latex-combined.tmLanguage.json │ │ ├── less │ │ ├── language-configuration.json │ │ ├── package.json │ │ ├── package.nls.json │ │ └── syntaxes │ │ │ └── less.tmLanguage.json │ │ ├── log │ │ ├── package.json │ │ ├── package.nls.json │ │ └── syntaxes │ │ │ └── log.tmLanguage.json │ │ ├── lua │ │ ├── language-configuration.json │ │ ├── package.json │ │ ├── package.nls.json │ │ └── syntaxes │ │ │ └── lua.tmLanguage.json │ │ ├── make │ │ ├── language-configuration.json │ │ ├── package.json │ │ ├── package.nls.json │ │ └── syntaxes │ │ │ └── make.tmLanguage.json │ │ ├── markdown-basics │ │ ├── language-configuration.json │ │ ├── package.json │ │ ├── package.nls.json │ │ ├── snippets │ │ │ └── markdown.code-snippets │ │ └── syntaxes │ │ │ └── markdown.tmLanguage.json │ │ ├── objective-c │ │ ├── language-configuration.json │ │ ├── package.json │ │ ├── package.nls.json │ │ └── syntaxes │ │ │ ├── objective-c++.tmLanguage.json │ │ │ └── objective-c.tmLanguage.json │ │ ├── perl │ │ ├── package.json │ │ ├── package.nls.json │ │ ├── perl.language-configuration.json │ │ ├── perl6.language-configuration.json │ │ └── syntaxes │ │ │ ├── perl.tmLanguage.json │ │ │ └── perl6.tmLanguage.json │ │ ├── php │ │ ├── language-configuration.json │ │ ├── package.json │ │ ├── package.nls.json │ │ ├── snippets │ │ │ └── php.code-snippets │ │ └── syntaxes │ │ │ ├── html.tmLanguage.json │ │ │ └── php.tmLanguage.json │ │ ├── powershell │ │ ├── language-configuration.json │ │ ├── package.json │ │ ├── package.nls.json │ │ └── syntaxes │ │ │ └── powershell.tmLanguage.json │ │ ├── pug │ │ ├── language-configuration.json │ │ ├── package.json │ │ ├── package.nls.json │ │ └── syntaxes │ │ │ └── pug.tmLanguage.json │ │ ├── python │ │ ├── language-configuration.json │ │ ├── package.json │ │ ├── package.nls.json │ │ └── syntaxes │ │ │ ├── MagicPython.tmLanguage.json │ │ │ └── MagicRegExp.tmLanguage.json │ │ ├── r │ │ ├── language-configuration.json │ │ ├── package.json │ │ ├── package.nls.json │ │ └── syntaxes │ │ │ └── r.tmLanguage.json │ │ ├── razor │ │ ├── build │ │ │ └── update-grammar.mjs │ │ ├── language-configuration.json │ │ ├── package.json │ │ ├── package.nls.json │ │ └── syntaxes │ │ │ └── cshtml.tmLanguage.json │ │ ├── restructuredtext │ │ ├── language-configuration.json │ │ ├── package.json │ │ ├── package.nls.json │ │ └── syntaxes │ │ │ └── rst.tmLanguage.json │ │ ├── ruby │ │ ├── language-configuration.json │ │ ├── package.json │ │ ├── package.nls.json │ │ └── syntaxes │ │ │ └── ruby.tmLanguage.json │ │ ├── rust │ │ ├── language-configuration.json │ │ ├── package.json │ │ ├── package.nls.json │ │ └── syntaxes │ │ │ └── rust.tmLanguage.json │ │ ├── scss │ │ ├── language-configuration.json │ │ ├── package.json │ │ ├── package.nls.json │ │ └── syntaxes │ │ │ ├── sassdoc.tmLanguage.json │ │ │ └── scss.tmLanguage.json │ │ ├── shaderlab │ │ ├── language-configuration.json │ │ ├── package.json │ │ ├── package.nls.json │ │ └── syntaxes │ │ │ └── shaderlab.tmLanguage.json │ │ ├── shellscript │ │ ├── language-configuration.json │ │ ├── package.json │ │ ├── package.nls.json │ │ └── syntaxes │ │ │ └── shell-unix-bash.tmLanguage.json │ │ ├── sql │ │ ├── language-configuration.json │ │ ├── package.json │ │ ├── package.nls.json │ │ └── syntaxes │ │ │ └── sql.tmLanguage.json │ │ ├── swift │ │ ├── LICENSE.md │ │ ├── language-configuration.json │ │ ├── package.json │ │ ├── package.nls.json │ │ ├── snippets │ │ │ └── swift.code-snippets │ │ └── syntaxes │ │ │ └── swift.tmLanguage.json │ │ ├── typescript-basics │ │ ├── language-configuration.json │ │ ├── package.json │ │ ├── package.nls.json │ │ ├── snippets │ │ │ └── typescript.code-snippets │ │ └── syntaxes │ │ │ ├── TypeScript.tmLanguage.json │ │ │ ├── TypeScriptReact.tmLanguage.json │ │ │ ├── jsdoc.js.injection.tmLanguage.json │ │ │ └── jsdoc.ts.injection.tmLanguage.json │ │ ├── vb │ │ ├── language-configuration.json │ │ ├── package.json │ │ ├── package.nls.json │ │ ├── snippets │ │ │ └── vb.code-snippets │ │ └── syntaxes │ │ │ └── asp-vb-net.tmlanguage.json │ │ ├── xml │ │ ├── package.json │ │ ├── package.nls.json │ │ ├── syntaxes │ │ │ ├── xml.tmLanguage(ORG).json │ │ │ ├── xml.tmLanguage.json │ │ │ └── xsl.tmLanguage.json │ │ ├── xml.language-configuration.json │ │ └── xsl.language-configuration.json │ │ └── yaml │ │ ├── language-configuration.json │ │ ├── package.json │ │ ├── package.nls.json │ │ └── syntaxes │ │ └── yaml.tmLanguage.json │ └── java │ └── com │ └── eup │ └── codeopsstudio │ └── editor │ ├── ContextualCodeEditor.java │ ├── event │ └── IndexingEvent.java │ └── langs │ ├── completion │ └── ContextualCompletionItem.java │ ├── textmate │ └── provider │ │ ├── JsonLanguageInfoProvider.java │ │ └── LanguageInfoProvider.java │ └── widget │ └── component │ ├── ContextualCompletionLayout.java │ ├── ContextualEditorAutoCompletion.java │ ├── ContextualEditorCompletionAdapter.java │ └── ContextualEditorTextActionWindow.java ├── common ├── .gitignore ├── build.gradle ├── consumer-rules.pro ├── proguard-rules.pro └── src │ └── main │ ├── AndroidManifest.xml │ └── java │ └── com │ └── teckrod │ └── codeopsstudio │ └── common │ ├── AsyncTask.java │ ├── Constants.java │ ├── ContextManager.java │ ├── io │ └── comparator │ │ ├── AbstractComparator.java │ │ ├── DefaultComparator.java │ │ ├── DirectoryComparator.java │ │ ├── NameComparator.java │ │ └── ReverseComparator.java │ ├── models │ ├── BaseEvent.java │ ├── MetaDocument.java │ ├── ProjectEvent.java │ └── TrieNode.java │ └── util │ ├── Archive.java │ ├── EncodeUtils.java │ ├── FileUriMediator.java │ ├── FileUtil.java │ ├── LanguageInfoBuilder.java │ ├── PathResolver.java │ ├── PreferencesUtils.java │ ├── RecyclerViewOnScrollListener.java │ ├── SDKUtil.java │ ├── TextWatcherAdapter.java │ └── UriUtils.java ├── constants.gradle ├── docs ├── COMMUNITY_LINKS.md ├── add_license_header.md ├── batch_rename.md └── remove_license_header.md ├── gradle.properties ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── pane ├── .gitignore ├── README.md ├── build.gradle ├── proguard-rules.pro └── src │ └── main │ ├── AndroidManifest.xml │ ├── java │ └── com │ │ └── eup │ │ └── codeopsstudio │ │ └── pane │ │ ├── EditorPane.java │ │ ├── FragmentPane.java │ │ ├── Pane.java │ │ ├── PaneLayout.java │ │ ├── Rap.java │ │ └── TextPane.java │ └── res │ └── layout │ └── layout_pane_editor.xml ├── release-notes.json ├── remove_license_header.sh ├── secrets.properties ├── server ├── .gitignore ├── README.md ├── build.gradle ├── proguard-rules.pro └── src │ └── main │ ├── AndroidManifest.xml │ └── java │ └── com │ └── eup │ └── codeopsstudio │ └── server │ └── LiveServer.java ├── settings.gradle ├── share-layout ├── .gitignore ├── build.gradle ├── consumer-rules.pro ├── proguard-rules.pro └── src │ └── main │ ├── AndroidManifest.xml │ ├── java │ └── com │ │ └── eup │ │ └── libraries │ │ └── sharelayout │ │ ├── ShareLayout.java │ │ └── UiBuilder.java │ └── res │ ├── color │ └── miui_sharelayout_color.xml │ └── values │ └── attrs.xml ├── shared-res ├── .gitignore ├── README.md ├── build.gradle ├── proguard-rules.pro └── src │ └── main │ ├── AndroidManifest.xml │ └── res │ ├── color │ └── base_ripple_color_selector.xml │ ├── drawable │ ├── ad_attribution.xml │ ├── base_ripple.xml │ ├── bg_ripple_disabled.xml │ ├── bg_ripple_pressed.xml │ ├── contextual_magnifier_background.xml │ ├── ic_access_point.xml │ ├── ic_alert.xml │ ├── ic_alert_circle.xml │ ├── ic_alert_circle_outline.xml │ ├── ic_alert_outline.xml │ ├── ic_arrow_down.xml │ ├── ic_arrow_expand_all.xml │ ├── ic_arrow_right.xml │ ├── ic_bash.xml │ ├── ic_cached.xml │ ├── ic_checkbox_marked_circle.xml │ ├── ic_checkbox_marked_circle_outline.xml │ ├── ic_chevron_down.xml │ ├── ic_chevron_left.xml │ ├── ic_chevron_right.xml │ ├── ic_chevron_up.xml │ ├── ic_close.xml │ ├── ic_close_outline.xml │ ├── ic_code_json.xml │ ├── ic_cog.xml │ ├── ic_cog_outline.xml │ ├── ic_command.xml │ ├── ic_content_copy.xml │ ├── ic_content_cut.xml │ ├── ic_content_paste.xml │ ├── ic_content_save.xml │ ├── ic_content_save_outline.xml │ ├── ic_database.xml │ ├── ic_database_outline.xml │ ├── ic_delete.xml │ ├── ic_delete_outline.xml │ ├── ic_dot_net.xml │ ├── ic_dots_horizontal.xml │ ├── ic_dots_vertical_24.xml │ ├── ic_eye.xml │ ├── ic_file.xml │ ├── ic_file_chart.xml │ ├── ic_file_chart_outline.xml │ ├── ic_file_cloud.xml │ ├── ic_file_cloud_outline.xml │ ├── ic_file_cog.xml │ ├── ic_file_cog_outline.xml │ ├── ic_file_document.xml │ ├── ic_file_document_outline.xml │ ├── ic_file_excel.xml │ ├── ic_file_find.xml │ ├── ic_file_find_outline.xml │ ├── ic_file_image.xml │ ├── ic_file_image_outline.xml │ ├── ic_file_key.xml │ ├── ic_file_key_outline.xml │ ├── ic_file_multiple.xml │ ├── ic_file_multiple_outline.xml │ ├── ic_file_music.xml │ ├── ic_file_music_outline.xml │ ├── ic_file_outline.xml │ ├── ic_file_pdf.xml │ ├── ic_file_pdf_outline.xml │ ├── ic_file_plus.xml │ ├── ic_file_plus_outline.xml │ ├── ic_file_powerpoint.xml │ ├── ic_file_powerpoint_outline.xml │ ├── ic_file_search_outline.xml │ ├── ic_file_sync_outline.xml │ ├── ic_file_video.xml │ ├── ic_file_video_outline.xml │ ├── ic_file_word.xml │ ├── ic_file_word_outline.xml │ ├── ic_find_replace.xml │ ├── ic_folder.xml │ ├── ic_folder_open_outline.xml │ ├── ic_folder_outline.xml │ ├── ic_folder_plus.xml │ ├── ic_folder_plus_outline.xml │ ├── ic_folder_sync_outline.xml │ ├── ic_folder_zip.xml │ ├── ic_folder_zip_outline.xml │ ├── ic_form_textbox.xml │ ├── ic_format_font.xml │ ├── ic_format_letter_case_lower.xml │ ├── ic_format_letter_case_upper.xml │ ├── ic_format_line_style.xml │ ├── ic_format_text.xml │ ├── ic_git.xml │ ├── ic_github.xml │ ├── ic_gradle.xml │ ├── ic_image_outline.xml │ ├── ic_java.xml │ ├── ic_js.xml │ ├── ic_lang_c.xml │ ├── ic_lang_cpp.xml │ ├── ic_lang_csharp.xml │ ├── ic_lang_css3.xml │ ├── ic_lang_go.xml │ ├── ic_lang_haskell.xml │ ├── ic_lang_html5.xml │ ├── ic_lang_java.xml │ ├── ic_lang_javascript.xml │ ├── ic_lang_kotlin.xml │ ├── ic_lang_lua.xml │ ├── ic_lang_markdown.xml │ ├── ic_lang_markdown_outline.xml │ ├── ic_lang_php.xml │ ├── ic_lang_python.xml │ ├── ic_lang_r.xml │ ├── ic_lang_ruby.xml │ ├── ic_lang_ruby_on_rails.xml │ ├── ic_lang_rust.xml │ ├── ic_lang_swift.xml │ ├── ic_lang_typescript.xml │ ├── ic_lang_xaml.xml │ ├── ic_lang_xml.xml │ ├── ic_launcher_background.xml │ ├── ic_menu.xml │ ├── ic_microsoft_vs_code.xml │ ├── ic_notification_clear_all.xml │ ├── ic_open_in_new.xml │ ├── ic_pencil.xml │ ├── ic_pencil_outline.xml │ ├── ic_pencil_outline_24dp.xml │ ├── ic_pin_outline.xml │ ├── ic_play.xml │ ├── ic_play_outline.xml │ ├── ic_powershell.xml │ ├── ic_priority_low.xml │ ├── ic_react.xml │ ├── ic_redo_variant.xml │ ├── ic_refresh.xml │ ├── ic_script_text.xml │ ├── ic_script_text_outline.xml │ ├── ic_select_all.xml │ ├── ic_select_drag.xml │ ├── ic_share_variant.xml │ ├── ic_share_variant_outline.xml │ ├── ic_signal_off.xml │ ├── ic_source_branch.xml │ ├── ic_source_pull.xml │ ├── ic_splash_icon.png │ ├── ic_swap_horizontal.xml │ ├── ic_swap_vertical.xml │ ├── ic_sync.xml │ ├── ic_text_search.xml │ ├── ic_undo_variant.xml │ ├── ic_view_grid_plus.xml │ ├── ic_view_grid_plus_outline.xml │ ├── ic_web.xml │ ├── ic_westudio.xml │ ├── ic_window_close.xml │ └── tabs_line_indicator.xml │ ├── font │ ├── firacode_regular.ttf │ ├── inconsolata_regular.ttf │ ├── jetbrains_mono_regular.ttf │ ├── notosans_italic.ttf │ ├── notosans_regular.ttf │ ├── sourcecodepro_regular.ttf │ └── westudio_font.xml │ ├── layout │ ├── code_editor_search_panel.xml │ ├── contextual_text_compose_panel.xml │ ├── editor_completion_result_item.xml │ ├── layout_bread_crumb_item.xml │ ├── layout_crumb_tree_pane.xml │ ├── layout_dialog_progress.xml │ ├── layout_dialog_text_input.xml │ ├── layout_editor_alert.xml │ ├── layout_editor_shortcut_item.xml │ ├── layout_file_tree_item.xml │ ├── layout_loading.xml │ ├── layout_material_slider.xml │ ├── layout_primary_sidebar_header.xml │ ├── layout_replace_in_file.xml │ ├── layout_share_app_item.xml │ ├── layout_sheet_list.xml │ ├── layout_sheet_recent_projects.xml │ ├── layout_three_line_list_item.xml │ ├── otg_mtrl_switch_layout.xml │ ├── pane_tab_item.xml │ └── recent_project_item.xml │ ├── menu │ ├── main_menu.xml │ ├── menu_search_options.xml │ └── primary_sidebar_navigation_menu.xml │ ├── mipmap-anydpi-v26 │ ├── ic_launcher.xml │ └── ic_launcher_round.xml │ ├── mipmap-hdpi │ ├── ic_launcher.png │ ├── ic_launcher_dynamic_background.png │ ├── ic_launcher_dynamic_background_round.png │ ├── ic_launcher_dynamic_foreground.png │ └── ic_launcher_round.png │ ├── mipmap-mdpi │ ├── ic_launcher.png │ ├── ic_launcher_dynamic_background.png │ ├── ic_launcher_dynamic_background_round.png │ ├── ic_launcher_dynamic_foreground.png │ └── ic_launcher_round.png │ ├── mipmap-xhdpi │ ├── ic_launcher.png │ ├── ic_launcher_dynamic_background.png │ ├── ic_launcher_dynamic_background_round.png │ ├── ic_launcher_dynamic_foreground.png │ └── ic_launcher_round.png │ ├── mipmap-xxhdpi │ ├── ic_launcher.png │ ├── ic_launcher_dynamic_background.png │ ├── ic_launcher_dynamic_background_round.png │ ├── ic_launcher_dynamic_foreground.png │ └── ic_launcher_round.png │ ├── mipmap-xxxhdpi │ ├── ic_launcher.png │ ├── ic_launcher_dynamic_background.png │ ├── ic_launcher_dynamic_background_round.png │ ├── ic_launcher_dynamic_foreground.png │ └── ic_launcher_round.png │ ├── navigation │ └── primary_sidebar_navigation.xml │ ├── values-night │ └── themes.xml │ ├── values │ ├── array.xml │ ├── colors.xml │ ├── dimens.xml │ ├── strings.xml │ ├── styles.xml │ └── themes.xml │ └── xml │ ├── editor_preferences.xml │ ├── general_configuration_preferences.xml │ ├── privacy_preferences.xml │ └── root_preferences.xml ├── tools └── DateLong.java └── treeview ├── .gitignore ├── README.md ├── build.gradle ├── proguard-rules.pro └── src └── main ├── AndroidManifest.xml ├── java └── com │ └── eup │ └── codeopsstudio │ └── tv │ ├── holder │ └── SimpleViewHolder.java │ ├── model │ └── TreeNode.java │ └── view │ ├── AndroidTreeView.java │ ├── TreeNodeWrapperView.java │ └── TwoDScrollView.java └── res └── values └── ids.xml /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | github: euptron 2 | 3 | # These are supported funding model platforms 4 | 5 | # github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2] 6 | # patreon: # Replace with a single Patreon username 7 | # open_collective: # Replace with a single Open Collective username 8 | # ko_fi: # Replace with a single Ko-fi username 9 | # tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel 10 | # community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry 11 | # liberapay: # Replace with a single Liberapay username 12 | # issuehunt: # Replace with a single IssueHunt username 13 | # lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry 14 | # polar: # Replace with a single Polar username 15 | # buy_me_a_coffee: # Replace with a single Buy Me a Coffee username 16 | # custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2'] 17 | -------------------------------------------------------------------------------- /.github/workflows/delete_workflows.yml: -------------------------------------------------------------------------------- 1 | name: Delete old workflow runs 2 | 3 | on: 4 | schedule: 5 | - cron: '0 0 * * 0' 6 | # Weekly (every Sunday at midnight UTC) 7 | 8 | workflow_dispatch: 9 | inputs: 10 | days: 11 | description: 'Number of days of runs to retain.' 12 | required: true 13 | default: 30 14 | minimum_runs: 15 | description: 'Minimum number of runs to keep for each workflow.' 16 | required: true 17 | default: 6 18 | 19 | jobs: 20 | del_runs: 21 | runs-on: ubuntu-latest 22 | permissions: 23 | actions: write # Necessary to delete workflow runs 24 | contents: read # Necessary to read repository contents 25 | steps: 26 | - name: Delete workflow runs 27 | uses: Mattraks/delete-workflow-runs@v2 28 | with: 29 | token: ${{ github.token }} 30 | repository: ${{ github.repository }} 31 | retain_days: ${{ github.event.inputs.days }} 32 | keep_minimum_runs: ${{ github.event.inputs.minimum_runs }} 33 | -------------------------------------------------------------------------------- /app/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /app/codeopsstudio.keystore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euptron/CodeOps-Studio/6a042d07a8633fd791a4ded1a6a9475365d6433a/app/codeopsstudio.keystore -------------------------------------------------------------------------------- /app/dictionary.txt: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /app/google-services.json: -------------------------------------------------------------------------------- 1 | { 2 | "project_info": { 3 | "project_number": "348306233910", 4 | "project_id": "codeops-studio", 5 | "storage_bucket": "codeops-studio.appspot.com" 6 | }, 7 | "client": [ 8 | { 9 | "client_info": { 10 | "mobilesdk_app_id": "1:348306233910:android:77f935a5ee863349771697", 11 | "android_client_info": { 12 | "package_name": "com.eup.codeopsstudio" 13 | } 14 | }, 15 | "oauth_client": [], 16 | "api_key": [ 17 | { 18 | "current_key": "AIzaSyADz_UKfwu-zyrGE68kwGSkLwqaaxQYLv4" 19 | } 20 | ], 21 | "services": { 22 | "appinvite_service": { 23 | "other_platform_oauth_client": [] 24 | } 25 | } 26 | } 27 | ], 28 | "configuration_version": "1" 29 | } -------------------------------------------------------------------------------- /app/src/main/assets/plugins/eruda.min.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euptron/CodeOps-Studio/6a042d07a8633fd791a4ded1a6a9475365d6433a/app/src/main/assets/plugins/eruda.min.zip -------------------------------------------------------------------------------- /app/src/main/assets/templates.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euptron/CodeOps-Studio/6a042d07a8633fd791a4ded1a6a9475365d6433a/app/src/main/assets/templates.zip -------------------------------------------------------------------------------- /app/src/main/googlePlay.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euptron/CodeOps-Studio/6a042d07a8633fd791a4ded1a6a9475365d6433a/app/src/main/googlePlay.png -------------------------------------------------------------------------------- /app/src/main/java/com/eup/codeopsstudio/domain/events/EditorModificationEvent.java: -------------------------------------------------------------------------------- 1 | /************************************************************************* 2 | * This file is part of CodeOps Studio. 3 | * CodeOps Studio - Code anywhere anytime 4 | * https://github.com/euptron/CodeOps-Studio 5 | * Copyright (C) 2024-2025 EUP 6 | * 7 | * This program is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published by 9 | * the Free Software Foundation, either version 3 of the License, or 10 | * (at your option) any later version. 11 | * 12 | * This program is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with this program. If not, see https://www.gnu.org/licenses/ 19 | * 20 | * If you have more questions, feel free to message EUP if you have any 21 | * questions or need additional information. Email: etido.up@gmail.com 22 | *************************************************************************/ 23 | 24 | package com.eup.codeopsstudio.domain.events; 25 | 26 | import com.eup.codeopsstudio.common.models.BaseEvent; 27 | 28 | /** 29 | * Events requested when editor is modified 30 | * 31 | * @author EUP 32 | */ 33 | public class EditorModificationEvent extends BaseEvent { 34 | 35 | public final boolean isModified; 36 | 37 | public EditorModificationEvent(boolean isModified) { 38 | this.isModified = isModified; 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /app/src/main/java/com/eup/codeopsstudio/domain/events/PaneEvent.java: -------------------------------------------------------------------------------- 1 | /************************************************************************* 2 | * This file is part of CodeOps Studio. 3 | * CodeOps Studio - Code anywhere anytime 4 | * https://github.com/euptron/CodeOps-Studio 5 | * Copyright (C) 2024-2025 EUP 6 | * 7 | * This program is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published by 9 | * the Free Software Foundation, either version 3 of the License, or 10 | * (at your option) any later version. 11 | * 12 | * This program is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with this program. If not, see https://www.gnu.org/licenses/ 19 | * 20 | * If you have more questions, feel free to message EUP if you have any 21 | * questions or need additional information. Email: etido.up@gmail.com 22 | *************************************************************************/ 23 | 24 | package com.eup.codeopsstudio.domain.events; 25 | 26 | import com.eup.codeopsstudio.pane.Pane; 27 | import com.eup.codeopsstudio.common.models.BaseEvent; 28 | 29 | /** 30 | * Event for managing panes 31 | * 32 | * @see MainFragment 33 | * @see BaseFragment 34 | */ 35 | public class PaneEvent extends BaseEvent { 36 | 37 | public final Pane pane; 38 | 39 | public PaneEvent(Pane pane) { 40 | this.pane = pane; 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /app/src/main/java/com/eup/codeopsstudio/git/CloneListener.java: -------------------------------------------------------------------------------- 1 | /************************************************************************* 2 | * This file is part of CodeOps Studio. 3 | * CodeOps Studio - Code anywhere anytime 4 | * https://github.com/euptron/CodeOps-Studio 5 | * Copyright (C) 2024-2025 EUP 6 | * 7 | * This program is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published by 9 | * the Free Software Foundation, either version 3 of the License, or 10 | * (at your option) any later version. 11 | * 12 | * This program is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with this program. If not, see https://www.gnu.org/licenses/ 19 | * 20 | * If you have more questions, feel free to message EUP if you have any 21 | * questions or need additional information. Email: etido.up@gmail.com 22 | *************************************************************************/ 23 | 24 | package com.eup.codeopsstudio.git; 25 | 26 | import java.io.File; 27 | 28 | public interface CloneListener { 29 | 30 | void onCloneSuccess(File file); 31 | 32 | void onCloneFailed(String e); 33 | 34 | void onUpdateMessage(String message); 35 | 36 | void onProgress(int progress); 37 | } 38 | -------------------------------------------------------------------------------- /app/src/main/java/com/eup/codeopsstudio/listeners/Result.java: -------------------------------------------------------------------------------- 1 | /************************************************************************* 2 | * This file is part of CodeOps Studio. 3 | * CodeOps Studio - Code anywhere anytime 4 | * https://github.com/euptron/CodeOps-Studio 5 | * Copyright (C) 2024-2025 EUP 6 | * 7 | * This program is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published by 9 | * the Free Software Foundation, either version 3 of the License, or 10 | * (at your option) any later version. 11 | * 12 | * This program is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with this program. If not, see https://www.gnu.org/licenses/ 19 | * 20 | * If you have more questions, feel free to message EUP if you have any 21 | * questions or need additional information. Email: etido.up@gmail.com 22 | *************************************************************************/ 23 | 24 | package com.eup.codeopsstudio.listeners; 25 | 26 | public interface Result { 27 | public void onResult(R result); 28 | } 29 | -------------------------------------------------------------------------------- /app/src/main/java/com/eup/codeopsstudio/listeners/ResultListener.java: -------------------------------------------------------------------------------- 1 | /************************************************************************* 2 | * This file is part of CodeOps Studio. 3 | * CodeOps Studio - Code anywhere anytime 4 | * https://github.com/euptron/CodeOps-Studio 5 | * Copyright (C) 2024-2025 EUP 6 | * 7 | * This program is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published by 9 | * the Free Software Foundation, either version 3 of the License, or 10 | * (at your option) any later version. 11 | * 12 | * This program is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with this program. If not, see https://www.gnu.org/licenses/ 19 | * 20 | * If you have more questions, feel free to message EUP if you have any 21 | * questions or need additional information. Email: etido.up@gmail.com 22 | *************************************************************************/ 23 | 24 | package com.eup.codeopsstudio.listeners; 25 | 26 | public interface ResultListener { 27 | public void onResult(T result); 28 | } 29 | -------------------------------------------------------------------------------- /app/src/main/java/com/eup/codeopsstudio/models/recents/ProjectHistory.java: -------------------------------------------------------------------------------- 1 | /************************************************************************* 2 | * This file is part of CodeOps Studio. 3 | * CodeOps Studio - Code anywhere anytime 4 | * https://github.com/euptron/CodeOps-Studio 5 | * Copyright (C) 2024-2025 EUP 6 | * 7 | * This program is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published by 9 | * the Free Software Foundation, either version 3 of the License, or 10 | * (at your option) any later version. 11 | * 12 | * This program is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with this program. If not, see https://www.gnu.org/licenses/ 19 | * 20 | * If you have more questions, feel free to message EUP if you have any 21 | * questions or need additional information. Email: etido.up@gmail.com 22 | *************************************************************************/ 23 | 24 | package com.eup.codeopsstudio.models.recents; 25 | 26 | import com.eup.codeopsstudio.domain.FileAction; 27 | 28 | /** 29 | * Model class for projects 30 | * 31 | * @author EUP 32 | */ 33 | public class ProjectHistory { 34 | 35 | public final long creationDate; 36 | public final FileAction fileAction; 37 | 38 | public ProjectHistory(long date, FileAction act) { 39 | this.creationDate = date; 40 | this.fileAction = act; 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_main.xml: -------------------------------------------------------------------------------- 1 | 2 | 24 | 25 | 29 | 30 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /assets/breadcrumbs.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euptron/CodeOps-Studio/6a042d07a8633fd791a4ded1a6a9475365d6433a/assets/breadcrumbs.jpeg -------------------------------------------------------------------------------- /assets/cos_banner.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euptron/CodeOps-Studio/6a042d07a8633fd791a4ded1a6a9475365d6433a/assets/cos_banner.jpeg -------------------------------------------------------------------------------- /assets/editor.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euptron/CodeOps-Studio/6a042d07a8633fd791a4ded1a6a9475365d6433a/assets/editor.jpeg -------------------------------------------------------------------------------- /assets/filetree.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euptron/CodeOps-Studio/6a042d07a8633fd791a4ded1a6a9475365d6433a/assets/filetree.jpeg -------------------------------------------------------------------------------- /assets/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euptron/CodeOps-Studio/6a042d07a8633fd791a4ded1a6a9475365d6433a/assets/icon.png -------------------------------------------------------------------------------- /assets/intro.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euptron/CodeOps-Studio/6a042d07a8633fd791a4ded1a6a9475365d6433a/assets/intro.jpeg -------------------------------------------------------------------------------- /assets/jsconsole.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euptron/CodeOps-Studio/6a042d07a8633fd791a4ded1a6a9475365d6433a/assets/jsconsole.jpeg -------------------------------------------------------------------------------- /assets/site_preview.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euptron/CodeOps-Studio/6a042d07a8633fd791a4ded1a6a9475365d6433a/assets/site_preview.jpeg -------------------------------------------------------------------------------- /ast-core/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /ast-core/consumer-rules.pro: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euptron/CodeOps-Studio/6a042d07a8633fd791a4ded1a6a9475365d6433a/ast-core/consumer-rules.pro -------------------------------------------------------------------------------- /ast-core/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 -------------------------------------------------------------------------------- /ast-core/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /ast-core/src/main/java/com/eup/codeops/ast/core/exception/NodeNotFoundException.java: -------------------------------------------------------------------------------- 1 | /************************************************************************* 2 | * This file is part of CodeOps Studio. 3 | * CodeOps Studio - Code anywhere anytime 4 | * https://github.com/euptron/CodeOps-Studio 5 | * Copyright (C) 2024-2025 EUP 6 | * 7 | * This program is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published by 9 | * the Free Software Foundation, either version 3 of the License, or 10 | * (at your option) any later version. 11 | * 12 | * This program is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with this program. If not, see https://www.gnu.org/licenses/ 19 | * 20 | * If you have more questions, feel free to message EUP if you have any 21 | * questions or need additional information. Email: etido.up@gmail.com 22 | *************************************************************************/ 23 | 24 | package com.eup.codeops.ast.core.exception; 25 | 26 | /** 27 | * Thrown when code requests a {@link Node} that does not exist. 28 | * 29 | * @see Property#of(java.lang.Class, java.lang.Class, java.lang.String) 30 | * @version 1.0 31 | * @since 1.0 32 | * @author EUP (2024-08-18) 33 | */ 34 | public class NodeNotFoundException extends RuntimeException { 35 | 36 | public NodeNotFoundException(String s) { 37 | super(s); 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /ast-core/src/main/java/com/eup/codeops/ast/core/filters/Filter.java: -------------------------------------------------------------------------------- 1 | /************************************************************************* 2 | * This file is part of CodeOps Studio. 3 | * CodeOps Studio - Code anywhere anytime 4 | * https://github.com/euptron/CodeOps-Studio 5 | * Copyright (C) 2024-2025 EUP 6 | * 7 | * This program is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published by 9 | * the Free Software Foundation, either version 3 of the License, or 10 | * (at your option) any later version. 11 | * 12 | * This program is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with this program. If not, see https://www.gnu.org/licenses/ 19 | * 20 | * If you have more questions, feel free to message EUP if you have any 21 | * questions or need additional information. Email: etido.up@gmail.com 22 | *************************************************************************/ 23 | 24 | package com.eup.codeops.ast.core.filters; 25 | 26 | /** 27 | * Base filter class 28 | * 29 | * @param the type of object to filter 30 | * @version 1.0 31 | * @since 1.0 32 | * @author EUP (2024-08-22) 33 | */ 34 | public abstract class Filter { 35 | /** 36 | * Filters the object 37 | * 38 | * @param object the object to filter 39 | * @return true if object satisfies conditions, false otherwise 40 | */ 41 | public abstract boolean filter(T object); 42 | } 43 | -------------------------------------------------------------------------------- /batch_rename.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Function to replace text in a file 4 | replace_text() { 5 | local file="$1" 6 | local search_text="$2" 7 | local replace_text="$3" 8 | 9 | # Use grep to check if the search text exists in the file 10 | if grep -qw "$search_text" "$file"; then 11 | # Perform the replacement using sed 12 | sed -i "s/\b${search_text}\b/${replace_text}/g" "$file" 13 | echo "Replacing \"$search_text\" with \"$replace_text\" in $file" 14 | else 15 | echo "No match for \"$search_text\" found in $file" 16 | fi 17 | } 18 | 19 | # Export the function to be used with find 20 | export -f replace_text 21 | 22 | # Prompt the user for the text to be replaced and the replacement text 23 | read -p "Enter the text to be replaced: " search_text 24 | read -p "Enter the replacement text: " replace_text 25 | 26 | # Directory to search for files (current directory) 27 | SEARCH_DIR=$(pwd) 28 | 29 | # Find and process files with specific extensions 30 | find "$SEARCH_DIR" -type f \( -name "*.java" -o -name "*.py" -o -name "*.cpp" -o -name "*.xml" -o -name "*.gradle" -o -name "*.kts" -o -name "*.kt" -o -name "*.sh" \) -exec bash -c 'replace_text "$0" '"$search_text"' '"$replace_text"'' {} \; 31 | 32 | echo "Text replacement process completed." 33 | -------------------------------------------------------------------------------- /batch_rename_folder.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Function to replace text in a directory name 4 | replace_text_in_dir() { 5 | local dir="$1" 6 | local search_text="$2" 7 | local replace_text="$3" 8 | 9 | # Get the new directory name 10 | local new_dir=$(echo "$dir" | sed "s/\b${search_text}\b/${replace_text}/g") 11 | 12 | # Check if the new directory name is different from the old one 13 | if [[ "$dir" != "$new_dir" ]]; then 14 | # Rename the directory 15 | mv "$dir" "$new_dir" 16 | echo "Renamed \"$dir\" to \"$new_dir\"" 17 | else 18 | echo "No match for \"$search_text\" found in \"$dir\"" 19 | fi 20 | } 21 | 22 | # Export the function to be used with find 23 | export -f replace_text_in_dir 24 | 25 | # Prompt the user for the text to be replaced and the replacement text 26 | read -p "Enter the text to be replaced: " search_text 27 | read -p "Enter the replacement text: " replace_text 28 | 29 | # Directory to search for directories (current directory) 30 | SEARCH_DIR=$(pwd) 31 | 32 | # Find and process directories 33 | find "$SEARCH_DIR" -type d -exec bash -c 'replace_text_in_dir "$0" '"$search_text"' '"$replace_text"'' {} \; 34 | 35 | echo "Directory renaming process completed." 36 | -------------------------------------------------------------------------------- /code-editor/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /code-editor/README.md: -------------------------------------------------------------------------------- 1 | # CodeOps Studio-CodeEditor 2 | 3 | ## Thanks to 4 | - [Rosemoe](https://github.com/Rosemoe) for an amazing [CodeEditor](https://github.com/Rosemoe/sora-editor) 5 | -------------------------------------------------------------------------------- /code-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 -------------------------------------------------------------------------------- /code-editor/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/bat/language-configuration.json: -------------------------------------------------------------------------------- 1 | {"comments":{"lineComment":"@REM"},"brackets":[["{","}"],["[","]"],["(",")"]],"autoClosingPairs":[["{","}"],["[","]"],["(",")"],{"open":"\"","close":"\"","notIn":["string"]}],"surroundingPairs":[["{","}"],["[","]"],["(",")"],["%","%"],["\"","\""]],"folding":{"markers":{"start":"^\\s*(::|REM|@REM)\\s*#region","end":"^\\s*(::|REM|@REM)\\s*#endregion"}}} -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/bat/package.json: -------------------------------------------------------------------------------- 1 | {"name":"bat","displayName":"%displayName%","description":"%description%","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"^1.52.0"},"scripts":{"update-grammar":"node ../node_modules/vscode-grammar-updater/bin mmims/language-batchfile grammars/batchfile.cson ./syntaxes/batchfile.tmLanguage.json"},"contributes":{"languages":[{"id":"bat","extensions":[".bat",".cmd"],"aliases":["Batch","bat"],"configuration":"./language-configuration.json"}],"grammars":[{"language":"bat","scopeName":"source.batchfile","path":"./syntaxes/batchfile.tmLanguage.json"}],"snippets":[{"language":"bat","path":"./snippets/batchfile.code-snippets"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}} -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/bat/package.nls.json: -------------------------------------------------------------------------------- 1 | {"displayName":"Windows Bat Language Basics","description":"Provides snippets, syntax highlighting, bracket matching and folding in Windows batch files."} -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/clojure/language-configuration.json: -------------------------------------------------------------------------------- 1 | {"comments":{"lineComment":";;"},"brackets":[["{","}"],["[","]"],["(",")"]],"autoClosingPairs":[["{","}"],["[","]"],["(",")"],{"open":"\"","close":"\"","notIn":["string"]}],"surroundingPairs":[["{","}"],["[","]"],["(",")"],["\"","\""]],"folding":{"offSide":true}} -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/clojure/package.json: -------------------------------------------------------------------------------- 1 | {"name":"clojure","displayName":"%displayName%","description":"%description%","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"scripts":{"update-grammar":"node ../node_modules/vscode-grammar-updater/bin atom/language-clojure grammars/clojure.cson ./syntaxes/clojure.tmLanguage.json"},"contributes":{"languages":[{"id":"clojure","aliases":["Clojure","clojure"],"extensions":[".clj",".cljs",".cljc",".cljx",".clojure",".edn"],"configuration":"./language-configuration.json"}],"grammars":[{"language":"clojure","scopeName":"source.clojure","path":"./syntaxes/clojure.tmLanguage.json"}],"configurationDefaults":{"[clojure]":{"diffEditor.ignoreTrimWhitespace":false}}},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}} -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/clojure/package.nls.json: -------------------------------------------------------------------------------- 1 | {"displayName":"Clojure Language Basics","description":"Provides syntax highlighting and bracket matching in Clojure files."} -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/coffeescript/language-configuration.json: -------------------------------------------------------------------------------- 1 | {"comments":{"lineComment":"#","blockComment":["###","###"]},"brackets":[["{","}"],["[","]"],["(",")"]],"autoClosingPairs":[["{","}"],["[","]"],["(",")"],{"open":"\"","close":"\"","notIn":["string"]},{"open":"'","close":"'","notIn":["string"]}],"surroundingPairs":[["{","}"],["[","]"],["(",")"],["\"","\""],["'","'"],[" "," "]],"folding":{"offSide":true,"markers":{"start":"^\\s*#region\\b","end":"^\\s*#endregion\\b"}}} -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/coffeescript/package.json: -------------------------------------------------------------------------------- 1 | {"name":"coffeescript","displayName":"%displayName%","description":"%description%","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"scripts":{"update-grammar":"node ../node_modules/vscode-grammar-updater/bin atom/language-coffee-script grammars/coffeescript.cson ./syntaxes/coffeescript.tmLanguage.json"},"contributes":{"languages":[{"id":"coffeescript","extensions":[".coffee",".cson",".iced"],"aliases":["CoffeeScript","coffeescript","coffee"],"configuration":"./language-configuration.json"}],"grammars":[{"language":"coffeescript","scopeName":"source.coffee","path":"./syntaxes/coffeescript.tmLanguage.json"}],"breakpoints":[{"language":"coffeescript"}],"snippets":[{"language":"coffeescript","path":"./snippets/coffeescript.code-snippets"}],"configurationDefaults":{"[coffeescript]":{"diffEditor.ignoreTrimWhitespace":false}}},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}} -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/coffeescript/package.nls.json: -------------------------------------------------------------------------------- 1 | {"displayName":"CoffeeScript Language Basics","description":"Provides snippets, syntax highlighting, bracket matching and folding in CoffeeScript files."} -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/cpp/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 | "open": "[", 26 | "close": "]" 27 | }, 28 | { 29 | "open": "{", 30 | "close": "}" 31 | }, 32 | { 33 | "open": "(", 34 | "close": ")" 35 | }, 36 | { 37 | "open": "\u0027", 38 | "close": "\u0027", 39 | "notIn": [ 40 | "string", 41 | "comment" 42 | ] 43 | }, 44 | { 45 | "open": "\"", 46 | "close": "\"", 47 | "notIn": [ 48 | "string" 49 | ] 50 | }, 51 | { 52 | "open": "/*", 53 | "close": "*/", 54 | "notIn": [ 55 | "string", 56 | "comment" 57 | ] 58 | } 59 | ], 60 | "surroundingPairs": [ 61 | [ 62 | "{", 63 | "}" 64 | ], 65 | [ 66 | "[", 67 | "]" 68 | ], 69 | [ 70 | "(", 71 | ")" 72 | ], 73 | [ 74 | "\"", 75 | "\"" 76 | ], 77 | [ 78 | "\u0027", 79 | "\u0027" 80 | ], 81 | [ 82 | "\u003c", 83 | "\u003e" 84 | ] 85 | ], 86 | "wordPattern": "(-?\\d*\\.\\d\\w*)|([^\\`\\~\\!\\@\\#\\%\\^\\\u0026\\*\\(\\)\\-\\\u003d\\+\\[\\{\\]\\}\\\\\\|\\;\\:\\\u0027\\\"\\,\\.\\\u003c\\\u003e\\/\\?\\s]+)", 87 | "folding": { 88 | "markers": { 89 | "start": "^\\s*#pragma\\s+region\\b", 90 | "end": "^\\s*#pragma\\s+endregion\\b" 91 | } 92 | } 93 | } -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/cpp/package.nls.json: -------------------------------------------------------------------------------- 1 | { 2 | "displayName": "C/C++ Language Basics", 3 | "description": "Provides snippets, syntax highlighting, bracket matching and folding in C/C++ files." 4 | } -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/csharp/language-configuration.json: -------------------------------------------------------------------------------- 1 | {"comments":{"lineComment":"//","blockComment":["/*","*/"]},"brackets":[["{","}"],["[","]"],["(",")"]],"autoClosingPairs":[["{","}"],["[","]"],["(",")"],{"open":"'","close":"'","notIn":["string","comment"]},{"open":"\"","close":"\"","notIn":["string","comment"]}],"surroundingPairs":[["{","}"],["[","]"],["(",")"],["<",">"],["'","'"],["\"","\""]],"folding":{"markers":{"start":"^\\s*#region\\b","end":"^\\s*#endregion\\b"}}} -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/csharp/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "csharp", 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 dotnet/csharp-tmLanguage grammars/csharp.tmLanguage ./syntaxes/csharp.tmLanguage.json" 13 | }, 14 | "contributes": { 15 | "configurationDefaults": { 16 | "[csharp]": { 17 | "editor.maxTokenizationLineLength": 2500 18 | } 19 | }, 20 | "languages": [ 21 | { 22 | "id": "csharp", 23 | "extensions": [ 24 | ".cs", 25 | ".csx", 26 | ".cake" 27 | ], 28 | "aliases": [ 29 | "C#", 30 | "csharp" 31 | ], 32 | "configuration": "./language-configuration.json" 33 | } 34 | ], 35 | "grammars": [ 36 | { 37 | "language": "csharp", 38 | "scopeName": "source.cs", 39 | "path": "./syntaxes/csharp.tmLanguage.json" 40 | } 41 | ], 42 | "snippets": [ 43 | { 44 | "language": "csharp", 45 | "path": "./snippets/csharp.code-snippets" 46 | } 47 | ] 48 | }, 49 | "repository": { 50 | "type": "git", 51 | "url": "https://github.com/microsoft/vscode.git" 52 | } 53 | } -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/csharp/package.nls.json: -------------------------------------------------------------------------------- 1 | {"displayName":"C# Language Basics","description":"Provides snippets, syntax highlighting, bracket matching and folding in C# files."} -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/css/language-configuration.json: -------------------------------------------------------------------------------- 1 | {"comments":{"blockComment":["/*","*/"]},"brackets":[["{","}"],["[","]"],["(",")"]],"autoClosingPairs":[{"open":"{","close":"}","notIn":["string","comment"]},{"open":"[","close":"]","notIn":["string","comment"]},{"open":"(","close":")","notIn":["string","comment"]},{"open":"\"","close":"\"","notIn":["string","comment"]},{"open":"'","close":"'","notIn":["string","comment"]}],"surroundingPairs":[["{","}"],["[","]"],["(",")"],["\"","\""],["'","'"]],"folding":{"markers":{"start":"^\\s*\\/\\*\\s*#region\\b\\s*(.*?)\\s*\\*\\/","end":"^\\s*\\/\\*\\s*#endregion\\b.*\\*\\/"}},"indentationRules":{"increaseIndentPattern":"(^.*\\{[^}]*$)","decreaseIndentPattern":"^\\s*\\}"},"wordPattern":"(#?-?\\d*\\.\\d\\w*%?)|(::?[\\w-]*(?=[^,{;]*[,{]))|(([@#.!])?[\\w-?]+%?|[@#!.])"} -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/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 | } -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/css/package.nls.json: -------------------------------------------------------------------------------- 1 | {"displayName":"CSS Language Basics","description":"Provides syntax highlighting and bracket matching for CSS, LESS and SCSS files."} -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/dart/language-configuration.json: -------------------------------------------------------------------------------- 1 | {"comments":{"lineComment":"//","blockComment":["/*","*/"]},"brackets":[["{","}"],["[","]"],["(",")"]],"autoClosingPairs":[{"open":"{","close":"}"},{"open":"[","close":"]"},{"open":"(","close":")"},{"open":"'","close":"'","notIn":["string","comment"]},{"open":"\"","close":"\"","notIn":["string"]},{"open":"`","close":"`","notIn":["string","comment"]},{"open":"/**","close":" */","notIn":["string"]}],"surroundingPairs":[["{","}"],["[","]"],["(",")"],["<",">"],["'","'"],["\"","\""],["`","`"]]} -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/dart/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "dart", 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 dart-lang/dart-syntax-highlight grammars/dart.json ./syntaxes/dart.tmLanguage.json" 13 | }, 14 | "contributes": { 15 | "languages": [ 16 | { 17 | "id": "dart", 18 | "extensions": [ 19 | ".dart" 20 | ], 21 | "aliases": [ 22 | "Dart" 23 | ], 24 | "configuration": "./language-configuration.json" 25 | } 26 | ], 27 | "grammars": [ 28 | { 29 | "language": "dart", 30 | "scopeName": "source.dart", 31 | "path": "./syntaxes/dart.tmLanguage.json" 32 | } 33 | ] 34 | } 35 | } -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/dart/package.nls.json: -------------------------------------------------------------------------------- 1 | {"displayName":"Dart Language Basics","description":"Provides syntax highlighting & bracket matching in Dart files."} -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/diff/language-configuration.json: -------------------------------------------------------------------------------- 1 | {"comments":{"lineComment":"#","blockComment":["#"," "]},"brackets":[["{","}"],["[","]"],["(",")"]]} -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/diff/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "diff", 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 textmate/diff.tmbundle Syntaxes/Diff.plist ./syntaxes/diff.tmLanguage.json" 13 | }, 14 | "contributes": { 15 | "languages": [ 16 | { 17 | "id": "diff", 18 | "aliases": [ 19 | "Diff", 20 | "diff" 21 | ], 22 | "extensions": [ 23 | ".diff", 24 | ".patch", 25 | ".rej" 26 | ], 27 | "configuration": "./language-configuration.json" 28 | } 29 | ], 30 | "grammars": [ 31 | { 32 | "language": "diff", 33 | "scopeName": "source.diff", 34 | "path": "./syntaxes/diff.tmLanguage.json" 35 | } 36 | ] 37 | } 38 | } -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/diff/package.nls.json: -------------------------------------------------------------------------------- 1 | {"displayName":"Diff Language Basics","description":"Provides syntax highlighting & bracket matching in Diff files."} -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/docker/language-configuration.json: -------------------------------------------------------------------------------- 1 | {"comments":{"lineComment":"#"},"brackets":[["{","}"],["[","]"],["(",")"]],"autoClosingPairs":[["{","}"],["[","]"],["(",")"],["\"","\""],["'","'"]],"surroundingPairs":[["{","}"],["[","]"],["(",")"],["\"","\""],["'","'"]]} -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/docker/package.nls.json: -------------------------------------------------------------------------------- 1 | {"displayName":"Docker Language Basics","description":"Provides syntax highlighting and bracket matching in Docker files."} -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/fsharp/language-configuration.json: -------------------------------------------------------------------------------- 1 | {"comments":{"lineComment":"//","blockComment":["(*","*)"]},"brackets":[["{","}"],["[","]"],["(",")"]],"autoClosingPairs":[{"open":"{","close":"}"},{"open":"[","close":"]"},{"open":"(","close":")"},{"open":"\"","close":"\"","notIn":["string"]}],"surroundingPairs":[["{","}"],["[","]"],["(",")"],["\"","\""],["'","'"]],"folding":{"offSide":true,"markers":{"start":"^\\s*//\\s*#region\\b|^\\s*\\(\\*\\s*#region(.*)\\*\\)","end":"^\\s*//\\s*#endregion\\b|^\\s*\\(\\*\\s*#endregion\\s*\\*\\)"}}} -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/fsharp/package.nls.json: -------------------------------------------------------------------------------- 1 | {"displayName":"F# Language Basics","description":"Provides snippets, syntax highlighting, bracket matching and folding in F# files."} -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/fsharp/snippets/fsharp.code-snippets: -------------------------------------------------------------------------------- 1 | {"Region Start":{"prefix":"#region","body":["//#region $0"],"description":"Folding Region Start"},"Region End":{"prefix":"#endregion","body":["//#endregion"],"description":"Folding Region End"}} -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/git-base/README.md: -------------------------------------------------------------------------------- 1 | # Git static contributions and remote repository picker 2 | 3 | **Notice:** This extension is bundled with Visual Studio Code. It can be disabled but not uninstalled. 4 | 5 | ## Features 6 | 7 | Git static contributions and remote repository picker. 8 | 9 | ## API 10 | 11 | The Git extension exposes an API, reachable by any other extension. 12 | 13 | 1. Copy `src/api/git-base.d.ts` to your extension's sources; 14 | 2. Include `git-base.d.ts` in your extension's compilation. 15 | 3. Get a hold of the API with the following snippet: 16 | 17 | ```ts 18 | const gitBaseExtension = vscode.extensions.getExtension('vscode.git-base').exports; 19 | const git = gitBaseExtension.getAPI(1); 20 | ``` 21 | -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/git-base/languages/git-commit.language-configuration.json: -------------------------------------------------------------------------------- 1 | {"comments":{"lineComment":"#","blockComment":["#"," "]},"brackets":[["{","}"],["[","]"],["(",")"]]} -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/git-base/languages/git-rebase.language-configuration.json: -------------------------------------------------------------------------------- 1 | {"comments":{"lineComment":"#","blockComment":["#"," "]},"brackets":[["{","}"],["[","]"],["(",")"]]} -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/git-base/languages/ignore.language-configuration.json: -------------------------------------------------------------------------------- 1 | {"comments":{"lineComment":"#"}} -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/git-base/package.nls.json: -------------------------------------------------------------------------------- 1 | {"displayName":"Git Base","description":"Git static contributions and pickers.","command.api.getRemoteSources":"Get Remote Sources"} -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/git-base/resources/icons/git.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euptron/CodeOps-Studio/6a042d07a8633fd791a4ded1a6a9475365d6433a/code-editor/src/main/assets/editor/textmate/git-base/resources/icons/git.png -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/git-base/syntaxes/git-rebase.tmLanguage.json: -------------------------------------------------------------------------------- 1 | {"information_for_contributors":["This file has been converted from https://github.com/textmate/git.tmbundle/blob/master/Syntaxes/Git%20Rebase%20Message.tmLanguage","If you want to provide a fix or improvement, please create a pull request against the original repository.","Once accepted there, we are happy to receive an update request."],"version":"https://github.com/textmate/git.tmbundle/commit/5870cf3f8abad3a6637bdf69250b5d2ded427dc4","name":"Git Rebase Message","scopeName":"text.git-rebase","patterns":[{"captures":{"1":{"name":"punctuation.definition.comment.git-rebase"}},"match":"^\\s*(#).*$\\n?","name":"comment.line.number-sign.git-rebase"},{"captures":{"1":{"name":"support.function.git-rebase"},"2":{"name":"constant.sha.git-rebase"},"3":{"name":"meta.commit-message.git-rebase"}},"match":"^\\s*(pick|p|reword|r|edit|e|squash|s|fixup|f|drop|d)\\s+([0-9a-f]+)\\s+(.*)$","name":"meta.commit-command.git-rebase"},{"captures":{"1":{"name":"support.function.git-rebase"},"2":{"patterns":[{"include":"source.shell"}]}},"match":"^\\s*(exec|x)\\s+(.*)$","name":"meta.commit-command.git-rebase"},{"captures":{"1":{"name":"support.function.git-rebase"}},"match":"^\\s*(break|b)\\s*$","name":"meta.commit-command.git-rebase"}]} -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/git-base/syntaxes/ignore.tmLanguage.json: -------------------------------------------------------------------------------- 1 | {"name":"Ignore","scopeName":"source.ignore","patterns":[{"match":"^#.*","name":"comment.line.number-sign.ignore"}]} -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/go/language-configuration.json: -------------------------------------------------------------------------------- 1 | {"comments":{"lineComment":"//","blockComment":["/*","*/"]},"brackets":[["{","}"],["[","]"],["(",")"]],"autoClosingPairs":[["{","}"],["[","]"],["(",")"],{"open":"`","close":"`","notIn":["string"]},{"open":"\"","close":"\"","notIn":["string"]},{"open":"'","close":"'","notIn":["string","comment"]}],"surroundingPairs":[["{","}"],["[","]"],["(",")"],["\"","\""],["'","'"],["`","`"]],"indentationRules":{"increaseIndentPattern":"^.*(\\bcase\\b.*:|\\bdefault\\b:|(\\b(func|if|else|switch|select|for|struct)\\b.*)?{[^}\"'`]*|\\([^)\"'`]*)$","decreaseIndentPattern":"^\\s*(\\bcase\\b.*:|\\bdefault\\b:|}[)}]*[),]?|\\)[,]?)$"},"folding":{"markers":{"start":"^\\s*//\\s*#?region\\b","end":"^\\s*//\\s*#?endregion\\b"}}} -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/go/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "go", 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 jeff-hykin/better-go-syntax export/generated.tmLanguage.json ./syntaxes/go.tmLanguage.json" 13 | }, 14 | "contributes": { 15 | "languages": [ 16 | { 17 | "id": "go", 18 | "extensions": [ 19 | ".go" 20 | ], 21 | "aliases": [ 22 | "Go" 23 | ], 24 | "configuration": "./language-configuration.json" 25 | } 26 | ], 27 | "grammars": [ 28 | { 29 | "language": "go", 30 | "scopeName": "source.go", 31 | "path": "./syntaxes/go.tmLanguage.json" 32 | } 33 | ], 34 | "configurationDefaults": { 35 | "[go]": { 36 | "editor.insertSpaces": false 37 | } 38 | } 39 | }, 40 | "repository": { 41 | "type": "git", 42 | "url": "https://github.com/microsoft/vscode.git" 43 | } 44 | } -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/go/package.nls.json: -------------------------------------------------------------------------------- 1 | {"displayName":"Go Language Basics","description":"Provides syntax highlighting and bracket matching in Go files."} -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/groovy/language-configuration.json: -------------------------------------------------------------------------------- 1 | {"comments":{"lineComment":"//","blockComment":["/*","*/"]},"brackets":[["{","}"],["[","]"],["(",")"]],"autoClosingPairs":[["{","}"],["[","]"],["(",")"],{"open":"\"","close":"\"","notIn":["string"]},{"open":"'","close":"'","notIn":["string"]}],"surroundingPairs":[["{","}"],["[","]"],["(",")"],["\"","\""],["'","'"]]} -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/groovy/package.nls.json: -------------------------------------------------------------------------------- 1 | {"displayName":"Groovy Language Basics","description":"Provides snippets, syntax highlighting and bracket matching in Groovy files."} -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/handlebars/language-configuration.json: -------------------------------------------------------------------------------- 1 | {"comments":{"blockComment":["{{!--","--}}"]},"brackets":[[""],["<",">"],["{{","}}"],["{{{","}}}"],["{","}"],["(",")"]],"autoClosingPairs":[{"open":"{","close":"}"},{"open":"[","close":"]"},{"open":"(","close":")"},{"open":"'","close":"'"},{"open":"\"","close":"\""}],"surroundingPairs":[{"open":"'","close":"'"},{"open":"\"","close":"\""},{"open":"<","close":">"},{"open":"{","close":"}"}],"wordPattern":"(-?\\d*\\.\\d\\w*)|([^\\`\\~\\!\\@\\$\\^\\&\\*\\(\\)\\=\\+\\[\\{\\]\\}\\\\\\|\\;\\:\\'\\\"\\,\\.\\<\\>\\/\\s]+)","onEnterRules":[{"beforeText":{"pattern":"<(?!(?:area|base|br|col|embed|hr|img|input|keygen|link|menuitem|meta|param|source|track|wbr))([_:\\w][_:\\w-.\\d]*)([^/>]*(?!\\/)>)[^<]*$","flags":"i"},"afterText":{"pattern":"^<\\/([_:\\w][_:\\w-.\\d]*)\\s*>","flags":"i"},"action":{"indent":"indentOutdent"}},{"beforeText":{"pattern":"<(?!(?:area|base|br|col|embed|hr|img|input|keygen|link|menuitem|meta|param|source|track|wbr))(\\w[\\w\\d]*)([^/>]*(?!\\/)>)[^<]*$","flags":"i"},"action":{"indent":"indent"}}]} -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/handlebars/package.nls.json: -------------------------------------------------------------------------------- 1 | {"displayName":"Handlebars Language Basics","description":"Provides syntax highlighting and bracket matching in Handlebars files."} -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/hlsl/language-configuration.json: -------------------------------------------------------------------------------- 1 | {"comments":{"lineComment":"//","blockComment":["/*","*/"]},"brackets":[["{","}"],["[","]"],["(",")"]],"autoClosingPairs":[["{","}"],["[","]"],["(",")"],["\"","\""]],"surroundingPairs":[["{","}"],["[","]"],["(",")"],["\"","\""]]} -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/hlsl/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "hlsl", 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 tgjones/shaders-tmLanguage grammars/hlsl.json ./syntaxes/hlsl.tmLanguage.json" 13 | }, 14 | "contributes": { 15 | "languages": [ 16 | { 17 | "id": "hlsl", 18 | "extensions": [ 19 | ".hlsl", 20 | ".hlsli", 21 | ".fx", 22 | ".fxh", 23 | ".vsh", 24 | ".psh", 25 | ".cginc", 26 | ".compute" 27 | ], 28 | "aliases": [ 29 | "HLSL", 30 | "hlsl" 31 | ], 32 | "configuration": "./language-configuration.json" 33 | } 34 | ], 35 | "grammars": [ 36 | { 37 | "language": "hlsl", 38 | "path": "./syntaxes/hlsl.tmLanguage.json", 39 | "scopeName": "source.hlsl" 40 | } 41 | ] 42 | }, 43 | "repository": { 44 | "type": "git", 45 | "url": "https://github.com/microsoft/vscode.git" 46 | } 47 | } -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/hlsl/package.nls.json: -------------------------------------------------------------------------------- 1 | {"displayName":"HLSL Language Basics","description":"Provides syntax highlighting and bracket matching in HLSL files."} -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/html/language-configuration.json: -------------------------------------------------------------------------------- 1 | {"comments":{"blockComment":[""]},"brackets":[[""],["{","}"],["(",")"]],"autoClosingPairs":[{"open":"{","close":"}"},{"open":"[","close":"]"},{"open":"(","close":")"},{"open":"'","close":"'"},{"open":"\"","close":"\""},{"open":"","notIn":["comment","string"]}],"surroundingPairs":[{"open":"'","close":"'"},{"open":"\"","close":"\""},{"open":"{","close":"}"},{"open":"[","close":"]"},{"open":"(","close":")"},{"open":"<","close":">"}],"colorizedBracketPairs":[],"folding":{"markers":{"start":"^\\s*","end":"^\\s*"}},"wordPattern":"(-?\\d*\\.\\d\\w*)|([^\\`\\~\\!\\@\\$\\^\\&\\*\\(\\)\\=\\+\\[\\{\\]\\}\\\\\\|\\;\\:\\'\\\"\\,\\.\\<\\>\\/\\s]+)","onEnterRules":[{"beforeText":{"pattern":"<(?!(?:area|base|br|col|embed|hr|img|input|keygen|link|menuitem|meta|param|source|track|wbr))([_:\\w][_:\\w-.\\d]*)(?:(?:[^'\"/>]|\"[^\"]*\"|'[^']*')*?(?!\\/)>)[^<]*$","flags":"i"},"afterText":{"pattern":"^<\\/([_:\\w][_:\\w-.\\d]*)\\s*>","flags":"i"},"action":{"indent":"indentOutdent"}},{"beforeText":{"pattern":"<(?!(?:area|base|br|col|embed|hr|img|input|keygen|link|menuitem|meta|param|source|track|wbr))([_:\\w][_:\\w-.\\d]*)(?:(?:[^'\"/>]|\"[^\"]*\"|'[^']*')*?(?!\\/)>)[^<]*$","flags":"i"},"action":{"indent":"indent"}}],"indentationRules":{"increaseIndentPattern":"<(?!\\?|(?:area|base|br|col|frame|hr|html|img|input|keygen|link|menuitem|meta|param|source|track|wbr)\\b|[^>]*\\/>)([-_\\.A-Za-z0-9]+)(?=\\s|>)\\b[^>]*>(?!.*<\\/\\1>)|)|\\{[^}\"']*$","decreaseIndentPattern":"^\\s*(<\\/(?!html)[-_\\.A-Za-z0-9]+\\b[^>]*>|-->|\\})"}} -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/html/package.nls.json: -------------------------------------------------------------------------------- 1 | {"displayName":"HTML Language Basics","description":"Provides syntax highlighting, bracket matching & snippets in HTML files."} -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/html/snippets/html.code-snippets: -------------------------------------------------------------------------------- 1 | {"html doc":{"isFileTemplate":true,"body":["","","","\t","\t${1:title}","","","\t$0","",""],"description":"HTML Document"}} -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/html/syntaxes/html-derivative.tmLanguage.json: -------------------------------------------------------------------------------- 1 | {"information_for_contributors":["This file has been converted from https://github.com/textmate/html.tmbundle/blob/master/Syntaxes/HTML%20%28Derivative%29.tmLanguage","If you want to provide a fix or improvement, please create a pull request against the original repository.","Once accepted there, we are happy to receive an update request."],"version":"https://github.com/textmate/html.tmbundle/commit/390c8870273a2ae80244dae6db6ba064a802f407","name":"HTML (Derivative)","scopeName":"text.html.derivative","injections":{"R:text.html - (comment.block, text.html meta.embedded, meta.tag.*.*.html, meta.tag.*.*.*.html, meta.tag.*.*.*.*.html)":{"comment":"Uses R: to ensure this matches after any other injections.","patterns":[{"match":"<","name":"invalid.illegal.bad-angle-bracket.html"}]}},"patterns":[{"include":"text.html.basic#core-minus-invalid"},{"begin":"(]*)(?)","endCaptures":{"1":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.other.unrecognized.html.derivative","patterns":[{"include":"text.html.basic#attribute"}]}]} -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/ini/ini.language-configuration.json: -------------------------------------------------------------------------------- 1 | {"comments":{"lineComment":";","blockComment":[";"," "]},"brackets":[["{","}"],["[","]"],["(",")"]],"autoClosingPairs":[["{","}"],["[","]"],["(",")"],{"open":"\"","close":"\"","notIn":["string"]},{"open":"'","close":"'","notIn":["string"]}],"surroundingPairs":[["{","}"],["[","]"],["(",")"],["\"","\""],["'","'"]]} -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/ini/package.nls.json: -------------------------------------------------------------------------------- 1 | {"displayName":"Ini Language Basics","description":"Provides syntax highlighting and bracket matching in Ini files."} -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/ini/properties.language-configuration.json: -------------------------------------------------------------------------------- 1 | {"comments":{"lineComment":"#","blockComment":["#"," "]},"brackets":[["{","}"],["[","]"],["(",")"]],"autoClosingPairs":[["{","}"],["[","]"],["(",")"],{"open":"\"","close":"\"","notIn":["string"]}],"surroundingPairs":[["{","}"],["[","]"],["(",")"],["\"","\""],["'","'"]]} -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/java/language-configuration.json: -------------------------------------------------------------------------------- 1 | {"comments":{"lineComment":"//","blockComment":["/*","*/"]},"brackets":[["{","}"],["[","]"],["(",")"]],"autoClosingPairs":[["{","}"],["[","]"],["(",")"],{"open":"\"","close":"\"","notIn":["string"]},{"open":"'","close":"'","notIn":["string"]},{"open":"/**","close":" */","notIn":["string"]}],"surroundingPairs":[["{","}"],["[","]"],["(",")"],["\"","\""],["'","'"],["<",">"]],"folding":{"markers":{"start":"^\\s*//\\s*(?:(?:#?region\\b)|(?:))"}},"onEnterRules":[{"beforeText":{"pattern":"^\\s*/\\*\\*(?!/)([^\\*]|\\*(?!/))*$"},"afterText":{"pattern":"^\\s*\\*/$"},"action":{"indent":"indentOutdent","appendText":" * "}},{"beforeText":{"pattern":"^\\s*/\\*\\*(?!/)([^\\*]|\\*(?!/))*$"},"action":{"indent":"none","appendText":" * "}},{"beforeText":{"pattern":"^(\\t|[ ])*[ ]\\*([ ]([^\\*]|\\*(?!/))*)?$"},"previousLineText":{"pattern":"(?=^(\\s*(/\\*\\*|\\*)).*)(?=(?!(\\s*\\*/)))"},"action":{"indent":"none","appendText":"* "}},{"beforeText":{"pattern":"^(\\t|[ ])*[ ]\\*/\\s*$"},"action":{"indent":"none","removeText":1}},{"beforeText":{"pattern":"^(\\t|[ ])*[ ]\\*[^/]*\\*/\\s*$"},"action":{"indent":"none","removeText":1}},{"beforeText":{"pattern":"^\\s*(\\bcase\\s.+:|\\bdefault:)$"},"afterText":{"pattern":"^(?!\\s*(\\bcase\\b|\\bdefault\\b))"},"action":{"indent":"indent"}}]} -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/java/package.json: -------------------------------------------------------------------------------- 1 | {"name":"java","displayName":"%displayName%","description":"%description%","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"scripts":{"update-grammar":"node ../node_modules/vscode-grammar-updater/bin atom/language-java grammars/java.cson ./syntaxes/java.tmLanguage.json"},"contributes":{"languages":[{"id":"java","extensions":[".java",".jav"],"aliases":["Java","java"],"configuration":"./language-configuration.json"}],"grammars":[{"language":"java","scopeName":"source.java","path":"./syntaxes/java.tmLanguage.json"}],"snippets":[{"language":"java","path":"./snippets/java.code-snippets"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}} -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/java/package.nls.json: -------------------------------------------------------------------------------- 1 | {"displayName":"Java Language Basics","description":"Provides snippets, syntax highlighting, bracket matching and folding in Java files."} -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/java/snippets/java.code-snippets: -------------------------------------------------------------------------------- 1 | {"Region Start":{"prefix":"#region","body":["//#region"],"description":"Folding Region Start"},"Region End":{"prefix":"#endregion","body":["//#endregion"],"description":"Folding Region End"}} -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/javascript/package.nls.json: -------------------------------------------------------------------------------- 1 | {"displayName":"JavaScript Language Basics","description":"Provides snippets, syntax highlighting, bracket matching and folding in JavaScript files."} -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/javascript/tags-language-configuration.json: -------------------------------------------------------------------------------- 1 | {"comments":{"blockComment":["{/*","*/}"]},"brackets":[["{","}"],["[","]"],["(",")"],["<",">"]],"colorizedBracketPairs":[["{","}"],["[","]"],["(",")"]],"autoClosingPairs":[{"open":"{","close":"}"},{"open":"[","close":"]"},{"open":"(","close":")"},{"open":"'","close":"'","notIn":["string","comment"]},{"open":"\"","close":"\"","notIn":["string"]},{"open":"/**","close":" */","notIn":["string"]}],"surroundingPairs":[["{","}"],["[","]"],["(",")"],["<",">"],["'","'"],["\"","\""]],"wordPattern":{"pattern":"(-?\\d*\\.\\d\\w*)|([^\\`\\~\\!\\@\\$\\^\\&\\*\\(\\)\\=\\+\\[\\{\\]\\}\\\\\\|\\;\\:'\"\\,\\.\\<\\>\\/\\s]+)"},"onEnterRules":[{"beforeText":{"pattern":"<(?!(?:area|base|br|col|embed|hr|img|input|keygen|link|menuitem|meta|param|source|track|wbr))([_:\\w][_:\\w\\-.\\d]*)([^/>]*(?!/)>)[^<]*$","flags":"i"},"afterText":{"pattern":"^<\\/([_:\\w][_:\\w-.\\d]*)\\s*>$","flags":"i"},"action":{"indent":"indentOutdent"}},{"beforeText":{"pattern":"<(?!(?:area|base|br|col|embed|hr|img|input|keygen|link|menuitem|meta|param|source|track|wbr))([_:\\w][_:\\w\\-.\\d]*)([^/>]*(?!/)>)[^<]*$","flags":"i"},"action":{"indent":"indent"}},{"beforeText":{"pattern":"^>$"},"afterText":{"pattern":"^<\\/([_:\\w][_:\\w-.\\d]*)\\s*>$","flags":"i"},"action":{"indent":"indentOutdent"}},{"beforeText":{"pattern":"^>$"},"action":{"indent":"indent"}}]} -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/json/language-configuration.json: -------------------------------------------------------------------------------- 1 | {"comments":{"lineComment":"//","blockComment":["/*","*/"]},"brackets":[["{","}"],["[","]"]],"autoClosingPairs":[{"open":"{","close":"}","notIn":["string"]},{"open":"[","close":"]","notIn":["string"]},{"open":"(","close":")","notIn":["string"]},{"open":"'","close":"'","notIn":["string"]},{"open":"\"","close":"\"","notIn":["string","comment"]},{"open":"`","close":"`","notIn":["string","comment"]}],"indentationRules":{"increaseIndentPattern":"({+(?=((\\\\.|[^\"\\\\])*\"(\\\\.|[^\"\\\\])*\")*[^\"}]*)$)|(\\[+(?=((\\\\.|[^\"\\\\])*\"(\\\\.|[^\"\\\\])*\")*[^\"\\]]*)$)","decreaseIndentPattern":"^\\s*[}\\]],?\\s*$"}} -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/json/package.nls.json: -------------------------------------------------------------------------------- 1 | {"displayName":"JSON Language Basics","description":"Provides syntax highlighting & bracket matching in JSON files."} -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/julia/language-configuration.json: -------------------------------------------------------------------------------- 1 | {"comments":{"lineComment":"#","blockComment":["#=","=#"]},"brackets":[["{","}"],["[","]"],["(",")"]],"autoClosingPairs":[["{","}"],["[","]"],["(",")"],["`","`"],{"open":"\"","close":"\"","notIn":["string","comment"]}],"surroundingPairs":[["{","}"],["[","]"],["(",")"],["\"","\""],["`","`"]],"folding":{"markers":{"start":"^\\s*#region","end":"^\\s*#endregion"}},"indentationRules":{"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[^\\]]*)|(?:[^\\[]*\\].*)$).*$","decreaseIndentPattern":"^\\s*(end|else|elseif|catch|finally)\\b.*$"}} -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/julia/package.json: -------------------------------------------------------------------------------- 1 | {"name":"julia","displayName":"%displayName%","description":"%description%","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"0.10.x"},"scripts":{"update-grammar":"node ../node_modules/vscode-grammar-updater/bin JuliaEditorSupport/atom-language-julia grammars/julia_vscode.json ./syntaxes/julia.tmLanguage.json"},"contributes":{"languages":[{"id":"julia","aliases":["Julia","julia"],"extensions":[".jl"],"firstLine":"^#!\\s*/.*\\bjulia[0-9.-]*\\b","configuration":"./language-configuration.json"},{"id":"juliamarkdown","aliases":["Julia Markdown","juliamarkdown"],"extensions":[".jmd"]}],"grammars":[{"language":"julia","scopeName":"source.julia","path":"./syntaxes/julia.tmLanguage.json","embeddedLanguages":{"meta.embedded.inline.cpp":"cpp","meta.embedded.inline.javascript":"javascript","meta.embedded.inline.python":"python","meta.embedded.inline.r":"r","meta.embedded.inline.sql":"sql"}}]}} -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/julia/package.nls.json: -------------------------------------------------------------------------------- 1 | {"displayName":"Julia Language Basics","description":"Provides syntax highlighting & bracket matching in Julia files."} -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/kotlin/language-configuration.json: -------------------------------------------------------------------------------- 1 | { 2 | "comments": { 3 | "lineComment": "//", 4 | "blockComment": [ "/*", "*/" ] 5 | }, 6 | "brackets": [ 7 | ["{", "}"], 8 | ["[", "]"], 9 | ["(", ")"], 10 | ["<", ">"] 11 | ], 12 | "autoClosingPairs": [ 13 | { "open": "{", "close": "}" }, 14 | { "open": "[", "close": "]" }, 15 | { "open": "(", "close": ")" }, 16 | { "open": "'", "close": "'", "notIn": ["string", "comment"] }, 17 | { "open": "\"", "close": "\"", "notIn": ["string"] }, 18 | { "open": "/*", "close": " */", "notIn": ["string"] } 19 | ], 20 | "surroundingPairs": [ 21 | ["{", "}"], 22 | ["[", "]"], 23 | ["(", ")"], 24 | ["<", ">"], 25 | ["'", "'"], 26 | ["\"", "\""] 27 | ], 28 | "folding": { 29 | "offSide": false, 30 | "markers": { 31 | "start": "^\\s*//\\s*#region", 32 | "end": "^\\s*//\\s*#endregion" 33 | } 34 | } 35 | } -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/latex/cpp-bailout-license.txt: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2019 Jeff Hykin 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/latex/latex-cpp-embedded-language-configuration.json: -------------------------------------------------------------------------------- 1 | {"comments":{"lineComment":"//","blockComment":["/*","*/"]},"brackets":[["{","}"],["[","]"],["(",")"]],"autoClosingPairs":[{"open":"[","close":"]"},{"open":"{","close":"}"},{"open":"(","close":")"},{"open":"'","close":"'","notIn":["string","comment"]},{"open":"\"","close":"\"","notIn":["string"]}],"surroundingPairs":[["{","}"],["[","]"],["(",")"],["\"","\""],["'","'"],["<",">"]],"wordPattern":"(-?\\d*\\.\\d\\w*)|([^\\`\\~\\!\\@\\#\\%\\^\\&\\*\\(\\)\\-\\=\\+\\[\\{\\]\\}\\\\\\|\\;\\:\\'\\\"\\,\\.\\<\\>\\/\\?\\s]+)","folding":{"markers":{"start":"^\\s*#pragma\\s+region\\b","end":"^\\s*#pragma\\s+endregion\\b"}}} -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/latex/markdown-latex-combined-license.txt: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) Microsoft 2018 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/latex/package.nls.json: -------------------------------------------------------------------------------- 1 | {"displayName":"LaTeX Language Basics","description":"Provides syntax highlighting and bracket matching for TeX, LaTeX and BibTeX."} -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/less/language-configuration.json: -------------------------------------------------------------------------------- 1 | {"comments":{"blockComment":["/*","*/"],"lineComment":"//"},"brackets":[["{","}"],["[","]"],["(",")"]],"autoClosingPairs":[{"open":"{","close":"}","notIn":["string","comment"]},{"open":"[","close":"]","notIn":["string","comment"]},{"open":"(","close":")","notIn":["string","comment"]},{"open":"\"","close":"\"","notIn":["string","comment"]},{"open":"'","close":"'","notIn":["string","comment"]}],"surroundingPairs":[["{","}"],["[","]"],["(",")"],["\"","\""],["'","'"]],"folding":{"markers":{"start":"^\\s*\\/\\*\\s*#region\\b\\s*(.*?)\\s*\\*\\/","end":"^\\s*\\/\\*\\s*#endregion\\b.*\\*\\/"}},"indentationRules":{"increaseIndentPattern":"(^.*\\{[^}]*$)","decreaseIndentPattern":"^\\s*\\}"},"wordPattern":"(#?-?\\d*\\.\\d\\w*%?)|(::?[\\w-]+(?=[^,{;]*[,{]))|(([@#.!])?[\\w-?]+%?|[@#!.])"} -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/less/package.nls.json: -------------------------------------------------------------------------------- 1 | {"displayName":"Less Language Basics","description":"Provides syntax highlighting, bracket matching and folding in Less files."} -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/log/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "log", 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 emilast/vscode-logfile-highlighter syntaxes/log.tmLanguage ./syntaxes/log.tmLanguage.json" 13 | }, 14 | "contributes": { 15 | "languages": [ 16 | { 17 | "id": "log", 18 | "extensions": [ 19 | ".log", 20 | "*.log.?" 21 | ], 22 | "aliases": [ 23 | "Log" 24 | ] 25 | } 26 | ], 27 | "grammars": [ 28 | { 29 | "language": "log", 30 | "scopeName": "text.log", 31 | "path": "./syntaxes/log.tmLanguage.json" 32 | } 33 | ] 34 | }, 35 | "repository": { 36 | "type": "git", 37 | "url": "https://github.com/microsoft/vscode.git" 38 | } 39 | } -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/log/package.nls.json: -------------------------------------------------------------------------------- 1 | {"displayName":"Log","description":"Provides syntax highlighting for files with .log extension."} -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/lua/language-configuration.json: -------------------------------------------------------------------------------- 1 | {"comments":{"lineComment":"--","blockComment":["--[[","]]"]},"brackets":[["{","}"],["[","]"],["(",")"]],"autoClosingPairs":[["{","}"],["[","]"],["(",")"],{"open":"\"","close":"\"","notIn":["string"]},{"open":"'","close":"'","notIn":["string"]}],"surroundingPairs":[["{","}"],["[","]"],["(",")"],["\"","\""],["'","'"]],"indentationRules":{"increaseIndentPattern":"^((?!(\\-\\-)).)*((\\b(else|function|then|do|repeat)\\b((?!\\b(end|until)\\b).)*)|(\\{\\s*))$","decreaseIndentPattern":"^\\s*((\\b(elseif|else|end|until)\\b)|(\\})|(\\)))"}} -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/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 | } -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/lua/package.nls.json: -------------------------------------------------------------------------------- 1 | {"displayName":"Lua Language Basics","description":"Provides syntax highlighting and bracket matching in Lua files."} -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/make/language-configuration.json: -------------------------------------------------------------------------------- 1 | {"comments":{"lineComment":"#"},"brackets":[["{","}"],["[","]"],["(",")"]],"autoClosingPairs":[["{","}"],["[","]"],["(",")"],{"open":"'","close":"'","notIn":["string","comment"]},{"open":"\"","close":"\"","notIn":["string","comment"]}]} -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/make/package.nls.json: -------------------------------------------------------------------------------- 1 | {"displayName":"Make Language Basics","description":"Provides syntax highlighting and bracket matching in Make files."} -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/markdown-basics/package.nls.json: -------------------------------------------------------------------------------- 1 | {"displayName":"Markdown Language Basics","description":"Provides snippets and syntax highlighting for Markdown."} -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/objective-c/language-configuration.json: -------------------------------------------------------------------------------- 1 | {"comments":{"lineComment":"//","blockComment":["/*","*/"]},"brackets":[["{","}"],["[","]"],["(",")"]],"autoClosingPairs":[["{","}"],["[","]"],["(",")"],{"open":"\"","close":"\"","notIn":["string"]},{"open":"'","close":"'","notIn":["string"]}],"surroundingPairs":[["{","}"],["[","]"],["(",")"],["\"","\""],["'","'"]]} -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/objective-c/package.json: -------------------------------------------------------------------------------- 1 | {"name":"objective-c","displayName":"%displayName%","description":"%description%","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"scripts":{"update-grammar":"node ./build/update-grammars.js"},"contributes":{"languages":[{"id":"objective-c","extensions":[".m"],"aliases":["Objective-C"],"configuration":"./language-configuration.json"},{"id":"objective-cpp","extensions":[".mm"],"aliases":["Objective-C++"],"configuration":"./language-configuration.json"}],"grammars":[{"language":"objective-c","scopeName":"source.objc","path":"./syntaxes/objective-c.tmLanguage.json"},{"language":"objective-cpp","scopeName":"source.objcpp","path":"./syntaxes/objective-c++.tmLanguage.json"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}} -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/objective-c/package.nls.json: -------------------------------------------------------------------------------- 1 | {"displayName":"Objective-C Language Basics","description":"Provides syntax highlighting and bracket matching in Objective-C files."} -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/perl/package.nls.json: -------------------------------------------------------------------------------- 1 | {"displayName":"Perl Language Basics","description":"Provides syntax highlighting and bracket matching in Perl files."} -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/perl/perl.language-configuration.json: -------------------------------------------------------------------------------- 1 | {"comments":{"lineComment":"#"},"brackets":[["{","}"],["[","]"],["(",")"]],"autoClosingPairs":[["{","}"],["[","]"],["(",")"],{"open":"\"","close":"\"","notIn":["string"]},{"open":"'","close":"'","notIn":["string"]},{"open":"`","close":"`","notIn":["string"]}],"surroundingPairs":[["{","}"],["[","]"],["(",")"],["\"","\""],["'","'"],["`","`"]],"folding":{"markers":{"start":"^(?:(?:=pod\\s*$)|(?:\\s*#region\\b))","end":"^(?:(?:=cut\\s*$)|(?:\\s*#endregion\\b))"}}} -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/perl/perl6.language-configuration.json: -------------------------------------------------------------------------------- 1 | {"comments":{"lineComment":"#"},"brackets":[["{","}"],["[","]"],["(",")"]],"autoClosingPairs":[["{","}"],["[","]"],["(",")"],{"open":"\"","close":"\"","notIn":["string"]},{"open":"'","close":"'","notIn":["string"]},{"open":"`","close":"`","notIn":["string"]}],"surroundingPairs":[["{","}"],["[","]"],["(",")"],["\"","\""],["'","'"],["`","`"]]} -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/php/language-configuration.json: -------------------------------------------------------------------------------- 1 | {"comments":{"lineComment":"//","blockComment":["/*","*/"]},"brackets":[["{","}"],["[","]"],["(",")"]],"autoClosingPairs":[{"open":"{","close":"}","notIn":["string"]},{"open":"[","close":"]","notIn":["string"]},{"open":"(","close":")","notIn":["string"]},{"open":"'","close":"'","notIn":["string","comment"]},{"open":"\"","close":"\"","notIn":["string","comment"]},{"open":"/**","close":" */","notIn":["string"]}],"surroundingPairs":[["{","}"],["[","]"],["(",")"],["'","'"],["\"","\""],["`","`"]],"indentationRules":{"increaseIndentPattern":"({(?!.*}).*|\\(|\\[|((else(\\s)?)?if|else|for(each)?|while|switch|case).*:)\\s*((/[/*].*|)?$|\\?>)","decreaseIndentPattern":"^(.*\\*\\/)?\\s*((\\})|(\\)+[;,])|(\\]\\)*[;,])|\\b(else:)|\\b((end(if|for(each)?|while|switch));))"},"folding":{"markers":{"start":"^\\s*(#|//)region\\b","end":"^\\s*(#|//)endregion\\b"}},"wordPattern":"(-?\\d*\\.\\d\\w*)|([^\\-\\`\\~\\!\\@\\#\\%\\^\\&\\*\\(\\)\\=\\+\\[\\{\\]\\}\\\\\\|\\;\\:\\'\\\"\\,\\.\\<\\>\\/\\?\\s]+)","onEnterRules":[{"beforeText":"^\\s*\\/\\*\\*(?!\\/)([^\\*]|\\*(?!\\/))*$","afterText":"^\\s*\\*\\/$","action":{"indent":"indentOutdent","appendText":" * "}},{"beforeText":"^\\s*\\/\\*\\*(?!\\/)([^\\*]|\\*(?!\\/))*$","action":{"indent":"none","appendText":" * "}},{"beforeText":"^(\\t|(\\ \\ ))*\\ \\*(\\ ([^\\*]|\\*(?!\\/))*)?$","action":{"indent":"none","appendText":"* "}},{"beforeText":"^(\\t|(\\ \\ ))*\\ \\*\\/\\s*$","action":{"indent":"none","removeText":1}},{"beforeText":"^(\\t|(\\ \\ ))*\\ \\*[^/]*\\*\\/\\s*$","action":{"indent":"none","removeText":1}}]} -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/php/package.nls.json: -------------------------------------------------------------------------------- 1 | {"displayName":"PHP Language Basics","description":"Provides syntax highlighting and bracket matching for PHP files."} -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/powershell/language-configuration.json: -------------------------------------------------------------------------------- 1 | {"comments":{"lineComment":"#","blockComment":["<#","#>"]},"brackets":[["{","}"],["[","]"],["(",")"]],"autoClosingPairs":[["{","}"],["[","]"],["(",")"],{"open":"@'","close":"\n'@","notIn":["string","comment"]},{"open":"@\"","close":"\n\"@","notIn":["string","comment"]},{"open":"\"","close":"\"","notIn":["string"]},{"open":"'","close":"'","notIn":["string","comment"]},["<#","#>"]],"surroundingPairs":[["{","}"],["[","]"],["(",")"],["\"","\""],["'","'"]],"folding":{"markers":{"start":"^\\s*#[rR]egion\\b","end":"^\\s*#[eE]nd[rR]egion\\b"}}} -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/powershell/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "powershell", 3 | "displayName": "%displayName%", 4 | "description": "%description%", 5 | "version": "1.0.0", 6 | "publisher": "vscode", 7 | "license": "MIT", 8 | "engines": { 9 | "vscode": "*" 10 | }, 11 | "contributes": { 12 | "languages": [ 13 | { 14 | "id": "powershell", 15 | "extensions": [ 16 | ".ps1", 17 | ".psm1", 18 | ".psd1", 19 | ".pssc", 20 | ".psrc" 21 | ], 22 | "aliases": [ 23 | "PowerShell", 24 | "powershell", 25 | "ps", 26 | "ps1" 27 | ], 28 | "firstLine": "^#!\\s*/.*\\bpwsh\\b", 29 | "configuration": "./language-configuration.json" 30 | } 31 | ], 32 | "grammars": [ 33 | { 34 | "language": "powershell", 35 | "scopeName": "source.powershell", 36 | "path": "./syntaxes/powershell.tmLanguage.json" 37 | } 38 | ] 39 | }, 40 | "scripts": { 41 | "update-grammar": "node ../node_modules/vscode-grammar-updater/bin PowerShell/EditorSyntax PowerShellSyntax.tmLanguage ./syntaxes/powershell.tmLanguage.json" 42 | }, 43 | "repository": { 44 | "type": "git", 45 | "url": "https://github.com/microsoft/vscode.git" 46 | } 47 | } -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/powershell/package.nls.json: -------------------------------------------------------------------------------- 1 | {"displayName":"Powershell Language Basics","description":"Provides snippets, syntax highlighting, bracket matching and folding in Powershell files."} -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/pug/language-configuration.json: -------------------------------------------------------------------------------- 1 | {"comments":{"lineComment":"//-"},"brackets":[["{","}"],["[","]"],["(",")"]],"autoClosingPairs":[["{","}"],["[","]"],["(",")"],{"open":"\"","close":"\"","notIn":["string"]},{"open":"'","close":"'","notIn":["string"]}],"surroundingPairs":[["{","}"],["[","]"],["(",")"],["'","'"],["\"","\""]],"folding":{"offSide":true}} -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/pug/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "pug", 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 davidrios/pug-tmbundle Syntaxes/Pug.JSON-tmLanguage ./syntaxes/pug.tmLanguage.json" 13 | }, 14 | "contributes": { 15 | "languages": [ 16 | { 17 | "id": "jade", 18 | "extensions": [ 19 | ".pug", 20 | ".jade" 21 | ], 22 | "aliases": [ 23 | "Pug", 24 | "Jade", 25 | "jade" 26 | ], 27 | "configuration": "./language-configuration.json" 28 | } 29 | ], 30 | "grammars": [ 31 | { 32 | "language": "jade", 33 | "scopeName": "text.pug", 34 | "path": "./syntaxes/pug.tmLanguage.json" 35 | } 36 | ], 37 | "configurationDefaults": { 38 | "[jade]": { 39 | "diffEditor.ignoreTrimWhitespace": false 40 | } 41 | } 42 | }, 43 | "repository": { 44 | "type": "git", 45 | "url": "https://github.com/microsoft/vscode.git" 46 | } 47 | } -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/pug/package.nls.json: -------------------------------------------------------------------------------- 1 | {"displayName":"Pug Language Basics","description":"Provides syntax highlighting and bracket matching in Pug files."} -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/python/language-configuration.json: -------------------------------------------------------------------------------- 1 | {"comments":{"lineComment":"#","blockComment":["\"\"\"","\"\"\""]},"brackets":[["{","}"],["[","]"],["(",")"]],"autoClosingPairs":[{"open":"{","close":"}"},{"open":"[","close":"]"},{"open":"(","close":")"},{"open":"\"","close":"\"","notIn":["string"]},{"open":"r\"","close":"\"","notIn":["string","comment"]},{"open":"R\"","close":"\"","notIn":["string","comment"]},{"open":"u\"","close":"\"","notIn":["string","comment"]},{"open":"U\"","close":"\"","notIn":["string","comment"]},{"open":"f\"","close":"\"","notIn":["string","comment"]},{"open":"F\"","close":"\"","notIn":["string","comment"]},{"open":"b\"","close":"\"","notIn":["string","comment"]},{"open":"B\"","close":"\"","notIn":["string","comment"]},{"open":"'","close":"'","notIn":["string","comment"]},{"open":"r'","close":"'","notIn":["string","comment"]},{"open":"R'","close":"'","notIn":["string","comment"]},{"open":"u'","close":"'","notIn":["string","comment"]},{"open":"U'","close":"'","notIn":["string","comment"]},{"open":"f'","close":"'","notIn":["string","comment"]},{"open":"F'","close":"'","notIn":["string","comment"]},{"open":"b'","close":"'","notIn":["string","comment"]},{"open":"B'","close":"'","notIn":["string","comment"]},{"open":"`","close":"`","notIn":["string"]}],"surroundingPairs":[["{","}"],["[","]"],["(",")"],["\"","\""],["'","'"],["`","`"]],"folding":{"offSide":true,"markers":{"start":"^\\s*#\\s*region\\b","end":"^\\s*#\\s*endregion\\b"}},"onEnterRules":[{"beforeText":"^\\s*(?:def|class|for|if|elif|else|while|try|with|finally|except|async).*?:\\s*$","action":{"indent":"indent"}}]} -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/python/package.json: -------------------------------------------------------------------------------- 1 | {"name":"python","displayName":"%displayName%","description":"%description%","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"contributes":{"languages":[{"id":"python","extensions":[".py",".rpy",".pyw",".cpy",".gyp",".gypi",".pyi",".ipy",".pyt"],"aliases":["Python","py"],"filenames":["SConstruct","SConscript"],"firstLine":"^#!\\s*/?.*\\bpython[0-9.-]*\\b","configuration":"./language-configuration.json"}],"grammars":[{"language":"python","scopeName":"source.python","path":"./syntaxes/MagicPython.tmLanguage.json"},{"scopeName":"source.regexp.python","path":"./syntaxes/MagicRegExp.tmLanguage.json"}],"configurationDefaults":{"[python]":{"diffEditor.ignoreTrimWhitespace":false}}},"scripts":{"update-grammar":"node ../node_modules/vscode-grammar-updater/bin MagicStack/MagicPython grammars/MagicPython.tmLanguage ./syntaxes/MagicPython.tmLanguage.json grammars/MagicRegExp.tmLanguage ./syntaxes/MagicRegExp.tmLanguage.json"},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}} -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/python/package.nls.json: -------------------------------------------------------------------------------- 1 | {"displayName":"Python Language Basics","description":"Provides syntax highlighting, bracket matching and folding in Python files."} -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/r/language-configuration.json: -------------------------------------------------------------------------------- 1 | {"comments":{"lineComment":"#"},"brackets":[["{","}"],["[","]"],["(",")"]],"autoClosingPairs":[["{","}"],["[","]"],["(",")"],["`","`"],{"open":"\"","close":"\"","notIn":["string"]},{"open":"'","close":"'","notIn":["string","comment"]},{"open":"%","close":"%","notIn":["string","comment"]}],"surroundingPairs":[["{","}"],["[","]"],["(",")"],["`","`"],["\"","\""],["'","'"]]} -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/r/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "r", 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 Ikuyadeu/vscode-R syntax/r.json ./syntaxes/r.tmLanguage.json" 13 | }, 14 | "contributes": { 15 | "languages": [ 16 | { 17 | "id": "r", 18 | "extensions": [ 19 | ".r", 20 | ".rhistory", 21 | ".rprofile", 22 | ".rt" 23 | ], 24 | "aliases": [ 25 | "R", 26 | "r" 27 | ], 28 | "configuration": "./language-configuration.json" 29 | } 30 | ], 31 | "grammars": [ 32 | { 33 | "language": "r", 34 | "scopeName": "source.r", 35 | "path": "./syntaxes/r.tmLanguage.json" 36 | } 37 | ] 38 | }, 39 | "repository": { 40 | "type": "git", 41 | "url": "https://github.com/microsoft/vscode.git" 42 | } 43 | } -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/r/package.nls.json: -------------------------------------------------------------------------------- 1 | {"displayName":"R Language Basics","description":"Provides syntax highlighting and bracket matching in R files."} -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/razor/build/update-grammar.mjs: -------------------------------------------------------------------------------- 1 | /*--------------------------------------------------------------------------------------------- 2 | * Copyright (c) Microsoft Corporation. All rights reserved. 3 | * Licensed under the MIT License. See License.txt in the project root for license information. 4 | *--------------------------------------------------------------------------------------------*/ 5 | // @ts-check 6 | 7 | import * as vscodeGrammarUpdater from 'vscode-grammar-updater'; 8 | 9 | function patchGrammar(grammar) { 10 | grammar.scopeName = 'text.html.cshtml'; 11 | return grammar; 12 | } 13 | 14 | const razorGrammarRepo = 'dotnet/razor'; 15 | const grammarPath = 'src/Razor/src/Microsoft.AspNetCore.Razor.VSCode.Extension/syntaxes/aspnetcorerazor.tmLanguage.json'; 16 | vscodeGrammarUpdater.update(razorGrammarRepo, grammarPath, './syntaxes/cshtml.tmLanguage.json', grammar => patchGrammar(grammar), 'main'); 17 | 18 | 19 | -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/razor/language-configuration.json: -------------------------------------------------------------------------------- 1 | {"comments":{"blockComment":[""]},"brackets":[[""],["{","}"],["(",")"]],"autoClosingPairs":[{"open":"{","close":"}"},{"open":"[","close":"]"},{"open":"(","close":")"},{"open":"'","close":"'"},{"open":"\"","close":"\""}],"surroundingPairs":[{"open":"'","close":"'"},{"open":"\"","close":"\""},{"open":"<","close":">"}]} -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/razor/package.json: -------------------------------------------------------------------------------- 1 | {"name":"razor","displayName":"%displayName%","description":"%description%","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"0.10.x"},"scripts":{"update-grammar":"node ./build/update-grammar.mjs"},"contributes":{"languages":[{"id":"razor","extensions":[".cshtml",".razor"],"aliases":["Razor","razor"],"mimetypes":["text/x-cshtml"],"configuration":"./language-configuration.json"}],"grammars":[{"language":"razor","scopeName":"text.html.cshtml","path":"./syntaxes/cshtml.tmLanguage.json","embeddedLanguages":{"section.embedded.source.cshtml":"csharp","source.css":"css","source.js":"javascript"}}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}} -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/razor/package.nls.json: -------------------------------------------------------------------------------- 1 | {"displayName":"Razor Language Basics","description":"Provides syntax highlighting, bracket matching and folding in Razor files."} -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/restructuredtext/language-configuration.json: -------------------------------------------------------------------------------- 1 | {"comments":{"lineComment":".."},"brackets":[["(",")"],["<",">"],["[","]"]],"surroundingPairs":[["(",")"],["<",">"],["`","`"],["*","*"],["|","|"],["[","]"]],"autoClosingPairs":[{"open":"(","close":")"},{"open":"<","close":">"},{"open":"'","close":"'"},{"open":"`","close":"`","notIn":["string"]},{"open":"\"","close":"\""},{"open":"[","close":"]"}],"autoCloseBefore":":})>`\\n ","onEnterRules":[{"beforeText":"^\\s*\\.\\. *$|(?"]],"indentationRules":{"increaseIndentPattern":"^.*\\{[^}\"']*$|^.*\\([^\\)\"']*$","decreaseIndentPattern":"^\\s*(\\s*\\/[*].*[*]\\/\\s*)*[})]"},"folding":{"markers":{"start":"^\\s*//\\s*#?region\\b","end":"^\\s*//\\s*#?endregion\\b"}}} -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/rust/package.json: -------------------------------------------------------------------------------- 1 | {"name":"rust","displayName":"%displayName%","description":"%description%","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"scripts":{"update-grammar":"node ../node_modules/vscode-grammar-updater/bin dustypomerleau/rust-syntax syntaxes/rust.tmLanguage.json ./syntaxes/rust.tmLanguage.json"},"contributes":{"languages":[{"id":"rust","extensions":[".rs"],"aliases":["Rust","rust"],"configuration":"./language-configuration.json"}],"grammars":[{"language":"rust","path":"./syntaxes/rust.tmLanguage.json","scopeName":"source.rust"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}} -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/rust/package.nls.json: -------------------------------------------------------------------------------- 1 | {"displayName":"Rust Language Basics","description":"Provides syntax highlighting and bracket matching in Rust files."} -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/scss/language-configuration.json: -------------------------------------------------------------------------------- 1 | {"comments":{"blockComment":["/*","*/"],"lineComment":"//"},"brackets":[["{","}"],["[","]"],["(",")"]],"autoClosingPairs":[{"open":"{","close":"}","notIn":["string","comment"]},{"open":"[","close":"]","notIn":["string","comment"]},{"open":"(","close":")","notIn":["string","comment"]},{"open":"\"","close":"\"","notIn":["string","comment"]},{"open":"'","close":"'","notIn":["string","comment"]}],"surroundingPairs":[["{","}"],["[","]"],["(",")"],["\"","\""],["'","'"]],"folding":{"markers":{"start":"^\\s*\\/\\*\\s*#region\\b\\s*(.*?)\\s*\\*\\/","end":"^\\s*\\/\\*\\s*#endregion\\b.*\\*\\/"}},"indentationRules":{"increaseIndentPattern":"(^.*\\{[^}]*$)","decreaseIndentPattern":"^\\s*\\}"},"wordPattern":"(#?-?\\d*\\.\\d\\w*%?)|(::?[\\w-]*(?=[^,{;]*[,{]))|(([@$#.!])?[\\w-?]+%?|[@#!$.])","onEnterRules":[{"beforeText":"^[\\s]*///.*$","action":{"indent":"none","appendText":"/// "}}]} -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/scss/package.nls.json: -------------------------------------------------------------------------------- 1 | {"displayName":"SCSS Language Basics","description":"Provides syntax highlighting, bracket matching and folding in SCSS files."} -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/shaderlab/language-configuration.json: -------------------------------------------------------------------------------- 1 | {"comments":{"lineComment":"//","blockComment":["/*","*/"]},"brackets":[["{","}"],["[","]"],["(",")"]],"autoClosingPairs":[["{","}"],["[","]"],["(",")"],{"open":"\"","close":"\"","notIn":["string"]}],"surroundingPairs":[["{","}"],["[","]"],["(",")"],["\"","\""]]} -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/shaderlab/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "shaderlab", 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 tgjones/shaders-tmLanguage grammars/shaderlab.json ./syntaxes/shaderlab.tmLanguage.json" 13 | }, 14 | "contributes": { 15 | "languages": [ 16 | { 17 | "id": "shaderlab", 18 | "extensions": [ 19 | ".shader" 20 | ], 21 | "aliases": [ 22 | "ShaderLab", 23 | "shaderlab" 24 | ], 25 | "configuration": "./language-configuration.json" 26 | } 27 | ], 28 | "grammars": [ 29 | { 30 | "language": "shaderlab", 31 | "path": "./syntaxes/shaderlab.tmLanguage.json", 32 | "scopeName": "source.shaderlab" 33 | } 34 | ] 35 | }, 36 | "repository": { 37 | "type": "git", 38 | "url": "https://github.com/microsoft/vscode.git" 39 | } 40 | } -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/shaderlab/package.nls.json: -------------------------------------------------------------------------------- 1 | {"displayName":"Shaderlab Language Basics","description":"Provides syntax highlighting and bracket matching in Shaderlab files."} -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/shellscript/language-configuration.json: -------------------------------------------------------------------------------- 1 | {"comments":{"lineComment":"#"},"brackets":[["{","}"],["[","]"],["(",")"]],"autoClosingPairs":[["{","}"],["[","]"],["(",")"],{"open":"\"","close":"\"","notIn":["string"]},{"open":"'","close":"'","notIn":["string"]},{"open":"`","close":"`","notIn":["string"]}],"surroundingPairs":[["{","}"],["[","]"],["(",")"],["\"","\""],["'","'"],["`","`"]],"folding":{"markers":{"start":"^\\s*#\\s*#?region\\b.*","end":"^\\s*#\\s*#?endregion\\b.*"}}} -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/shellscript/package.nls.json: -------------------------------------------------------------------------------- 1 | {"displayName":"Shell Script Language Basics","description":"Provides syntax highlighting and bracket matching in Shell Script files."} -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/sql/language-configuration.json: -------------------------------------------------------------------------------- 1 | {"comments":{"lineComment":"--","blockComment":["/*","*/"]},"brackets":[["{","}"],["[","]"],["(",")"]],"autoClosingPairs":[["{","}"],["[","]"],["(",")"],{"open":"\"","close":"\"","notIn":["string"]},{"open":"N'","close":"'","notIn":["string","comment"]},{"open":"'","close":"'","notIn":["string","comment"]}],"surroundingPairs":[["{","}"],["[","]"],["(",")"],["\"","\""],["'","'"],["`","`"]],"folding":{"markers":{"start":"^\\s*--\\s*#region\\b","end":"^\\s*--\\s*#endregion\\b"}}} -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/sql/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "sql", 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 ./build/update-grammar.mjs" 13 | }, 14 | "contributes": { 15 | "languages": [ 16 | { 17 | "id": "sql", 18 | "extensions": [ 19 | ".sql", 20 | ".dsql" 21 | ], 22 | "aliases": [ 23 | "SQL" 24 | ], 25 | "configuration": "./language-configuration.json" 26 | } 27 | ], 28 | "grammars": [ 29 | { 30 | "language": "sql", 31 | "scopeName": "source.sql", 32 | "path": "./syntaxes/sql.tmLanguage.json" 33 | } 34 | ] 35 | }, 36 | "repository": { 37 | "type": "git", 38 | "url": "https://github.com/microsoft/vscode.git" 39 | } 40 | } -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/sql/package.nls.json: -------------------------------------------------------------------------------- 1 | {"displayName":"SQL Language Basics","description":"Provides syntax highlighting and bracket matching in SQL files."} -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/swift/language-configuration.json: -------------------------------------------------------------------------------- 1 | {"comments":{"lineComment":"//","blockComment":["/*","*/"]},"brackets":[["{","}"],["[","]"],["(",")"]],"autoClosingPairs":[["{","}"],["[","]"],["(",")"],{"open":"\"","close":"\"","notIn":["string"]},{"open":"'","close":"'","notIn":["string"]},{"open":"`","close":"`","notIn":["string"]}],"surroundingPairs":[["{","}"],["[","]"],["(",")"],["\"","\""],["'","'"],["`","`"]]} -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/swift/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "swift", 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 textmate/swift.tmbundle Syntaxes/Swift.tmLanguage ./syntaxes/swift.tmLanguage.json" 13 | }, 14 | "contributes": { 15 | "languages": [ 16 | { 17 | "id": "swift", 18 | "aliases": [ 19 | "Swift", 20 | "swift" 21 | ], 22 | "extensions": [ 23 | ".swift" 24 | ], 25 | "configuration": "./language-configuration.json" 26 | } 27 | ], 28 | "grammars": [ 29 | { 30 | "language": "swift", 31 | "scopeName": "source.swift", 32 | "path": "./syntaxes/swift.tmLanguage.json" 33 | } 34 | ], 35 | "snippets": [ 36 | { 37 | "language": "swift", 38 | "path": "./snippets/swift.code-snippets" 39 | } 40 | ] 41 | }, 42 | "repository": { 43 | "type": "git", 44 | "url": "https://github.com/microsoft/vscode.git" 45 | } 46 | } -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/swift/package.nls.json: -------------------------------------------------------------------------------- 1 | {"displayName":"Swift Language Basics","description":"Provides snippets, syntax highlighting and bracket matching in Swift files."} -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/typescript-basics/package.nls.json: -------------------------------------------------------------------------------- 1 | {"displayName":"TypeScript Language Basics","description":"Provides snippets, syntax highlighting, bracket matching and folding in TypeScript files."} -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/typescript-basics/syntaxes/jsdoc.js.injection.tmLanguage.json: -------------------------------------------------------------------------------- 1 | {"injectionSelector":"L:comment.block.documentation","patterns":[{"include":"#jsdocbody"}],"repository":{"jsdocbody":{"begin":"(?<=/\\*\\*)([^*]|\\*(?!/))*$","while":"(^|\\G)\\s*\\*(?!/)(?=([^*]|[*](?!/))*$)","patterns":[{"include":"source.ts#docblock"}]}},"scopeName":"documentation.injection.js.jsx"} -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/typescript-basics/syntaxes/jsdoc.ts.injection.tmLanguage.json: -------------------------------------------------------------------------------- 1 | {"injectionSelector":"L:comment.block.documentation","patterns":[{"include":"#jsdocbody"}],"repository":{"jsdocbody":{"begin":"(?<=/\\*\\*)([^*]|\\*(?!/))*$","while":"(^|\\G)\\s*\\*(?!/)(?=([^*]|[*](?!/))*$)","patterns":[{"include":"source.ts#docblock"}]}},"scopeName":"documentation.injection.ts"} -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/vb/language-configuration.json: -------------------------------------------------------------------------------- 1 | {"comments":{"lineComment":"'"},"brackets":[["{","}"],["[","]"],["(",")"],["<",">"]],"autoClosingPairs":[["{","}"],["[","]"],["(",")"],{"open":"\"","close":"\"","notIn":["string"]}],"surroundingPairs":[["{","}"],["[","]"],["(",")"],["\"","\""],["<",">"]],"folding":{"markers":{"start":"^\\s*#Region\\b","end":"^\\s*#End Region\\b"}}} -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/vb/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "vb", 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 textmate/asp.vb.net.tmbundle Syntaxes/ASP%20VB.net.plist ./syntaxes/asp-vb-net.tmlanguage.json" 13 | }, 14 | "contributes": { 15 | "languages": [ 16 | { 17 | "id": "vb", 18 | "extensions": [ 19 | ".vb", 20 | ".brs", 21 | ".vbs", 22 | ".bas", 23 | ".vba" 24 | ], 25 | "aliases": [ 26 | "Visual Basic", 27 | "vb" 28 | ], 29 | "configuration": "./language-configuration.json" 30 | } 31 | ], 32 | "grammars": [ 33 | { 34 | "language": "vb", 35 | "scopeName": "source.asp.vb.net", 36 | "path": "./syntaxes/asp-vb-net.tmlanguage.json" 37 | } 38 | ], 39 | "snippets": [ 40 | { 41 | "language": "vb", 42 | "path": "./snippets/vb.code-snippets" 43 | } 44 | ] 45 | }, 46 | "repository": { 47 | "type": "git", 48 | "url": "https://github.com/microsoft/vscode.git" 49 | } 50 | } -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/vb/package.nls.json: -------------------------------------------------------------------------------- 1 | {"displayName":"Visual Basic Language Basics","description":"Provides snippets, syntax highlighting, bracket matching and folding in Visual Basic files."} -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/vb/snippets/vb.code-snippets: -------------------------------------------------------------------------------- 1 | {"For Next Loop":{"prefix":"for","body":["For ${1:index} As ${2:ObjectType} = ${3:lower} To ${4:Upper}","\t$0","Next ${1:index}"],"description":"For Next Loop"},"For Each...Next":{"prefix":"fore","body":["For Each ${1:Variable} As ${2:ObjectType} In ${3:Collection}","\t$0","Next"],"description":"For Each...Next"},"For i...Next i":{"prefix":"fori","body":["For i As ${1:Integer} = ${2:Lower} To ${3:Upper}","\t$0","Next i"],"description":"For i...Next i"},"For j...Next j":{"prefix":"forj","body":["For j As ${1:Integer} = ${2:Lower} To ${3:Upper}","\t$0","Next j"],"description":"For j...Next j"},"Public Function...":{"prefix":"pf","body":["Public Function ${1:FunctionName}(${2:ParameterList}) As ${3:ReturnType}","\tTry","\t\t$0","\tCatch ex As Exception","\tEnd Try","\tReturn ${3:ReturnValue}","End Function"],"description":"Public Function..."},"Public Sub ...":{"prefix":"ps","body":["Public Sub ${1:ProcedureName}(${2:ParameterList})","\tTry","\t\t$0","\tCatch ex As Exception","\tEnd Try","End Sub"],"description":"Public Sub ..."},"While ... End While":{"prefix":"while","body":["While ${1:Boolean}","\t$0","End While"],"description":"While ... End While"},"Region Start":{"prefix":"#Region","body":["#Region $0"],"description":"Folding Region Start"},"Region End":{"prefix":"#End Region","body":["#End Region"],"description":"Folding Region End"}} -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/xml/package.json: -------------------------------------------------------------------------------- 1 | {"name":"xml","displayName":"%displayName%","description":"%description%","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"contributes":{"languages":[{"id":"xml","extensions":[".xml",".xsd",".ascx",".atom",".axml",".axaml",".bpmn",".cpt",".csl",".csproj",".csproj.user",".dita",".ditamap",".dtd",".ent",".mod",".dtml",".fsproj",".fxml",".iml",".isml",".jmx",".launch",".menu",".mxml",".nuspec",".opml",".owl",".proj",".props",".pt",".publishsettings",".pubxml",".pubxml.user",".rbxlx",".rbxmx",".rdf",".rng",".rss",".shproj",".storyboard",".svg",".targets",".tld",".tmx",".vbproj",".vbproj.user",".vcxproj",".vcxproj.filters",".wsdl",".wxi",".wxl",".wxs",".xaml",".xbl",".xib",".xlf",".xliff",".xpdl",".xul",".xoml"],"firstLine":"(\\<\\?xml.*)|(\\)","name":"meta.tag.xml.template","patterns":[{"captures":{"1":{"name":"entity.other.attribute-name.namespace.xml"},"2":{"name":"entity.other.attribute-name.xml"},"3":{"name":"punctuation.separator.namespace.xml"},"4":{"name":"entity.other.attribute-name.localname.xml"}},"match":" (?:([-_a-zA-Z0-9]+)((:)))?([a-zA-Z-]+)"},{"include":"#doublequotedString"},{"include":"#singlequotedString"}]},{"include":"text.xml"}],"repository":{"doublequotedString":{"begin":"\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.xml"}},"end":"\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.xml"}},"name":"string.quoted.double.xml"},"singlequotedString":{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.xml"}},"end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.xml"}},"name":"string.quoted.single.xml"}}} -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/xml/xsl.language-configuration.json: -------------------------------------------------------------------------------- 1 | { 2 | "comments": { 3 | "lineComment": "", 4 | "blockComment": [ 5 | "" 7 | ] 8 | }, 9 | "brackets": [ 10 | [ 11 | "" 13 | ], 14 | [ 15 | "<", 16 | ">" 17 | ], 18 | [ 19 | "{", 20 | "}" 21 | ], 22 | [ 23 | "(", 24 | ")" 25 | ], 26 | [ 27 | "[", 28 | "]" 29 | ] 30 | ], 31 | "wordPattern": "(-?\\d*\\.\\d\\w*)|([^\\`\\~\\!\\@\\#\\$\\%\\^\\&\\*\\(\\)\\=\\+\\[\\{\\]\\}\\\\\\|\\;\\:\\'\\\"\\,\\.\\<\\>\\/\\?\\s]+)" 32 | } -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/yaml/language-configuration.json: -------------------------------------------------------------------------------- 1 | {"comments":{"lineComment":"#"},"brackets":[["{","}"],["[","]"],["(",")"]],"autoClosingPairs":[["{","}"],["[","]"],["(",")"],["\"","\""],["'","'"]],"surroundingPairs":[["{","}"],["[","]"],["(",")"],["\"","\""],["'","'"]],"folding":{"offSide":true,"markers":{"start":"^\\s*#\\s*region\\b","end":"^\\s*#\\s*endregion\\b"}},"indentationRules":{"increaseIndentPattern":"^\\s*.*(:|-) ?(&\\w+)?(\\{[^}\"']*|\\([^)\"']*)?$","decreaseIndentPattern":"^\\s+\\}$"}} -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/yaml/package.json: -------------------------------------------------------------------------------- 1 | {"name":"yaml","displayName":"%displayName%","description":"%description%","version":"1.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"scripts":{"update-grammar":"node ../node_modules/vscode-grammar-updater/bin textmate/yaml.tmbundle Syntaxes/YAML.tmLanguage ./syntaxes/yaml.tmLanguage.json"},"contributes":{"languages":[{"id":"dockercompose","aliases":["Compose","compose"],"filenamePatterns":["compose.yml","compose.yaml","compose.*.yml","compose.*.yaml","*docker*compose*.yml","*docker*compose*.yaml"],"configuration":"./language-configuration.json"},{"id":"yaml","aliases":["YAML","yaml"],"extensions":[".yml",".eyaml",".eyml",".yaml",".cff"],"firstLine":"^#cloud-config","configuration":"./language-configuration.json"}],"grammars":[{"language":"dockercompose","scopeName":"source.yaml","path":"./syntaxes/yaml.tmLanguage.json"},{"language":"yaml","scopeName":"source.yaml","path":"./syntaxes/yaml.tmLanguage.json"}],"configurationDefaults":{"[yaml]":{"editor.insertSpaces":true,"editor.tabSize":2,"editor.autoIndent":"advanced","diffEditor.ignoreTrimWhitespace":false},"[dockercompose]":{"editor.insertSpaces":true,"editor.tabSize":2,"editor.autoIndent":"advanced"}}},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}} -------------------------------------------------------------------------------- /code-editor/src/main/assets/editor/textmate/yaml/package.nls.json: -------------------------------------------------------------------------------- 1 | {"displayName":"YAML Language Basics","description":"Provides syntax highlighting and bracket matching in YAML files."} -------------------------------------------------------------------------------- /common/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /common/consumer-rules.pro: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euptron/CodeOps-Studio/6a042d07a8633fd791a4ded1a6a9475365d6433a/common/consumer-rules.pro -------------------------------------------------------------------------------- /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/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /common/src/main/java/com/teckrod/codeopsstudio/common/models/BaseEvent.java: -------------------------------------------------------------------------------- 1 | /************************************************************************* 2 | * This file is part of CodeOps Studio. 3 | * CodeOps Studio - Code anywhere anytime 4 | * https://github.com/euptron/CodeOps-Studio 5 | * Copyright (C) 2024-2025 EUP 6 | * 7 | * This program is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published by 9 | * the Free Software Foundation, either version 3 of the License, or 10 | * (at your option) any later version. 11 | * 12 | * This program is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with this program. If not, see https://www.gnu.org/licenses/ 19 | * 20 | * If you have more questions, feel free to message EUP if you have any 21 | * questions or need additional information. Email: etido.up@gmail.com 22 | *************************************************************************/ 23 | 24 | package com.eup.codeopsstudio.common.models; 25 | 26 | public abstract class BaseEvent { 27 | // Foundational event class 28 | } 29 | -------------------------------------------------------------------------------- /common/src/main/java/com/teckrod/codeopsstudio/common/models/ProjectEvent.java: -------------------------------------------------------------------------------- 1 | /************************************************************************* 2 | * This file is part of CodeOps Studio. 3 | * CodeOps Studio - Code anywhere anytime 4 | * https://github.com/euptron/CodeOps-Studio 5 | * Copyright (C) 2024-2025 EUP 6 | * 7 | * This program is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published by 9 | * the Free Software Foundation, either version 3 of the License, or 10 | * (at your option) any later version. 11 | * 12 | * This program is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with this program. If not, see https://www.gnu.org/licenses/ 19 | * 20 | * If you have more questions, feel free to message EUP if you have any 21 | * questions or need additional information. Email: etido.up@gmail.com 22 | *************************************************************************/ 23 | 24 | package com.eup.codeopsstudio.common.models; 25 | 26 | import java.io.File; 27 | 28 | public class ProjectEvent extends BaseEvent { 29 | 30 | final File projectDir; 31 | 32 | public ProjectEvent(File dir) { 33 | projectDir = dir; 34 | } 35 | 36 | /** 37 | * @return project directory 38 | */ 39 | public File getFile() { 40 | return this.projectDir; 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /docs/COMMUNITY_LINKS.md: -------------------------------------------------------------------------------- 1 | # CodeOps Studio Community 2 | Stay connected with CodeOps Studio through our various channels: 3 | 4 | - [Blog](https://codeopsstudio.blogspot.com) 5 | - [X/Twitter](https://x.com/codeopsstudio) 6 | - [Telegram Channel](https://t.me/codeopsstudio) 7 | - [Facebook](https://www.facebook.com/profile.php?id=61563542822201) 8 | 9 | Engage with the community, stay updated on the latest developments, and share your thoughts! -------------------------------------------------------------------------------- /gradle.properties: -------------------------------------------------------------------------------- 1 | # Project-wide Gradle settings. 2 | # IDE (e.g. Android Studio) users: 3 | # Gradle settings configured through the IDE *will override* 4 | # any settings specified in this file. 5 | # For more details on how to configure your build environment visit 6 | # http://www.gradle.org/docs/current/userguide/build_environment.html 7 | # Specifies the JVM arguments used for the daemon process. 8 | # The setting is particularly useful for tweaking memory settings. 9 | # Orginal value was 512 (0.5GB), 1024M (1GB), 4096(4GB) 10 | org.gradle.jvmargs=-Xmx1024M -Dfile.encoding=UTF-8 11 | # When configured, Gradle will run in incubating parallel mode. 12 | # This option should only be used with decoupled projects. More details, visit 13 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects 14 | # org.gradle.parallel=true 15 | # AndroidX package structure to make it clearer which packages are bundled with the 16 | # Android operating system, and which are packaged with your app"s APK 17 | # https://developer.android.com/topic/libraries/support-library/androidx-rn 18 | android.useAndroidX=true 19 | # Kotlin code style for this project: "official" or "obsolete": 20 | kotlin.code.style=official 21 | # Enables namespacing of each library's R class so that its R class includes only the 22 | # resources declared in the library itself and none from the library's dependencies, 23 | # thereby reducing the size of the R class for that library 24 | android.nonTransitiveRClass=true 25 | # Currently using AGP 8.0.0 but required AGP = 8.2.0 against compile & target sdk 34 26 | #android.suppressUnsupportedCompileSdk=34 27 | # Disable additional r8 optimizations 28 | android.enableR8.fullMode=false 29 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euptron/CodeOps-Studio/6a042d07a8633fd791a4ded1a6a9475365d6433a/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.9-bin.zip 4 | networkTimeout=10000 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists -------------------------------------------------------------------------------- /pane/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /pane/README.md: -------------------------------------------------------------------------------- 1 | ## Purpose 2 | A pane is a piece of an application's user interface for OXIDE tabbed editor. 3 | -------------------------------------------------------------------------------- /pane/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 22 | 23 | -keep class * extends com.eup.oxide.pane.Pane { public *; } 24 | -keep class com.eup.oxide.pane.** { *; } 25 | -dontwarn com.eup.oxide.pane.** -------------------------------------------------------------------------------- /pane/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /secrets.properties: -------------------------------------------------------------------------------- 1 | # KeyStore Credentials 2 | # No longer secrets 3 | KEY_PASSWORD = CodeOps-Studio@2024#teckrod 4 | STORE_PASSWORD = CodeOps-Studio@2024#teckrod -------------------------------------------------------------------------------- /server/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /server/README.md: -------------------------------------------------------------------------------- 1 | ## Purpose 2 | A simple http server based off nanohttpd. -------------------------------------------------------------------------------- /server/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 -------------------------------------------------------------------------------- /server/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /share-layout/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /share-layout/consumer-rules.pro: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euptron/CodeOps-Studio/6a042d07a8633fd791a4ded1a6a9475365d6433a/share-layout/consumer-rules.pro -------------------------------------------------------------------------------- /share-layout/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 -------------------------------------------------------------------------------- /share-layout/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /share-layout/src/main/res/color/miui_sharelayout_color.xml: -------------------------------------------------------------------------------- 1 | 2 | 24 | 25 | 26 | 27 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /shared-res/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /shared-res/README.md: -------------------------------------------------------------------------------- 1 | ## Purpose 2 | Makes certain resources globally visible -------------------------------------------------------------------------------- /shared-res/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 -------------------------------------------------------------------------------- /shared-res/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /shared-res/src/main/res/drawable/ad_attribution.xml: -------------------------------------------------------------------------------- 1 | 2 | 24 | 25 | 27 | 28 | 29 | 30 | 35 | 36 | -------------------------------------------------------------------------------- /shared-res/src/main/res/drawable/bg_ripple_disabled.xml: -------------------------------------------------------------------------------- 1 | 2 | 24 | 25 | 27 | 28 | 29 | 30 | 35 | 36 | -------------------------------------------------------------------------------- /shared-res/src/main/res/drawable/bg_ripple_pressed.xml: -------------------------------------------------------------------------------- 1 | 2 | 24 | 25 | 27 | 28 | 29 | 30 | 35 | 36 | -------------------------------------------------------------------------------- /shared-res/src/main/res/drawable/contextual_magnifier_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 24 | 25 | 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /shared-res/src/main/res/drawable/ic_alert.xml: -------------------------------------------------------------------------------- 1 | 2 | 24 | 25 | 31 | 32 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /shared-res/src/main/res/drawable/ic_alert_circle.xml: -------------------------------------------------------------------------------- 1 | 2 | 24 | 25 | 31 | 32 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /shared-res/src/main/res/drawable/ic_alert_outline.xml: -------------------------------------------------------------------------------- 1 | 2 | 24 | 25 | 31 | 32 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /shared-res/src/main/res/drawable/ic_arrow_down.xml: -------------------------------------------------------------------------------- 1 | 2 | 24 | 25 | 31 | 34 | 35 | -------------------------------------------------------------------------------- /shared-res/src/main/res/drawable/ic_arrow_right.xml: -------------------------------------------------------------------------------- 1 | 2 | 24 | 25 | 32 | 35 | 36 | -------------------------------------------------------------------------------- /shared-res/src/main/res/drawable/ic_chevron_down.xml: -------------------------------------------------------------------------------- 1 | 2 | 24 | 25 | 31 | 32 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /shared-res/src/main/res/drawable/ic_chevron_left.xml: -------------------------------------------------------------------------------- 1 | 2 | 24 | 25 | 31 | 32 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /shared-res/src/main/res/drawable/ic_chevron_right.xml: -------------------------------------------------------------------------------- 1 | 2 | 24 | 25 | 31 | 32 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /shared-res/src/main/res/drawable/ic_chevron_up.xml: -------------------------------------------------------------------------------- 1 | 2 | 24 | 25 | 31 | 32 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /shared-res/src/main/res/drawable/ic_delete.xml: -------------------------------------------------------------------------------- 1 | 2 | 24 | 25 | 31 | 32 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /shared-res/src/main/res/drawable/ic_file.xml: -------------------------------------------------------------------------------- 1 | 2 | 24 | 25 | 31 | 32 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /shared-res/src/main/res/drawable/ic_file_outline.xml: -------------------------------------------------------------------------------- 1 | 2 | 24 | 25 | 31 | 32 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /shared-res/src/main/res/drawable/ic_folder.xml: -------------------------------------------------------------------------------- 1 | 2 | 24 | 25 | 31 | 32 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /shared-res/src/main/res/drawable/ic_lang_kotlin.xml: -------------------------------------------------------------------------------- 1 | 2 | 24 | 25 | 31 | 32 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /shared-res/src/main/res/drawable/ic_menu.xml: -------------------------------------------------------------------------------- 1 | 2 | 24 | 25 | 31 | 32 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /shared-res/src/main/res/drawable/ic_notification_clear_all.xml: -------------------------------------------------------------------------------- 1 | 2 | 24 | 25 | 31 | 32 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /shared-res/src/main/res/drawable/ic_pin_outline.xml: -------------------------------------------------------------------------------- 1 | 2 | 24 | 25 | 31 | 32 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /shared-res/src/main/res/drawable/ic_play.xml: -------------------------------------------------------------------------------- 1 | 2 | 24 | 25 | 31 | 32 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /shared-res/src/main/res/drawable/ic_play_outline.xml: -------------------------------------------------------------------------------- 1 | 2 | 24 | 25 | 31 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /shared-res/src/main/res/drawable/ic_splash_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euptron/CodeOps-Studio/6a042d07a8633fd791a4ded1a6a9475365d6433a/shared-res/src/main/res/drawable/ic_splash_icon.png -------------------------------------------------------------------------------- /shared-res/src/main/res/drawable/ic_swap_horizontal.xml: -------------------------------------------------------------------------------- 1 | 2 | 24 | 25 | 31 | 32 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /shared-res/src/main/res/drawable/ic_swap_vertical.xml: -------------------------------------------------------------------------------- 1 | 2 | 24 | 25 | 31 | 32 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /shared-res/src/main/res/drawable/ic_view_grid_plus.xml: -------------------------------------------------------------------------------- 1 | 2 | 24 | 25 | 31 | 32 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /shared-res/src/main/res/drawable/ic_westudio.xml: -------------------------------------------------------------------------------- 1 | 2 | 24 | 25 | 31 | 32 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /shared-res/src/main/res/font/firacode_regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euptron/CodeOps-Studio/6a042d07a8633fd791a4ded1a6a9475365d6433a/shared-res/src/main/res/font/firacode_regular.ttf -------------------------------------------------------------------------------- /shared-res/src/main/res/font/inconsolata_regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euptron/CodeOps-Studio/6a042d07a8633fd791a4ded1a6a9475365d6433a/shared-res/src/main/res/font/inconsolata_regular.ttf -------------------------------------------------------------------------------- /shared-res/src/main/res/font/jetbrains_mono_regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euptron/CodeOps-Studio/6a042d07a8633fd791a4ded1a6a9475365d6433a/shared-res/src/main/res/font/jetbrains_mono_regular.ttf -------------------------------------------------------------------------------- /shared-res/src/main/res/font/notosans_italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euptron/CodeOps-Studio/6a042d07a8633fd791a4ded1a6a9475365d6433a/shared-res/src/main/res/font/notosans_italic.ttf -------------------------------------------------------------------------------- /shared-res/src/main/res/font/notosans_regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euptron/CodeOps-Studio/6a042d07a8633fd791a4ded1a6a9475365d6433a/shared-res/src/main/res/font/notosans_regular.ttf -------------------------------------------------------------------------------- /shared-res/src/main/res/font/sourcecodepro_regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euptron/CodeOps-Studio/6a042d07a8633fd791a4ded1a6a9475365d6433a/shared-res/src/main/res/font/sourcecodepro_regular.ttf -------------------------------------------------------------------------------- /shared-res/src/main/res/font/westudio_font.xml: -------------------------------------------------------------------------------- 1 | 2 | 24 | 25 | 26 | 30 | 34 | 35 | -------------------------------------------------------------------------------- /shared-res/src/main/res/layout/layout_primary_sidebar_header.xml: -------------------------------------------------------------------------------- 1 | 2 | 24 | 25 | 32 | -------------------------------------------------------------------------------- /shared-res/src/main/res/layout/otg_mtrl_switch_layout.xml: -------------------------------------------------------------------------------- 1 | 2 | 24 | 25 | 32 | -------------------------------------------------------------------------------- /shared-res/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 24 | 25 | 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /shared-res/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 24 | 25 | 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /shared-res/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euptron/CodeOps-Studio/6a042d07a8633fd791a4ded1a6a9475365d6433a/shared-res/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /shared-res/src/main/res/mipmap-hdpi/ic_launcher_dynamic_background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euptron/CodeOps-Studio/6a042d07a8633fd791a4ded1a6a9475365d6433a/shared-res/src/main/res/mipmap-hdpi/ic_launcher_dynamic_background.png -------------------------------------------------------------------------------- /shared-res/src/main/res/mipmap-hdpi/ic_launcher_dynamic_background_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euptron/CodeOps-Studio/6a042d07a8633fd791a4ded1a6a9475365d6433a/shared-res/src/main/res/mipmap-hdpi/ic_launcher_dynamic_background_round.png -------------------------------------------------------------------------------- /shared-res/src/main/res/mipmap-hdpi/ic_launcher_dynamic_foreground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euptron/CodeOps-Studio/6a042d07a8633fd791a4ded1a6a9475365d6433a/shared-res/src/main/res/mipmap-hdpi/ic_launcher_dynamic_foreground.png -------------------------------------------------------------------------------- /shared-res/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euptron/CodeOps-Studio/6a042d07a8633fd791a4ded1a6a9475365d6433a/shared-res/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /shared-res/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euptron/CodeOps-Studio/6a042d07a8633fd791a4ded1a6a9475365d6433a/shared-res/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /shared-res/src/main/res/mipmap-mdpi/ic_launcher_dynamic_background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euptron/CodeOps-Studio/6a042d07a8633fd791a4ded1a6a9475365d6433a/shared-res/src/main/res/mipmap-mdpi/ic_launcher_dynamic_background.png -------------------------------------------------------------------------------- /shared-res/src/main/res/mipmap-mdpi/ic_launcher_dynamic_background_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euptron/CodeOps-Studio/6a042d07a8633fd791a4ded1a6a9475365d6433a/shared-res/src/main/res/mipmap-mdpi/ic_launcher_dynamic_background_round.png -------------------------------------------------------------------------------- /shared-res/src/main/res/mipmap-mdpi/ic_launcher_dynamic_foreground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euptron/CodeOps-Studio/6a042d07a8633fd791a4ded1a6a9475365d6433a/shared-res/src/main/res/mipmap-mdpi/ic_launcher_dynamic_foreground.png -------------------------------------------------------------------------------- /shared-res/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euptron/CodeOps-Studio/6a042d07a8633fd791a4ded1a6a9475365d6433a/shared-res/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /shared-res/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euptron/CodeOps-Studio/6a042d07a8633fd791a4ded1a6a9475365d6433a/shared-res/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /shared-res/src/main/res/mipmap-xhdpi/ic_launcher_dynamic_background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euptron/CodeOps-Studio/6a042d07a8633fd791a4ded1a6a9475365d6433a/shared-res/src/main/res/mipmap-xhdpi/ic_launcher_dynamic_background.png -------------------------------------------------------------------------------- /shared-res/src/main/res/mipmap-xhdpi/ic_launcher_dynamic_background_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euptron/CodeOps-Studio/6a042d07a8633fd791a4ded1a6a9475365d6433a/shared-res/src/main/res/mipmap-xhdpi/ic_launcher_dynamic_background_round.png -------------------------------------------------------------------------------- /shared-res/src/main/res/mipmap-xhdpi/ic_launcher_dynamic_foreground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euptron/CodeOps-Studio/6a042d07a8633fd791a4ded1a6a9475365d6433a/shared-res/src/main/res/mipmap-xhdpi/ic_launcher_dynamic_foreground.png -------------------------------------------------------------------------------- /shared-res/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euptron/CodeOps-Studio/6a042d07a8633fd791a4ded1a6a9475365d6433a/shared-res/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /shared-res/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euptron/CodeOps-Studio/6a042d07a8633fd791a4ded1a6a9475365d6433a/shared-res/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /shared-res/src/main/res/mipmap-xxhdpi/ic_launcher_dynamic_background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euptron/CodeOps-Studio/6a042d07a8633fd791a4ded1a6a9475365d6433a/shared-res/src/main/res/mipmap-xxhdpi/ic_launcher_dynamic_background.png -------------------------------------------------------------------------------- /shared-res/src/main/res/mipmap-xxhdpi/ic_launcher_dynamic_background_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euptron/CodeOps-Studio/6a042d07a8633fd791a4ded1a6a9475365d6433a/shared-res/src/main/res/mipmap-xxhdpi/ic_launcher_dynamic_background_round.png -------------------------------------------------------------------------------- /shared-res/src/main/res/mipmap-xxhdpi/ic_launcher_dynamic_foreground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euptron/CodeOps-Studio/6a042d07a8633fd791a4ded1a6a9475365d6433a/shared-res/src/main/res/mipmap-xxhdpi/ic_launcher_dynamic_foreground.png -------------------------------------------------------------------------------- /shared-res/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euptron/CodeOps-Studio/6a042d07a8633fd791a4ded1a6a9475365d6433a/shared-res/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /shared-res/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euptron/CodeOps-Studio/6a042d07a8633fd791a4ded1a6a9475365d6433a/shared-res/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /shared-res/src/main/res/mipmap-xxxhdpi/ic_launcher_dynamic_background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euptron/CodeOps-Studio/6a042d07a8633fd791a4ded1a6a9475365d6433a/shared-res/src/main/res/mipmap-xxxhdpi/ic_launcher_dynamic_background.png -------------------------------------------------------------------------------- /shared-res/src/main/res/mipmap-xxxhdpi/ic_launcher_dynamic_background_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euptron/CodeOps-Studio/6a042d07a8633fd791a4ded1a6a9475365d6433a/shared-res/src/main/res/mipmap-xxxhdpi/ic_launcher_dynamic_background_round.png -------------------------------------------------------------------------------- /shared-res/src/main/res/mipmap-xxxhdpi/ic_launcher_dynamic_foreground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euptron/CodeOps-Studio/6a042d07a8633fd791a4ded1a6a9475365d6433a/shared-res/src/main/res/mipmap-xxxhdpi/ic_launcher_dynamic_foreground.png -------------------------------------------------------------------------------- /shared-res/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euptron/CodeOps-Studio/6a042d07a8633fd791a4ded1a6a9475365d6433a/shared-res/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /tools/DateLong.java: -------------------------------------------------------------------------------- 1 | /************************************************************************* 2 | * This file is part of CodeOps Studio. 3 | * CodeOps Studio - Code anywhere anytime 4 | * https://github.com/euptron/CodeOps-Studio 5 | * Copyright (C) 2024-2025 EUP 6 | * 7 | * This program is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published by 9 | * the Free Software Foundation, either version 3 of the License, or 10 | * (at your option) any later version. 11 | * 12 | * This program is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with this program. If not, see https://www.gnu.org/licenses/ 19 | * 20 | * If you have more questions, feel free to message EUP if you have any 21 | * questions or need additional information. Email: etido.up@gmail.com 22 | *************************************************************************/ 23 | 24 | import java.util.Date; 25 | 26 | /** 27 | * Utility to generate long timestamps for app management 28 | * and release note updates. 29 | * 30 | * @author EUP 31 | */ 32 | public class DateLong { 33 | public static void main(String[] args) { 34 | System.out.format("Date= %s", new Date().getTime()); 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /treeview/README.md: -------------------------------------------------------------------------------- 1 | # CodeOps Studio-File Tree View 2 | 3 | File based tree view adopted from Bogdan Melnychuk Android Tree View 4 | 5 | **To-do** 6 | - Revamp treeview 7 | - Support pagination 8 | - Only load tree nodes when parent is clicked 9 | - Migrate from file to object nodes 10 | - Support switch between list and tree 11 | - Support tree syntax form json 12 | 13 | ## Thanks to 14 | - [Bogdan Melnychuk](https://github.com/bmelnychuk) for [AndroidTreeView](https://github.com/bmelnychuk/AndroidTreeView) -------------------------------------------------------------------------------- /treeview/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 /Users/bogdan/Library/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 | -------------------------------------------------------------------------------- /treeview/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /treeview/src/main/res/values/ids.xml: -------------------------------------------------------------------------------- 1 | 2 | 24 | 25 | 26 | 29 | 32 | 35 | 36 | --------------------------------------------------------------------------------