init
This commit is contained in:
BIN
JetBrains/WebStorm2025.1/app-internal-state.db
Normal file
BIN
JetBrains/WebStorm2025.1/app-internal-state.db
Normal file
Binary file not shown.
204
JetBrains/WebStorm2025.1/bundled_plugins.txt
Normal file
204
JetBrains/WebStorm2025.1/bundled_plugins.txt
Normal file
@@ -0,0 +1,204 @@
|
||||
AngularJS|JavaScript Frameworks and Tools
|
||||
|
||||
Docker|Deployment
|
||||
|
||||
Git4Idea|Version Controls
|
||||
|
||||
HtmlTools|HTML and XML
|
||||
|
||||
JSIntentionPowerPack|JavaScript Frameworks and Tools
|
||||
|
||||
JavaScriptDebugger|JavaScript Frameworks and Tools
|
||||
|
||||
JavaScript|JavaScript Frameworks and Tools
|
||||
|
||||
Karma|JavaScript Frameworks and Tools
|
||||
|
||||
NodeJS|JavaScript Frameworks and Tools
|
||||
|
||||
Refactor-X|HTML and XML
|
||||
|
||||
Remote Development Server|null
|
||||
|
||||
Subversion|Version Controls
|
||||
|
||||
com.deadlock.scsyntax|JavaScript Frameworks and Tools
|
||||
|
||||
com.dmarcotte.handlebars|Template Languages
|
||||
|
||||
com.intellij.completion.ml.ranking|Local AI/ML Tools
|
||||
|
||||
com.intellij.configurationScript|null
|
||||
|
||||
com.intellij.copyright|Other Tools
|
||||
|
||||
com.intellij.css|Style Sheets
|
||||
|
||||
com.intellij.database|Database
|
||||
|
||||
com.intellij.dev|null
|
||||
|
||||
com.intellij.diagram|Other Tools
|
||||
|
||||
com.intellij.ja|IDE Localization
|
||||
|
||||
com.intellij.jsonpath|Languages
|
||||
|
||||
com.intellij.ko|IDE Localization
|
||||
|
||||
com.intellij.microservices.ui|Microservices
|
||||
|
||||
com.intellij.modules.json|Languages
|
||||
|
||||
com.intellij.platform.images|null
|
||||
|
||||
com.intellij.plugins.all_hallows_eve.colorscheme|UI
|
||||
|
||||
com.intellij.plugins.blackboard.colorscheme|UI
|
||||
|
||||
com.intellij.plugins.cobalt.colorscheme|UI
|
||||
|
||||
com.intellij.plugins.eclipsekeymap|Keymap
|
||||
|
||||
com.intellij.plugins.github.colorscheme|UI
|
||||
|
||||
com.intellij.plugins.html.instantEditing|HTML and XML
|
||||
|
||||
com.intellij.plugins.monokai.colorscheme|UI
|
||||
|
||||
com.intellij.plugins.netbeanskeymap|Keymap
|
||||
|
||||
com.intellij.plugins.rails_casts.colorscheme|UI
|
||||
|
||||
com.intellij.plugins.twilight.colorscheme|UI
|
||||
|
||||
com.intellij.plugins.vibrantink.colorscheme|UI
|
||||
|
||||
com.intellij.plugins.visualstudiokeymap|Keymap
|
||||
|
||||
com.intellij.plugins.vscodekeymap|Keymap
|
||||
|
||||
com.intellij.plugins.warmneon.colorscheme|UI
|
||||
|
||||
com.intellij.plugins.watcher|null
|
||||
|
||||
com.intellij.plugins.webcomponents|JavaScript Frameworks and Tools
|
||||
|
||||
com.intellij.react|JavaScript Frameworks and Tools
|
||||
|
||||
com.intellij.searcheverywhere.ml|Local AI/ML Tools
|
||||
|
||||
com.intellij.settingsSync|IDE Settings
|
||||
|
||||
com.intellij.stylelint|JavaScript Frameworks and Tools
|
||||
|
||||
com.intellij.swagger|Microservices
|
||||
|
||||
com.intellij.tailwindcss|Style Sheets
|
||||
|
||||
com.intellij.tasks.timeTracking|Other Tools
|
||||
|
||||
com.intellij.tasks|Other Tools
|
||||
|
||||
com.intellij.zh|IDE Localization
|
||||
|
||||
com.intellij|null
|
||||
|
||||
com.jetbrains.codeWithMe|null
|
||||
|
||||
com.jetbrains.gateway.terminal|null
|
||||
|
||||
com.jetbrains.gateway|Remote Development
|
||||
|
||||
com.jetbrains.lang.ejs|Template Languages
|
||||
|
||||
com.jetbrains.performancePlugin.async|Other Tools
|
||||
|
||||
com.jetbrains.performancePlugin|Other Tools
|
||||
|
||||
com.jetbrains.plugins.jade|Template Languages
|
||||
|
||||
com.jetbrains.plugins.webDeployment|Deployment
|
||||
|
||||
com.jetbrains.restClient|Microservices
|
||||
|
||||
com.jetbrains.sh|Languages
|
||||
|
||||
com.jetbrains.station|null
|
||||
|
||||
cucumber-javascript|JavaScript Frameworks and Tools
|
||||
|
||||
gherkin|Languages
|
||||
|
||||
hg4idea|Version Controls
|
||||
|
||||
intellij.charts|null
|
||||
|
||||
intellij.git.commit.modal|Version Controls
|
||||
|
||||
intellij.grid.plugin|null
|
||||
|
||||
intellij.indexing.shared.core|null
|
||||
|
||||
intellij.indexing.shared|null
|
||||
|
||||
intellij.javascript.bun|JavaScript Frameworks and Tools
|
||||
|
||||
intellij.nextjs|JavaScript Frameworks and Tools
|
||||
|
||||
intellij.platform.ijent.impl|Deployment
|
||||
|
||||
intellij.prettierJS|JavaScript Frameworks and Tools
|
||||
|
||||
intellij.vitejs|JavaScript Frameworks and Tools
|
||||
|
||||
intellij.webpack|JavaScript Frameworks and Tools
|
||||
|
||||
intellij.webp|null
|
||||
|
||||
org.editorconfig.editorconfigjetbrains|Other Tools
|
||||
|
||||
org.intellij.intelliLang|Other Tools
|
||||
|
||||
org.intellij.plugins.markdown|Languages
|
||||
|
||||
org.intellij.plugins.postcss|Style Sheets
|
||||
|
||||
org.intellij.qodana|null
|
||||
|
||||
org.jetbrains.completion.full.line|Local AI/ML Tools
|
||||
|
||||
org.jetbrains.plugins.docker.gateway|Remote Development
|
||||
|
||||
org.jetbrains.plugins.emojipicker|Other Tools
|
||||
|
||||
org.jetbrains.plugins.github|Version Controls
|
||||
|
||||
org.jetbrains.plugins.gitlab|Version Controls
|
||||
|
||||
org.jetbrains.plugins.less|Style Sheets
|
||||
|
||||
org.jetbrains.plugins.node-remote-interpreter|JavaScript Frameworks and Tools
|
||||
|
||||
org.jetbrains.plugins.remote-run|Deployment
|
||||
|
||||
org.jetbrains.plugins.sass|Style Sheets
|
||||
|
||||
org.jetbrains.plugins.terminal|Other Tools
|
||||
|
||||
org.jetbrains.plugins.textmate|Other Tools
|
||||
|
||||
org.jetbrains.plugins.vagrant|Deployment
|
||||
|
||||
org.jetbrains.plugins.vue|JavaScript Frameworks and Tools
|
||||
|
||||
org.jetbrains.plugins.yaml|Languages
|
||||
|
||||
org.jetbrains.security.package-checker|null
|
||||
|
||||
tanvd.grazi|null
|
||||
|
||||
training|null
|
||||
|
||||
tslint|JavaScript Frameworks and Tools
|
||||
|
||||
8
JetBrains/WebStorm2025.1/early-access-registry.txt
Normal file
8
JetBrains/WebStorm2025.1/early-access-registry.txt
Normal file
@@ -0,0 +1,8 @@
|
||||
i18n.locale
|
||||
|
||||
ide.experimental.ui
|
||||
true
|
||||
idea.plugins.compatible.build
|
||||
|
||||
moved.to.new.ui
|
||||
true
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,393 @@
|
||||
{
|
||||
"groups" : [ {
|
||||
"id" : "mlse.event.log",
|
||||
"builds" : [ ],
|
||||
"versions" : [ {
|
||||
"from" : "1"
|
||||
} ],
|
||||
"rules" : {
|
||||
"event_id" : [ "{enum#__event_id}" ],
|
||||
"event_data" : {
|
||||
"code" : [ "{regexp#integer}" ],
|
||||
"error" : [ "{util#class_name}", "{enum:EMPTY_CONTENT|INVALID_JSON|UNKNOWN}", "{enum:EMPTY_SERVICE_URL|UNREACHABLE_SERVICE|EMPTY_RESPONSE_BODY|ERROR_ON_LOAD}", "{enum:SEND|NOT_PERMITTED_SERVER|NOT_PERMITTED_USER|ERROR_IN_CONFIG|NOT_PERMITTED_TIMEOUT|NOTHING_TO_SEND|SENT_WITH_ERRORS|EXCEPTION_OCCURRED|NO_ARGUMENTS|NO_APPLICATION_CONFIG|IDE_NOT_CLOSING|ERROR_ON_SEND|NO_DEVICE_ID|NO_MACHINE_ID|INVALID_BUCKET|INVALID_REVISION|NO_LOG_FILES}", "{enum:NO_LOGS|NO_UPLOADER|NO_LIBRARIES|NO_TEMP_FOLDER}" ],
|
||||
"error_ts" : [ "{regexp#integer}" ],
|
||||
"errors" : [ "{regexp#integer}" ],
|
||||
"external" : [ "{enum#boolean}" ],
|
||||
"failed" : [ "{regexp#integer}" ],
|
||||
"paths" : [ "{regexp#hash}" ],
|
||||
"plugin" : [ "{util#plugin}" ],
|
||||
"plugin_type" : [ "{util#plugin_type}" ],
|
||||
"plugin_version" : [ "{util#plugin_version}" ],
|
||||
"send" : [ "{regexp#integer}" ],
|
||||
"send_ts" : [ "{regexp#integer}" ],
|
||||
"stage" : [ "{enum:LOADING|PARSING}" ],
|
||||
"succeed" : [ "{regexp#integer}", "{enum#boolean}" ],
|
||||
"total" : [ "{regexp#integer}" ],
|
||||
"version" : [ "{regexp#version}" ]
|
||||
},
|
||||
"enums" : {
|
||||
"__event_id" : [ "logs.send", "loading.config.failed", "metadata.loaded", "metadata.updated", "metadata.update.failed", "metadata.load.failed", "external.send.finished", "external.send.started", "external.send.command.creation.started", "external.send.command.creation.finished" ]
|
||||
}
|
||||
},
|
||||
"anonymized_fields" : [ {
|
||||
"event" : "logs.send",
|
||||
"fields" : [ "paths" ]
|
||||
} ]
|
||||
}, {
|
||||
"id" : "mlse.log",
|
||||
"builds" : [ ],
|
||||
"versions" : [ {
|
||||
"from" : "2"
|
||||
} ],
|
||||
"rules" : {
|
||||
"event_id" : [ "{enum:sessionFinished|searchRestarted|key.not.computed}" ],
|
||||
"event_data" : {
|
||||
"closePopup" : [ "{enum#boolean}" ],
|
||||
"collectedItems.absentFeatures" : [ "{util#mlse_element_feature}" ],
|
||||
"collectedItems.actionId" : [ "{util#action}", "{enum#action}" ],
|
||||
"collectedItems.contributor.contributorId" : [ "{enum:SearchEverywhereContributor.All|ClassSearchEverywhereContributor|FileSearchEverywhereContributor|RecentFilesSEContributor|SymbolSearchEverywhereContributor|ActionSearchEverywhereContributor|RunConfigurationsSEContributor|CommandsContributor|TopHitSEContributor|com.intellij.ide.actions.searcheverywhere.CalculatorSEContributor|TmsSearchEverywhereContributor|YAMLKeysSearchEverywhereContributor|UrlSearchEverywhereContributor|Vcs.Git|AutocompletionContributor|TextSearchContributor|DbSETablesContributor|third.party}", "{enum:SearchEverywhereSpellingCorrectorContributor}", "{enum:SemanticActionSearchEverywhereContributor}" ],
|
||||
"collectedItems.contributor.contributorIsEssential" : [ "{enum#boolean}" ],
|
||||
"collectedItems.contributor.contributorIsEssentialPrediction" : [ "{regexp#float}" ],
|
||||
"collectedItems.contributor.contributorIsMostPopular" : [ "{enum#boolean}" ],
|
||||
"collectedItems.contributor.contributorPopularityIndex" : [ "{regexp#integer}" ],
|
||||
"collectedItems.contributor.contributorPriority" : [ "{regexp#integer}" ],
|
||||
"collectedItems.contributor.contributorWeight" : [ "{regexp#integer}" ],
|
||||
"collectedItems.contributor.globalSelections" : [ "{regexp#integer}" ],
|
||||
"collectedItems.contributor.globalSelectionsToMax" : [ "{regexp#float}" ],
|
||||
"collectedItems.contributor.selectionAll" : [ "{regexp#integer}" ],
|
||||
"collectedItems.contributor.selectionOther" : [ "{regexp#integer}" ],
|
||||
"collectedItems.contributor.selectionToMaxAll" : [ "{regexp#float}" ],
|
||||
"collectedItems.contributor.selectionToMaxOther" : [ "{regexp#float}" ],
|
||||
"collectedItems.contributor.selectionsPerUserRatio" : [ "{regexp#float}" ],
|
||||
"collectedItems.contributor.timeSinceLastSelectionAll" : [ "{regexp#integer}" ],
|
||||
"collectedItems.contributor.timeSinceLastSelectionOther" : [ "{regexp#integer}" ],
|
||||
"collectedItems.contributor.usersRatio" : [ "{regexp#float}" ],
|
||||
"collectedItems.contributor.wasSelectedInLastDayAll" : [ "{enum#boolean}" ],
|
||||
"collectedItems.contributor.wasSelectedInLastDayOther" : [ "{enum#boolean}" ],
|
||||
"collectedItems.contributor.wasSelectedInLastHourAll" : [ "{enum#boolean}" ],
|
||||
"collectedItems.contributor.wasSelectedInLastHourOther" : [ "{enum#boolean}" ],
|
||||
"collectedItems.contributor.wasSelectedInLastMinuteAll" : [ "{enum#boolean}" ],
|
||||
"collectedItems.contributor.wasSelectedInLastMinuteOther" : [ "{enum#boolean}" ],
|
||||
"collectedItems.contributor.wasSelectedInLastMonthAll" : [ "{enum#boolean}" ],
|
||||
"collectedItems.contributor.wasSelectedInLastMonthOther" : [ "{enum#boolean}" ],
|
||||
"collectedItems.contributorId" : [ "{enum#se_tab}" ],
|
||||
"collectedItems.features.actionSimilarityScore" : [ "{regexp#float}" ],
|
||||
"collectedItems.features.allInitialLettersMatch" : [ "{enum#boolean}" ],
|
||||
"collectedItems.features.asActionPureSemantic" : [ "{enum#boolean}" ],
|
||||
"collectedItems.features.authoritiesSize" : [ "{regexp#integer}" ],
|
||||
"collectedItems.features.bufferedTimestamp" : [ "{regexp#integer}" ],
|
||||
"collectedItems.features.directoryDepth" : [ "{regexp#integer}" ],
|
||||
"collectedItems.features.fileGroup" : [ "{enum:MAIN|BUILD|CHANGELOG|CONFIG|README}" ],
|
||||
"collectedItems.features.fileStatus" : [ "{enum#vcs_file_status}" ],
|
||||
"collectedItems.features.fileType" : [ "{util#file_type}" ],
|
||||
"collectedItems.features.fileTypeMatchesQuery" : [ "{enum#boolean}" ],
|
||||
"collectedItems.features.fileTypeUsageRatio" : [ "{regexp#float}" ],
|
||||
"collectedItems.features.fileTypeUsageRatioToMax" : [ "{regexp#float}" ],
|
||||
"collectedItems.features.fileTypeUsageRatioToMin" : [ "{regexp#float}" ],
|
||||
"collectedItems.features.fileTypeUsedInLastDay" : [ "{enum#boolean}" ],
|
||||
"collectedItems.features.fileTypeUsedInLastHour" : [ "{enum#boolean}" ],
|
||||
"collectedItems.features.fileTypeUsedInLastMinute" : [ "{enum#boolean}" ],
|
||||
"collectedItems.features.fileTypeUsedInLastMonth" : [ "{enum#boolean}" ],
|
||||
"collectedItems.features.fromConfigurable" : [ "{enum#boolean}" ],
|
||||
"collectedItems.features.globalUsage" : [ "{regexp#integer}" ],
|
||||
"collectedItems.features.globalUsageToMax" : [ "{regexp#float}" ],
|
||||
"collectedItems.features.globalUsageToMaxV1" : [ "{regexp#float}" ],
|
||||
"collectedItems.features.globalUsageToMaxV2" : [ "{regexp#float}" ],
|
||||
"collectedItems.features.globalUsageToMaxV3" : [ "{regexp#float}" ],
|
||||
"collectedItems.features.globalUsageToMaxV4" : [ "{regexp#float}" ],
|
||||
"collectedItems.features.globalUsageV1" : [ "{regexp#integer}" ],
|
||||
"collectedItems.features.globalUsageV2" : [ "{regexp#integer}" ],
|
||||
"collectedItems.features.globalUsageV3" : [ "{regexp#integer}" ],
|
||||
"collectedItems.features.globalUsageV4" : [ "{regexp#integer}" ],
|
||||
"collectedItems.features.groupLength" : [ "{regexp#integer}" ],
|
||||
"collectedItems.features.heuristicPriority" : [ "{regexp#integer}" ],
|
||||
"collectedItems.features.isAbbreviation" : [ "{enum#boolean}" ],
|
||||
"collectedItems.features.isAccessibleFromModule" : [ "{enum#boolean}" ],
|
||||
"collectedItems.features.isAction" : [ "{enum#boolean}" ],
|
||||
"collectedItems.features.isActionPureSemantic" : [ "{enum#boolean}" ],
|
||||
"collectedItems.features.isBookmark" : [ "{enum#boolean}" ],
|
||||
"collectedItems.features.isBooleanOption" : [ "{enum#boolean}" ],
|
||||
"collectedItems.features.isChanged" : [ "{enum#boolean}" ],
|
||||
"collectedItems.features.isDeprecated" : [ "{enum#boolean}" ],
|
||||
"collectedItems.features.isDirectory" : [ "{enum#boolean}" ],
|
||||
"collectedItems.features.isEditorAction" : [ "{enum#boolean}" ],
|
||||
"collectedItems.features.isEnabled" : [ "{enum#boolean}" ],
|
||||
"collectedItems.features.isExactMatch" : [ "{enum#boolean}" ],
|
||||
"collectedItems.features.isExactRelativePath" : [ "{enum#boolean}" ],
|
||||
"collectedItems.features.isFavorite" : [ "{enum#boolean}" ],
|
||||
"collectedItems.features.isFromLibrary" : [ "{enum#boolean}" ],
|
||||
"collectedItems.features.isGroup" : [ "{enum#boolean}" ],
|
||||
"collectedItems.features.isHighPriority" : [ "{enum#boolean}" ],
|
||||
"collectedItems.features.isIgnored" : [ "{enum#boolean}" ],
|
||||
"collectedItems.features.isInComment" : [ "{enum#boolean}" ],
|
||||
"collectedItems.features.isInExcluded" : [ "{enum#boolean}" ],
|
||||
"collectedItems.features.isInSource" : [ "{enum#boolean}" ],
|
||||
"collectedItems.features.isInTestSources" : [ "{enum#boolean}" ],
|
||||
"collectedItems.features.isInvalid" : [ "{enum#boolean}" ],
|
||||
"collectedItems.features.isNotDefault" : [ "{enum#boolean}" ],
|
||||
"collectedItems.features.isOpened" : [ "{enum#boolean}" ],
|
||||
"collectedItems.features.isOption" : [ "{enum#boolean}" ],
|
||||
"collectedItems.features.isPureSemantic" : [ "{enum#boolean}" ],
|
||||
"collectedItems.features.isRegistryOption" : [ "{enum#boolean}" ],
|
||||
"collectedItems.features.isSameFileTypeAsOpenedFile" : [ "{enum#boolean}" ],
|
||||
"collectedItems.features.isSameModule" : [ "{enum#boolean}" ],
|
||||
"collectedItems.features.isSearchAction" : [ "{enum#boolean}" ],
|
||||
"collectedItems.features.isSemanticOnly" : [ "{enum#boolean}" ],
|
||||
"collectedItems.features.isShared" : [ "{enum#boolean}" ],
|
||||
"collectedItems.features.isTemporary" : [ "{enum#boolean}" ],
|
||||
"collectedItems.features.isToggleAction" : [ "{enum#boolean}" ],
|
||||
"collectedItems.features.isTopLevel" : [ "{enum#boolean}" ],
|
||||
"collectedItems.features.javaIsAbstract" : [ "{enum#boolean}" ],
|
||||
"collectedItems.features.javaIsInner" : [ "{enum#boolean}" ],
|
||||
"collectedItems.features.javaIsInstantiatable" : [ "{enum#boolean}" ],
|
||||
"collectedItems.features.javaIsInterface" : [ "{enum#boolean}" ],
|
||||
"collectedItems.features.javaIsLocalOrAnonymous" : [ "{enum#boolean}" ],
|
||||
"collectedItems.features.javaIsPrivate" : [ "{enum#boolean}" ],
|
||||
"collectedItems.features.javaIsProtected" : [ "{enum#boolean}" ],
|
||||
"collectedItems.features.javaIsPublic" : [ "{enum#boolean}" ],
|
||||
"collectedItems.features.javaIsStatic" : [ "{enum#boolean}" ],
|
||||
"collectedItems.features.javaNumberOfAllFields" : [ "{regexp#integer}" ],
|
||||
"collectedItems.features.javaNumberOfAllMethods" : [ "{regexp#integer}" ],
|
||||
"collectedItems.features.javaNumberOfAnnotations" : [ "{regexp#integer}" ],
|
||||
"collectedItems.features.javaNumberOfDeprecatedFields" : [ "{regexp#integer}" ],
|
||||
"collectedItems.features.javaNumberOfDeprecatedMethods" : [ "{regexp#integer}" ],
|
||||
"collectedItems.features.javaNumberOfFields" : [ "{regexp#integer}" ],
|
||||
"collectedItems.features.javaNumberOfMethods" : [ "{regexp#integer}" ],
|
||||
"collectedItems.features.javaNumberOfSupers" : [ "{regexp#integer}" ],
|
||||
"collectedItems.features.keyIsInTop5RecentlyUsed" : [ "{enum#boolean}" ],
|
||||
"collectedItems.features.keyIsMostPopular" : [ "{enum#boolean}" ],
|
||||
"collectedItems.features.keyIsMostRecentlyUsed" : [ "{enum#boolean}" ],
|
||||
"collectedItems.features.keyNeverUsed" : [ "{enum#boolean}" ],
|
||||
"collectedItems.features.kotlinIsAbstract" : [ "{enum#boolean}" ],
|
||||
"collectedItems.features.kotlinIsData" : [ "{enum#boolean}" ],
|
||||
"collectedItems.features.kotlinIsDocumented" : [ "{enum#boolean}" ],
|
||||
"collectedItems.features.kotlinIsEnum" : [ "{enum#boolean}" ],
|
||||
"collectedItems.features.kotlinIsInline" : [ "{enum#boolean}" ],
|
||||
"collectedItems.features.kotlinIsInner" : [ "{enum#boolean}" ],
|
||||
"collectedItems.features.kotlinIsInterface" : [ "{enum#boolean}" ],
|
||||
"collectedItems.features.kotlinIsInternal" : [ "{enum#boolean}" ],
|
||||
"collectedItems.features.kotlinIsLocalOrAnon" : [ "{enum#boolean}" ],
|
||||
"collectedItems.features.kotlinIsObject" : [ "{enum#boolean}" ],
|
||||
"collectedItems.features.kotlinIsOpen" : [ "{enum#boolean}" ],
|
||||
"collectedItems.features.kotlinIsPrivate" : [ "{enum#boolean}" ],
|
||||
"collectedItems.features.kotlinIsProtected" : [ "{enum#boolean}" ],
|
||||
"collectedItems.features.kotlinIsPublic" : [ "{enum#boolean}" ],
|
||||
"collectedItems.features.kotlinIsSAM" : [ "{enum#boolean}" ],
|
||||
"collectedItems.features.kotlinIsSealed" : [ "{enum#boolean}" ],
|
||||
"collectedItems.features.kotlinIsValue" : [ "{enum#boolean}" ],
|
||||
"collectedItems.features.kotlinNumberOfDeclarations" : [ "{regexp#integer}" ],
|
||||
"collectedItems.features.kotlinNumberOfDocs" : [ "{regexp#integer}" ],
|
||||
"collectedItems.features.kotlinNumberOfMethods" : [ "{regexp#integer}" ],
|
||||
"collectedItems.features.kotlinNumberOfOverridden" : [ "{regexp#integer}" ],
|
||||
"collectedItems.features.kotlinNumberOfProperties" : [ "{regexp#integer}" ],
|
||||
"collectedItems.features.kotlinNumberOfReceivers" : [ "{regexp#integer}" ],
|
||||
"collectedItems.features.kotlinNumberOfSupers" : [ "{regexp#integer}" ],
|
||||
"collectedItems.features.langIsInTop3MostUsed" : [ "{enum#boolean}" ],
|
||||
"collectedItems.features.langIsMostUsed" : [ "{enum#boolean}" ],
|
||||
"collectedItems.features.langNeverUsed" : [ "{enum#boolean}" ],
|
||||
"collectedItems.features.langSameAsOpenedFile" : [ "{enum#boolean}" ],
|
||||
"collectedItems.features.langUseCount" : [ "{regexp#integer}" ],
|
||||
"collectedItems.features.langUsedInLastDay" : [ "{enum#boolean}" ],
|
||||
"collectedItems.features.langUsedInLastMonth" : [ "{enum#boolean}" ],
|
||||
"collectedItems.features.langUsedInLastWeek" : [ "{enum#boolean}" ],
|
||||
"collectedItems.features.language" : [ "{util#lang}" ],
|
||||
"collectedItems.features.matchMode" : [ "{enum:NONE|INTENTION|NAME|DESCRIPTION|GROUP|NON_MENU|SYNONYM}" ],
|
||||
"collectedItems.features.mlScore" : [ "{regexp#float}" ],
|
||||
"collectedItems.features.nameLength" : [ "{regexp#integer}" ],
|
||||
"collectedItems.features.packageDistance" : [ "{regexp#integer}" ],
|
||||
"collectedItems.features.packageDistanceNorm" : [ "{regexp#float}" ],
|
||||
"collectedItems.features.parentStatIsMostPopular" : [ "{enum#boolean}" ],
|
||||
"collectedItems.features.parentStatIsMostRecent" : [ "{enum#boolean}" ],
|
||||
"collectedItems.features.parentStatRecency" : [ "{regexp#integer}" ],
|
||||
"collectedItems.features.parentStatUseCount" : [ "{regexp#integer}" ],
|
||||
"collectedItems.features.pluginId" : [ "{util#plugin}" ],
|
||||
"collectedItems.features.pluginType" : [ "{enum#plugin_type}" ],
|
||||
"collectedItems.features.predictionScore" : [ "{regexp#float}" ],
|
||||
"collectedItems.features.prefixExact" : [ "{enum#boolean}" ],
|
||||
"collectedItems.features.prefixGreedyScore" : [ "{regexp#float}" ],
|
||||
"collectedItems.features.prefixGreedyWithCaseScore" : [ "{regexp#float}" ],
|
||||
"collectedItems.features.prefixMatchedLastWord" : [ "{enum#boolean}" ],
|
||||
"collectedItems.features.prefixMatchedWordsRelative" : [ "{regexp#float}" ],
|
||||
"collectedItems.features.prefixMatchedWordsScore" : [ "{regexp#float}" ],
|
||||
"collectedItems.features.prefixMatchedWordsWithCaseRelative" : [ "{regexp#float}" ],
|
||||
"collectedItems.features.prefixMatchedWordsWithCaseScore" : [ "{regexp#float}" ],
|
||||
"collectedItems.features.prefixMatchingType" : [ "{enum#query_matching_type}" ],
|
||||
"collectedItems.features.prefixSameStartCount" : [ "{regexp#integer}" ],
|
||||
"collectedItems.features.prefixSkippedWords" : [ "{regexp#integer}" ],
|
||||
"collectedItems.features.priority" : [ "{regexp#integer}" ],
|
||||
"collectedItems.features.recentFilesIndex" : [ "{regexp#integer}" ],
|
||||
"collectedItems.features.relPathPrefixGreedyScore" : [ "{regexp#float}" ],
|
||||
"collectedItems.features.relPathPrefixMatchedWordsRelative" : [ "{regexp#float}" ],
|
||||
"collectedItems.features.relPathPrefixMatchedWordsScore" : [ "{regexp#float}" ],
|
||||
"collectedItems.features.relPathPrefixSameStartCount" : [ "{regexp#integer}" ],
|
||||
"collectedItems.features.runConfigType" : [ "{util#run_config_type}" ],
|
||||
"collectedItems.features.schemes" : [ "{enum:http|https|ws|wss}" ],
|
||||
"collectedItems.features.segmentsTotal" : [ "{regexp#integer}" ],
|
||||
"collectedItems.features.similarityScore" : [ "{regexp#float}" ],
|
||||
"collectedItems.features.statIsMostPopular" : [ "{enum#boolean}" ],
|
||||
"collectedItems.features.statIsMostRecent" : [ "{enum#boolean}" ],
|
||||
"collectedItems.features.statRecency" : [ "{regexp#integer}" ],
|
||||
"collectedItems.features.statUseCount" : [ "{regexp#integer}" ],
|
||||
"collectedItems.features.suggestionConfidence" : [ "{regexp#float}" ],
|
||||
"collectedItems.features.textLength" : [ "{regexp#integer}" ],
|
||||
"collectedItems.features.timeSinceLastFileTypeUsage" : [ "{regexp#integer}" ],
|
||||
"collectedItems.features.timeSinceLastModification" : [ "{regexp#integer}" ],
|
||||
"collectedItems.features.timeSinceLastUsage" : [ "{regexp#integer}" ],
|
||||
"collectedItems.features.timeSinceLastUsageSe" : [ "{regexp#integer}" ],
|
||||
"collectedItems.features.totalSymbolsAmount" : [ "{regexp#integer}" ],
|
||||
"collectedItems.features.type" : [ "{enum:ABBREVIATION|INTENTION|TOP_HIT|OPTION|ACTION}", "{enum:SEMANTIC}" ],
|
||||
"collectedItems.features.typeWeight" : [ "{regexp#integer}" ],
|
||||
"collectedItems.features.usage" : [ "{regexp#integer}" ],
|
||||
"collectedItems.features.usageSe" : [ "{regexp#integer}" ],
|
||||
"collectedItems.features.usageToMax" : [ "{regexp#float}" ],
|
||||
"collectedItems.features.usageToMaxSe" : [ "{regexp#float}" ],
|
||||
"collectedItems.features.usagesPerUserRatio" : [ "{regexp#float}" ],
|
||||
"collectedItems.features.usagesPerUserRatioV1" : [ "{regexp#float}" ],
|
||||
"collectedItems.features.usagesPerUserRatioV2" : [ "{regexp#float}" ],
|
||||
"collectedItems.features.usagesPerUserRatioV3" : [ "{regexp#float}" ],
|
||||
"collectedItems.features.usagesPerUserRatioV4" : [ "{regexp#float}" ],
|
||||
"collectedItems.features.usersRatio" : [ "{regexp#float}" ],
|
||||
"collectedItems.features.usersRatioV1" : [ "{regexp#float}" ],
|
||||
"collectedItems.features.usersRatioV2" : [ "{regexp#float}" ],
|
||||
"collectedItems.features.usersRatioV3" : [ "{regexp#float}" ],
|
||||
"collectedItems.features.usersRatioV4" : [ "{regexp#float}" ],
|
||||
"collectedItems.features.variablesTotal" : [ "{regexp#integer}" ],
|
||||
"collectedItems.features.wasModifiedInLastDay" : [ "{enum#boolean}" ],
|
||||
"collectedItems.features.wasModifiedInLastHour" : [ "{enum#boolean}" ],
|
||||
"collectedItems.features.wasModifiedInLastMinute" : [ "{enum#boolean}" ],
|
||||
"collectedItems.features.wasModifiedInLastMonth" : [ "{enum#boolean}" ],
|
||||
"collectedItems.features.wasUsedInLastDay" : [ "{enum#boolean}" ],
|
||||
"collectedItems.features.wasUsedInLastDaySe" : [ "{enum#boolean}" ],
|
||||
"collectedItems.features.wasUsedInLastHour" : [ "{enum#boolean}" ],
|
||||
"collectedItems.features.wasUsedInLastHourSe" : [ "{enum#boolean}" ],
|
||||
"collectedItems.features.wasUsedInLastMinute" : [ "{enum#boolean}" ],
|
||||
"collectedItems.features.wasUsedInLastMinuteSe" : [ "{enum#boolean}" ],
|
||||
"collectedItems.features.wasUsedInLastMonth" : [ "{enum#boolean}" ],
|
||||
"collectedItems.features.wasUsedInLastMonthSe" : [ "{enum#boolean}" ],
|
||||
"collectedItems.features.weight" : [ "{regexp#float}" ],
|
||||
"collectedItems.features.wholeTextExactlyMatchedWords" : [ "{regexp#integer}" ],
|
||||
"collectedItems.features.wholeTextLevenshteinDistance" : [ "{regexp#float}" ],
|
||||
"collectedItems.features.wholeTextLevenshteinDistanceCaseInsensitive" : [ "{regexp#float}" ],
|
||||
"collectedItems.features.wholeTextWordsInElement" : [ "{regexp#integer}" ],
|
||||
"collectedItems.features.wholeTextWordsInQuery" : [ "{regexp#integer}" ],
|
||||
"collectedItems.features.withIcon" : [ "{enum#boolean}" ],
|
||||
"collectedItems.features.yamlFileModifiedInLastDay" : [ "{enum#boolean}" ],
|
||||
"collectedItems.features.yamlFileModifiedInLastHour" : [ "{enum#boolean}" ],
|
||||
"collectedItems.features.yamlFileModifiedInLastMonth" : [ "{enum#boolean}" ],
|
||||
"collectedItems.features.yamlFileModifiedInLastWeek" : [ "{enum#boolean}" ],
|
||||
"collectedItems.features.yamlFileRecencyIndex" : [ "{regexp#integer}" ],
|
||||
"collectedItems.features.yamlKeyIsInTop5RecentlyUsed" : [ "{enum#boolean}" ],
|
||||
"collectedItems.features.yamlKeyIsMostPopular" : [ "{enum#boolean}" ],
|
||||
"collectedItems.features.yamlKeyIsMostRecentlyUsed" : [ "{enum#boolean}" ],
|
||||
"collectedItems.features.yamlKeyNeverUsed" : [ "{enum#boolean}" ],
|
||||
"collectedItems.features.yamlTimeSinceLastModification" : [ "{regexp#integer}" ],
|
||||
"collectedItems.id" : [ "{regexp#integer}" ],
|
||||
"collectedItems.mlWeight" : [ "{regexp#float}" ],
|
||||
"collectedItems.priority" : [ "{regexp#integer}" ],
|
||||
"contributors.id" : [ "{enum:SearchEverywhereContributor.All|ClassSearchEverywhereContributor|FileSearchEverywhereContributor|RecentFilesSEContributor|SymbolSearchEverywhereContributor|ActionSearchEverywhereContributor|RunConfigurationsSEContributor|CommandsContributor|TopHitSEContributor|com.intellij.ide.actions.searcheverywhere.CalculatorSEContributor|TmsSearchEverywhereContributor|YAMLKeysSearchEverywhereContributor|UrlSearchEverywhereContributor|Vcs.Git|AutocompletionContributor|TextSearchContributor|DbSETablesContributor|third.party}" ],
|
||||
"contributors.isMostPopular" : [ "{enum#boolean}" ],
|
||||
"contributors.popularityIndex" : [ "{regexp#integer}" ],
|
||||
"contributors.priority" : [ "{regexp#integer}" ],
|
||||
"contributors.weight" : [ "{regexp#integer}" ],
|
||||
"experimentGroup" : [ "{regexp#integer}" ],
|
||||
"experimentVersion" : [ "{regexp#integer}" ],
|
||||
"globalMaxSelection" : [ "{regexp#integer}" ],
|
||||
"globalMaxUsage" : [ "{regexp#integer}" ],
|
||||
"globalMaxUsageV1" : [ "{regexp#integer}" ],
|
||||
"globalMaxUsageV2" : [ "{regexp#integer}" ],
|
||||
"globalMaxUsageV3" : [ "{regexp#integer}" ],
|
||||
"globalMaxUsageV4" : [ "{regexp#integer}" ],
|
||||
"globalMinSelection" : [ "{regexp#integer}" ],
|
||||
"globalMinUsage" : [ "{regexp#integer}" ],
|
||||
"globalMinUsageV1" : [ "{regexp#integer}" ],
|
||||
"globalMinUsageV2" : [ "{regexp#integer}" ],
|
||||
"globalMinUsageV3" : [ "{regexp#integer}" ],
|
||||
"globalMinUsageV4" : [ "{regexp#integer}" ],
|
||||
"isConsistent" : [ "{enum#boolean}" ],
|
||||
"isForceExperiment" : [ "{enum#boolean}" ],
|
||||
"isInternal" : [ "{enum#boolean}" ],
|
||||
"isMixedList" : [ "{enum#boolean}" ],
|
||||
"isSingleModuleProject" : [ "{enum#boolean}" ],
|
||||
"lastOpenToolWindow" : [ "{util#toolwindow}" ],
|
||||
"logFeatures" : [ "{enum#boolean}" ],
|
||||
"maxSelectionAll" : [ "{regexp#integer}" ],
|
||||
"maxSelectionOther" : [ "{regexp#integer}" ],
|
||||
"maxUsage" : [ "{regexp#integer}" ],
|
||||
"maxUsageSE" : [ "{regexp#integer}" ],
|
||||
"minSelectionAll" : [ "{regexp#integer}" ],
|
||||
"minSelectionOther" : [ "{regexp#integer}" ],
|
||||
"minUsage" : [ "{regexp#integer}" ],
|
||||
"minUsageSE" : [ "{regexp#integer}" ],
|
||||
"numberOfOpenEditors" : [ "{regexp#integer}" ],
|
||||
"openFileTypes" : [ "{util#file_type}" ],
|
||||
"orderByMl" : [ "{enum#boolean}" ],
|
||||
"plugin" : [ "{util#plugin}" ],
|
||||
"plugin_type" : [ "{util#plugin_type}" ],
|
||||
"plugin_version" : [ "{util#plugin_version}" ],
|
||||
"projectDisposed" : [ "{enum#boolean}" ],
|
||||
"projectOpened" : [ "{enum#boolean}" ],
|
||||
"rebuildReason" : [ "{enum#restart_reasons}" ],
|
||||
"seTabId" : [ "{enum#se_tab}", "{enum:SearchEverywhereSpellingCorrectorContributor}", "{enum:Git}" ],
|
||||
"searchIndex" : [ "{regexp#integer}" ],
|
||||
"searchStateFeatures.isCaseSensitive" : [ "{enum#boolean}" ],
|
||||
"searchStateFeatures.isDumbMode" : [ "{enum#boolean}" ],
|
||||
"searchStateFeatures.isEmptyQuery" : [ "{enum#boolean}" ],
|
||||
"searchStateFeatures.isRegularExpressions" : [ "{enum#boolean}" ],
|
||||
"searchStateFeatures.isSearchEverywhere" : [ "{enum#boolean}" ],
|
||||
"searchStateFeatures.isWholeWordsOnly" : [ "{enum#boolean}" ],
|
||||
"searchStateFeatures.queryContainsAbbreviations" : [ "{enum#boolean}" ],
|
||||
"searchStateFeatures.queryContainsCommandChar" : [ "{enum#boolean}" ],
|
||||
"searchStateFeatures.queryContainsPath" : [ "{enum#boolean}" ],
|
||||
"searchStateFeatures.queryContainsSpaces" : [ "{enum#boolean}" ],
|
||||
"searchStateFeatures.queryIsAllUppercase" : [ "{enum#boolean}" ],
|
||||
"searchStateFeatures.queryIsCamelCase" : [ "{enum#boolean}" ],
|
||||
"searchStateFeatures.queryLength" : [ "{regexp#integer}" ],
|
||||
"searchStateFeatures.searchScope" : [ "{util#scopeRule}" ],
|
||||
"selectedIds" : [ "{regexp#integer}" ],
|
||||
"selectedIndexes" : [ "{regexp#integer}" ],
|
||||
"semanticExperimentGroup" : [ "{regexp#integer}" ],
|
||||
"semanticSearchEnabled" : [ "{enum#boolean}" ],
|
||||
"sessionId" : [ "{regexp#integer}" ],
|
||||
"startTime" : [ "{regexp#integer}" ],
|
||||
"timeToFirstResult" : [ "{regexp#integer}" ],
|
||||
"totalItems" : [ "{regexp#integer}" ],
|
||||
"typedBackspaces" : [ "{regexp#integer}" ],
|
||||
"typedSymbolKeys" : [ "{regexp#integer}" ],
|
||||
"unsupported_classes" : [ "{util#class_name}" ]
|
||||
},
|
||||
"enums" : {
|
||||
"query_matching_type" : [ "START_WITH", "WORDS_FIRST_CHAR", "GREEDY_WITH_CASE", "GREEDY", "UNKNOWN" ],
|
||||
"restart_reasons" : [ "SEARCH_STARTED", "TEXT_CHANGED", "TAB_CHANGED", "SCOPE_CHANGED", "EXIT_DUMB_MODE", "TEXT_SEARCH_OPTION_CHANGED" ],
|
||||
"se_tab" : [ "SearchEverywhereContributor.All", "ClassSearchEverywhereContributor", "FileSearchEverywhereContributor", "RecentFilesSEContributor", "SymbolSearchEverywhereContributor", "ActionSearchEverywhereContributor", "RunConfigurationsSEContributor", "CommandsContributor", "TopHitSEContributor", "com.intellij.ide.actions.searcheverywhere.CalculatorSEContributor", "TmsSearchEverywhereContributor", "YAMLKeysSearchEverywhereContributor", "UrlSearchEverywhereContributor", "Vcs.Git", "AutocompletionContributor", "TextSearchContributor", "DbSETablesContributor", "third.party" ],
|
||||
"vcs_file_status" : [ "NOT_CHANGED", "NOT_CHANGED_IMMEDIATE", "NOT_CHANGED_RECURSIVE", "DELETED", "MODIFIED", "ADDED", "MERGED", "UNKNOWN", "IDEA_FILESTATUS_IGNORED", "HIJACKED", "IDEA_FILESTATUS_MERGED_WITH_CONFLICTS", "IDEA_FILESTATUS_MERGED_WITH_BOTH_CONFLICTS", "IDEA_FILESTATUS_MERGED_WITH_PROPERTY_CONFLICTS", "IDEA_FILESTATUS_DELETED_FROM_FILE_SYSTEM", "SWITCHED", "OBSOLETE", "SUPPRESSED" ]
|
||||
}
|
||||
}
|
||||
} ],
|
||||
"rules" : {
|
||||
"enums" : {
|
||||
"action" : [ "git4idea.rebase.retry", "git4idea.rebase.continue", "git4idea.rebase.abort", "git4idea.rebase.resolve", "git4idea.rebase.stage.and.retry", "git.gpg.agent.configuration.success.manual.action", "git.gpg.agent.configuration.propose.suggestion.configure.action", "git.gpg.agent.configuration.propose.manual.action", "git.gpg.agent.configuration.propose.suggestion.manual.action", "git.gpg.agent.configuration.propose.configure.action" ],
|
||||
"boolean" : [ "true", "false", "TRUE", "FALSE", "True", "False" ],
|
||||
"plugin_type" : [ "JVM_CORE", "PLATFORM", "JB_BUNDLED", "JB_NOT_BUNDLED", "LISTED", "NOT_LISTED", "JB_UPDATED_BUNDLED", "UNKNOWN", "FROM_SOURCES" ]
|
||||
},
|
||||
"regexps" : {
|
||||
"count" : "\\d+K?M?\\+?",
|
||||
"date_YYYY-MM-DD_HH" : "^[12][0-9]{3}-(0[0-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])_(([0-1][0-9]|2[0-3]))?$",
|
||||
"date_short_hash" : "[0-9]{2}[01][0-9][0123][0-9]-(([0-9A-Fa-f]{12})|undefined)",
|
||||
"double" : "-?\\d+(\\.\\d+)?(E\\-?\\d+)?",
|
||||
"float" : "-?\\d+(\\.\\d+(E\\-?\\d+)?)?",
|
||||
"float_unit" : "0?(\\.\\d+)?(E\\-\\d+)?|1(\\.0+)?|[1-9](\\.\\d+)?E\\-\\d+",
|
||||
"hash" : "([0-9A-Fa-f]{40,64})|undefined",
|
||||
"int_pw_of_2" : "-?(1|2|4|8|16|32|64|128|256|512|1024|2048|4096|8192|16384|32768|65536|131072|262144|524288|1048576|2097152|4194304|8388608|16777216|33554432|67108864|134217728|268435456|536870912|1073741824)",
|
||||
"integer" : "-?\\d+(\\+)?",
|
||||
"long" : "-?\\d{1,19}",
|
||||
"long_pw_of_2" : "(-9223372036854775808|(-?(1|2|4|8|16|32|64|128|256|512|1024|2048|4096|8192|16384|32768|65536|131072|262144|524288|1048576|2097152|4194304|8388608|16777216|33554432|67108864|134217728|268435456|536870912|1073741824|2147483648|4294967296|8589934592|17179869184|34359738368|68719476736|137438953472|274877906944|549755813888|1099511627776|2199023255552|4398046511104|8796093022208|17592186044416|35184372088832|70368744177664|140737488355328|281474976710656|562949953421312|1125899906842624|2251799813685248|4503599627370496|9007199254740992|18014398509481984|36028797018963968|72057594037927936|144115188075855872|288230376151711744|576460752303423488|1152921504606846976|2305843009213693952|4611686018427387904)))",
|
||||
"negative_integer" : "-(\\d{1,9}|[12]\\d{9})",
|
||||
"negative_long" : "-\\d{1,19}",
|
||||
"positive_integer" : "\\d{1,9}|[12]\\d{9}",
|
||||
"positive_long" : "\\d{1,19}",
|
||||
"short_hash" : "([0-9A-Fa-f]{12})|undefined",
|
||||
"version" : "Unknown|unknown.format|unknown|UNKNOWN|((\\d+\\.?)*\\d+)"
|
||||
}
|
||||
},
|
||||
"version" : "5781"
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
* Available context bindings:
|
||||
* COLUMNS List<DataColumn>
|
||||
* ROWS Iterable<DataRow>
|
||||
* OUT { append() }
|
||||
* FORMATTER { format(row, col); formatValue(Object, col); getTypeName(Object, col); isStringLiteral(Object, col); }
|
||||
* TRANSPOSED Boolean
|
||||
* plus ALL_COLUMNS, TABLE, DIALECT
|
||||
*
|
||||
* where:
|
||||
* DataRow { rowNumber(); first(); last(); data(): List<Object>; value(column): Object }
|
||||
* DataColumn { columnNumber(), name() }
|
||||
*/
|
||||
|
||||
import static java.math.MathContext.DECIMAL128
|
||||
|
||||
BigDecimal RES = 0
|
||||
int i = 0
|
||||
ROWS.each { row ->
|
||||
COLUMNS.each { column ->
|
||||
def value = row.value(column)
|
||||
if (value instanceof Number) {
|
||||
RES = RES.add(value, DECIMAL128)
|
||||
i++
|
||||
}
|
||||
else if (value.toString().isBigDecimal()) {
|
||||
RES = RES.add(value.toString().toBigDecimal(), DECIMAL128)
|
||||
i++
|
||||
}
|
||||
}
|
||||
}
|
||||
if (i > 0) {
|
||||
RES = RES.divide(i, DECIMAL128)
|
||||
OUT.append(RES.toString())
|
||||
}
|
||||
else {
|
||||
OUT.append("Not enough values")
|
||||
}
|
||||
@@ -0,0 +1,53 @@
|
||||
/*
|
||||
* Available context bindings:
|
||||
* COLUMNS List<DataColumn>
|
||||
* ROWS Iterable<DataRow>
|
||||
* OUT { append() }
|
||||
* FORMATTER { format(row, col); formatValue(Object, col); getTypeName(Object, col); isStringLiteral(Object, col); }
|
||||
* TRANSPOSED Boolean
|
||||
* plus ALL_COLUMNS, TABLE, DIALECT
|
||||
*
|
||||
* where:
|
||||
* DataRow { rowNumber(); first(); last(); data(): List<Object>; value(column): Object }
|
||||
* DataColumn { columnNumber(), name() }
|
||||
*/
|
||||
|
||||
import static java.math.MathContext.DECIMAL128
|
||||
|
||||
def toBigDecimal = { value ->
|
||||
value instanceof Number ? value as BigDecimal :
|
||||
value.toString().isBigDecimal() ? value.toString() as BigDecimal :
|
||||
null
|
||||
}
|
||||
|
||||
def values = []
|
||||
|
||||
ROWS.each { row ->
|
||||
COLUMNS.each { column ->
|
||||
def bigDecimal = toBigDecimal(row.value(column))
|
||||
if (bigDecimal != null) {
|
||||
values.add(bigDecimal)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (values.isEmpty()) {
|
||||
OUT.append("Not enough values")
|
||||
return
|
||||
}
|
||||
|
||||
def sum = BigDecimal.ZERO
|
||||
values.forEach { value ->
|
||||
sum = sum.add(value, DECIMAL128)
|
||||
}
|
||||
def avg = sum.divide(values.size(), DECIMAL128)
|
||||
def sumSquaredDiff = BigDecimal.ZERO
|
||||
values.each { value ->
|
||||
BigDecimal diff = value.subtract(avg, DECIMAL128)
|
||||
sumSquaredDiff = sumSquaredDiff.add(diff.multiply(diff, DECIMAL128), DECIMAL128)
|
||||
}
|
||||
|
||||
def variance = sumSquaredDiff.divide(values.size(), DECIMAL128)
|
||||
def standardDeviation = variance.sqrt(DECIMAL128)
|
||||
def cv = standardDeviation.divide(avg, DECIMAL128)
|
||||
OUT.append((cv * 100).round(2) + "%")
|
||||
@@ -0,0 +1,15 @@
|
||||
/*
|
||||
* Available context bindings:
|
||||
* COLUMNS List<DataColumn>
|
||||
* ROWS Iterable<DataRow>
|
||||
* OUT { append() }
|
||||
* FORMATTER { format(row, col); formatValue(Object, col); getTypeName(Object, col); isStringLiteral(Object, col); }
|
||||
* TRANSPOSED Boolean
|
||||
* plus ALL_COLUMNS, TABLE, DIALECT
|
||||
*
|
||||
* where:
|
||||
* DataRow { rowNumber(); first(); last(); data(): List<Object>; value(column): Object }
|
||||
* DataColumn { columnNumber(), name() }
|
||||
*/
|
||||
|
||||
OUT.append(COLUMNS.size().toString())
|
||||
@@ -0,0 +1,21 @@
|
||||
/*
|
||||
* Available context bindings:
|
||||
* COLUMNS List<DataColumn>
|
||||
* ROWS Iterable<DataRow>
|
||||
* OUT { append() }
|
||||
* FORMATTER { format(row, col); formatValue(Object, col); getTypeName(Object, col); isStringLiteral(Object, col); }
|
||||
* TRANSPOSED Boolean
|
||||
* plus ALL_COLUMNS, TABLE, DIALECT
|
||||
*
|
||||
* where:
|
||||
* DataRow { rowNumber(); first(); last(); data(): List<Object>; value(column): Object }
|
||||
* DataColumn { columnNumber(), name() }
|
||||
*/
|
||||
|
||||
def RES = 0G
|
||||
ROWS.each { row ->
|
||||
COLUMNS.each { column ->
|
||||
RES += 1
|
||||
}
|
||||
}
|
||||
OUT.append(RES.toString())
|
||||
@@ -0,0 +1,27 @@
|
||||
/*
|
||||
* Available context bindings:
|
||||
* COLUMNS List<DataColumn>
|
||||
* ROWS Iterable<DataRow>
|
||||
* OUT { append() }
|
||||
* FORMATTER { format(row, col); formatValue(Object, col); getTypeName(Object, col); isStringLiteral(Object, col); }
|
||||
* TRANSPOSED Boolean
|
||||
* plus ALL_COLUMNS, TABLE, DIALECT
|
||||
*
|
||||
* where:
|
||||
* DataRow { rowNumber(); first(); last(); data(): List<Object>; value(column): Object }
|
||||
* DataColumn { columnNumber(), name() }
|
||||
*/
|
||||
|
||||
def RES = 0G
|
||||
ROWS.each { row ->
|
||||
COLUMNS.each { column ->
|
||||
def value = row.value(column)
|
||||
if (value instanceof Number) {
|
||||
RES += 1
|
||||
}
|
||||
else if (value.toString().isBigDecimal()) {
|
||||
RES += 1
|
||||
}
|
||||
}
|
||||
}
|
||||
OUT.append(RES.toString())
|
||||
@@ -0,0 +1,32 @@
|
||||
/*
|
||||
* Available context bindings:
|
||||
* COLUMNS List<DataColumn>
|
||||
* ROWS Iterable<DataRow>
|
||||
* OUT { append() }
|
||||
* FORMATTER { format(row, col); formatValue(Object, col); getTypeName(Object, col); isStringLiteral(Object, col); }
|
||||
* TRANSPOSED Boolean
|
||||
* plus ALL_COLUMNS, TABLE, DIALECT
|
||||
*
|
||||
* where:
|
||||
* DataRow { rowNumber(); first(); last(); data(): List<Object>; value(column): Object }
|
||||
* DataColumn { columnNumber(), name() }
|
||||
*/
|
||||
|
||||
|
||||
values = new ArrayList<BigDecimal>()
|
||||
ROWS.each { row ->
|
||||
COLUMNS.each { column ->
|
||||
def value = row.value(column)
|
||||
if (value instanceof Number) {
|
||||
values.add(value as BigDecimal)
|
||||
}
|
||||
else if (value.toString().isBigDecimal()) {
|
||||
values.add(value.toString() as BigDecimal)
|
||||
}
|
||||
}
|
||||
}
|
||||
if (values.size() == 0) {
|
||||
OUT.append("Not enough values")
|
||||
return
|
||||
}
|
||||
OUT.append(Collections.max(values).toString())
|
||||
@@ -0,0 +1,42 @@
|
||||
/*
|
||||
* Available context bindings:
|
||||
* COLUMNS List<DataColumn>
|
||||
* ROWS Iterable<DataRow>
|
||||
* OUT { append() }
|
||||
* FORMATTER { format(row, col); formatValue(Object, col); getTypeName(Object, col); isStringLiteral(Object, col); }
|
||||
* TRANSPOSED Boolean
|
||||
* plus ALL_COLUMNS, TABLE, DIALECT
|
||||
*
|
||||
* where:
|
||||
* DataRow { rowNumber(); first(); last(); data(): List<Object>; value(column): Object }
|
||||
* DataColumn { columnNumber(), name() }
|
||||
*/
|
||||
|
||||
import static java.math.MathContext.DECIMAL128
|
||||
|
||||
def toBigDecimal = { value ->
|
||||
value instanceof Number ? value as BigDecimal :
|
||||
value.toString().isBigDecimal() ? value.toString() as BigDecimal :
|
||||
null
|
||||
}
|
||||
|
||||
def values = []
|
||||
|
||||
ROWS.each { row ->
|
||||
COLUMNS.each { column ->
|
||||
def bigDecimal = toBigDecimal(row.value(column))
|
||||
if (bigDecimal != null) {
|
||||
values.add(bigDecimal)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (values.isEmpty()) {
|
||||
OUT.append("Not enough values")
|
||||
return
|
||||
}
|
||||
elementsNumber = values.size()
|
||||
Collections.sort(values)
|
||||
mid = (int)elementsNumber / 2
|
||||
RES = elementsNumber % 2 != 0 ? values[mid] : values[mid].add(values[mid - 1], DECIMAL128).divide(2, DECIMAL128)
|
||||
OUT.append(RES.toString())
|
||||
@@ -0,0 +1,31 @@
|
||||
/*
|
||||
* Available context bindings:
|
||||
* COLUMNS List<DataColumn>
|
||||
* ROWS Iterable<DataRow>
|
||||
* OUT { append() }
|
||||
* FORMATTER { format(row, col); formatValue(Object, col); getTypeName(Object, col); isStringLiteral(Object, col); }
|
||||
* TRANSPOSED Boolean
|
||||
* plus ALL_COLUMNS, TABLE, DIALECT
|
||||
*
|
||||
* where:
|
||||
* DataRow { rowNumber(); first(); last(); data(): List<Object>; value(column): Object }
|
||||
* DataColumn { columnNumber(), name() }
|
||||
*/
|
||||
|
||||
values = new ArrayList<BigDecimal>()
|
||||
ROWS.each { row ->
|
||||
COLUMNS.each { column ->
|
||||
def value = row.value(column)
|
||||
if (value instanceof Number) {
|
||||
values.add(value as BigDecimal)
|
||||
}
|
||||
else if (value.toString().isBigDecimal()) {
|
||||
values.add(value.toString() as BigDecimal)
|
||||
}
|
||||
}
|
||||
}
|
||||
if (values.size() == 0) {
|
||||
OUT.append("Not enough values")
|
||||
return
|
||||
}
|
||||
OUT.append(Collections.min(values).toString())
|
||||
@@ -0,0 +1,15 @@
|
||||
/*
|
||||
* Available context bindings:
|
||||
* COLUMNS List<DataColumn>
|
||||
* ROWS Iterable<DataRow>
|
||||
* OUT { append() }
|
||||
* FORMATTER { format(row, col); formatValue(Object, col); getTypeName(Object, col); isStringLiteral(Object, col); }
|
||||
* TRANSPOSED Boolean
|
||||
* plus ALL_COLUMNS, TABLE, DIALECT
|
||||
*
|
||||
* where:
|
||||
* DataRow { rowNumber(); first(); last(); data(): List<Object>; value(column): Object }
|
||||
* DataColumn { columnNumber(), name() }
|
||||
*/
|
||||
|
||||
OUT.append(ROWS.size().toString())
|
||||
@@ -0,0 +1,29 @@
|
||||
/*
|
||||
* Available context bindings:
|
||||
* COLUMNS List<DataColumn>
|
||||
* ROWS Iterable<DataRow>
|
||||
* OUT { append() }
|
||||
* FORMATTER { format(row, col); formatValue(Object, col); getTypeName(Object, col); isStringLiteral(Object, col); }
|
||||
* TRANSPOSED Boolean
|
||||
* plus ALL_COLUMNS, TABLE, DIALECT
|
||||
*
|
||||
* where:
|
||||
* DataRow { rowNumber(); first(); last(); data(): List<Object>; value(column): Object }
|
||||
* DataColumn { columnNumber(), name() }
|
||||
*/
|
||||
|
||||
import static java.math.MathContext.DECIMAL128
|
||||
|
||||
BigDecimal RES = 0
|
||||
ROWS.each { row ->
|
||||
COLUMNS.each { column ->
|
||||
def value = row.value(column)
|
||||
if (value instanceof Number) {
|
||||
RES = RES.add(value, DECIMAL128)
|
||||
}
|
||||
else if (value.toString().isBigDecimal()) {
|
||||
RES = RES.add(value.toString().toBigDecimal(), DECIMAL128)
|
||||
}
|
||||
}
|
||||
}
|
||||
OUT.append(RES.toString())
|
||||
@@ -0,0 +1,37 @@
|
||||
/*
|
||||
* Available context bindings:
|
||||
* COLUMNS List<DataColumn>
|
||||
* ROWS Iterable<DataRow>
|
||||
* OUT { append() }
|
||||
* FORMATTER { format(row, col); formatValue(Object, col); getTypeName(Object, col); isStringLiteral(Object, col); }
|
||||
* TRANSPOSED Boolean
|
||||
* plus ALL_COLUMNS, TABLE, DIALECT
|
||||
*
|
||||
* where:
|
||||
* DataRow { rowNumber(); first(); last(); data(): List<Object>; value(column): Object }
|
||||
* DataColumn { columnNumber(), name() }
|
||||
*/
|
||||
|
||||
SEPARATOR = ","
|
||||
QUOTE = "\""
|
||||
NEWLINE = System.getProperty("line.separator")
|
||||
|
||||
def printRow = { values, valueToString ->
|
||||
values.eachWithIndex { value, idx ->
|
||||
def str = valueToString(value)
|
||||
def q = str.contains(SEPARATOR) || str.contains(QUOTE) || str.contains(NEWLINE)
|
||||
OUT.append(q ? QUOTE : "")
|
||||
.append(str.replace(QUOTE, QUOTE + QUOTE))
|
||||
.append(q ? QUOTE : "")
|
||||
.append(idx != values.size() - 1 ? SEPARATOR : NEWLINE)
|
||||
}
|
||||
}
|
||||
|
||||
if (!TRANSPOSED) {
|
||||
ROWS.each { row -> printRow(COLUMNS, { FORMATTER.format(row, it) }) }
|
||||
}
|
||||
else {
|
||||
def values = COLUMNS.collect { new ArrayList<String>() }
|
||||
ROWS.each { row -> COLUMNS.eachWithIndex { col, i -> values[i].add(FORMATTER.format(row, col)) } }
|
||||
values.each { printRow(it, { it }) }
|
||||
}
|
||||
@@ -0,0 +1,57 @@
|
||||
/*
|
||||
* Available context bindings:
|
||||
* COLUMNS List<DataColumn>
|
||||
* ROWS Iterable<DataRow>
|
||||
* OUT { append() }
|
||||
* FORMATTER { format(row, col); formatValue(Object, col); getTypeName(Object, col); isStringLiteral(Object, col); }
|
||||
* TRANSPOSED Boolean
|
||||
* plus ALL_COLUMNS, TABLE, DIALECT
|
||||
*
|
||||
* where:
|
||||
* DataRow { rowNumber(); first(); last(); data(): List<Object>; value(column): Object }
|
||||
* DataColumn { columnNumber(), name() }
|
||||
*/
|
||||
|
||||
import static com.intellij.openapi.util.text.StringUtil.escapeXmlEntities
|
||||
|
||||
NEWLINE = System.getProperty("line.separator")
|
||||
|
||||
def HTML_PATTERN = ~"<.+>"
|
||||
|
||||
def printRow = { values, tag, valueToString ->
|
||||
OUT.append("$NEWLINE<tr>$NEWLINE")
|
||||
values.each {
|
||||
def str = valueToString(it)
|
||||
def escaped = str ==~ HTML_PATTERN
|
||||
? str
|
||||
: escapeXmlEntities((str as String).replaceAll("\\t|\\b|\\f", "")).replaceAll("\\r|\\n|\\r\\n", "<br/>")
|
||||
OUT.append(" <$tag>$escaped</$tag>$NEWLINE")
|
||||
}
|
||||
OUT.append("</tr>")
|
||||
}
|
||||
|
||||
OUT.append(
|
||||
"""<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title></title>
|
||||
<meta charset="UTF-8">
|
||||
</head>
|
||||
<body>
|
||||
<table border="1" style="border-collapse:collapse">""")
|
||||
|
||||
if (!TRANSPOSED) {
|
||||
printRow(COLUMNS, "th") { it.name() }
|
||||
ROWS.each { row -> printRow(COLUMNS, "td") { FORMATTER.format(row, it) } }
|
||||
}
|
||||
else {
|
||||
def values = COLUMNS.collect { new ArrayList<String>( [it.name()] ) }
|
||||
ROWS.each { row -> COLUMNS.eachWithIndex { col, i -> values[i].add(FORMATTER.format(row, col)) } }
|
||||
values.each { printRow(it, "td", { it }) }
|
||||
}
|
||||
|
||||
OUT.append("""
|
||||
</table>
|
||||
</body>
|
||||
</html>
|
||||
""")
|
||||
@@ -0,0 +1,49 @@
|
||||
function eachWithIdx(iterable, f) { var i = iterable.iterator(); var idx = 0; while (i.hasNext()) f(i.next(), idx++); }
|
||||
function mapEach(iterable, f) { var vs = []; eachWithIdx(iterable, function (i) { vs.push(f(i));}); return vs; }
|
||||
function escape(str) {
|
||||
str = str.replace(/\t|\b|\f/g, "");
|
||||
str = com.intellij.openapi.util.text.StringUtil.escapeXml(str);
|
||||
str = str.replace(/\r|\n|\r\n/g, "<br/>");
|
||||
return str;
|
||||
}
|
||||
var isHTML = RegExp.prototype.test.bind(/^<.+>$/);
|
||||
|
||||
var NEWLINE = "\n";
|
||||
|
||||
function output() { for (var i = 0; i < arguments.length; i++) { OUT.append(arguments[i]); } }
|
||||
function outputRow(items, tag) {
|
||||
output("<tr>");
|
||||
for (var i = 0; i < items.length; i++)
|
||||
output("<", tag, ">", isHTML(items[i]) ? items[i] : escape(items[i]), "</", tag, ">");
|
||||
output("</tr>", NEWLINE);
|
||||
}
|
||||
|
||||
|
||||
output("<!DOCTYPE html>", NEWLINE,
|
||||
"<html>", NEWLINE,
|
||||
"<head>", NEWLINE,
|
||||
"<title></title>", NEWLINE,
|
||||
"<meta charset=\"UTF-8\">", NEWLINE,
|
||||
"</head>", NEWLINE,
|
||||
"<body>", NEWLINE,
|
||||
"<table border=\"1\" style=\"border-collapse:collapse\">", NEWLINE);
|
||||
|
||||
if (TRANSPOSED) {
|
||||
var values = mapEach(COLUMNS, function(col) { return [col.name()]; });
|
||||
eachWithIdx(ROWS, function (row) {
|
||||
eachWithIdx(COLUMNS, function (col, i) {
|
||||
values[i].push(FORMATTER.format(row, col));
|
||||
});
|
||||
});
|
||||
eachWithIdx(COLUMNS, function (_, i) { outputRow(values[i], "td"); });
|
||||
}
|
||||
else {
|
||||
outputRow(mapEach(COLUMNS, function (col) { return col.name(); }), "th");
|
||||
eachWithIdx(ROWS, function (row) {
|
||||
outputRow(mapEach(COLUMNS, function (col) { return FORMATTER.format(row, col); }), "td")
|
||||
});
|
||||
}
|
||||
|
||||
output("</table>", NEWLINE,
|
||||
"</body>", NEWLINE,
|
||||
"</html>", NEWLINE);
|
||||
@@ -0,0 +1,70 @@
|
||||
/*
|
||||
* Available context bindings:
|
||||
* COLUMNS List<DataColumn>
|
||||
* ROWS Iterable<DataRow>
|
||||
* OUT { append() }
|
||||
* FORMATTER { format(row, col); formatValue(Object, col); getTypeName(Object, col); isStringLiteral(Object, col); }
|
||||
* TRANSPOSED Boolean
|
||||
* plus ALL_COLUMNS, TABLE, DIALECT
|
||||
*
|
||||
* where:
|
||||
* DataRow { rowNumber(); first(); last(); data(): List<Object>; value(column): Object }
|
||||
* DataColumn { columnNumber(), name() }
|
||||
*/
|
||||
|
||||
|
||||
import static com.intellij.openapi.util.text.StringUtil.escapeStringCharacters as escapeStr
|
||||
|
||||
NEWLINE = System.getProperty("line.separator")
|
||||
INDENT = " "
|
||||
|
||||
def printJSON(level, col, o) {
|
||||
switch (o) {
|
||||
case null: OUT.append("null"); break
|
||||
case Tuple: printJSON(level, o[0], o[1]); break
|
||||
case Map:
|
||||
OUT.append("{")
|
||||
o.entrySet().eachWithIndex { entry, i ->
|
||||
OUT.append("${i > 0 ? "," : ""}$NEWLINE${INDENT * (level + 1)}")
|
||||
OUT.append("\"${escapeStr(entry.getKey().toString())}\"")
|
||||
OUT.append(": ")
|
||||
printJSON(level + 1, col, entry.getValue())
|
||||
}
|
||||
OUT.append("$NEWLINE${INDENT * level}}")
|
||||
break
|
||||
case Object[]:
|
||||
case Iterable:
|
||||
OUT.append("[")
|
||||
def plain = true
|
||||
o.eachWithIndex { item, i ->
|
||||
plain = item == null || item instanceof Number || item instanceof Boolean || item instanceof String
|
||||
if (plain) {
|
||||
OUT.append(i > 0 ? ", " : "")
|
||||
}
|
||||
else {
|
||||
OUT.append("${i > 0 ? "," : ""}$NEWLINE${INDENT * (level + 1)}")
|
||||
}
|
||||
printJSON(level + 1, col, item)
|
||||
}
|
||||
if (plain) OUT.append("]") else OUT.append("$NEWLINE${INDENT * level}]")
|
||||
break
|
||||
case Boolean: OUT.append("$o"); break
|
||||
default:
|
||||
def str = FORMATTER.formatValue(o, col)
|
||||
def typeName = FORMATTER.getTypeName(o, col)
|
||||
def shouldQuote = FORMATTER.isStringLiteral(o, col) && !(typeName.equalsIgnoreCase("json") || typeName.equalsIgnoreCase("jsonb"))
|
||||
OUT.append(shouldQuote ? "\"${escapeStr(str)}\"" : str);
|
||||
break
|
||||
}
|
||||
}
|
||||
|
||||
printJSON(0, null, ROWS.transform { row ->
|
||||
def map = new LinkedHashMap<String, Object>()
|
||||
COLUMNS.each { col ->
|
||||
if (row.hasValue(col)) {
|
||||
def val = row.value(col)
|
||||
map.put(col.name(), new Tuple(col, val))
|
||||
}
|
||||
}
|
||||
map
|
||||
})
|
||||
@@ -0,0 +1,65 @@
|
||||
package extensions.data.extractors
|
||||
|
||||
NEWLINE = System.getProperty("line.separator")
|
||||
SEPARATOR = "|"
|
||||
BACKSLASH = "\\"
|
||||
BACKQUOTE = "`"
|
||||
LTAG = "<"
|
||||
RTAG = ">"
|
||||
ASTERISK = "*"
|
||||
UNDERSCORE = "_"
|
||||
LPARENTH = "("
|
||||
RPARENTH = ")"
|
||||
LBRACKET = "["
|
||||
RBRACKET = "]"
|
||||
TILDE = "~"
|
||||
|
||||
def printRow = { values, firstBold = false, valueToString ->
|
||||
values.eachWithIndex { value, idx ->
|
||||
def str = valueToString(value)
|
||||
.replace(BACKSLASH, BACKSLASH + BACKSLASH)
|
||||
.replace(SEPARATOR, BACKSLASH + SEPARATOR)
|
||||
.replace(BACKQUOTE, BACKSLASH + BACKQUOTE)
|
||||
.replace(ASTERISK, BACKSLASH + ASTERISK)
|
||||
.replace(UNDERSCORE, BACKSLASH + UNDERSCORE)
|
||||
.replace(LPARENTH, BACKSLASH + LPARENTH)
|
||||
.replace(RPARENTH, BACKSLASH + RPARENTH)
|
||||
.replace(LBRACKET, BACKSLASH + LBRACKET)
|
||||
.replace(RBRACKET, BACKSLASH + RBRACKET)
|
||||
.replace(TILDE, BACKSLASH + TILDE)
|
||||
.replace(LTAG, "<")
|
||||
.replace(RTAG, ">")
|
||||
.replaceAll("\r\n|\r|\n", "<br/>")
|
||||
.replaceAll("\t|\b|\f", "")
|
||||
|
||||
OUT.append("| ")
|
||||
.append(firstBold && idx == 0 ? "**" : "")
|
||||
.append(str)
|
||||
.append(firstBold && idx == 0 ? "**" : "")
|
||||
.append(idx != values.size() - 1 ? " " : " |" + NEWLINE)
|
||||
}
|
||||
}
|
||||
|
||||
if (TRANSPOSED) {
|
||||
def values = COLUMNS.collect { new ArrayList<String>([it.name()]) }
|
||||
def rowCount = 0
|
||||
ROWS.forEach { row ->
|
||||
COLUMNS.eachWithIndex { col, i -> values[i].add(FORMATTER.format(row, col)) }
|
||||
rowCount++
|
||||
}
|
||||
for (int i = 0; i <= rowCount; i++) {
|
||||
OUT.append("| ")
|
||||
}
|
||||
OUT.append("|" + NEWLINE)
|
||||
for (int i = 0; i <= rowCount; i++) {
|
||||
OUT.append("| :- ")
|
||||
}
|
||||
OUT.append("|" + NEWLINE)
|
||||
values.each { printRow(it, true) { it } }
|
||||
}
|
||||
else {
|
||||
printRow(COLUMNS) { it.name() }
|
||||
COLUMNS.each { OUT.append("| :--- ") }
|
||||
OUT.append("|" + NEWLINE)
|
||||
ROWS.each { row -> printRow(COLUMNS) { FORMATTER.format(row, it) } }
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
/*
|
||||
* Available context bindings:
|
||||
* COLUMNS List<DataColumn>
|
||||
* ROWS Iterable<DataRow>
|
||||
* OUT { append() }
|
||||
* FORMATTER { format(row, col); formatValue(Object, col); getTypeName(Object, col); isStringLiteral(Object, col); }
|
||||
* TRANSPOSED Boolean
|
||||
* plus ALL_COLUMNS, TABLE, DIALECT
|
||||
*
|
||||
* where:
|
||||
* DataRow { rowNumber(); first(); last(); data(): List<Object>; value(column): Object }
|
||||
* DataColumn { columnNumber(), name() }
|
||||
*/
|
||||
|
||||
SEPARATOR = ", "
|
||||
QUOTE = "'"
|
||||
STRING_PREFIX = DIALECT.getDbms().isMicrosoft() ? "N" : ""
|
||||
KEYWORDS_LOWERCASE = com.intellij.database.util.DbSqlUtil.areKeywordsLowerCase(PROJECT)
|
||||
KW_NULL = KEYWORDS_LOWERCASE ? "null" : "NULL"
|
||||
|
||||
first = true
|
||||
ROWS.each { row ->
|
||||
COLUMNS.each { column ->
|
||||
def value = row.value(column)
|
||||
def stringValue = value == null ? KW_NULL : FORMATTER.formatValue(value, column)
|
||||
def isStringLiteral = value != null && FORMATTER.isStringLiteral(value, column)
|
||||
if (isStringLiteral && DIALECT.getDbms().isMysql()) stringValue = stringValue.replace("\\", "\\\\")
|
||||
OUT.append(first ? "" : SEPARATOR)
|
||||
.append(isStringLiteral ? (STRING_PREFIX + QUOTE) : "")
|
||||
.append(stringValue ? stringValue.replace(QUOTE, QUOTE + QUOTE) : stringValue)
|
||||
.append(isStringLiteral ? QUOTE : "")
|
||||
first = false
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,144 @@
|
||||
import com.intellij.openapi.util.text.StringUtil
|
||||
|
||||
/*
|
||||
* Available context bindings:
|
||||
* COLUMNS List<DataColumn>
|
||||
* ROWS Iterable<DataRow>
|
||||
* OUT { append() }
|
||||
* FORMATTER { format(row, col); formatValue(Object, col); getTypeName(Object, col); isStringLiteral(Object, col); }
|
||||
* TRANSPOSED Boolean
|
||||
* plus ALL_COLUMNS, TABLE, DIALECT
|
||||
*
|
||||
* where:
|
||||
* DataRow { rowNumber(); first(); last(); data(): List<Object>; value(column): Object }
|
||||
* DataColumn { columnNumber(), name() }
|
||||
*/
|
||||
|
||||
|
||||
WIDTH_BASED_ON_CONTENT = -1
|
||||
|
||||
PIPE = "|"
|
||||
SPACE = " "
|
||||
CROSS = "+"
|
||||
MINUS = "-"
|
||||
ROW_SEPARATORS = false
|
||||
COLUMN_WIDTH = WIDTH_BASED_ON_CONTENT
|
||||
NEWLINE = System.getProperty("line.separator")
|
||||
|
||||
static def splitByLines(values, size) {
|
||||
def splitValues = new ArrayList<>()
|
||||
def maxLines = 0
|
||||
for (int i = 0; i < size; i++) {
|
||||
def splitValue = StringUtil.splitByLines(values(i))
|
||||
splitValues.add(splitValue)
|
||||
maxLines = Math.max(maxLines, splitValue.size())
|
||||
}
|
||||
|
||||
def byLines = new ArrayList<>(maxLines)
|
||||
for (int i = 0; i < maxLines; i++) {
|
||||
def lineValues = new ArrayList<>()
|
||||
byLines.add(lineValues)
|
||||
for (int j = 0; j < splitValues.size(); j++) {
|
||||
def splitValue = splitValues[j]
|
||||
lineValues.add(splitValue.size() <= i ? null : splitValue[i])
|
||||
}
|
||||
}
|
||||
return byLines
|
||||
}
|
||||
|
||||
def printRow(values, size, width = { COLUMN_WIDTH }, padding = SPACE, separator = { PIPE }) {
|
||||
def byLines = splitByLines(values, size)
|
||||
byLines.each { line ->
|
||||
def lineSize = line.size()
|
||||
if (lineSize > 0) OUT.append(separator(-1))
|
||||
for (int i = 0; i < lineSize; i++) {
|
||||
def value = line[i] == null ? "" : line.get(i)
|
||||
def curWidth = width(i)
|
||||
OUT.append(value.padRight(curWidth, padding))
|
||||
OUT.append(separator(i))
|
||||
}
|
||||
OUT.append(NEWLINE)
|
||||
}
|
||||
}
|
||||
|
||||
def printRows() {
|
||||
def colNames = COLUMNS.collect { it.name() }
|
||||
def calcWidth = COLUMN_WIDTH == WIDTH_BASED_ON_CONTENT
|
||||
def rows
|
||||
def width
|
||||
def rowFormatter
|
||||
if (calcWidth) {
|
||||
rows = new ArrayList<>()
|
||||
def widths = new int[COLUMNS.size()]
|
||||
COLUMNS.eachWithIndex { column, idx -> widths[idx] = column.name().length() }
|
||||
ROWS.each { row ->
|
||||
def rowValues = COLUMNS.withIndex().collect { col, idx ->
|
||||
def value = FORMATTER.format(row, col)
|
||||
widths[idx] = Math.max(widths[idx], value.length())
|
||||
value
|
||||
}
|
||||
rows.add(rowValues)
|
||||
}
|
||||
width = { widths[it] }
|
||||
rowFormatter = { it }
|
||||
}
|
||||
else {
|
||||
rows = ROWS
|
||||
width = { COLUMN_WIDTH }
|
||||
rowFormatter = { COLUMNS.collect { col -> FORMATTER.format(it, col) } }
|
||||
}
|
||||
|
||||
printRow({""}, COLUMNS.size(), { width(it) }, MINUS) { CROSS }
|
||||
printRow( { colNames[it] }, COLUMNS.size()) { width(it) }
|
||||
|
||||
def first = true
|
||||
rows.each { row ->
|
||||
def rowValues = rowFormatter(row)
|
||||
if (first || ROW_SEPARATORS) printRow({""}, COLUMNS.size(), { width(it) }, MINUS) { first ? CROSS : MINUS }
|
||||
printRow({ rowValues[it] }, rowValues.size()) { width(it) }
|
||||
first = false
|
||||
}
|
||||
printRow({""}, COLUMNS.size(), { width(it) }, MINUS) { CROSS }
|
||||
}
|
||||
|
||||
def printRowsTransposed() {
|
||||
def calcWidth = COLUMN_WIDTH == WIDTH_BASED_ON_CONTENT
|
||||
if (calcWidth) {
|
||||
COLUMN_WIDTHS = new ArrayList<Integer>()
|
||||
COLUMN_WIDTHS.add(0)
|
||||
}
|
||||
def valuesByRow = COLUMNS.collect { col ->
|
||||
if (calcWidth) COLUMN_WIDTHS.set(0, Math.max(COLUMN_WIDTHS[0], col.name().length()))
|
||||
new ArrayList<String>([col.name()])
|
||||
}
|
||||
def rowCount = 1
|
||||
ROWS.each { row ->
|
||||
rowCount++
|
||||
COLUMNS.eachWithIndex { col, i ->
|
||||
def formattedValue = FORMATTER.format(row, col)
|
||||
valuesByRow[i].add(formattedValue)
|
||||
def widthIdx = rowCount - 1
|
||||
def length = formattedValue.length()
|
||||
if (calcWidth) {
|
||||
if (COLUMN_WIDTHS.size() == widthIdx) COLUMN_WIDTHS.add(length)
|
||||
COLUMN_WIDTHS.set(widthIdx, Math.max(COLUMN_WIDTHS[widthIdx], length))
|
||||
}
|
||||
}
|
||||
}
|
||||
valuesByRow.each { row ->
|
||||
printRow({ "" }, rowCount, { calcWidth ? COLUMN_WIDTHS[it] : COLUMN_WIDTH }, MINUS) {
|
||||
it <= 0 ? CROSS : it == rowCount - 1 ? CROSS : MINUS
|
||||
}
|
||||
printRow({ row[it] }, row.size()) { calcWidth ? COLUMN_WIDTHS[it] : COLUMN_WIDTH }
|
||||
}
|
||||
printRow({ "" }, rowCount, { calcWidth ? COLUMN_WIDTHS[it] : COLUMN_WIDTH }, MINUS) {
|
||||
it <= 0 ? CROSS : it == rowCount - 1 ? CROSS : MINUS
|
||||
}
|
||||
}
|
||||
|
||||
if (TRANSPOSED) {
|
||||
printRowsTransposed()
|
||||
}
|
||||
else {
|
||||
printRows()
|
||||
}
|
||||
@@ -0,0 +1,62 @@
|
||||
/*
|
||||
* Available context bindings:
|
||||
* COLUMNS List<DataColumn>
|
||||
* ROWS Iterable<DataRow>
|
||||
* OUT { append() }
|
||||
* FORMATTER { format(row, col); formatValue(Object, col); getTypeName(Object, col); isStringLiteral(Object, col); }
|
||||
* TRANSPOSED Boolean
|
||||
* plus ALL_COLUMNS, TABLE, DIALECT
|
||||
*
|
||||
* where:
|
||||
* DataRow { rowNumber(); first(); last(); data(): List<Object>; value(column): Object }
|
||||
* DataColumn { columnNumber(), name() }
|
||||
*/
|
||||
|
||||
SEP = ", "
|
||||
QUOTE = "\'"
|
||||
STRING_PREFIX = DIALECT.getDbms().isMicrosoft() ? "N" : ""
|
||||
NEWLINE = System.getProperty("line.separator")
|
||||
|
||||
KEYWORDS_LOWERCASE = com.intellij.database.util.DbSqlUtil.areKeywordsLowerCase(PROJECT)
|
||||
KW_INSERT_INTO = KEYWORDS_LOWERCASE ? "insert into " : "INSERT INTO "
|
||||
KW_VALUES = KEYWORDS_LOWERCASE ? "values" : "VALUES"
|
||||
KW_NULL = KEYWORDS_LOWERCASE ? "null" : "NULL"
|
||||
|
||||
begin = true
|
||||
|
||||
def record(columns, dataRow) {
|
||||
|
||||
if (begin) {
|
||||
OUT.append(KW_INSERT_INTO)
|
||||
if (TABLE == null) OUT.append("MY_TABLE")
|
||||
else OUT.append(TABLE.getParent().getName()).append(".").append(TABLE.getName())
|
||||
OUT.append(" (")
|
||||
|
||||
columns.eachWithIndex { column, idx ->
|
||||
OUT.append(column.name()).append(idx != columns.size() - 1 ? SEP : "")
|
||||
}
|
||||
|
||||
OUT.append(")").append(NEWLINE)
|
||||
OUT.append(KW_VALUES).append(" (")
|
||||
begin = false
|
||||
}
|
||||
else {
|
||||
OUT.append(",").append(NEWLINE)
|
||||
OUT.append(" (")
|
||||
}
|
||||
|
||||
columns.eachWithIndex { column, idx ->
|
||||
def value = dataRow.value(column)
|
||||
def stringValue = value == null ? KW_NULL : FORMATTER.formatValue(value, column)
|
||||
def isStringLiteral = value != null && FORMATTER.isStringLiteral(value, column)
|
||||
if (isStringLiteral && DIALECT.getDbms().isMysql()) stringValue = stringValue.replace("\\", "\\\\")
|
||||
OUT.append(isStringLiteral ? (STRING_PREFIX + QUOTE) : "")
|
||||
.append(stringValue ? stringValue.replace(QUOTE, QUOTE + QUOTE) : stringValue)
|
||||
.append(isStringLiteral ? QUOTE : "")
|
||||
.append(idx != columns.size() - 1 ? SEP : "")
|
||||
}
|
||||
OUT.append(")")
|
||||
}
|
||||
|
||||
ROWS.each { row -> record(COLUMNS, row) }
|
||||
OUT.append(";")
|
||||
@@ -0,0 +1,49 @@
|
||||
/*
|
||||
* Available context bindings:
|
||||
* COLUMNS List<DataColumn>
|
||||
* ROWS Iterable<DataRow>
|
||||
* OUT { append() }
|
||||
* FORMATTER { format(row, col); formatValue(Object, col); getTypeName(Object, col); isStringLiteral(Object, col); }
|
||||
* TRANSPOSED Boolean
|
||||
* plus ALL_COLUMNS, TABLE, DIALECT
|
||||
*
|
||||
* where:
|
||||
* DataRow { rowNumber(); first(); last(); data(): List<Object>; value(column): Object }
|
||||
* DataColumn { columnNumber(), name() }
|
||||
*/
|
||||
|
||||
SEP = ", "
|
||||
QUOTE = "\'"
|
||||
STRING_PREFIX = DIALECT.getDbms().isMicrosoft() ? "N" : ""
|
||||
NEWLINE = System.getProperty("line.separator")
|
||||
|
||||
KEYWORDS_LOWERCASE = com.intellij.database.util.DbSqlUtil.areKeywordsLowerCase(PROJECT)
|
||||
KW_INSERT_INTO = KEYWORDS_LOWERCASE ? "insert into " : "INSERT INTO "
|
||||
KW_VALUES = KEYWORDS_LOWERCASE ? ") values (" : ") VALUES ("
|
||||
KW_NULL = KEYWORDS_LOWERCASE ? "null" : "NULL"
|
||||
|
||||
def record(columns, dataRow) {
|
||||
OUT.append(KW_INSERT_INTO)
|
||||
if (TABLE == null) OUT.append("MY_TABLE")
|
||||
else OUT.append(TABLE.getParent().getName()).append(".").append(TABLE.getName())
|
||||
OUT.append(" (")
|
||||
|
||||
columns.eachWithIndex { column, idx ->
|
||||
OUT.append(column.name()).append(idx != columns.size() - 1 ? SEP : "")
|
||||
}
|
||||
|
||||
OUT.append(KW_VALUES)
|
||||
columns.eachWithIndex { column, idx ->
|
||||
def value = dataRow.value(column)
|
||||
def stringValue = value == null ? KW_NULL : FORMATTER.formatValue(value, column)
|
||||
def isStringLiteral = value != null && FORMATTER.isStringLiteral(value, column)
|
||||
if (isStringLiteral && DIALECT.getDbms().isMysql()) stringValue = stringValue.replace("\\", "\\\\")
|
||||
OUT.append(isStringLiteral ? (STRING_PREFIX + QUOTE) : "")
|
||||
.append(isStringLiteral ? stringValue.replace(QUOTE, QUOTE + QUOTE) : stringValue)
|
||||
.append(isStringLiteral ? QUOTE : "")
|
||||
.append(idx != columns.size() - 1 ? SEP : "")
|
||||
}
|
||||
OUT.append(");").append(NEWLINE)
|
||||
}
|
||||
|
||||
ROWS.each { row -> record(COLUMNS, row) }
|
||||
@@ -0,0 +1,93 @@
|
||||
/*
|
||||
* Available context bindings:
|
||||
* COLUMNS List<DataColumn>
|
||||
* ROWS Iterable<DataRow>
|
||||
* OUT { append() }
|
||||
* FORMATTER { format(row, col); formatValue(Object, col); getTypeName(Object, col); isStringLiteral(Object, col); }
|
||||
* TRANSPOSED Boolean
|
||||
* plus ALL_COLUMNS, TABLE, DIALECT
|
||||
*
|
||||
* where:
|
||||
* DataRow { rowNumber(); first(); last(); data(): List<Object>; value(column): Object }
|
||||
* DataColumn { columnNumber(), name() }
|
||||
*/
|
||||
|
||||
|
||||
import com.intellij.openapi.util.text.StringUtil
|
||||
|
||||
import java.util.regex.Pattern
|
||||
|
||||
NEWLINE = System.getProperty("line.separator")
|
||||
|
||||
pattern = Pattern.compile("[^\\w\\d]")
|
||||
def escapeTag(name) {
|
||||
name = pattern.matcher(name).replaceAll("_")
|
||||
return name.isEmpty() || !Character.isLetter(name.charAt(0)) ? "_$name" : name
|
||||
}
|
||||
def printRow(level, rowTag, values) {
|
||||
def prefix = "$NEWLINE${StringUtil.repeat(" ", level)}"
|
||||
OUT.append("$prefix<$rowTag>")
|
||||
values.each { name, col, valuesName, value ->
|
||||
switch (value) {
|
||||
case Map:
|
||||
def mapValues = new ArrayList<Tuple>()
|
||||
value.each { key, v -> mapValues.add(new Tuple(escapeTag(key.toString()), col, key.toString(), v)) }
|
||||
printRow(level + 1, name, mapValues)
|
||||
break
|
||||
case Object[]:
|
||||
case Iterable:
|
||||
def listItems = new ArrayList<Tuple>()
|
||||
def itemName = valuesName != null ? escapeTag(StringUtil.unpluralize(valuesName) ?: "item") : "item"
|
||||
value.collect { v -> listItems.add(new Tuple(itemName, col, null, v)) }
|
||||
printRow(level + 1, name, listItems)
|
||||
break
|
||||
default:
|
||||
OUT.append("$prefix <$name>")
|
||||
if (value == null) OUT.append("null")
|
||||
else {
|
||||
def formattedValue = FORMATTER.formatValue(value, col)
|
||||
if (isXmlString(formattedValue)) OUT.append(formattedValue)
|
||||
else OUT.append(StringUtil.escapeXmlEntities(formattedValue))
|
||||
}
|
||||
OUT.append("</$name>")
|
||||
}
|
||||
}
|
||||
OUT.append("$prefix</$rowTag>")
|
||||
}
|
||||
|
||||
def isXmlString(string) {
|
||||
return string.startsWith("<") && string.endsWith(">") && (string.contains("</") || string.contains("/>"))
|
||||
}
|
||||
|
||||
OUT.append(
|
||||
"""<?xml version="1.0" encoding="UTF-8"?>
|
||||
<data>""")
|
||||
|
||||
if (!TRANSPOSED) {
|
||||
ROWS.each { row ->
|
||||
def values = COLUMNS
|
||||
.findAll { col -> row.hasValue(col) }
|
||||
.collect { col ->
|
||||
new Tuple(escapeTag(col.name()), col, col.name(), row.value(col))
|
||||
}
|
||||
printRow(0, "row", values)
|
||||
}
|
||||
}
|
||||
else {
|
||||
def values = COLUMNS.collect { new ArrayList<Tuple>() }
|
||||
ROWS.eachWithIndex { row, rowIdx ->
|
||||
COLUMNS.eachWithIndex { col, colIdx ->
|
||||
if (row.hasValue(col)) {
|
||||
def value = row.value(col)
|
||||
values[colIdx].add(new Tuple("row${rowIdx + 1}", col, col.name(), value))
|
||||
}
|
||||
}
|
||||
}
|
||||
values.eachWithIndex { it, index ->
|
||||
printRow(0, escapeTag(COLUMNS[index].name()), it)
|
||||
}
|
||||
}
|
||||
|
||||
OUT.append("""
|
||||
</data>
|
||||
""")
|
||||
@@ -0,0 +1,53 @@
|
||||
import com.intellij.database.model.DasObjectWithSource
|
||||
import com.intellij.database.model.DasSchemaChild
|
||||
import com.intellij.database.model.ObjectKind
|
||||
import com.intellij.database.util.DasUtil
|
||||
import com.intellij.database.util.ObjectPath
|
||||
|
||||
LAYOUT.ignoreDependencies = true
|
||||
LAYOUT.baseName { ctx -> baseName(ctx.object) }
|
||||
LAYOUT.fileScope { path -> fileScope(path) }
|
||||
|
||||
|
||||
def baseName(obj) {
|
||||
def db = DasUtil.getCatalog(obj)
|
||||
def schema = DasUtil.getSchema(obj)
|
||||
def file = fileName(obj)
|
||||
if (db.isEmpty()) {
|
||||
if (!schema.isEmpty()) return "anonymous/" + sanitize(schema) + "/" + file
|
||||
return file
|
||||
}
|
||||
else if (schema.isEmpty()) {
|
||||
return sanitize(db) + "/" + file
|
||||
}
|
||||
else {
|
||||
return sanitize(db) + "/" + sanitize(schema) + "/" + file
|
||||
}
|
||||
}
|
||||
|
||||
def fileName(obj) {
|
||||
for (def cur = obj; cur != null; cur = cur.dasParent) {
|
||||
if (storeSeparately(cur)) return sanitize(cur.name)
|
||||
}
|
||||
return sanitize(obj.name)
|
||||
}
|
||||
|
||||
def fileScope(path) {
|
||||
def root = path.getName(0).toString()
|
||||
if (root.endsWith(".sql")) return null
|
||||
def next = path.getName(1).toString()
|
||||
if (next.endsWith(".sql")) {
|
||||
if (root == "anonymous") return null
|
||||
return ObjectPath.create(root, ObjectKind.DATABASE)
|
||||
}
|
||||
if (root == "anonymous") return ObjectPath.create(next, ObjectKind.SCHEMA)
|
||||
return ObjectPath.create(root, ObjectKind.DATABASE).append(next, ObjectKind.SCHEMA)
|
||||
}
|
||||
|
||||
def storeSeparately(obj) {
|
||||
return obj instanceof DasObjectWithSource || obj instanceof DasSchemaChild
|
||||
}
|
||||
|
||||
def sanitize(name) {
|
||||
return name.replace('/', 'slash')
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
import com.intellij.database.model.DasObjectWithSource
|
||||
import com.intellij.database.model.DasSchemaChild
|
||||
import com.intellij.database.model.ObjectKind
|
||||
import com.intellij.database.util.DasUtil
|
||||
import com.intellij.database.util.ObjectPath
|
||||
|
||||
LAYOUT.ignoreDependencies = true
|
||||
LAYOUT.baseName { ctx -> baseName(ctx.object) }
|
||||
LAYOUT.fileScope { path -> fileScope(path) }
|
||||
|
||||
|
||||
def baseName(obj) {
|
||||
def schema = DasUtil.getSchema(obj)
|
||||
def file = fileName(obj)
|
||||
if (schema.isEmpty()) {
|
||||
return file
|
||||
}
|
||||
else {
|
||||
return sanitize(schema) + "/" + obj.kind.code() + "/" + file
|
||||
}
|
||||
}
|
||||
|
||||
def fileName(obj) {
|
||||
for (def cur = obj; cur != null; cur = cur.dasParent) {
|
||||
if (storeSeparately(cur)) return sanitize(cur.name)
|
||||
}
|
||||
return sanitize(obj.name)
|
||||
}
|
||||
|
||||
def fileScope(path) {
|
||||
def root = path.getName(0).toString()
|
||||
if (root.endsWith(".sql")) return null
|
||||
return ObjectPath.create(root, ObjectKind.SCHEMA)
|
||||
}
|
||||
|
||||
def storeSeparately(obj) {
|
||||
return obj instanceof DasObjectWithSource || obj instanceof DasSchemaChild
|
||||
}
|
||||
|
||||
def sanitize(name) {
|
||||
return name.replace('/', 'slash')
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
import com.intellij.database.model.DasObjectWithSource
|
||||
import com.intellij.database.model.DasSchemaChild
|
||||
import com.intellij.database.model.ObjectKind
|
||||
import com.intellij.database.util.DasUtil
|
||||
import com.intellij.database.util.ObjectPath
|
||||
|
||||
LAYOUT.ignoreDependencies = true
|
||||
LAYOUT.baseName { ctx -> baseName(ctx.object) }
|
||||
LAYOUT.fileScope { path -> fileScope(path) }
|
||||
|
||||
|
||||
def baseName(obj) {
|
||||
def schema = DasUtil.getSchema(obj)
|
||||
def file = fileName(obj)
|
||||
if (schema.isEmpty()) {
|
||||
return file
|
||||
}
|
||||
else {
|
||||
return sanitize(schema) + "/" + file
|
||||
}
|
||||
}
|
||||
|
||||
def fileName(obj) {
|
||||
for (def cur = obj; cur != null; cur = cur.dasParent) {
|
||||
if (storeSeparately(cur)) return sanitize(cur.name)
|
||||
}
|
||||
return sanitize(obj.name)
|
||||
}
|
||||
|
||||
def fileScope(path) {
|
||||
def root = path.getName(0).toString()
|
||||
if (root.endsWith(".sql")) return null
|
||||
return ObjectPath.create(root, ObjectKind.SCHEMA)
|
||||
}
|
||||
|
||||
def storeSeparately(obj) {
|
||||
return obj instanceof DasObjectWithSource || obj instanceof DasSchemaChild
|
||||
}
|
||||
|
||||
def sanitize(name) {
|
||||
return name.replace('/', 'slash')
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
import com.intellij.database.model.DasObjectWithSource
|
||||
import com.intellij.database.model.DasSchemaChild
|
||||
|
||||
LAYOUT.baseName { ctx -> baseName(ctx.object) }
|
||||
LAYOUT.fileName { ctx -> String.format("%03d-%s.sql", ctx.count, ctx.baseName) }
|
||||
|
||||
|
||||
def baseName(obj) {
|
||||
for (def cur = obj; cur != null; cur = cur.dasParent) {
|
||||
if (storeSeparately(cur)) return sanitize(cur.name)
|
||||
}
|
||||
return sanitize(obj.name)
|
||||
}
|
||||
|
||||
def storeSeparately(obj) {
|
||||
return obj instanceof DasObjectWithSource || obj instanceof DasSchemaChild
|
||||
}
|
||||
|
||||
def sanitize(name) {
|
||||
return name.replace('/', 'slash')
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
import com.intellij.database.model.DasObjectWithSource
|
||||
import com.intellij.database.model.DasSchemaChild
|
||||
|
||||
LAYOUT.ignoreDependencies = true
|
||||
LAYOUT.baseName { ctx -> baseName(ctx.object) }
|
||||
|
||||
|
||||
def baseName(obj) {
|
||||
for (def cur = obj; cur != null; cur = cur.dasParent) {
|
||||
if (storeSeparately(cur)) return sanitize(cur.name)
|
||||
}
|
||||
return sanitize(obj.name)
|
||||
}
|
||||
|
||||
def storeSeparately(obj) {
|
||||
return obj instanceof DasObjectWithSource || obj instanceof DasSchemaChild
|
||||
}
|
||||
|
||||
def sanitize(name) {
|
||||
return name.replace('/', 'slash')
|
||||
}
|
||||
@@ -0,0 +1,74 @@
|
||||
import com.intellij.database.model.DasTable
|
||||
import com.intellij.database.util.Case
|
||||
import com.intellij.database.util.DasUtil
|
||||
|
||||
/*
|
||||
* Available context bindings:
|
||||
* SELECTION Iterable<DasObject>
|
||||
* PROJECT project
|
||||
* FILES files helper
|
||||
*/
|
||||
|
||||
packageName = "com.sample;"
|
||||
typeMapping = [
|
||||
(~/(?i)int/) : "long",
|
||||
(~/(?i)float|double|decimal|real/): "double",
|
||||
(~/(?i)datetime|timestamp/) : "java.sql.Timestamp",
|
||||
(~/(?i)date/) : "java.sql.Date",
|
||||
(~/(?i)time/) : "java.sql.Time",
|
||||
(~/(?i)/) : "String"
|
||||
]
|
||||
|
||||
FILES.chooseDirectoryAndSave("Choose directory", "Choose where to store generated files") { dir ->
|
||||
SELECTION.filter { it instanceof DasTable }.each { generate(it, dir) }
|
||||
}
|
||||
|
||||
def generate(table, dir) {
|
||||
def className = javaName(table.getName(), true)
|
||||
def fields = calcFields(table)
|
||||
new File(dir, className + ".java").withPrintWriter { out -> generate(out, className, fields) }
|
||||
}
|
||||
|
||||
def generate(out, className, fields) {
|
||||
out.println "package $packageName"
|
||||
out.println ""
|
||||
out.println ""
|
||||
out.println "public class $className {"
|
||||
out.println ""
|
||||
fields.each() {
|
||||
if (it.annos != "") out.println " ${it.annos}"
|
||||
out.println " private ${it.type} ${it.name};"
|
||||
}
|
||||
out.println ""
|
||||
fields.each() {
|
||||
out.println ""
|
||||
out.println " public ${it.type} get${it.name.capitalize()}() {"
|
||||
out.println " return ${it.name};"
|
||||
out.println " }"
|
||||
out.println ""
|
||||
out.println " public void set${it.name.capitalize()}(${it.type} ${it.name}) {"
|
||||
out.println " this.${it.name} = ${it.name};"
|
||||
out.println " }"
|
||||
out.println ""
|
||||
}
|
||||
out.println "}"
|
||||
}
|
||||
|
||||
def calcFields(table) {
|
||||
DasUtil.getColumns(table).reduce([]) { fields, col ->
|
||||
def spec = Case.LOWER.apply(col.getDasType().getSpecification())
|
||||
def typeStr = typeMapping.find { p, t -> p.matcher(spec).find() }.value
|
||||
fields += [[
|
||||
name : javaName(col.getName(), false),
|
||||
type : typeStr,
|
||||
annos: ""]]
|
||||
}
|
||||
}
|
||||
|
||||
def javaName(str, capitalize) {
|
||||
def s = com.intellij.psi.codeStyle.NameUtil.splitNameIntoWords(str)
|
||||
.collect { Case.LOWER.apply(it).capitalize() }
|
||||
.join("")
|
||||
.replaceAll(/[^\p{javaJavaIdentifierPart}[_]]/, "_")
|
||||
capitalize || s.length() == 1? s : Case.LOWER.apply(s[0]) + s[1..-1]
|
||||
}
|
||||
6
JetBrains/WebStorm2025.1/keymaps/VSCode _Migrated_.xml
Normal file
6
JetBrains/WebStorm2025.1/keymaps/VSCode _Migrated_.xml
Normal file
@@ -0,0 +1,6 @@
|
||||
<keymap version="1" name="VSCode (Migrated)" parent="VSCode">
|
||||
<action id="EditorDeleteLine">
|
||||
<keyboard-shortcut first-keystroke="shift ctrl k" />
|
||||
<keyboard-shortcut first-keystroke="ctrl d" second-keystroke="ctrl d" />
|
||||
</action>
|
||||
</keymap>
|
||||
@@ -0,0 +1,6 @@
|
||||
<application>
|
||||
<component name="AIOnboardingPromoWindowAdvisor">
|
||||
<option name="attempts" value="2" />
|
||||
<option name="shouldShowNextTime" value="NO" />
|
||||
</component>
|
||||
</application>
|
||||
@@ -0,0 +1,3 @@
|
||||
<application>
|
||||
<component name="CommonFeedbackSurveyService"><![CDATA[{}]]></component>
|
||||
</application>
|
||||
@@ -0,0 +1,3 @@
|
||||
<application>
|
||||
<component name="DontShowAgainFeedbackService"><![CDATA[{}]]></component>
|
||||
</application>
|
||||
@@ -0,0 +1,3 @@
|
||||
<application>
|
||||
<component name="WebStormTypeEngineSurveyState"><![CDATA[{}]]></component>
|
||||
</application>
|
||||
61
JetBrains/WebStorm2025.1/options/actionSummary.xml
Normal file
61
JetBrains/WebStorm2025.1/options/actionSummary.xml
Normal file
@@ -0,0 +1,61 @@
|
||||
<application>
|
||||
<component name="ActionsLocalSummary">
|
||||
<e n="ActivateFindToolWindow">
|
||||
<i c="1" l="1750071271219" />
|
||||
</e>
|
||||
<e n="EditorBackSpace">
|
||||
<i c="50" l="1750072245916" />
|
||||
</e>
|
||||
<e n="EditorDelete">
|
||||
<i c="2" l="1750071062164" />
|
||||
</e>
|
||||
<e n="EditorDeleteToWordStart">
|
||||
<i c="1" l="1750071348044" />
|
||||
</e>
|
||||
<e n="EditorPaste">
|
||||
<i c="1" l="1750071348238" />
|
||||
</e>
|
||||
<e n="FindInPath">
|
||||
<i c="1" l="1750071296228" />
|
||||
</e>
|
||||
<e n="ReplaceInPath">
|
||||
<i c="4" l="1750071738738" />
|
||||
</e>
|
||||
<e n="SaveAll">
|
||||
<i c="1" l="1750071910206" />
|
||||
</e>
|
||||
<e n="SaveDocument">
|
||||
<i c="6" l="1750071729343" />
|
||||
</e>
|
||||
<e n="SearchEverywhere">
|
||||
<i c="2" l="1750071898181" />
|
||||
</e>
|
||||
<e n="WelcomeScreen.OpenDirectoryProject">
|
||||
<i c="1" l="1750070854153" />
|
||||
</e>
|
||||
<e n="com.intellij.find.impl.FindPopupPanel$MySwitchStateToggleAction">
|
||||
<i c="1" l="1750071333083" />
|
||||
</e>
|
||||
<e n="com.intellij.ide.startup.importSettings.chooser.productChooser.ExpChooserAction">
|
||||
<i c="1" l="1750070838821" />
|
||||
</e>
|
||||
<e n="com.intellij.openapi.editor.impl.EditorMarkupModelImpl$TrafficLightAction">
|
||||
<i c="2" l="1750070962134" />
|
||||
</e>
|
||||
<e n="com.intellij.openapi.fileEditor.impl.tabActions.CloseTab">
|
||||
<i c="1" l="1750070870906" />
|
||||
</e>
|
||||
<e n="com.intellij.openapi.project.DumbAwareAction$SimpleDumbAwareAction">
|
||||
<i c="3" l="1750071899548" />
|
||||
</e>
|
||||
<e n="com.intellij.openapi.wm.impl.SquareAnActionButton">
|
||||
<i c="4" l="1750071289291" />
|
||||
</e>
|
||||
<e n="com.intellij.openapi.wm.impl.customFrameDecorations.header.toolbar.MainMenuButton$ShowMenuAction">
|
||||
<i c="3" l="1750071900124" />
|
||||
</e>
|
||||
<e n="com.intellij.toolWindow.ShowMoreToolWindowsAction">
|
||||
<i c="2" l="1750071269716" />
|
||||
</e>
|
||||
</component>
|
||||
</application>
|
||||
5
JetBrains/WebStorm2025.1/options/colors.scheme.xml
Normal file
5
JetBrains/WebStorm2025.1/options/colors.scheme.xml
Normal file
@@ -0,0 +1,5 @@
|
||||
<application>
|
||||
<component name="EditorColorsManagerImpl">
|
||||
<global_color_scheme name="Dark" />
|
||||
</component>
|
||||
</application>
|
||||
5
JetBrains/WebStorm2025.1/options/console-font.xml
Normal file
5
JetBrains/WebStorm2025.1/options/console-font.xml
Normal file
@@ -0,0 +1,5 @@
|
||||
<application>
|
||||
<component name="ConsoleFont">
|
||||
<option name="VERSION" value="1" />
|
||||
</component>
|
||||
</application>
|
||||
12
JetBrains/WebStorm2025.1/options/csvSettings.xml
Normal file
12
JetBrains/WebStorm2025.1/options/csvSettings.xml
Normal file
@@ -0,0 +1,12 @@
|
||||
<application>
|
||||
<component name="ScriptedLoadersAssociations">
|
||||
<extensions>
|
||||
<set>
|
||||
<option value="parquet" />
|
||||
<option value="shp" />
|
||||
<option value="xls" />
|
||||
<option value="xlsx" />
|
||||
</set>
|
||||
</extensions>
|
||||
</component>
|
||||
</application>
|
||||
58
JetBrains/WebStorm2025.1/options/databaseSettings.xml
Normal file
58
JetBrains/WebStorm2025.1/options/databaseSettings.xml
Normal file
@@ -0,0 +1,58 @@
|
||||
<application>
|
||||
<component name="DatabaseSettings" version="10">
|
||||
<text-mode>
|
||||
<parameter-patterns>
|
||||
<parameter-pattern value="#(\w+)#" in-scripts="true" scope="XML" predefined="#name#" />
|
||||
<parameter-pattern value="(?<=\W|\A)\$(\d+|[a-zA-Z_](?:\w|\.)*)\$?(?=\W|\z)" in-scripts="true" scope="*,-SQL" predefined="$a.b.c$?" />
|
||||
<parameter-pattern value="(?<=\W|\A)#(\d+|[a-zA-Z_](?:\w|\.)*)#?(?=\W|\z)" in-scripts="true" scope="*,-SQL" predefined="#a.b.c#?" />
|
||||
<parameter-pattern value="%\((\w+)\)s" in-scripts="true" scope="Python" predefined="%(name)s" />
|
||||
<parameter-pattern value="%\w+" in-scripts="true" scope="JAVA,Python,PHP" predefined="%name" />
|
||||
<parameter-pattern value="\:\'.*\'" in-scripts="true" scope="PostgreSQL" predefined=":'name'" />
|
||||
<parameter-pattern value="\$\{([^\{\}]*)\}" in-scripts="true" predefined="${name}" />
|
||||
<parameter-pattern value="\$\(([^\)]+)\)" in-scripts="true" predefined="$(name)" />
|
||||
</parameter-patterns>
|
||||
</text-mode>
|
||||
<csv-formats>
|
||||
<csv-format name="CSV" id="Comma-separated (CSV)_id">
|
||||
<data>
|
||||
<record-format prefix="" suffix="" nullText="" quotationPolicy="as needed" valueSeparator="," recordSeparator=" ">
|
||||
<quotation>
|
||||
<quotes left=""" right=""" leftEscaped="""" rightEscaped="""" />
|
||||
<quotes left="'" right="'" leftEscaped="''" rightEscaped="''" />
|
||||
</quotation>
|
||||
</record-format>
|
||||
</data>
|
||||
</csv-format>
|
||||
<csv-format name="TSV" id="Tab-separated (TSV)_id">
|
||||
<data>
|
||||
<record-format prefix="" suffix="" nullText="" quotationPolicy="as needed" valueSeparator="	" recordSeparator=" ">
|
||||
<quotation>
|
||||
<quotes left=""" right=""" leftEscaped="""" rightEscaped="""" />
|
||||
<quotes left="'" right="'" leftEscaped="''" rightEscaped="''" />
|
||||
</quotation>
|
||||
</record-format>
|
||||
</data>
|
||||
</csv-format>
|
||||
<csv-format name="Pipe-separated" id="Pipe-separated_id">
|
||||
<data>
|
||||
<record-format prefix="" suffix="" nullText="" quotationPolicy="as needed" valueSeparator="|" recordSeparator=" ">
|
||||
<quotation>
|
||||
<quotes left=""" right=""" leftEscaped="""" rightEscaped="""" />
|
||||
<quotes left="'" right="'" leftEscaped="''" rightEscaped="''" />
|
||||
</quotation>
|
||||
</record-format>
|
||||
</data>
|
||||
</csv-format>
|
||||
<csv-format name="Semicolon-separated" id="Semicolon-separated_id">
|
||||
<data>
|
||||
<record-format prefix="" suffix="" nullText="" quotationPolicy="as needed" valueSeparator=";" recordSeparator=" ">
|
||||
<quotation>
|
||||
<quotes left=""" right=""" leftEscaped="""" rightEscaped="""" />
|
||||
<quotes left="'" right="'" leftEscaped="''" rightEscaped="''" />
|
||||
</quotation>
|
||||
</record-format>
|
||||
</data>
|
||||
</csv-format>
|
||||
</csv-formats>
|
||||
</component>
|
||||
</application>
|
||||
13
JetBrains/WebStorm2025.1/options/debugger.xml
Normal file
13
JetBrains/WebStorm2025.1/options/debugger.xml
Normal file
@@ -0,0 +1,13 @@
|
||||
<application>
|
||||
<component name="XDebuggerSettings">
|
||||
<data-views />
|
||||
<general />
|
||||
<debuggers>
|
||||
<debugger id="javascript">
|
||||
<configuration>
|
||||
<custom-object-presentation />
|
||||
</configuration>
|
||||
</debugger>
|
||||
</debuggers>
|
||||
</component>
|
||||
</application>
|
||||
5
JetBrains/WebStorm2025.1/options/diff.xml
Normal file
5
JetBrains/WebStorm2025.1/options/diff.xml
Normal file
@@ -0,0 +1,5 @@
|
||||
<application>
|
||||
<component name="ExternalDiffSettings">
|
||||
<option name="MIGRATE_OLD_SETTINGS" value="true" />
|
||||
</component>
|
||||
</application>
|
||||
5
JetBrains/WebStorm2025.1/options/editor-font.xml
Normal file
5
JetBrains/WebStorm2025.1/options/editor-font.xml
Normal file
@@ -0,0 +1,5 @@
|
||||
<application>
|
||||
<component name="DefaultFont">
|
||||
<option name="VERSION" value="1" />
|
||||
</component>
|
||||
</application>
|
||||
5
JetBrains/WebStorm2025.1/options/editor.xml
Normal file
5
JetBrains/WebStorm2025.1/options/editor.xml
Normal file
@@ -0,0 +1,5 @@
|
||||
<application>
|
||||
<component name="CodeInsightSettings">
|
||||
<option name="AUTO_POPUP_JAVADOC_INFO" value="true" />
|
||||
</component>
|
||||
</application>
|
||||
109
JetBrains/WebStorm2025.1/options/features.usage.statistics.xml
Normal file
109
JetBrains/WebStorm2025.1/options/features.usage.statistics.xml
Normal file
@@ -0,0 +1,109 @@
|
||||
<application>
|
||||
<component name="FeatureUsageStatistics" first-run="1750070844002" have-been-shown="false" show-in-other="true" show-in-compilation="true">
|
||||
<feature id="editing.completion.camelHumps" count="0" last-shown="0" last-used="0" shown-count="0" />
|
||||
<feature id="codeassists.surroundwith.statement" count="0" last-shown="0" last-used="0" shown-count="0" />
|
||||
<feature id="navigation.goto.file.line" count="0" last-shown="0" last-used="0" shown-count="0" />
|
||||
<feature id="navigation.popup.symbol" count="0" last-shown="0" last-used="0" shown-count="0" />
|
||||
<feature id="switcher" count="0" last-shown="0" last-used="0" shown-count="0" />
|
||||
<feature id="editing.completion.replace" count="0" last-shown="1750072244250" last-used="0" shown-count="1" />
|
||||
<feature id="codeassists.complete.statement" count="0" last-shown="0" last-used="0" shown-count="0" />
|
||||
<feature id="vcs.show.quick.list" count="0" last-shown="0" last-used="0" shown-count="0" />
|
||||
<feature id="editing.convert.line.separators" count="0" last-shown="0" last-used="0" shown-count="0" />
|
||||
<feature id="db.console.execute" count="0" last-shown="0" last-used="0" shown-count="0" />
|
||||
<feature id="navigation.recent.files" count="0" last-shown="0" last-used="0" shown-count="0" />
|
||||
<feature id="scratch" count="0" last-shown="0" last-used="0" shown-count="0" />
|
||||
<feature id="vcs.pull.requests" count="0" last-shown="0" last-used="0" shown-count="0" />
|
||||
<feature id="vcs.annotate" count="0" last-shown="0" last-used="0" shown-count="0" />
|
||||
<feature id="ui.open.last.tool.window" count="0" last-shown="0" last-used="0" shown-count="0" />
|
||||
<feature id="editing.reformat.code" count="0" last-shown="0" last-used="0" shown-count="0" />
|
||||
<feature id="editing.completion.show.liveTemplates" count="0" last-shown="0" last-used="0" shown-count="0" />
|
||||
<feature id="editing.copy.line" count="0" last-shown="0" last-used="0" shown-count="0" />
|
||||
<feature id="navigation.find.in.files" count="1" last-shown="0" last-used="1750071296431" shown-count="0" />
|
||||
<feature id="db.copy.table" count="0" last-shown="0" last-used="0" shown-count="0" />
|
||||
<feature id="ui.hide.tool.window" count="0" last-shown="0" last-used="0" shown-count="0" />
|
||||
<feature id="navigation.find.replace.in.files.toggle" count="0" last-shown="0" last-used="0" shown-count="0" />
|
||||
<feature id="intentions.check.regexp" count="0" last-shown="0" last-used="0" shown-count="0" />
|
||||
<feature id="profiler.open.snapshot" count="0" last-shown="0" last-used="0" shown-count="0" />
|
||||
<feature id="codeassists.comment.line" count="0" last-shown="0" last-used="0" shown-count="0" />
|
||||
<feature id="SearchEverywhere" count="2" last-shown="0" last-used="1750071898232" shown-count="0" />
|
||||
<feature id="editor.delete.line" count="0" last-shown="0" last-used="0" shown-count="0" />
|
||||
<feature id="navigation.inheritance.hierarchy" count="0" last-shown="0" last-used="0" shown-count="0" />
|
||||
<feature id="editing.duplicate" count="0" last-shown="0" last-used="0" shown-count="0" />
|
||||
<feature id="editing.copy.reference" count="0" last-shown="0" last-used="0" shown-count="0" />
|
||||
<feature id="navigation.find" count="0" last-shown="0" last-used="0" shown-count="0" />
|
||||
<feature id="codeassists.quickdefinition" count="0" last-shown="0" last-used="0" shown-count="0" />
|
||||
<feature id="editing.completion.basic" count="0" last-shown="0" last-used="0" shown-count="0" />
|
||||
<feature id="editing.completion.postfix" count="0" last-shown="0" last-used="0" shown-count="0" />
|
||||
<feature id="dir.diff" count="0" last-shown="0" last-used="0" shown-count="0" />
|
||||
<feature id="navigation.recent.locations" count="0" last-shown="0" last-used="0" shown-count="0" />
|
||||
<feature id="editing.select.word" count="0" last-shown="0" last-used="0" shown-count="0" />
|
||||
<feature id="ui.close.other.editors" count="0" last-shown="0" last-used="0" shown-count="0" />
|
||||
<feature id="debugger.evaluate.expression" count="0" last-shown="0" last-used="0" shown-count="0" />
|
||||
<feature id="codeassists.highlight.usages" count="0" last-shown="0" last-used="0" shown-count="0" />
|
||||
<feature id="debugger.breakpoint.edit" count="0" last-shown="0" last-used="0" shown-count="0" />
|
||||
<feature id="codeassist.inspect.batch" count="0" last-shown="0" last-used="0" shown-count="0" />
|
||||
<feature id="db.table.editor" count="0" last-shown="0" last-used="0" shown-count="0" />
|
||||
<feature id="codeassists.liveTemplates" count="0" last-shown="0" last-used="0" shown-count="0" />
|
||||
<feature id="navigation.goto.usages" count="0" last-shown="0" last-used="0" shown-count="0" />
|
||||
<feature id="intentions.edit.regexp" count="0" last-shown="0" last-used="0" shown-count="0" />
|
||||
<feature id="codeassists.quickdefinition.lookup" count="0" last-shown="0" last-used="0" shown-count="0" />
|
||||
<feature id="navigation.find.usages" count="0" last-shown="0" last-used="0" shown-count="0" />
|
||||
<feature id="editing.clipboard.history" count="0" last-shown="0" last-used="0" shown-count="0" />
|
||||
<feature id="editing.compare.editor.with.clipboard" count="0" last-shown="0" last-used="0" shown-count="0" />
|
||||
<feature id="refactoring.rename" count="0" last-shown="0" last-used="0" shown-count="0" />
|
||||
<feature id="navigation.popup.action" count="0" last-shown="0" last-used="0" shown-count="0" />
|
||||
<feature id="refactoring.show.quick.list" count="0" last-shown="0" last-used="0" shown-count="0" />
|
||||
<feature id="db.forget.cached.schemas" count="0" last-shown="0" last-used="0" shown-count="0" />
|
||||
<feature id="editing.completion.cancelByControlArrows" count="0" last-shown="0" last-used="0" shown-count="0" />
|
||||
<feature id="find.recent.search" count="0" last-shown="0" last-used="0" shown-count="0" />
|
||||
<feature id="navigation.goto.inspection" count="0" last-shown="0" last-used="0" shown-count="0" />
|
||||
<feature id="vcs.show.local.history" count="0" last-shown="0" last-used="0" shown-count="0" />
|
||||
<feature id="vcs.use.integration" count="0" last-shown="0" last-used="0" shown-count="0" />
|
||||
<feature id="navigation.popup.file" count="0" last-shown="0" last-used="0" shown-count="0" />
|
||||
<feature id="codeassists.overrideimplement" count="0" last-shown="0" last-used="0" shown-count="0" />
|
||||
<feature id="db.console.run.intention" count="0" last-shown="0" last-used="0" shown-count="0" />
|
||||
<feature id="db.diff" count="0" last-shown="0" last-used="0" shown-count="0" />
|
||||
<feature id="ui.close.all.editors" count="0" last-shown="0" last-used="0" shown-count="0" />
|
||||
<feature id="navigation.popup.wildcards" count="0" last-shown="0" last-used="0" shown-count="0" />
|
||||
<feature id="refactoring.introduceVariable" count="0" last-shown="0" last-used="0" shown-count="0" />
|
||||
<feature id="refactoring.extractMethod" count="0" last-shown="0" last-used="0" shown-count="0" />
|
||||
<feature id="codeassists.surroundwith.expression" count="0" last-shown="0" last-used="0" shown-count="0" />
|
||||
<feature id="codeassists.generate.code" count="0" last-shown="0" last-used="0" shown-count="0" />
|
||||
<feature id="navigation.goto.declaration" count="0" last-shown="0" last-used="0" shown-count="0" />
|
||||
<feature id="editing.completion.finishByDotEtc" count="0" last-shown="0" last-used="0" shown-count="0" />
|
||||
<feature id="ui.open.project.tool.window" count="0" last-shown="0" last-used="0" shown-count="0" />
|
||||
<feature id="editing.join.lines" count="0" last-shown="0" last-used="0" shown-count="0" />
|
||||
<feature id="refactoring.inlineVariable" count="0" last-shown="0" last-used="0" shown-count="0" />
|
||||
<feature id="debugger.breakpoint.non.suspending" count="0" last-shown="0" last-used="0" shown-count="0" />
|
||||
<feature id="editing.completion.finishByCtrlDot" count="0" last-shown="0" last-used="0" shown-count="0" />
|
||||
<feature id="codeassists.context.actions" count="0" last-shown="0" last-used="0" shown-count="0" />
|
||||
<feature id="navigation.select.in" count="0" last-shown="0" last-used="0" shown-count="0" />
|
||||
<feature id="ui.tree.speedsearch" count="0" last-shown="0" last-used="0" shown-count="0" />
|
||||
<feature id="ui.horizontal.scrolling" count="0" last-shown="0" last-used="0" shown-count="0" />
|
||||
<feature id="navigation.replace" count="0" last-shown="0" last-used="0" shown-count="0" />
|
||||
<feature id="navigation.popup.camelprefix" count="0" last-shown="0" last-used="0" shown-count="0" />
|
||||
<feature id="navigation.popup.class" count="0" last-shown="0" last-used="0" shown-count="0" />
|
||||
<feature id="codeassists.parameterInfo" count="0" last-shown="0" last-used="0" shown-count="0" />
|
||||
<feature id="db.table.editor.wrapper" count="0" last-shown="0" last-used="0" shown-count="0" />
|
||||
<feature id="find.completion" count="0" last-shown="0" last-used="0" shown-count="0" />
|
||||
<feature id="tag.name.completion" count="0" last-shown="0" last-used="0" shown-count="0" />
|
||||
<feature id="refactoring.introduceVariable.incompleteStatement" count="0" last-shown="0" last-used="0" shown-count="0" />
|
||||
<feature id="db.readonly.datasource" count="0" last-shown="0" last-used="0" shown-count="0" />
|
||||
<feature id="vcs.compare.file.versions" count="0" last-shown="0" last-used="0" shown-count="0" />
|
||||
<feature id="navigation.find.replace.toggle" count="0" last-shown="0" last-used="0" shown-count="0" />
|
||||
<feature id="editing.add.carets.using.double.ctrl" count="0" last-shown="0" last-used="0" shown-count="0" />
|
||||
<feature id="db.console" count="0" last-shown="0" last-used="0" shown-count="0" />
|
||||
<feature id="codeassists.quickjavadoc.lookup" count="0" last-shown="0" last-used="0" shown-count="0" />
|
||||
<feature id="ui.scheme.quickswitch" count="0" last-shown="0" last-used="0" shown-count="0" />
|
||||
<feature id="navigation.replace.in.files" count="4" last-shown="0" last-used="1750071738801" shown-count="0" />
|
||||
<feature id="navigation.popup.file.structure" count="0" last-shown="0" last-used="0" shown-count="0" />
|
||||
<feature id="codeassists.quickjavadoc.ctrln" count="0" last-shown="0" last-used="0" shown-count="0" />
|
||||
<feature id="codeassists.quickjavadoc" count="0" last-shown="0" last-used="0" shown-count="0" />
|
||||
<feature id="ui.recentchanges" count="0" last-shown="0" last-used="0" shown-count="0" />
|
||||
<feature id="editing.move.statement.up.down" count="0" last-shown="0" last-used="0" shown-count="0" />
|
||||
<feature id="editing.completion.changeSorting" count="0" last-shown="0" last-used="0" shown-count="0" />
|
||||
<feature id="db.assign.color" count="0" last-shown="0" last-used="0" shown-count="0" />
|
||||
<completionStatsTag />
|
||||
<fixesStatsTag />
|
||||
</component>
|
||||
</application>
|
||||
24
JetBrains/WebStorm2025.1/options/find.xml
Normal file
24
JetBrains/WebStorm2025.1/options/find.xml
Normal file
@@ -0,0 +1,24 @@
|
||||
<application>
|
||||
<component name="FindSettings">
|
||||
<option name="customScope" value="All Places" />
|
||||
<option name="defaultScopeName" value="All Places" />
|
||||
<option name="regularExpressions" value="true" />
|
||||
<option name="REGULAR_EXPRESSIONS" value="true" />
|
||||
<option name="SEARCH_SCOPE" value="All Places" />
|
||||
<mask>*.xml</mask>
|
||||
<mask>*.css</mask>
|
||||
<mask>*.htm</mask>
|
||||
<mask>*.sht</mask>
|
||||
<mask>*.shtm</mask>
|
||||
<mask>*.shtml</mask>
|
||||
<mask>*.html</mask>
|
||||
<mask>*.mts</mask>
|
||||
<mask>*.ats</mask>
|
||||
<mask>*.cts</mask>
|
||||
<mask>*.ts</mask>
|
||||
<mask>*.cjs</mask>
|
||||
<mask>*.mjs</mask>
|
||||
<mask>*.es6</mask>
|
||||
<mask>*.js</mask>
|
||||
</component>
|
||||
</application>
|
||||
3
JetBrains/WebStorm2025.1/options/gitlab.xml
Normal file
3
JetBrains/WebStorm2025.1/options/gitlab.xml
Normal file
@@ -0,0 +1,3 @@
|
||||
<application>
|
||||
<component name="GitLabAccounts"><![CDATA[{}]]></component>
|
||||
</application>
|
||||
5
JetBrains/WebStorm2025.1/options/ide.general.local.xml
Normal file
5
JetBrains/WebStorm2025.1/options/ide.general.local.xml
Normal file
@@ -0,0 +1,5 @@
|
||||
<application>
|
||||
<component name="GeneralLocalSettings">
|
||||
<option name="defaultProjectDirectory" />
|
||||
</component>
|
||||
</application>
|
||||
7
JetBrains/WebStorm2025.1/options/ide.general.xml
Normal file
7
JetBrains/WebStorm2025.1/options/ide.general.xml
Normal file
@@ -0,0 +1,7 @@
|
||||
<application>
|
||||
<component name="Registry">
|
||||
<entry key="moved.to.new.ui" value="true" source="SYSTEM" />
|
||||
<entry key="ide.experimental.ui" value="true" source="SYSTEM" />
|
||||
<entry key="eslint.additional.file.extensions" value="svelte" source="SYSTEM" />
|
||||
</component>
|
||||
</application>
|
||||
13
JetBrains/WebStorm2025.1/options/keymapFlags.xml
Normal file
13
JetBrains/WebStorm2025.1/options/keymapFlags.xml
Normal file
@@ -0,0 +1,13 @@
|
||||
<application>
|
||||
<component name="KeymapFlagsStorage">
|
||||
<option name="keymapToDescriptor">
|
||||
<map>
|
||||
<entry key="VSCode (Migrated)">
|
||||
<value>
|
||||
<list />
|
||||
</value>
|
||||
</entry>
|
||||
</map>
|
||||
</option>
|
||||
</component>
|
||||
</application>
|
||||
5
JetBrains/WebStorm2025.1/options/linux/keymap.xml
Normal file
5
JetBrains/WebStorm2025.1/options/linux/keymap.xml
Normal file
@@ -0,0 +1,5 @@
|
||||
<application>
|
||||
<component name="KeymapManager">
|
||||
<active_keymap name="VSCode (Migrated)" />
|
||||
</component>
|
||||
</application>
|
||||
3
JetBrains/WebStorm2025.1/options/log-categories.xml
Normal file
3
JetBrains/WebStorm2025.1/options/log-categories.xml
Normal file
@@ -0,0 +1,3 @@
|
||||
<application>
|
||||
<component name="Logs.Categories"><![CDATA[{}]]></component>
|
||||
</application>
|
||||
7
JetBrains/WebStorm2025.1/options/nodejs.xml
Normal file
7
JetBrains/WebStorm2025.1/options/nodejs.xml
Normal file
@@ -0,0 +1,7 @@
|
||||
<application>
|
||||
<component name="NodeJsLocalInterpreterManager">
|
||||
<local-interpreter path="/usr/bin/node">
|
||||
<version-cache version="23.11.0" last-modified="1744381027000" />
|
||||
</local-interpreter>
|
||||
</component>
|
||||
</application>
|
||||
49
JetBrains/WebStorm2025.1/options/other.xml
Normal file
49
JetBrains/WebStorm2025.1/options/other.xml
Normal file
@@ -0,0 +1,49 @@
|
||||
<application>
|
||||
<component name="FileEditorProviderManager">{}</component>
|
||||
<component name="NotRoamableUiSettings">
|
||||
<option name="fontSize" value="13.0" />
|
||||
<option name="presentationModeIdeScale" value="1.75" />
|
||||
</component>
|
||||
<component name="PropertyService">{
|
||||
"keyToString": {
|
||||
"GeneralSettings.initiallyConfigured": "true",
|
||||
"LAST_CALCULATED_COLOR_INDEX_KEY": "7",
|
||||
"RunOnceActivity.TerminalOptionsProvider.migration.2025.1.1": "true",
|
||||
"RunOnceActivity.VFSInitializationConditionsToFusReporter": "true",
|
||||
"RunOnceActivity.git.modal.commit.deprecation.notification": "true",
|
||||
"RunOnceActivity.git.modal.commit.toggle": "true",
|
||||
"RunOnceActivity.svelte.init.key": "true",
|
||||
"RunOnceActivity.webstorm.auto-popup.quick-doc.initialized": "true",
|
||||
"ask.about.ctrl.y.shortcut.v2": "true",
|
||||
"evlsprt3.251": "6",
|
||||
"experimental.ui.on.first.startup": "true",
|
||||
"experimental.ui.used.version": "251.26094.131",
|
||||
"fileTypeChangedCounter": "2",
|
||||
"find.popup.splitter": "0.5318182",
|
||||
"fontSizeToResetConsole": "13.0",
|
||||
"fontSizeToResetEditor": "13.0",
|
||||
"input.method.disabler.muted": "true",
|
||||
"last_opened_file_path": "/home/leo/uni/paw/client",
|
||||
"llm.installer.last.toolwindow.state": "LLM_INSTALLER",
|
||||
"migrated.non.roamable.values.from.general.settings": "true",
|
||||
"previousColorScheme": "_@user_Dark",
|
||||
"registry.to.advanced.settings.migration.build": "WS-251.26094.131",
|
||||
"terminal.gen.one.option.visible": "false",
|
||||
"ts.lib.d.ts.version": "5.6.3"
|
||||
},
|
||||
"keyToStringList": {
|
||||
"file.chooser.recent.files": [
|
||||
"/home/leo/uni/paw/client"
|
||||
],
|
||||
"fileTypeDetectors": [
|
||||
"com.intellij.ide.scratch.ScratchFileServiceImpl$Detector",
|
||||
"com.intellij.docker.dockerFile.DockerFileTypeDetector",
|
||||
"com.intellij.javascript.debugger.sourcemap.SourceMapFileType$MyFileTypeDetector",
|
||||
"com.intellij.database.vfs.DbStorageFileType$Detector",
|
||||
"com.jetbrains.nodejs.util.NodeFileTypeDetector$JavaScriptFileTypeDetector",
|
||||
"com.jetbrains.nodejs.util.NodeFileTypeDetector$TypeScriptFileTypeDetector",
|
||||
"org.jetbrains.plugins.textmate.TextMateFileType$TextMateFileDetector"
|
||||
]
|
||||
}
|
||||
}</component>
|
||||
</application>
|
||||
@@ -0,0 +1,6 @@
|
||||
<application>
|
||||
<component name="ProfilerRunConfigurations">
|
||||
<profilerRunConfigurations />
|
||||
<knownConfigurationTypes />
|
||||
</component>
|
||||
</application>
|
||||
5
JetBrains/WebStorm2025.1/options/proxy.settings.xml
Normal file
5
JetBrains/WebStorm2025.1/options/proxy.settings.xml
Normal file
@@ -0,0 +1,5 @@
|
||||
<application>
|
||||
<component name="HttpConfigurable">
|
||||
<option name="USE_PROXY_PAC" value="true" />
|
||||
</component>
|
||||
</application>
|
||||
25
JetBrains/WebStorm2025.1/options/recentProjects.xml
Normal file
25
JetBrains/WebStorm2025.1/options/recentProjects.xml
Normal file
@@ -0,0 +1,25 @@
|
||||
<application>
|
||||
<component name="RecentProjectsManager">
|
||||
<option name="additionalInfo">
|
||||
<map>
|
||||
<entry key="$USER_HOME$/uni/paw/client">
|
||||
<value>
|
||||
<RecentProjectMetaInfo frameTitle="client – websocket.service.ts" opened="true" projectWorkspaceId="2yaRnFlCKmF4XBPejauZaQvJRfm">
|
||||
<option name="activationTimestamp" value="1750072249321" />
|
||||
<option name="binFolder" value="$APPLICATION_HOME_DIR$/bin" />
|
||||
<option name="build" value="WS-251.26094.131" />
|
||||
<option name="buildTimestamp" value="1749016560000" />
|
||||
<option name="colorInfo">
|
||||
<RecentProjectColorInfo associatedIndex="7" />
|
||||
</option>
|
||||
<frame x="0" y="0" width="1920" height="1050" extendedState="6" />
|
||||
<option name="productionCode" value="WS" />
|
||||
<option name="projectOpenTimestamp" value="1750070863316" />
|
||||
</RecentProjectMetaInfo>
|
||||
</value>
|
||||
</entry>
|
||||
</map>
|
||||
</option>
|
||||
<option name="lastOpenedProject" value="$USER_HOME$/uni/paw/client" />
|
||||
</component>
|
||||
</application>
|
||||
5
JetBrains/WebStorm2025.1/options/settingsSync.xml
Normal file
5
JetBrains/WebStorm2025.1/options/settingsSync.xml
Normal file
@@ -0,0 +1,5 @@
|
||||
<application>
|
||||
<component name="SettingsSyncSettings">
|
||||
<option name="migrationFromOldStorageChecked" value="true" />
|
||||
</component>
|
||||
</application>
|
||||
6
JetBrains/WebStorm2025.1/options/terminal-font.xml
Normal file
6
JetBrains/WebStorm2025.1/options/terminal-font.xml
Normal file
@@ -0,0 +1,6 @@
|
||||
<application>
|
||||
<component name="TerminalFontOptions">
|
||||
<option name="VERSION" value="1" />
|
||||
<option name="SECONDARY_FONT_FAMILY" />
|
||||
</component>
|
||||
</application>
|
||||
5
JetBrains/WebStorm2025.1/options/terminal.xml
Normal file
5
JetBrains/WebStorm2025.1/options/terminal.xml
Normal file
@@ -0,0 +1,5 @@
|
||||
<application>
|
||||
<component name="TerminalOptionsProvider">
|
||||
<option name="terminalEngine" value="REWORKED" />
|
||||
</component>
|
||||
</application>
|
||||
3
JetBrains/WebStorm2025.1/options/textmate.xml
Normal file
3
JetBrains/WebStorm2025.1/options/textmate.xml
Normal file
@@ -0,0 +1,3 @@
|
||||
<application>
|
||||
<component name="TextMateUserBundlesSettings"><![CDATA[{}]]></component>
|
||||
</application>
|
||||
9
JetBrains/WebStorm2025.1/options/trusted-paths.xml
Normal file
9
JetBrains/WebStorm2025.1/options/trusted-paths.xml
Normal file
@@ -0,0 +1,9 @@
|
||||
<application>
|
||||
<component name="Trusted.Paths">
|
||||
<option name="TRUSTED_PROJECT_PATHS">
|
||||
<map>
|
||||
<entry key="$USER_HOME$/uni/paw/client" value="true" />
|
||||
</map>
|
||||
</option>
|
||||
</component>
|
||||
</application>
|
||||
8
JetBrains/WebStorm2025.1/options/updates.xml
Normal file
8
JetBrains/WebStorm2025.1/options/updates.xml
Normal file
@@ -0,0 +1,8 @@
|
||||
<application>
|
||||
<component name="UpdatesConfigurable">
|
||||
<option name="LAST_BUILD_CHECKED" value="WS-251.26094.131" />
|
||||
<option name="LAST_TIME_CHECKED" value="1750070837020" />
|
||||
<option name="OBSOLETE_CUSTOM_REPOSITORIES_CLEAN_NEEDED" value="false" />
|
||||
<option name="WHATS_NEW_SHOWN_FOR" value="251" />
|
||||
</component>
|
||||
</application>
|
||||
8
JetBrains/WebStorm2025.1/options/usage.statistics.xml
Normal file
8
JetBrains/WebStorm2025.1/options/usage.statistics.xml
Normal file
@@ -0,0 +1,8 @@
|
||||
<application>
|
||||
<component name="UsagesStatistic">
|
||||
<system-event-id recorder="MP" id="5" />
|
||||
<system-event-id recorder="FUS" id="2058" />
|
||||
<system-event-id recorder="IJ_MAP" id="3" />
|
||||
<system-event-id recorder="ML" id="2" />
|
||||
</component>
|
||||
</application>
|
||||
@@ -0,0 +1,5 @@
|
||||
<application>
|
||||
<component name="WebTypesNpmLoader" timestamp="1750070863481">
|
||||
<enabled />
|
||||
</component>
|
||||
</application>
|
||||
83
JetBrains/WebStorm2025.1/options/window.layouts.xml
Normal file
83
JetBrains/WebStorm2025.1/options/window.layouts.xml
Normal file
@@ -0,0 +1,83 @@
|
||||
<application>
|
||||
<component name="ToolWindowLayout"><![CDATA[{
|
||||
"layouts": {
|
||||
"Custom": {
|
||||
"v2": [
|
||||
{
|
||||
"id": "Project",
|
||||
"order": 0,
|
||||
"contentUiType": "COMBO",
|
||||
"weight": 0.25
|
||||
},
|
||||
{
|
||||
"id": "Commit",
|
||||
"order": 1,
|
||||
"weight": 0.25
|
||||
},
|
||||
{
|
||||
"id": "Structure",
|
||||
"order": 2,
|
||||
"weight": 0.25,
|
||||
"isSplit": true
|
||||
},
|
||||
{
|
||||
"id": "Notifications",
|
||||
"order": 0,
|
||||
"anchor": "RIGHT",
|
||||
"contentUiType": "COMBO",
|
||||
"weight": 0.25
|
||||
},
|
||||
{
|
||||
"id": "AIAssistant",
|
||||
"order": 1,
|
||||
"anchor": "RIGHT",
|
||||
"weight": 0.25
|
||||
},
|
||||
{
|
||||
"id": "Database",
|
||||
"order": 2,
|
||||
"anchor": "RIGHT",
|
||||
"weight": 0.25
|
||||
},
|
||||
{
|
||||
"id": "Gradle",
|
||||
"order": 3,
|
||||
"anchor": "RIGHT",
|
||||
"weight": 0.25
|
||||
},
|
||||
{
|
||||
"id": "Maven",
|
||||
"order": 4,
|
||||
"anchor": "RIGHT",
|
||||
"weight": 0.25
|
||||
},
|
||||
{
|
||||
"id": "Version Control",
|
||||
"order": 0,
|
||||
"anchor": "BOTTOM"
|
||||
},
|
||||
{
|
||||
"id": "Problems",
|
||||
"order": 1,
|
||||
"anchor": "BOTTOM"
|
||||
},
|
||||
{
|
||||
"id": "Problems View",
|
||||
"order": 2,
|
||||
"anchor": "BOTTOM"
|
||||
},
|
||||
{
|
||||
"id": "Terminal",
|
||||
"order": 3,
|
||||
"anchor": "BOTTOM"
|
||||
},
|
||||
{
|
||||
"id": "Services",
|
||||
"order": 4,
|
||||
"anchor": "BOTTOM"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}]]></component>
|
||||
</application>
|
||||
15
JetBrains/WebStorm2025.1/options/window.state.xml
Normal file
15
JetBrains/WebStorm2025.1/options/window.state.xml
Normal file
@@ -0,0 +1,15 @@
|
||||
<application>
|
||||
<component name="DimensionService">
|
||||
<location key="find.popup.0.0.1920.1080" x="724" y="135" />
|
||||
<size key="find.popup.0.0.1920.1080" width="675" height="864" />
|
||||
</component>
|
||||
<component name="WindowManager">
|
||||
<frame x="0" y="0" width="1920" height="1050" extendedState="6" />
|
||||
</component>
|
||||
<component name="WindowStateApplicationService">
|
||||
<state x="743" y="214" width="426" height="487" key="FileChooserDialogImpl" timestamp="1750070861101">
|
||||
<screen x="0" y="0" width="1920" height="1050" />
|
||||
</state>
|
||||
<state x="743" y="214" width="426" height="487" key="FileChooserDialogImpl/0.0.1920.1050" timestamp="1750070861101" />
|
||||
</component>
|
||||
</application>
|
||||
BIN
JetBrains/WebStorm2025.1/plugin_PCWMP.license
Normal file
BIN
JetBrains/WebStorm2025.1/plugin_PCWMP.license
Normal file
Binary file not shown.
BIN
JetBrains/WebStorm2025.1/tasks/client.contexts.zip
Normal file
BIN
JetBrains/WebStorm2025.1/tasks/client.contexts.zip
Normal file
Binary file not shown.
BIN
JetBrains/WebStorm2025.1/tasks/client.tasks.zip
Normal file
BIN
JetBrains/WebStorm2025.1/tasks/client.tasks.zip
Normal file
Binary file not shown.
BIN
JetBrains/WebStorm2025.1/updatedBrokenPlugins.db
Normal file
BIN
JetBrains/WebStorm2025.1/updatedBrokenPlugins.db
Normal file
Binary file not shown.
BIN
JetBrains/WebStorm2025.1/webstorm.key
Normal file
BIN
JetBrains/WebStorm2025.1/webstorm.key
Normal file
Binary file not shown.
4
JetBrains/WebStorm2025.1/webstorm64.vmoptions
Normal file
4
JetBrains/WebStorm2025.1/webstorm64.vmoptions
Normal file
@@ -0,0 +1,4 @@
|
||||
-Xmx1917m
|
||||
-Dide.managed.by.toolbox=/opt/jetbrains-toolbox/jetbrains-toolbox
|
||||
-Dtoolbox.notification.token=f2aa000a-bd7a-4e65-96e1-82aec89929f4
|
||||
-Dtoolbox.notification.portFile=/home/leo/.cache/JetBrains/Toolbox/ports/7776433b-ecdc-42e3-87ba-c00cffae3373.port
|
||||
@@ -0,0 +1,928 @@
|
||||
<project version="4">
|
||||
<component name="BookmarksManager">
|
||||
<option name="groups">
|
||||
<GroupState>
|
||||
<option name="name" value="client" />
|
||||
</GroupState>
|
||||
</option>
|
||||
</component>
|
||||
<component name="FileEditorManager">
|
||||
<leaf ideFingerprint="lbwtj99vdhbq" SIDE_TABS_SIZE_LIMIT_KEY="-1">
|
||||
<file>
|
||||
<entry file="file://$PROJECT_DIR$/src/app/shared/shared.module.ts">
|
||||
<provider editor-type-id="text-editor" selected="true">
|
||||
<state>
|
||||
<caret column="7" selection-start-column="7" selection-end-column="7" />
|
||||
<folding>
|
||||
<element signature="e#0#41#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<tab><![CDATA[{"tabTitle":"shared.module.ts","foregroundColor":-2104859,"textAttributes":{"name":"a"},"icon":[10,57,99,111,109,46,105,110,116,101,108,108,105,106,46,117,105,46,105,99,111,110,115,46,82,97,115,116,101,114,105,122,101,100,73,109,97,103,101,68,97,116,97,76,111,97,100,101,114,68,101,115,99,114,105,112,116,111,114,18,99,10,34,105,99,111,110,115,47,102,105,108,101,84,121,112,101,115,47,84,121,112,101,83,99,114,105,112,116,70,105,108,101,46,115,118,103,18,36,105,99,111,110,115,47,101,120,112,117,105,47,102,105,108,101,84,121,112,101,115,47,116,121,112,101,83,99,114,105,112,116,46,115,118,103,26,10,74,97,118,97,83,99,114,105,112,116,40,-23,-107,-64,-58,-8,-1,-1,-1,-1,1,48,0]}]]></tab>
|
||||
</file>
|
||||
<file>
|
||||
<entry file="file://$PROJECT_DIR$/src/app/features/nutritionist/dashboard/dashboard.component.html">
|
||||
<provider editor-type-id="text-editor" selected="true">
|
||||
<state relative-caret-position="4268">
|
||||
<caret line="194" selection-start-line="194" selection-end-line="194" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<tab><![CDATA[{"tabTitle":"dashboard.component.html","foregroundColor":-9392385,"textAttributes":{"name":"a","children":[{"name":"option","attributes":{"name":"FOREGROUND","value":"70aeff"}}]},"icon":[10,57,99,111,109,46,105,110,116,101,108,108,105,106,46,117,105,46,105,99,111,110,115,46,82,97,115,116,101,114,105,122,101,100,73,109,97,103,101,68,97,116,97,76,111,97,100,101,114,68,101,115,99,114,105,112,116,111,114,18,68,10,18,102,105,108,101,84,121,112,101,115,47,104,116,109,108,46,115,118,103,18,24,101,120,112,117,105,47,102,105,108,101,84,121,112,101,115,47,104,116,109,108,46,115,118,103,26,12,99,111,109,46,105,110,116,101,108,108,105,106,40,-72,-21,-93,-62,3,48,0]}]]></tab>
|
||||
</file>
|
||||
<file>
|
||||
<entry file="file://$PROJECT_DIR$/src/app/features/nutritionist/patient-detail/patient-detail.component.html">
|
||||
<provider editor-type-id="text-editor" selected="true" />
|
||||
</entry>
|
||||
<tab><![CDATA[{"tabTitle":"patient-detail.component.html","foregroundColor":-1536119,"textAttributes":{"name":"a","children":[{"name":"option","attributes":{"name":"FOREGROUND","value":"e88f89"}}]},"icon":[10,57,99,111,109,46,105,110,116,101,108,108,105,106,46,117,105,46,105,99,111,110,115,46,82,97,115,116,101,114,105,122,101,100,73,109,97,103,101,68,97,116,97,76,111,97,100,101,114,68,101,115,99,114,105,112,116,111,114,18,68,10,18,102,105,108,101,84,121,112,101,115,47,104,116,109,108,46,115,118,103,18,24,101,120,112,117,105,47,102,105,108,101,84,121,112,101,115,47,104,116,109,108,46,115,118,103,26,12,99,111,109,46,105,110,116,101,108,108,105,106,40,-72,-21,-93,-62,3,48,0]}]]></tab>
|
||||
</file>
|
||||
<file>
|
||||
<entry file="file://$PROJECT_DIR$/src/app/features/nutritionist/nutritionist.routes.ts">
|
||||
<provider editor-type-id="text-editor" selected="true">
|
||||
<state relative-caret-position="220">
|
||||
<caret line="14" column="40" selection-start-line="14" selection-start-column="40" selection-end-line="14" selection-end-column="40" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<tab><![CDATA[{"tabTitle":"nutritionist.routes.ts","foregroundColor":-9392385,"textAttributes":{"name":"a","children":[{"name":"option","attributes":{"name":"FOREGROUND","value":"70aeff"}}]},"icon":[10,57,99,111,109,46,105,110,116,101,108,108,105,106,46,117,105,46,105,99,111,110,115,46,82,97,115,116,101,114,105,122,101,100,73,109,97,103,101,68,97,116,97,76,111,97,100,101,114,68,101,115,99,114,105,112,116,111,114,18,99,10,34,105,99,111,110,115,47,102,105,108,101,84,121,112,101,115,47,84,121,112,101,83,99,114,105,112,116,70,105,108,101,46,115,118,103,18,36,105,99,111,110,115,47,101,120,112,117,105,47,102,105,108,101,84,121,112,101,115,47,116,121,112,101,83,99,114,105,112,116,46,115,118,103,26,10,74,97,118,97,83,99,114,105,112,116,40,-23,-107,-64,-58,-8,-1,-1,-1,-1,1,48,0]}]]></tab>
|
||||
</file>
|
||||
<file>
|
||||
<entry file="file://$PROJECT_DIR$/src/app/features/chat/chat-page/chat-page.component.ts">
|
||||
<provider editor-type-id="text-editor" selected="true" />
|
||||
</entry>
|
||||
<tab><![CDATA[{"tabTitle":"chat-page.component.ts","foregroundColor":-9392385,"textAttributes":{"name":"a","children":[{"name":"option","attributes":{"name":"FOREGROUND","value":"70aeff"}}]},"icon":[10,57,99,111,109,46,105,110,116,101,108,108,105,106,46,117,105,46,105,99,111,110,115,46,82,97,115,116,101,114,105,122,101,100,73,109,97,103,101,68,97,116,97,76,111,97,100,101,114,68,101,115,99,114,105,112,116,111,114,18,99,10,34,105,99,111,110,115,47,102,105,108,101,84,121,112,101,115,47,84,121,112,101,83,99,114,105,112,116,70,105,108,101,46,115,118,103,18,36,105,99,111,110,115,47,101,120,112,117,105,47,102,105,108,101,84,121,112,101,115,47,116,121,112,101,83,99,114,105,112,116,46,115,118,103,26,10,74,97,118,97,83,99,114,105,112,116,40,-23,-107,-64,-58,-8,-1,-1,-1,-1,1,48,0]}]]></tab>
|
||||
</file>
|
||||
<file>
|
||||
<entry file="file://$PROJECT_DIR$/src/app/features/chat/chat-window/chat-window.component.ts">
|
||||
<provider editor-type-id="text-editor" selected="true" />
|
||||
</entry>
|
||||
<tab><![CDATA[{"tabTitle":"chat-window.component.ts","foregroundColor":-9392385,"textAttributes":{"name":"a","children":[{"name":"option","attributes":{"name":"FOREGROUND","value":"70aeff"}}]},"icon":[10,57,99,111,109,46,105,110,116,101,108,108,105,106,46,117,105,46,105,99,111,110,115,46,82,97,115,116,101,114,105,122,101,100,73,109,97,103,101,68,97,116,97,76,111,97,100,101,114,68,101,115,99,114,105,112,116,111,114,18,99,10,34,105,99,111,110,115,47,102,105,108,101,84,121,112,101,115,47,84,121,112,101,83,99,114,105,112,116,70,105,108,101,46,115,118,103,18,36,105,99,111,110,115,47,101,120,112,117,105,47,102,105,108,101,84,121,112,101,115,47,116,121,112,101,83,99,114,105,112,116,46,115,118,103,26,10,74,97,118,97,83,99,114,105,112,116,40,-23,-107,-64,-58,-8,-1,-1,-1,-1,1,48,0]}]]></tab>
|
||||
</file>
|
||||
<file>
|
||||
<entry file="file://$PROJECT_DIR$/src/app/core/guards/auth.guard.ts">
|
||||
<provider editor-type-id="text-editor" selected="true">
|
||||
<state relative-caret-position="44">
|
||||
<caret line="2" column="60" selection-start-line="2" selection-start-column="60" selection-end-line="2" selection-end-column="60" />
|
||||
<folding>
|
||||
<element signature="e#0#39#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<tab><![CDATA[{"tabTitle":"auth.guard.ts","foregroundColor":-9392385,"textAttributes":{"name":"a","children":[{"name":"option","attributes":{"name":"FOREGROUND","value":"70aeff"}}]},"icon":[10,57,99,111,109,46,105,110,116,101,108,108,105,106,46,117,105,46,105,99,111,110,115,46,82,97,115,116,101,114,105,122,101,100,73,109,97,103,101,68,97,116,97,76,111,97,100,101,114,68,101,115,99,114,105,112,116,111,114,18,99,10,34,105,99,111,110,115,47,102,105,108,101,84,121,112,101,115,47,84,121,112,101,83,99,114,105,112,116,70,105,108,101,46,115,118,103,18,36,105,99,111,110,115,47,101,120,112,117,105,47,102,105,108,101,84,121,112,101,115,47,116,121,112,101,83,99,114,105,112,116,46,115,118,103,26,10,74,97,118,97,83,99,114,105,112,116,40,-23,-107,-64,-58,-8,-1,-1,-1,-1,1,48,0]}]]></tab>
|
||||
</file>
|
||||
<file>
|
||||
<entry file="file://$PROJECT_DIR$/src/app/features/patient/dashboard/dashboard.component.ts">
|
||||
<provider editor-type-id="text-editor" selected="true">
|
||||
<state relative-caret-position="12122">
|
||||
<caret line="587" selection-start-line="587" selection-end-line="587" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<tab><![CDATA[{"tabTitle":"patient/…/dashboard.component.ts","foregroundColor":-9392385,"textAttributes":{"name":"a","children":[{"name":"option","attributes":{"name":"FOREGROUND","value":"70aeff"}}]},"icon":[10,57,99,111,109,46,105,110,116,101,108,108,105,106,46,117,105,46,105,99,111,110,115,46,82,97,115,116,101,114,105,122,101,100,73,109,97,103,101,68,97,116,97,76,111,97,100,101,114,68,101,115,99,114,105,112,116,111,114,18,99,10,34,105,99,111,110,115,47,102,105,108,101,84,121,112,101,115,47,84,121,112,101,83,99,114,105,112,116,70,105,108,101,46,115,118,103,18,36,105,99,111,110,115,47,101,120,112,117,105,47,102,105,108,101,84,121,112,101,115,47,116,121,112,101,83,99,114,105,112,116,46,115,118,103,26,10,74,97,118,97,83,99,114,105,112,116,40,-23,-107,-64,-58,-8,-1,-1,-1,-1,1,48,0]}]]></tab>
|
||||
</file>
|
||||
<file>
|
||||
<entry file="file://$PROJECT_DIR$/src/app/features/nutritionist/patient-detail/patient-detail.component.ts">
|
||||
<provider editor-type-id="text-editor" selected="true">
|
||||
<state relative-caret-position="3564">
|
||||
<caret line="178" column="3" selection-start-line="178" selection-start-column="3" selection-end-line="178" selection-end-column="3" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<tab><![CDATA[{"tabTitle":"patient-detail.component.ts","foregroundColor":-1536119,"textAttributes":{"name":"a","children":[{"name":"option","attributes":{"name":"FOREGROUND","value":"e88f89"}}]},"icon":[10,57,99,111,109,46,105,110,116,101,108,108,105,106,46,117,105,46,105,99,111,110,115,46,82,97,115,116,101,114,105,122,101,100,73,109,97,103,101,68,97,116,97,76,111,97,100,101,114,68,101,115,99,114,105,112,116,111,114,18,99,10,34,105,99,111,110,115,47,102,105,108,101,84,121,112,101,115,47,84,121,112,101,83,99,114,105,112,116,70,105,108,101,46,115,118,103,18,36,105,99,111,110,115,47,101,120,112,117,105,47,102,105,108,101,84,121,112,101,115,47,116,121,112,101,83,99,114,105,112,116,46,115,118,103,26,10,74,97,118,97,83,99,114,105,112,116,40,-23,-107,-64,-58,-8,-1,-1,-1,-1,1,48,0]}]]></tab>
|
||||
</file>
|
||||
<file>
|
||||
<entry file="file://$PROJECT_DIR$/src/app/features/nutritionist/dashboard/dashboard.component.ts">
|
||||
<provider editor-type-id="text-editor" selected="true">
|
||||
<state relative-caret-position="549">
|
||||
<caret line="780" selection-start-line="780" selection-end-line="780" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<tab><![CDATA[{"tabTitle":"nutritionist/…/dashboard.component.ts","foregroundColor":-9392385,"textAttributes":{"name":"a","children":[{"name":"option","attributes":{"name":"FOREGROUND","value":"70aeff"}}]},"icon":[10,57,99,111,109,46,105,110,116,101,108,108,105,106,46,117,105,46,105,99,111,110,115,46,82,97,115,116,101,114,105,122,101,100,73,109,97,103,101,68,97,116,97,76,111,97,100,101,114,68,101,115,99,114,105,112,116,111,114,18,99,10,34,105,99,111,110,115,47,102,105,108,101,84,121,112,101,115,47,84,121,112,101,83,99,114,105,112,116,70,105,108,101,46,115,118,103,18,36,105,99,111,110,115,47,101,120,112,117,105,47,102,105,108,101,84,121,112,101,115,47,116,121,112,101,83,99,114,105,112,116,46,115,118,103,26,10,74,97,118,97,83,99,114,105,112,116,40,-23,-107,-64,-58,-8,-1,-1,-1,-1,1,48,0]}]]></tab>
|
||||
</file>
|
||||
<file current-in-tab="true">
|
||||
<entry file="file://$PROJECT_DIR$/src/app/core/services/websocket/websocket.service.ts">
|
||||
<provider editor-type-id="text-editor" selected="true">
|
||||
<state relative-caret-position="396">
|
||||
<caret line="24" column="53" selection-start-line="24" selection-start-column="53" selection-end-line="24" selection-end-column="53" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<tab><![CDATA[{"tabTitle":"websocket.service.ts","foregroundColor":-9392385,"textAttributes":{"name":"a","children":[{"name":"option","attributes":{"name":"FOREGROUND","value":"70aeff"}},{"name":"option","attributes":{"name":"EFFECT_COLOR","value":"fa6675"}},{"name":"option","attributes":{"name":"EFFECT_TYPE","value":"2"}}]},"icon":[10,57,99,111,109,46,105,110,116,101,108,108,105,106,46,117,105,46,105,99,111,110,115,46,82,97,115,116,101,114,105,122,101,100,73,109,97,103,101,68,97,116,97,76,111,97,100,101,114,68,101,115,99,114,105,112,116,111,114,18,99,10,34,105,99,111,110,115,47,102,105,108,101,84,121,112,101,115,47,84,121,112,101,83,99,114,105,112,116,70,105,108,101,46,115,118,103,18,36,105,99,111,110,115,47,101,120,112,117,105,47,102,105,108,101,84,121,112,101,115,47,116,121,112,101,83,99,114,105,112,116,46,115,118,103,26,10,74,97,118,97,83,99,114,105,112,116,40,-23,-107,-64,-58,-8,-1,-1,-1,-1,1,48,0]}]]></tab>
|
||||
</file>
|
||||
</leaf>
|
||||
</component>
|
||||
<component name="FileTypeUsageLocalSummary"><![CDATA[{
|
||||
"data": {
|
||||
"TypeScript": {
|
||||
"usageCount": 17,
|
||||
"lastUsed": 1750072237321
|
||||
},
|
||||
"HTML": {
|
||||
"usageCount": 4,
|
||||
"lastUsed": 1750072231199
|
||||
},
|
||||
"Markdown": {
|
||||
"usageCount": 1,
|
||||
"lastUsed": 1750070865870
|
||||
}
|
||||
}
|
||||
}]]></component>
|
||||
<component name="FindInProjectRecents">
|
||||
<findStrings>
|
||||
<find />
|
||||
<find>\/\/.*</find>
|
||||
<find>if your</find>
|
||||
<find>\/\/.*\n</find>
|
||||
</findStrings>
|
||||
<replaceStrings>
|
||||
<replace />
|
||||
</replaceStrings>
|
||||
<dirStrings>
|
||||
<dir>$PROJECT_DIR$/src/app/core/guards</dir>
|
||||
<dir>$PROJECT_DIR$/src/app/features/patient/dashboard</dir>
|
||||
<dir>$PROJECT_DIR$/src/app/features/nutritionist/dashboard</dir>
|
||||
</dirStrings>
|
||||
</component>
|
||||
<component name="FindInProjectScope">
|
||||
<option name="isProjectScope" value="true" />
|
||||
</component>
|
||||
<component name="GitSEFilterConfiguration">{}</component>
|
||||
<component name="IdeDocumentHistory"><![CDATA[{
|
||||
"changedPaths": [
|
||||
"/home/leo/uni/paw/client/src/app/features/nutritionist/dashboard/dashboard.component.html",
|
||||
"/home/leo/uni/paw/client/src/app/features/nutritionist/patient-detail/patient-detail.component.ts",
|
||||
"/home/leo/uni/paw/client/src/app/features/nutritionist/nutritionist.routes.ts",
|
||||
"/home/leo/uni/paw/client/src/app/core/guards/auth.guard.ts",
|
||||
"/home/leo/uni/paw/client/src/app/features/patient/dashboard/dashboard.component.ts",
|
||||
"/home/leo/uni/paw/client/src/app/features/nutritionist/dashboard/dashboard.component.ts",
|
||||
"/home/leo/uni/paw/client/src/app/core/services/websocket/websocket.service.ts"
|
||||
]
|
||||
}]]></component>
|
||||
<component name="IgnoredFileRootStore">
|
||||
<option name="generatedRoots">
|
||||
<set>
|
||||
<option value="$PROJECT_DIR$/.idea" />
|
||||
</set>
|
||||
</option>
|
||||
</component>
|
||||
<component name="LanguageUsageStatistics">
|
||||
<language id="HTML">
|
||||
<summary usageCount="4" lastUsage="1750072231199" />
|
||||
</language>
|
||||
<language id="Markdown">
|
||||
<summary usageCount="1" lastUsage="1750070865872" />
|
||||
</language>
|
||||
<language id="TypeScript">
|
||||
<summary usageCount="17" lastUsage="1750072237321" />
|
||||
</language>
|
||||
</component>
|
||||
<component name="ProjectView">
|
||||
<navigator currentView="ProjectPane" proportions="" version="1" />
|
||||
<panes>
|
||||
<pane id="ProjectPane">
|
||||
<subPane>
|
||||
<expand>
|
||||
<path>
|
||||
<item name="client" type="b2602c69:ProjectViewProjectNode" />
|
||||
<item name="dir{file:///home/leo/uni/paw/client}" type="462c0819:PsiDirectoryNode" />
|
||||
</path>
|
||||
<path>
|
||||
<item name="client" type="b2602c69:ProjectViewProjectNode" />
|
||||
<item name="dir{file:///home/leo/uni/paw/client}" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="dir{file:///home/leo/uni/paw/client/src}" type="462c0819:PsiDirectoryNode" />
|
||||
</path>
|
||||
<path>
|
||||
<item name="client" type="b2602c69:ProjectViewProjectNode" />
|
||||
<item name="dir{file:///home/leo/uni/paw/client}" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="dir{file:///home/leo/uni/paw/client/src}" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="dir{file:///home/leo/uni/paw/client/src/app}" type="462c0819:PsiDirectoryNode" />
|
||||
</path>
|
||||
<path>
|
||||
<item name="client" type="b2602c69:ProjectViewProjectNode" />
|
||||
<item name="dir{file:///home/leo/uni/paw/client}" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="dir{file:///home/leo/uni/paw/client/src}" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="dir{file:///home/leo/uni/paw/client/src/app}" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="dir{file:///home/leo/uni/paw/client/src/app/core}" type="462c0819:PsiDirectoryNode" />
|
||||
</path>
|
||||
<path>
|
||||
<item name="client" type="b2602c69:ProjectViewProjectNode" />
|
||||
<item name="dir{file:///home/leo/uni/paw/client}" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="dir{file:///home/leo/uni/paw/client/src}" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="dir{file:///home/leo/uni/paw/client/src/app}" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="dir{file:///home/leo/uni/paw/client/src/app/core}" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="dir{file:///home/leo/uni/paw/client/src/app/core/services}" type="462c0819:PsiDirectoryNode" />
|
||||
</path>
|
||||
<path>
|
||||
<item name="client" type="b2602c69:ProjectViewProjectNode" />
|
||||
<item name="dir{file:///home/leo/uni/paw/client}" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="dir{file:///home/leo/uni/paw/client/src}" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="dir{file:///home/leo/uni/paw/client/src/app}" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="dir{file:///home/leo/uni/paw/client/src/app/core}" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="dir{file:///home/leo/uni/paw/client/src/app/core/services}" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="dir{file:///home/leo/uni/paw/client/src/app/core/services/websocket}" type="462c0819:PsiDirectoryNode" />
|
||||
</path>
|
||||
<path>
|
||||
<item name="client" type="b2602c69:ProjectViewProjectNode" />
|
||||
<item name="dir{file:///home/leo/uni/paw/client}" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="dir{file:///home/leo/uni/paw/client/src}" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="dir{file:///home/leo/uni/paw/client/src/app}" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="dir{file:///home/leo/uni/paw/client/src/app/features}" type="462c0819:PsiDirectoryNode" />
|
||||
</path>
|
||||
<path>
|
||||
<item name="client" type="b2602c69:ProjectViewProjectNode" />
|
||||
<item name="dir{file:///home/leo/uni/paw/client}" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="dir{file:///home/leo/uni/paw/client/src}" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="dir{file:///home/leo/uni/paw/client/src/app}" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="dir{file:///home/leo/uni/paw/client/src/app/features}" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="dir{file:///home/leo/uni/paw/client/src/app/features/chat}" type="462c0819:PsiDirectoryNode" />
|
||||
</path>
|
||||
<path>
|
||||
<item name="client" type="b2602c69:ProjectViewProjectNode" />
|
||||
<item name="dir{file:///home/leo/uni/paw/client}" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="dir{file:///home/leo/uni/paw/client/src}" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="dir{file:///home/leo/uni/paw/client/src/app}" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="dir{file:///home/leo/uni/paw/client/src/app/features}" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="dir{file:///home/leo/uni/paw/client/src/app/features/chat}" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="dir{file:///home/leo/uni/paw/client/src/app/features/chat/chat-window}" type="462c0819:PsiDirectoryNode" />
|
||||
</path>
|
||||
<path>
|
||||
<item name="client" type="b2602c69:ProjectViewProjectNode" />
|
||||
<item name="dir{file:///home/leo/uni/paw/client}" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="dir{file:///home/leo/uni/paw/client/src}" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="dir{file:///home/leo/uni/paw/client/src/app}" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="dir{file:///home/leo/uni/paw/client/src/app/shared}" type="462c0819:PsiDirectoryNode" />
|
||||
</path>
|
||||
<path>
|
||||
<item name="client" type="b2602c69:ProjectViewProjectNode" />
|
||||
<item name="dir{file:///home/leo/uni/paw/client}" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="dir{file:///home/leo/uni/paw/client/src}" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="dir{file:///home/leo/uni/paw/client/src/environments}" type="462c0819:PsiDirectoryNode" />
|
||||
</path>
|
||||
</expand>
|
||||
<select />
|
||||
<presentation>
|
||||
<attributes />
|
||||
<data iconPath="expui/toolwindows/project.svg" iconPlugin="com.intellij" isLeaf="false" text="client" />
|
||||
<item name="client" type="b2602c69:ProjectViewProjectNode" />
|
||||
<presentation>
|
||||
<attributes>
|
||||
<map>
|
||||
<entry key="filePath" value="$PROJECT_DIR$" />
|
||||
</map>
|
||||
</attributes>
|
||||
<data iconPath="expui/nodes/folder.svg" iconPlugin="com.intellij" isLeaf="false" text="client" />
|
||||
<item name="dir{file:///home/leo/uni/paw/client}" type="462c0819:PsiDirectoryNode" />
|
||||
<presentation>
|
||||
<attributes>
|
||||
<map>
|
||||
<entry key="filePath" value="$PROJECT_DIR$/.angular" />
|
||||
</map>
|
||||
</attributes>
|
||||
<data iconPath="expui/nodes/excludeRoot.svg" iconPlugin="com.intellij" isLeaf="false" text=".angular" />
|
||||
<item name="dir{file:///home/leo/uni/paw/client/.angular}" type="462c0819:PsiDirectoryNode" />
|
||||
</presentation>
|
||||
<presentation>
|
||||
<attributes>
|
||||
<map>
|
||||
<entry key="filePath" value="$PROJECT_DIR$/.idea" />
|
||||
</map>
|
||||
</attributes>
|
||||
<data iconPath="expui/nodes/folder.svg" iconPlugin="com.intellij" isLeaf="false" text=".idea" />
|
||||
<item name="dir{file:///home/leo/uni/paw/client/.idea}" type="462c0819:PsiDirectoryNode" />
|
||||
</presentation>
|
||||
<presentation>
|
||||
<attributes>
|
||||
<map>
|
||||
<entry key="filePath" value="$PROJECT_DIR$/.vscode" />
|
||||
</map>
|
||||
</attributes>
|
||||
<data iconPath="expui/nodes/folder.svg" iconPlugin="com.intellij" isLeaf="false" text=".vscode" />
|
||||
<item name="dir{file:///home/leo/uni/paw/client/.vscode}" type="462c0819:PsiDirectoryNode" />
|
||||
</presentation>
|
||||
<presentation>
|
||||
<attributes>
|
||||
<map>
|
||||
<entry key="filePath" value="$PROJECT_DIR$/node_modules" />
|
||||
</map>
|
||||
</attributes>
|
||||
<data iconPath="expui/nodes/excludeRoot.svg" iconPlugin="com.intellij" isLeaf="false" text="node_modules" />
|
||||
<item name="dir{file:///home/leo/uni/paw/client/node_modules}" type="462c0819:PsiDirectoryNode" />
|
||||
</presentation>
|
||||
<presentation>
|
||||
<attributes>
|
||||
<map>
|
||||
<entry key="filePath" value="$PROJECT_DIR$/public" />
|
||||
</map>
|
||||
</attributes>
|
||||
<data iconPath="expui/nodes/folder.svg" iconPlugin="com.intellij" isLeaf="false" text="public" />
|
||||
<item name="dir{file:///home/leo/uni/paw/client/public}" type="462c0819:PsiDirectoryNode" />
|
||||
</presentation>
|
||||
<presentation>
|
||||
<attributes>
|
||||
<map>
|
||||
<entry key="filePath" value="$PROJECT_DIR$/src" />
|
||||
</map>
|
||||
</attributes>
|
||||
<data iconPath="expui/nodes/folder.svg" iconPlugin="com.intellij" isLeaf="false" text="src" />
|
||||
<item name="dir{file:///home/leo/uni/paw/client/src}" type="462c0819:PsiDirectoryNode" />
|
||||
<presentation>
|
||||
<attributes>
|
||||
<map>
|
||||
<entry key="filePath" value="$PROJECT_DIR$/src/app" />
|
||||
</map>
|
||||
</attributes>
|
||||
<data iconPath="expui/nodes/folder.svg" iconPlugin="com.intellij" isLeaf="false" text="app" />
|
||||
<item name="dir{file:///home/leo/uni/paw/client/src/app}" type="462c0819:PsiDirectoryNode" />
|
||||
<presentation>
|
||||
<attributes>
|
||||
<map>
|
||||
<entry key="filePath" value="$PROJECT_DIR$/src/app/core" />
|
||||
</map>
|
||||
</attributes>
|
||||
<data iconPath="expui/nodes/folder.svg" iconPlugin="com.intellij" isLeaf="false" text="core" />
|
||||
<item name="dir{file:///home/leo/uni/paw/client/src/app/core}" type="462c0819:PsiDirectoryNode" />
|
||||
<presentation>
|
||||
<attributes>
|
||||
<map>
|
||||
<entry key="filePath" value="$PROJECT_DIR$/src/app/core/guards" />
|
||||
</map>
|
||||
</attributes>
|
||||
<data iconPath="expui/nodes/folder.svg" iconPlugin="com.intellij" isLeaf="false" text="guards" />
|
||||
<item name="dir{file:///home/leo/uni/paw/client/src/app/core/guards}" type="462c0819:PsiDirectoryNode" />
|
||||
</presentation>
|
||||
<presentation>
|
||||
<attributes>
|
||||
<map>
|
||||
<entry key="filePath" value="$PROJECT_DIR$/src/app/core/interceptors" />
|
||||
</map>
|
||||
</attributes>
|
||||
<data iconPath="expui/nodes/folder.svg" iconPlugin="com.intellij" isLeaf="false" text="interceptors" />
|
||||
<item name="dir{file:///home/leo/uni/paw/client/src/app/core/interceptors}" type="462c0819:PsiDirectoryNode" />
|
||||
</presentation>
|
||||
<presentation>
|
||||
<attributes>
|
||||
<map>
|
||||
<entry key="filePath" value="$PROJECT_DIR$/src/app/core/services" />
|
||||
</map>
|
||||
</attributes>
|
||||
<data iconPath="expui/nodes/folder.svg" iconPlugin="com.intellij" isLeaf="false" text="services" />
|
||||
<item name="dir{file:///home/leo/uni/paw/client/src/app/core/services}" type="462c0819:PsiDirectoryNode" />
|
||||
<presentation>
|
||||
<attributes>
|
||||
<map>
|
||||
<entry key="filePath" value="$PROJECT_DIR$/src/app/core/services/auth" />
|
||||
</map>
|
||||
</attributes>
|
||||
<data iconPath="expui/nodes/folder.svg" iconPlugin="com.intellij" isLeaf="false" text="auth" />
|
||||
<item name="dir{file:///home/leo/uni/paw/client/src/app/core/services/auth}" type="462c0819:PsiDirectoryNode" />
|
||||
</presentation>
|
||||
<presentation>
|
||||
<attributes>
|
||||
<map>
|
||||
<entry key="filePath" value="$PROJECT_DIR$/src/app/core/services/notification" />
|
||||
</map>
|
||||
</attributes>
|
||||
<data iconPath="expui/nodes/folder.svg" iconPlugin="com.intellij" isLeaf="false" text="notification" />
|
||||
<item name="dir{file:///home/leo/uni/paw/client/src/app/core/services/notification}" type="462c0819:PsiDirectoryNode" />
|
||||
</presentation>
|
||||
<presentation>
|
||||
<attributes>
|
||||
<map>
|
||||
<entry key="filePath" value="$PROJECT_DIR$/src/app/core/services/websocket" />
|
||||
</map>
|
||||
</attributes>
|
||||
<data iconPath="expui/nodes/folder.svg" iconPlugin="com.intellij" isLeaf="false" text="websocket" />
|
||||
<item name="dir{file:///home/leo/uni/paw/client/src/app/core/services/websocket}" type="462c0819:PsiDirectoryNode" />
|
||||
<presentation>
|
||||
<attributes>
|
||||
<map>
|
||||
<entry key="filePath" value="$PROJECT_DIR$/src/app/core/services/websocket/websocket.service.spec.ts" />
|
||||
</map>
|
||||
</attributes>
|
||||
<data iconPath="icons/expui/fileTypes/tsTest.svg" iconPlugin="JavaScript" isLeaf="true" text="websocket.service.spec.ts" />
|
||||
<item name="websocket.service.spec.ts" type="ab9368bb:PsiFileNode" />
|
||||
</presentation>
|
||||
<presentation>
|
||||
<attributes>
|
||||
<map>
|
||||
<entry key="filePath" value="$PROJECT_DIR$/src/app/core/services/websocket/websocket.service.ts" />
|
||||
</map>
|
||||
</attributes>
|
||||
<data iconPath="icons/expui/fileTypes/typeScript.svg" iconPlugin="JavaScript" isLeaf="true" text="websocket.service.ts" />
|
||||
<item name="websocket.service.ts" type="ab9368bb:PsiFileNode" />
|
||||
</presentation>
|
||||
</presentation>
|
||||
</presentation>
|
||||
<presentation>
|
||||
<attributes>
|
||||
<map>
|
||||
<entry key="filePath" value="$PROJECT_DIR$/src/app/core/core.module.ts" />
|
||||
</map>
|
||||
</attributes>
|
||||
<data iconPath="icons/expui/fileTypes/typeScript.svg" iconPlugin="JavaScript" isLeaf="true" text="core.module.ts" />
|
||||
<item name="core.module.ts" type="ab9368bb:PsiFileNode" />
|
||||
</presentation>
|
||||
</presentation>
|
||||
<presentation>
|
||||
<attributes>
|
||||
<map>
|
||||
<entry key="filePath" value="$PROJECT_DIR$/src/app/features" />
|
||||
</map>
|
||||
</attributes>
|
||||
<data iconPath="expui/nodes/folder.svg" iconPlugin="com.intellij" isLeaf="false" text="features" />
|
||||
<item name="dir{file:///home/leo/uni/paw/client/src/app/features}" type="462c0819:PsiDirectoryNode" />
|
||||
<presentation>
|
||||
<attributes>
|
||||
<map>
|
||||
<entry key="filePath" value="$PROJECT_DIR$/src/app/features/admin" />
|
||||
</map>
|
||||
</attributes>
|
||||
<data iconPath="expui/nodes/folder.svg" iconPlugin="com.intellij" isLeaf="false" text="admin" />
|
||||
<item name="dir{file:///home/leo/uni/paw/client/src/app/features/admin}" type="462c0819:PsiDirectoryNode" />
|
||||
</presentation>
|
||||
<presentation>
|
||||
<attributes>
|
||||
<map>
|
||||
<entry key="filePath" value="$PROJECT_DIR$/src/app/features/auth" />
|
||||
</map>
|
||||
</attributes>
|
||||
<data iconPath="expui/nodes/folder.svg" iconPlugin="com.intellij" isLeaf="false" text="auth" />
|
||||
<item name="dir{file:///home/leo/uni/paw/client/src/app/features/auth}" type="462c0819:PsiDirectoryNode" />
|
||||
</presentation>
|
||||
<presentation>
|
||||
<attributes>
|
||||
<map>
|
||||
<entry key="filePath" value="$PROJECT_DIR$/src/app/features/chat" />
|
||||
</map>
|
||||
</attributes>
|
||||
<data iconPath="expui/nodes/folder.svg" iconPlugin="com.intellij" isLeaf="false" text="chat" />
|
||||
<item name="dir{file:///home/leo/uni/paw/client/src/app/features/chat}" type="462c0819:PsiDirectoryNode" />
|
||||
<presentation>
|
||||
<attributes>
|
||||
<map>
|
||||
<entry key="filePath" value="$PROJECT_DIR$/src/app/features/chat/chat-page" />
|
||||
</map>
|
||||
</attributes>
|
||||
<data iconPath="expui/nodes/folder.svg" iconPlugin="com.intellij" isLeaf="false" text="chat-page" />
|
||||
<item name="dir{file:///home/leo/uni/paw/client/src/app/features/chat/chat-page}" type="462c0819:PsiDirectoryNode" />
|
||||
</presentation>
|
||||
<presentation>
|
||||
<attributes>
|
||||
<map>
|
||||
<entry key="filePath" value="$PROJECT_DIR$/src/app/features/chat/chat-window" />
|
||||
</map>
|
||||
</attributes>
|
||||
<data iconPath="expui/nodes/folder.svg" iconPlugin="com.intellij" isLeaf="false" text="chat-window" />
|
||||
<item name="dir{file:///home/leo/uni/paw/client/src/app/features/chat/chat-window}" type="462c0819:PsiDirectoryNode" />
|
||||
<presentation>
|
||||
<attributes>
|
||||
<map>
|
||||
<entry key="filePath" value="$PROJECT_DIR$/src/app/features/chat/chat-window/chat-window.component.html" />
|
||||
</map>
|
||||
</attributes>
|
||||
<data iconPath="expui/fileTypes/html.svg" iconPlugin="com.intellij" isLeaf="true" text="chat-window.component.html" />
|
||||
<item name="chat-window.component.html" type="ab9368bb:PsiFileNode" />
|
||||
</presentation>
|
||||
<presentation>
|
||||
<attributes>
|
||||
<map>
|
||||
<entry key="filePath" value="$PROJECT_DIR$/src/app/features/chat/chat-window/chat-window.component.scss" />
|
||||
</map>
|
||||
</attributes>
|
||||
<data iconPath="org/jetbrains/plugins/sass/expui/sass.svg" iconPlugin="org.jetbrains.plugins.sass" isLeaf="true" text="chat-window.component.scss" />
|
||||
<item name="chat-window.component.scss" type="ab9368bb:PsiFileNode" />
|
||||
</presentation>
|
||||
<presentation>
|
||||
<attributes>
|
||||
<map>
|
||||
<entry key="filePath" value="$PROJECT_DIR$/src/app/features/chat/chat-window/chat-window.component.spec.ts" />
|
||||
</map>
|
||||
</attributes>
|
||||
<data iconPath="icons/expui/fileTypes/tsTest.svg" iconPlugin="JavaScript" isLeaf="true" text="chat-window.component.spec.ts" />
|
||||
<item name="chat-window.component.spec.ts" type="ab9368bb:PsiFileNode" />
|
||||
</presentation>
|
||||
<presentation>
|
||||
<attributes>
|
||||
<map>
|
||||
<entry key="filePath" value="$PROJECT_DIR$/src/app/features/chat/chat-window/chat-window.component.ts" />
|
||||
</map>
|
||||
</attributes>
|
||||
<data iconPath="icons/expui/fileTypes/typeScript.svg" iconPlugin="JavaScript" isLeaf="true" text="chat-window.component.ts" />
|
||||
<item name="chat-window.component.ts" type="ab9368bb:PsiFileNode" />
|
||||
</presentation>
|
||||
</presentation>
|
||||
<presentation>
|
||||
<attributes>
|
||||
<map>
|
||||
<entry key="filePath" value="$PROJECT_DIR$/src/app/features/chat/conversation-list" />
|
||||
</map>
|
||||
</attributes>
|
||||
<data iconPath="expui/nodes/folder.svg" iconPlugin="com.intellij" isLeaf="false" text="conversation-list" />
|
||||
<item name="dir{file:///home/leo/uni/paw/client/src/app/features/chat/conversation-list}" type="462c0819:PsiDirectoryNode" />
|
||||
</presentation>
|
||||
<presentation>
|
||||
<attributes>
|
||||
<map>
|
||||
<entry key="filePath" value="$PROJECT_DIR$/src/app/features/chat/chat.routes.ts" />
|
||||
</map>
|
||||
</attributes>
|
||||
<data iconPath="icons/expui/fileTypes/typeScript.svg" iconPlugin="JavaScript" isLeaf="true" text="chat.routes.ts" />
|
||||
<item name="chat.routes.ts" type="ab9368bb:PsiFileNode" />
|
||||
</presentation>
|
||||
</presentation>
|
||||
<presentation>
|
||||
<attributes>
|
||||
<map>
|
||||
<entry key="filePath" value="$PROJECT_DIR$/src/app/features/nutritionist" />
|
||||
</map>
|
||||
</attributes>
|
||||
<data iconPath="expui/nodes/folder.svg" iconPlugin="com.intellij" isLeaf="false" text="nutritionist" />
|
||||
<item name="dir{file:///home/leo/uni/paw/client/src/app/features/nutritionist}" type="462c0819:PsiDirectoryNode" />
|
||||
</presentation>
|
||||
<presentation>
|
||||
<attributes>
|
||||
<map>
|
||||
<entry key="filePath" value="$PROJECT_DIR$/src/app/features/patient" />
|
||||
</map>
|
||||
</attributes>
|
||||
<data iconPath="expui/nodes/folder.svg" iconPlugin="com.intellij" isLeaf="false" text="patient" />
|
||||
<item name="dir{file:///home/leo/uni/paw/client/src/app/features/patient}" type="462c0819:PsiDirectoryNode" />
|
||||
</presentation>
|
||||
<presentation>
|
||||
<attributes>
|
||||
<map>
|
||||
<entry key="filePath" value="$PROJECT_DIR$/src/app/features/profile" />
|
||||
</map>
|
||||
</attributes>
|
||||
<data iconPath="expui/nodes/folder.svg" iconPlugin="com.intellij" isLeaf="false" text="profile" />
|
||||
<item name="dir{file:///home/leo/uni/paw/client/src/app/features/profile}" type="462c0819:PsiDirectoryNode" />
|
||||
</presentation>
|
||||
<presentation>
|
||||
<attributes>
|
||||
<map>
|
||||
<entry key="filePath" value="$PROJECT_DIR$/src/app/features/public" />
|
||||
</map>
|
||||
</attributes>
|
||||
<data iconPath="expui/nodes/folder.svg" iconPlugin="com.intellij" isLeaf="false" text="public" />
|
||||
<item name="dir{file:///home/leo/uni/paw/client/src/app/features/public}" type="462c0819:PsiDirectoryNode" />
|
||||
</presentation>
|
||||
</presentation>
|
||||
<presentation>
|
||||
<attributes>
|
||||
<map>
|
||||
<entry key="filePath" value="$PROJECT_DIR$/src/app/shared" />
|
||||
</map>
|
||||
</attributes>
|
||||
<data iconPath="expui/nodes/folder.svg" iconPlugin="com.intellij" isLeaf="false" text="shared" />
|
||||
<item name="dir{file:///home/leo/uni/paw/client/src/app/shared}" type="462c0819:PsiDirectoryNode" />
|
||||
<presentation>
|
||||
<attributes>
|
||||
<map>
|
||||
<entry key="filePath" value="$PROJECT_DIR$/src/app/shared/components" />
|
||||
</map>
|
||||
</attributes>
|
||||
<data iconPath="expui/nodes/folder.svg" iconPlugin="com.intellij" isLeaf="false" text="components" />
|
||||
<item name="dir{file:///home/leo/uni/paw/client/src/app/shared/components}" type="462c0819:PsiDirectoryNode" />
|
||||
</presentation>
|
||||
<presentation>
|
||||
<attributes>
|
||||
<map>
|
||||
<entry key="filePath" value="$PROJECT_DIR$/src/app/shared/models" />
|
||||
</map>
|
||||
</attributes>
|
||||
<data iconPath="expui/nodes/folder.svg" iconPlugin="com.intellij" isLeaf="false" text="models" />
|
||||
<item name="dir{file:///home/leo/uni/paw/client/src/app/shared/models}" type="462c0819:PsiDirectoryNode" />
|
||||
</presentation>
|
||||
<presentation>
|
||||
<attributes>
|
||||
<map>
|
||||
<entry key="filePath" value="$PROJECT_DIR$/src/app/shared/services" />
|
||||
</map>
|
||||
</attributes>
|
||||
<data iconPath="expui/nodes/folder.svg" iconPlugin="com.intellij" isLeaf="false" text="services" />
|
||||
<item name="dir{file:///home/leo/uni/paw/client/src/app/shared/services}" type="462c0819:PsiDirectoryNode" />
|
||||
</presentation>
|
||||
<presentation>
|
||||
<attributes>
|
||||
<map>
|
||||
<entry key="filePath" value="$PROJECT_DIR$/src/app/shared/shared.module.ts" />
|
||||
</map>
|
||||
</attributes>
|
||||
<data iconPath="icons/expui/fileTypes/typeScript.svg" iconPlugin="JavaScript" isLeaf="true" text="shared.module.ts" />
|
||||
<item name="shared.module.ts" type="ab9368bb:PsiFileNode" />
|
||||
</presentation>
|
||||
</presentation>
|
||||
<presentation>
|
||||
<attributes>
|
||||
<map>
|
||||
<entry key="filePath" value="$PROJECT_DIR$/src/app/app.component.html" />
|
||||
</map>
|
||||
</attributes>
|
||||
<data iconPath="expui/fileTypes/html.svg" iconPlugin="com.intellij" isLeaf="true" text="app.component.html" />
|
||||
<item name="app.component.html" type="ab9368bb:PsiFileNode" />
|
||||
</presentation>
|
||||
<presentation>
|
||||
<attributes>
|
||||
<map>
|
||||
<entry key="filePath" value="$PROJECT_DIR$/src/app/app.component.scss" />
|
||||
</map>
|
||||
</attributes>
|
||||
<data iconPath="org/jetbrains/plugins/sass/expui/sass.svg" iconPlugin="org.jetbrains.plugins.sass" isLeaf="true" text="app.component.scss" />
|
||||
<item name="app.component.scss" type="ab9368bb:PsiFileNode" />
|
||||
</presentation>
|
||||
<presentation>
|
||||
<attributes>
|
||||
<map>
|
||||
<entry key="filePath" value="$PROJECT_DIR$/src/app/app.component.spec.ts" />
|
||||
</map>
|
||||
</attributes>
|
||||
<data iconPath="icons/expui/fileTypes/tsTest.svg" iconPlugin="JavaScript" isLeaf="true" text="app.component.spec.ts" />
|
||||
<item name="app.component.spec.ts" type="ab9368bb:PsiFileNode" />
|
||||
</presentation>
|
||||
<presentation>
|
||||
<attributes>
|
||||
<map>
|
||||
<entry key="filePath" value="$PROJECT_DIR$/src/app/app.component.ts" />
|
||||
</map>
|
||||
</attributes>
|
||||
<data iconPath="icons/expui/fileTypes/typeScript.svg" iconPlugin="JavaScript" isLeaf="true" text="app.component.ts" />
|
||||
<item name="app.component.ts" type="ab9368bb:PsiFileNode" />
|
||||
</presentation>
|
||||
<presentation>
|
||||
<attributes>
|
||||
<map>
|
||||
<entry key="filePath" value="$PROJECT_DIR$/src/app/app.config.ts" />
|
||||
</map>
|
||||
</attributes>
|
||||
<data iconPath="icons/expui/fileTypes/typeScript.svg" iconPlugin="JavaScript" isLeaf="true" text="app.config.ts" />
|
||||
<item name="app.config.ts" type="ab9368bb:PsiFileNode" />
|
||||
</presentation>
|
||||
<presentation>
|
||||
<attributes>
|
||||
<map>
|
||||
<entry key="filePath" value="$PROJECT_DIR$/src/app/app.routes.ts" />
|
||||
</map>
|
||||
</attributes>
|
||||
<data iconPath="icons/expui/fileTypes/typeScript.svg" iconPlugin="JavaScript" isLeaf="true" text="app.routes.ts" />
|
||||
<item name="app.routes.ts" type="ab9368bb:PsiFileNode" />
|
||||
</presentation>
|
||||
</presentation>
|
||||
<presentation>
|
||||
<attributes>
|
||||
<map>
|
||||
<entry key="filePath" value="$PROJECT_DIR$/src/environments" />
|
||||
</map>
|
||||
</attributes>
|
||||
<data iconPath="expui/nodes/folder.svg" iconPlugin="com.intellij" isLeaf="false" text="environments" />
|
||||
<item name="dir{file:///home/leo/uni/paw/client/src/environments}" type="462c0819:PsiDirectoryNode" />
|
||||
<presentation>
|
||||
<attributes>
|
||||
<map>
|
||||
<entry key="filePath" value="$PROJECT_DIR$/src/environments/environment.ts" />
|
||||
</map>
|
||||
</attributes>
|
||||
<data iconPath="icons/expui/fileTypes/typeScript.svg" iconPlugin="JavaScript" isLeaf="true" text="environment.ts" />
|
||||
<item name="environment.ts" type="ab9368bb:PsiFileNode" />
|
||||
</presentation>
|
||||
</presentation>
|
||||
<presentation>
|
||||
<attributes>
|
||||
<map>
|
||||
<entry key="filePath" value="$PROJECT_DIR$/src/index.html" />
|
||||
</map>
|
||||
</attributes>
|
||||
<data iconPath="expui/fileTypes/html.svg" iconPlugin="com.intellij" isLeaf="true" text="index.html" />
|
||||
<item name="index.html" type="ab9368bb:PsiFileNode" />
|
||||
</presentation>
|
||||
<presentation>
|
||||
<attributes>
|
||||
<map>
|
||||
<entry key="filePath" value="$PROJECT_DIR$/src/main.ts" />
|
||||
</map>
|
||||
</attributes>
|
||||
<data iconPath="icons/expui/fileTypes/typeScript.svg" iconPlugin="JavaScript" isLeaf="true" text="main.ts" />
|
||||
<item name="main.ts" type="ab9368bb:PsiFileNode" />
|
||||
</presentation>
|
||||
<presentation>
|
||||
<attributes>
|
||||
<map>
|
||||
<entry key="filePath" value="$PROJECT_DIR$/src/styles.scss" />
|
||||
</map>
|
||||
</attributes>
|
||||
<data iconPath="org/jetbrains/plugins/sass/expui/sass.svg" iconPlugin="org.jetbrains.plugins.sass" isLeaf="true" text="styles.scss" />
|
||||
<item name="styles.scss" type="ab9368bb:PsiFileNode" />
|
||||
</presentation>
|
||||
</presentation>
|
||||
<presentation>
|
||||
<attributes>
|
||||
<map>
|
||||
<entry key="filePath" value="$PROJECT_DIR$/.editorconfig" />
|
||||
</map>
|
||||
</attributes>
|
||||
<data iconPath="nodes/editorconfig.svg" iconPlugin="com.intellij" isLeaf="true" text=".editorconfig" />
|
||||
<item name=".editorconfig" type="ab9368bb:PsiFileNode" />
|
||||
</presentation>
|
||||
<presentation>
|
||||
<attributes>
|
||||
<map>
|
||||
<entry key="filePath" value="$PROJECT_DIR$/.gitignore" />
|
||||
</map>
|
||||
</attributes>
|
||||
<data iconPath="vcs/ignore_file.svg" iconPlugin="com.intellij" isLeaf="true" text=".gitignore" />
|
||||
<item name=".gitignore" type="ab9368bb:PsiFileNode" />
|
||||
</presentation>
|
||||
<presentation>
|
||||
<attributes>
|
||||
<map>
|
||||
<entry key="filePath" value="$PROJECT_DIR$/angular.json" />
|
||||
</map>
|
||||
</attributes>
|
||||
<data iconPath="fileTypes/json.svg" iconPlugin="com.intellij" isLeaf="true" text="angular.json" />
|
||||
<item name="angular.json" type="ab9368bb:PsiFileNode" />
|
||||
</presentation>
|
||||
<presentation>
|
||||
<attributes>
|
||||
<map>
|
||||
<entry key="filePath" value="$PROJECT_DIR$/package.json" />
|
||||
</map>
|
||||
</attributes>
|
||||
<data iconPath="fileTypes/json.svg" iconPlugin="com.intellij" isLeaf="true" text="package.json" />
|
||||
<item name="package.json" type="ab9368bb:PsiFileNode" />
|
||||
</presentation>
|
||||
<presentation>
|
||||
<attributes>
|
||||
<map>
|
||||
<entry key="filePath" value="$PROJECT_DIR$/package-lock.json" />
|
||||
</map>
|
||||
</attributes>
|
||||
<data iconPath="fileTypes/json.svg" iconPlugin="com.intellij" isLeaf="true" text="package-lock.json" />
|
||||
<item name="package-lock.json" type="ab9368bb:PsiFileNode" />
|
||||
</presentation>
|
||||
<presentation>
|
||||
<attributes>
|
||||
<map>
|
||||
<entry key="filePath" value="$PROJECT_DIR$/README.md" />
|
||||
</map>
|
||||
</attributes>
|
||||
<data iconPath="icons/MarkdownPlugin.svg" iconPlugin="org.intellij.plugins.markdown" isLeaf="true" text="README.md" />
|
||||
<item name="README.md" type="ab9368bb:PsiFileNode" />
|
||||
</presentation>
|
||||
<presentation>
|
||||
<attributes>
|
||||
<map>
|
||||
<entry key="filePath" value="$PROJECT_DIR$/tsconfig.app.json" />
|
||||
</map>
|
||||
</attributes>
|
||||
<data iconPath="fileTypes/json.svg" iconPlugin="com.intellij" isLeaf="true" text="tsconfig.app.json" />
|
||||
<item name="tsconfig.app.json" type="ab9368bb:PsiFileNode" />
|
||||
</presentation>
|
||||
<presentation>
|
||||
<attributes>
|
||||
<map>
|
||||
<entry key="filePath" value="$PROJECT_DIR$/tsconfig.json" />
|
||||
</map>
|
||||
</attributes>
|
||||
<data iconPath="fileTypes/json.svg" iconPlugin="com.intellij" isLeaf="true" text="tsconfig.json" />
|
||||
<item name="tsconfig.json" type="ab9368bb:PsiFileNode" />
|
||||
</presentation>
|
||||
<presentation>
|
||||
<attributes>
|
||||
<map>
|
||||
<entry key="filePath" value="$PROJECT_DIR$/tsconfig.spec.json" />
|
||||
</map>
|
||||
</attributes>
|
||||
<data iconPath="fileTypes/json.svg" iconPlugin="com.intellij" isLeaf="true" text="tsconfig.spec.json" />
|
||||
<item name="tsconfig.spec.json" type="ab9368bb:PsiFileNode" />
|
||||
</presentation>
|
||||
</presentation>
|
||||
<presentation>
|
||||
<attributes />
|
||||
<data iconPath="nodes/ppLib.svg" iconPlugin="com.intellij" isLeaf="false" text="External Libraries" />
|
||||
<item name="External Libraries" type="cb654da1:ExternalLibrariesNode" />
|
||||
</presentation>
|
||||
<presentation>
|
||||
<attributes />
|
||||
<data iconPath="scope/scratches.svg" iconPlugin="com.intellij" isLeaf="false" text="Scratches and Consoles" />
|
||||
<item name="Scratches and Consoles" type="b85a3e1f:ScratchTreeStructureProvider$MyProjectNode" />
|
||||
</presentation>
|
||||
</presentation>
|
||||
</subPane>
|
||||
</pane>
|
||||
<pane id="Scope" />
|
||||
</panes>
|
||||
</component>
|
||||
<component name="TimeTrackingManager">
|
||||
<option name="totallyTimeSpent" value="1069000" />
|
||||
</component>
|
||||
<component name="ToolWindowManager">
|
||||
<layoutV2>
|
||||
<window_info active="true" content_ui="combo" id="Project" order="0" visible="true" weight="0.2408854" />
|
||||
<window_info id="Commit" order="1" weight="0.25" />
|
||||
<window_info id="Structure" order="2" side_tool="true" weight="0.25" />
|
||||
<window_info anchor="bottom" id="Version Control" order="0" />
|
||||
<window_info anchor="bottom" id="Problems" order="1" />
|
||||
<window_info anchor="bottom" id="Problems View" order="2" weight="0.32999998" />
|
||||
<window_info anchor="bottom" id="Terminal" order="3" />
|
||||
<window_info anchor="bottom" id="Services" order="4" />
|
||||
<window_info active="true" anchor="bottom" id="Find" order="5" visible="true" weight="0.32999998" />
|
||||
<window_info anchor="right" content_ui="combo" id="Notifications" order="0" weight="0.25" />
|
||||
<window_info anchor="right" id="AIAssistant" order="1" weight="0.25" />
|
||||
<window_info anchor="right" id="Database" order="2" weight="0.25" />
|
||||
<window_info anchor="right" id="Gradle" order="3" weight="0.25" />
|
||||
<window_info anchor="right" id="Maven" order="4" weight="0.25" />
|
||||
<unified_weights bottom="0.32999998" left="0.2408854" />
|
||||
</layoutV2>
|
||||
<recentWindows>
|
||||
<value>Project</value>
|
||||
<value>Find</value>
|
||||
<value>Problems View</value>
|
||||
</recentWindows>
|
||||
</component>
|
||||
<component name="WindowStateProjectService">
|
||||
<state x="724" y="135" width="675" height="864" key="find.popup" timestamp="1750071896425">
|
||||
<screen x="0" y="0" width="1920" height="1050" />
|
||||
</state>
|
||||
<state x="724" y="135" width="675" height="864" key="find.popup/0.0.1920.1050@0.0.1920.1050" timestamp="1750071896425" />
|
||||
<state x="623" y="220" width="706" height="713" key="search.everywhere.popup" timestamp="1750071899549">
|
||||
<screen x="0" y="0" width="1920" height="1050" />
|
||||
</state>
|
||||
<state x="623" y="220" width="706" height="713" key="search.everywhere.popup/0.0.1920.1050@0.0.1920.1050" timestamp="1750071899549" />
|
||||
</component>
|
||||
<component name="editorHistoryManager">
|
||||
<entry file="file://$PROJECT_DIR$/README.md" />
|
||||
<entry file="file://$PROJECT_DIR$/src/app/features/chat/chat-window/chat-window.component.ts">
|
||||
<provider selected="true" editor-type-id="text-editor" />
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/app/features/nutritionist/patient-detail/patient-detail.component.ts">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="3564">
|
||||
<caret line="178" column="3" selection-start-line="178" selection-start-column="3" selection-end-line="178" selection-end-column="3" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/app/features/patient/dashboard/dashboard.component.ts">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="12122">
|
||||
<caret line="587" selection-start-line="587" selection-end-line="587" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/app/core/guards/auth.guard.ts">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="44">
|
||||
<caret line="2" column="60" selection-start-line="2" selection-start-column="60" selection-end-line="2" selection-end-column="60" />
|
||||
<folding>
|
||||
<element signature="e#0#39#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/app/shared/shared.module.ts">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state>
|
||||
<caret column="7" lean-forward="true" selection-start-column="7" selection-end-column="7" />
|
||||
<folding>
|
||||
<element signature="e#0#41#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/app/features/chat/chat-page/chat-page.component.ts">
|
||||
<provider selected="true" editor-type-id="text-editor" />
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/app/features/nutritionist/dashboard/dashboard.component.ts">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="549">
|
||||
<caret line="780" selection-start-line="780" selection-end-line="780" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/app/features/nutritionist/nutritionist.routes.ts">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="220">
|
||||
<caret line="14" column="40" selection-start-line="14" selection-start-column="40" selection-end-line="14" selection-end-column="40" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/app/features/nutritionist/dashboard/dashboard.component.html">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="4268">
|
||||
<caret line="194" selection-start-line="194" selection-end-line="194" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/app/features/nutritionist/patient-detail/patient-detail.component.html">
|
||||
<provider selected="true" editor-type-id="text-editor" />
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/app/core/services/websocket/websocket.service.ts">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="396">
|
||||
<caret line="24" column="53" selection-start-line="24" selection-start-column="53" selection-end-line="24" selection-end-column="53" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</component>
|
||||
</project>
|
||||
Reference in New Issue
Block a user