├── .all-contributorsrc.json ├── .editorconfig ├── .github ├── FUNDING.yml ├── ISSUE_TEMPLATE │ ├── bug_report.md │ └── feature_request.md └── PULL_REQUEST_TEMPLATE.md ├── .gitignore ├── .idea ├── .name ├── CustomInspectionsConfig.xml ├── codestream.xml ├── compiler.xml ├── copyright │ ├── Copy.xml │ └── profiles_settings.xml ├── encodings.xml ├── git_toolbox_prj.xml ├── highlightedFiles.xml ├── icon.svg ├── inspectionProfiles │ ├── Project_Default.xml │ └── profiles_settings.xml ├── jarRepositories.xml ├── kotlinc.xml ├── libraries-with-intellij-classes.xml ├── markdown-navigator-enh.xml ├── markdown-navigator.xml ├── saveactions_settings.xml └── vcs.xml ├── .markdownlint.yaml ├── .markdownlintignore ├── .pre-commit-config.yaml ├── .yamllint.yaml ├── CNAME ├── LICENSE ├── README.md ├── app.js ├── build.gradle.kts ├── commitlint.config.js ├── detekt-config.yml ├── docs ├── CHANGELOG.html └── CHANGELOG.md ├── fleet-template.json ├── fleet ├── build.gradle.kts ├── fleet.schema.json ├── frontendImpl │ ├── build.gradle.kts │ └── src │ │ └── jvmMain │ │ ├── java │ │ └── module-info.java │ │ ├── kotlin │ │ └── com │ │ │ └── mallowigi │ │ │ └── material │ │ │ └── fleet │ │ │ └── MaterialThemePlugin.kt │ │ └── resources │ │ ├── Arc Dark Contrast.theme.json │ │ ├── Arc Dark.theme.json │ │ ├── Atom One Dark Contrast.theme.json │ │ ├── Atom One Dark.theme.json │ │ ├── Atom One Light Contrast.theme.json │ │ ├── Atom One Light.theme.json │ │ ├── Dracula Contrast.theme.json │ │ ├── Dracula.theme.json │ │ ├── GitHub Contrast.theme.json │ │ ├── GitHub Dark Contrast.theme.json │ │ ├── GitHub Dark.theme.json │ │ ├── GitHub.theme.json │ │ ├── Light Owl Contrast.theme.json │ │ ├── Light Owl.theme.json │ │ ├── Material Darker Contrast.theme.json │ │ ├── Material Darker.theme.json │ │ ├── Material Deep Ocean Contrast.theme.json │ │ ├── Material Deep Ocean.theme.json │ │ ├── Material Forest Contrast.theme.json │ │ ├── Material Forest.theme.json │ │ ├── Material Lighter Contrast.theme.json │ │ ├── Material Lighter.theme.json │ │ ├── Material Oceanic Contrast.theme.json │ │ ├── Material Oceanic.theme.json │ │ ├── Material Palenight Contrast.theme.json │ │ ├── Material Palenight.theme.json │ │ ├── Material Sandy Beach Contrast.theme.json │ │ ├── Material Sandy Beach.theme.json │ │ ├── Material Sky Blue Contrast.theme.json │ │ ├── Material Sky Blue.theme.json │ │ ├── Material Space Contrast.theme.json │ │ ├── Material Space.theme.json │ │ ├── Material Volcano Contrast.theme.json │ │ ├── Material Volcano.theme.json │ │ ├── Monokai Pro Contrast.theme.json │ │ ├── Monokai Pro.theme.json │ │ ├── Moonlight Contrast.theme.json │ │ ├── Moonlight.theme.json │ │ ├── Night Owl Contrast.theme.json │ │ ├── Night Owl.theme.json │ │ ├── Solarized Dark Contrast.theme.json │ │ ├── Solarized Dark.theme.json │ │ ├── Solarized Light Contrast.theme.json │ │ ├── Solarized Light.theme.json │ │ ├── SynthWave '84 Contrast.theme.json │ │ ├── SynthWave '84.theme.json │ │ └── themes.yml ├── pluginIcon.svg └── run.json ├── gradle.properties ├── gradle ├── gradle-daemon-jvm.properties ├── libs.versions.toml └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── images ├── logo │ ├── material-arcdark.svg │ ├── material-darker.svg │ ├── material-deepocean.svg │ ├── material-dracula.svg │ ├── material-github.svg │ ├── material-githubdark.svg │ ├── material-lighter.svg │ ├── material-monokai.svg │ ├── material-moonlight.svg │ ├── material-oceanic.svg │ ├── material-onedark.svg │ ├── material-onelight.svg │ ├── material-palenight.svg │ ├── material-solardark.svg │ └── material-solarlight.svg └── screens │ ├── arcdark.png │ ├── darker.png │ ├── deepocean.png │ ├── dracula.png │ ├── github.png │ ├── githubdark.png │ ├── lighter.png │ ├── lightowl.png │ ├── monokai.png │ ├── moonlight.png │ ├── nightowl.png │ ├── oceanic.png │ ├── onedark.png │ ├── onelight.png │ ├── palenight.png │ ├── solardark.png │ └── solarlight.png ├── laptop-full.png ├── license.template ├── logo.svg ├── package-lock.json ├── package.json ├── renovate.json ├── settings.gradle.kts ├── src └── main │ ├── java │ └── com │ │ └── mallowigi │ │ └── idea │ │ ├── MaterialThemeBundle.kt │ │ ├── notifications │ │ └── MTNotifications.kt │ │ └── themes │ │ ├── ActionGroup.kt │ │ ├── MTAbstractThemeAction.kt │ │ ├── MTArcDarkThemeAction.kt │ │ ├── MTDarkerThemeAction.kt │ │ ├── MTDeepOceanThemeAction.kt │ │ ├── MTDraculaThemeAction.kt │ │ ├── MTForestThemeAction.kt │ │ ├── MTGithubDarkThemeAction.kt │ │ ├── MTGithubThemeAction.kt │ │ ├── MTLightOwlThemeAction.kt │ │ ├── MTLighterThemeAction.kt │ │ ├── MTMonokaiThemeAction.kt │ │ ├── MTMoonlightThemeAction.kt │ │ ├── MTNightOwlThemeAction.kt │ │ ├── MTOceanicThemeAction.kt │ │ ├── MTOneDarkThemeAction.kt │ │ ├── MTOneLightThemeAction.kt │ │ ├── MTPalenightThemeAction.kt │ │ ├── MTSandyBeachThemeAction.kt │ │ ├── MTSkyBlueThemeAction.kt │ │ ├── MTSolarizedDarkThemeAction.kt │ │ ├── MTSolarizedLightThemeAction.kt │ │ ├── MTSpaceThemeAction.kt │ │ ├── MTSynthwaveThemeAction.kt │ │ ├── MTThemes.kt │ │ ├── MTToggleAction.kt │ │ └── MTVolcanoThemeAction.kt │ └── resources │ ├── META-INF │ ├── plugin.xml │ └── pluginIcon.svg │ ├── colors │ ├── Arc Dark.xml │ ├── Atom One Dark.xml │ ├── Atom One Light.xml │ ├── Dracula.xml │ ├── GitHub Dark.xml │ ├── GitHub.xml │ ├── Light Owl.xml │ ├── Material Darker.xml │ ├── Material Deep Ocean.xml │ ├── Material Forest.xml │ ├── Material Lighter.xml │ ├── Material Oceanic.xml │ ├── Material Palenight.xml │ ├── Material Sandy Beach.xml │ ├── Material Sky Blue.xml │ ├── Material Space.xml │ ├── Material Volcano.xml │ ├── Monokai Pro.xml │ ├── Moonlight.xml │ ├── Night Owl.xml │ ├── Solarized Dark.xml │ ├── Solarized Light.xml │ └── Synthwave.xml │ ├── icons │ └── actions │ │ ├── mt │ │ ├── accentMode.svg │ │ ├── accents.svg │ │ ├── bigTabs.svg │ │ ├── changeWallpaper.svg │ │ ├── compactDropdowns.svg │ │ ├── compactMenus.svg │ │ ├── compactSidebar.svg │ │ ├── compactStatusBar.svg │ │ ├── compactTables.svg │ │ ├── components.svg │ │ ├── contrast.svg │ │ ├── contrast_dark.svg │ │ ├── customAccent.svg │ │ ├── dark.svg │ │ ├── darkTitleBar.svg │ │ ├── disableTheme.svg │ │ ├── fileColors.svg │ │ ├── files.svg │ │ ├── hideFileAction.svg │ │ ├── highContrast.svg │ │ ├── highContrast_dark.svg │ │ ├── hollowFolders.svg │ │ ├── icons.svg │ │ ├── layers.svg │ │ ├── light.svg │ │ ├── materialFonts.svg │ │ ├── monochrome.svg │ │ ├── mtComponents.svg │ │ ├── noStatus.svg │ │ ├── projectViewDecorators.svg │ │ ├── psi.svg │ │ ├── removeWallpaper.svg │ │ ├── themeSwitch.svg │ │ ├── uppercaseTabs.svg │ │ └── wizard.svg │ │ └── themes │ │ ├── adaptive.svg │ │ ├── arc_dark.svg │ │ ├── custom.svg │ │ ├── darker.svg │ │ ├── deepocean.svg │ │ ├── dracula.svg │ │ ├── external.svg │ │ ├── forest.svg │ │ ├── github.svg │ │ ├── githubdark.svg │ │ ├── light_custom.svg │ │ ├── light_owl.svg │ │ ├── lighter.svg │ │ ├── lightowl.svg │ │ ├── monokai.svg │ │ ├── moonlight.svg │ │ ├── night_owl.svg │ │ ├── nightowl.svg │ │ ├── oceanic.svg │ │ ├── one_dark.svg │ │ ├── one_light.svg │ │ ├── palenight.svg │ │ ├── sandybeach.svg │ │ ├── skyblue.svg │ │ ├── solarized_dark.svg │ │ ├── solarized_light.svg │ │ ├── space.svg │ │ ├── synthwave.svg │ │ └── volcano.svg │ ├── messages │ └── MaterialThemeBundle.properties │ ├── template.theme.json │ ├── test.theme.json │ ├── themes.yml │ ├── themes │ ├── compact │ │ ├── Arc Dark Compact.theme.json │ │ ├── Atom One Dark Compact.theme.json │ │ ├── Atom One Light Compact.theme.json │ │ ├── Dracula Compact.theme.json │ │ ├── GitHub Compact.theme.json │ │ ├── GitHub Dark Compact.theme.json │ │ ├── Light Owl Compact.theme.json │ │ ├── Material Darker Compact.theme.json │ │ ├── Material Deep Ocean Compact.theme.json │ │ ├── Material Forest Compact.theme.json │ │ ├── Material Lighter Compact.theme.json │ │ ├── Material Oceanic Compact.theme.json │ │ ├── Material Palenight Compact.theme.json │ │ ├── Material Sandy Beach Compact.theme.json │ │ ├── Material Sky Blue Compact.theme.json │ │ ├── Material Space Compact.theme.json │ │ ├── Material Volcano Compact.theme.json │ │ ├── Monokai Pro Compact.theme.json │ │ ├── Moonlight Compact.theme.json │ │ ├── Night Owl Compact.theme.json │ │ ├── Solarized Dark Compact.theme.json │ │ ├── Solarized Light Compact.theme.json │ │ └── SynthWave '84 Compact.theme.json │ ├── compactContrast │ │ ├── Arc Dark Compact Contrast.theme.json │ │ ├── Atom One Dark Compact Contrast.theme.json │ │ ├── Atom One Light Compact Contrast.theme.json │ │ ├── Dracula Compact Contrast.theme.json │ │ ├── GitHub Compact Contrast.theme.json │ │ ├── GitHub Dark Compact Contrast.theme.json │ │ ├── Light Owl Compact Contrast.theme.json │ │ ├── Material Darker Compact Contrast.theme.json │ │ ├── Material Deep Ocean Compact Contrast.theme.json │ │ ├── Material Forest Compact Contrast.theme.json │ │ ├── Material Lighter Compact Contrast.theme.json │ │ ├── Material Oceanic Compact Contrast.theme.json │ │ ├── Material Palenight Compact Contrast.theme.json │ │ ├── Material Sandy Beach Compact Contrast.theme.json │ │ ├── Material Sky Blue Compact Contrast.theme.json │ │ ├── Material Space Compact Contrast.theme.json │ │ ├── Material Volcano Compact Contrast.theme.json │ │ ├── Monokai Pro Compact Contrast.theme.json │ │ ├── Moonlight Compact Contrast.theme.json │ │ ├── Night Owl Compact Contrast.theme.json │ │ ├── Solarized Dark Compact Contrast.theme.json │ │ ├── Solarized Light Compact Contrast.theme.json │ │ └── SynthWave '84 Compact Contrast.theme.json │ ├── contrast │ │ ├── Arc Dark Contrast.theme.json │ │ ├── Atom One Dark Contrast.theme.json │ │ ├── Atom One Light Contrast.theme.json │ │ ├── Dracula Contrast.theme.json │ │ ├── GitHub Contrast.theme.json │ │ ├── GitHub Dark Contrast.theme.json │ │ ├── Light Owl Contrast.theme.json │ │ ├── Material Darker Contrast.theme.json │ │ ├── Material Deep Ocean Contrast.theme.json │ │ ├── Material Forest Contrast.theme.json │ │ ├── Material Lighter Contrast.theme.json │ │ ├── Material Oceanic Contrast.theme.json │ │ ├── Material Palenight Contrast.theme.json │ │ ├── Material Sandy Beach Contrast.theme.json │ │ ├── Material Sky Blue Contrast.theme.json │ │ ├── Material Space Contrast.theme.json │ │ ├── Material Volcano Contrast.theme.json │ │ ├── Monokai Pro Contrast.theme.json │ │ ├── Moonlight Contrast.theme.json │ │ ├── Night Owl Contrast.theme.json │ │ ├── Solarized Dark Contrast.theme.json │ │ ├── Solarized Light Contrast.theme.json │ │ └── SynthWave '84 Contrast.theme.json │ ├── regular │ │ ├── Arc Dark.theme.json │ │ ├── Atom One Dark.theme.json │ │ ├── Atom One Light.theme.json │ │ ├── Dracula.theme.json │ │ ├── GitHub Dark.theme.json │ │ ├── GitHub.theme.json │ │ ├── Light Owl.theme.json │ │ ├── Material Darker.theme.json │ │ ├── Material Deep Ocean.theme.json │ │ ├── Material Forest.theme.json │ │ ├── Material Lighter.theme.json │ │ ├── Material Oceanic.theme.json │ │ ├── Material Palenight.theme.json │ │ ├── Material Sandy Beach.theme.json │ │ ├── Material Sky Blue.theme.json │ │ ├── Material Space.theme.json │ │ ├── Material Volcano.theme.json │ │ ├── Monokai Pro.theme.json │ │ ├── Moonlight.theme.json │ │ ├── Night Owl.theme.json │ │ ├── Solarized Dark.theme.json │ │ ├── Solarized Light.theme.json │ │ └── SynthWave '84.theme.json │ └── wall.jpg │ └── walls │ ├── arcdark.svg │ ├── darker.svg │ ├── deepocean.svg │ ├── dracula.svg │ ├── forest.svg │ ├── github.svg │ ├── github_dark.svg │ ├── lighter.svg │ ├── lightowl.svg │ ├── monokai.svg │ ├── moonlight.svg │ ├── nightowl.svg │ ├── oceanic.svg │ ├── onedark.svg │ ├── onelight.svg │ ├── palenight.svg │ ├── sandybeach.svg │ ├── skyblue.svg │ ├── solardark.svg │ ├── solarlight.svg │ ├── space.svg │ ├── synthwave.svg │ ├── template.svg │ └── volcano.svg ├── techstack.md └── techstack.yml /.all-contributorsrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "files": [ 3 | "README.md" 4 | ], 5 | "imageSize": 100, 6 | "commit": false, 7 | "contributors": [ 8 | { 9 | "login": "JavierSegoviaCordoba", 10 | "name": "Javier Segovia Cordoba", 11 | "avatar_url": "https://avatars.githubusercontent.com/u/7463564?v=4", 12 | "profile": "https://kotlin.desarrollador-android.com/", 13 | "contributions": [ 14 | "code", 15 | "infra" 16 | ] 17 | }, 18 | { 19 | "login": "Unthrottled", 20 | "name": "Alex Simons", 21 | "avatar_url": "https://avatars.githubusercontent.com/u/15972415?v=4", 22 | "profile": "https://unthrottled.io", 23 | "contributions": [ 24 | "code", 25 | "infra" 26 | ] 27 | }, 28 | { 29 | "login": "hsz", 30 | "name": "Jakub Chrzanowski", 31 | "avatar_url": "https://avatars.githubusercontent.com/u/108333?v=4", 32 | "profile": "https://chrzanow.ski/", 33 | "contributions": [ 34 | "gradle", 35 | "consulting" 36 | ] 37 | } 38 | ], 39 | "contributorsPerLine": 7, 40 | "projectName": "material-theme-jetbrains", 41 | "projectOwner": "mallowigi", 42 | "repoType": "github", 43 | "repoHost": "https://github.com", 44 | "skipCi": true 45 | } 46 | -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | # EditorConfig is awesome: https://EditorConfig.org 2 | 3 | # top-most EditorConfig file 4 | root = true 5 | 6 | [*] 7 | end_of_line = lf 8 | insert_final_newline = true 9 | charset = utf-8 10 | indent_style = space 11 | indent_size = 2 12 | trim_trailing_whitespace = true 13 | -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | github: mallowigi 4 | patreon: # Replace with a single Patreon username 5 | open_collective: atom-material-themes-and-plugins 6 | ko_fi: # Replace with a single Ko-fi username 7 | tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel 8 | community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry 9 | liberapay: # Replace with a single Liberapay username 10 | issuehunt: # Replace with a single IssueHunt username 11 | otechie: # Replace with a single Otechie username 12 | custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2'] 13 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug Report 3 | about: Create a report to help me improve 4 | title: '' 5 | labels: '' 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Describe the bug** 11 | 12 | 13 | **To Reproduce** 14 | 15 | 1. 16 | 17 | **Expected Behavior** 18 | 19 | 20 | **Environment** 21 | 29 | 30 | 31 | **Screenshots** 32 | 33 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature request 3 | about: Suggest an idea for this project 4 | title: '' 5 | labels: '' 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Is your feature request related to a problem? Please describe.** 11 | A clear and concise description of what the problem is. Ex. I'm always frustrated when … 12 | 13 | **Describe the solution you'd like** 14 | A clear and concise description of what you want to happen. 15 | 16 | **Describe alternatives you've considered** 17 | A clear and concise description of any alternative solutions or features you've considered. 18 | 19 | **Additional context** 20 | Add any other context or screenshots about the feature request here. 21 | -------------------------------------------------------------------------------- /.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | #### Description 4 | 5 | 6 | #### Motivation and Context 7 | 8 | 9 | 10 | #### Screenshots (if appropriate): 11 | 12 | #### Types of changes 13 | 14 | - [ ] Bug fix (non-breaking change which fixes an issue) 15 | - [ ] New feature (non-breaking change which adds functionality) 16 | - [ ] Breaking change (fix or feature that would cause existing functionality to change) 17 | - [ ] Non-Functional Change (non-user facing changes) 18 | 19 | #### Checklist: 20 | 21 | 22 | - [ ] My code follows the code style of this project (`./gradlew check` passes clean). 23 | - Tip: If you have lint issues just run `./gradlew :ktlintMainSourceSetFormat`. 24 | - [ ] I updated the version. 25 | - [ ] I updated the changelog with the new functionality. 26 | -------------------------------------------------------------------------------- /.idea/.name: -------------------------------------------------------------------------------- 1 | material-theme-lite -------------------------------------------------------------------------------- /.idea/CustomInspectionsConfig.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Just do not write this. 7 | Forbidden t.xt 8 | Warning 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /.idea/codestream.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | -------------------------------------------------------------------------------- /.idea/compiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /.idea/copyright/Copy.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 6 | -------------------------------------------------------------------------------- /.idea/copyright/profiles_settings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /.idea/encodings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /.idea/git_toolbox_prj.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 9 | 14 | 15 | -------------------------------------------------------------------------------- /.idea/highlightedFiles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 17 | -------------------------------------------------------------------------------- /.idea/icon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | Asset 1 10 | 11 | 12 | 13 | 15 | 17 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /.idea/inspectionProfiles/profiles_settings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | -------------------------------------------------------------------------------- /.idea/kotlinc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 9 | -------------------------------------------------------------------------------- /.idea/libraries-with-intellij-classes.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 56 | 57 | -------------------------------------------------------------------------------- /.idea/markdown-navigator-enh.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /.idea/saveactions_settings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 23 | 25 | -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /.markdownlint.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=https://json.schemastore.org/markdownlint.json 2 | 3 | # https://github.com/DavidAnson/markdownlint/blob/main/schema/.markdownlint.yaml 4 | # https://github.com/DavidAnson/markdownlint/blob/main/doc/Rules.md 5 | 6 | 7 | 8 | 9 | # Default state for all rules 10 | default: true 11 | 12 | MD013: 13 | line_length: 300 14 | 15 | MD024: false 16 | -------------------------------------------------------------------------------- /.markdownlintignore: -------------------------------------------------------------------------------- 1 | .github/**/* 2 | docs/CHANGELOG.md 3 | -------------------------------------------------------------------------------- /.yamllint.yaml: -------------------------------------------------------------------------------- 1 | extends: default 2 | 3 | rules: 4 | braces: 5 | forbid: non-empty 6 | brackets: 7 | forbid: non-empty 8 | comments: 9 | min-spaces-from-content: 1 10 | document-end: disable 11 | document-start: disable 12 | line-length: 13 | max: 300 14 | truthy: 15 | check-keys: false 16 | -------------------------------------------------------------------------------- /CNAME: -------------------------------------------------------------------------------- 1 | material-theme.com 2 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2015-2022 Elior "Mallowigi" Boukhobza 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | 23 | -------------------------------------------------------------------------------- /commitlint.config.js: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2015-2021 Elior "Mallowigi" Boukhobza 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | * 24 | * 25 | */ 26 | 27 | module.exports = { 28 | extends: [ 29 | '@commitlint/config-conventional', 30 | ], 31 | }; 32 | -------------------------------------------------------------------------------- /docs/CHANGELOG.html: -------------------------------------------------------------------------------- 1 |

Changelog

2 | 3 |

25.0.0

4 | 5 |

Fixes

6 | 7 | 8 | 9 |

21.0.0

10 | 11 |

Features

12 | 13 | 14 |

Fixes

15 | 16 | 17 | 18 |

20.0.0

19 | 20 |

Features

21 | 22 | 23 |

19.0.0

24 | 25 |

Features

26 | 27 | 28 |

Fixes

29 | 30 | 31 | 32 |

18.0.0

33 | 34 |

Features

35 | 36 | 37 | 38 |

Fixes

39 | 40 | 41 | 42 |

Other

43 | 44 | 45 | -------------------------------------------------------------------------------- /docs/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## Changelog 2 | 3 | # 25.0.0 4 | 5 | ### Fixes 6 | 7 | - Add newer UI Properties 8 | - Update color schemes 9 | - Improve checkboxes 10 | - Improve tables 11 | - Improve buttons 12 | - Improve contrast in themes 13 | - Upgrade dependencies 14 | 15 | # 21.0.0 16 | 17 | ### Features 18 | - New Theme: **Material Space** 19 | - Group _Contrast_ and _Compact_ flavors under the same popup menus 20 | - Support for the latest UI Properties and Color Scheme Updates 21 | 22 | ### Fixes 23 | 24 | - Support for 2024.3 25 | - Remove Internal API Usages 26 | - Migrate to Gradle Plugin 2.1 27 | 28 | # 20.0.0 29 | 30 | ### Features 31 | - Add Compact and Compact Contrast themes 32 | - Compact line height 33 | - Compact tab height 34 | 35 | # 19.0.0 36 | 37 | ### Features 38 | - Improve padding: tabs, lists, menus, buttons, etc. 39 | - Set text fields and search fields color to contrast color by default, to make them more prominent. 40 | - Add more "border" colors, to make it easier to distinguish the different panes. 41 | 42 | ### Fixes 43 | 44 | - Remove transparency for tree colors 45 | - Add actions to new UI's main toolbar 46 | - Support for 2022.3 47 | - Upgrade gradle dependencies 48 | 49 | # 18.0.0 50 | 51 | ### Features 52 | 53 | - New themes: 54 | - Material Forest 55 | - Material Volcano 56 | - Material Sky Blue 57 | - Material Sandy Beach 58 | - SynthWave '84 59 | - Reorganized themes in the menu: group dark and light themes together 60 | 61 | ### Fixes 62 | 63 | - Updated colors according to the main plugin 64 | - Improved GitHub and SynthWave color scheme a bit 65 | - Fixed actions not working 66 | 67 | ### Other 68 | 69 | - Updated Plugin Icon 70 | - Updated dependencies 71 | - Migrated to JDK 17 72 | - Removed some useless files 73 | - Added some JavaDoc/KDoc 74 | -------------------------------------------------------------------------------- /fleet/build.gradle.kts: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2024 Elior "Mallowigi" Boukhobza 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | 25 | 26 | fun properties(key: String) = providers.gradleProperty(key).get() 27 | fun environment(key: String) = providers.environmentVariable(key) 28 | fun fileContents(filePath: String) = providers.fileContents(layout.projectDirectory.file(filePath)).asText 29 | 30 | val platformVersion: String by project 31 | 32 | val pluginName: String by project 33 | val fleetPluginID: String by project 34 | val pluginVersion: String by project 35 | val pluginDescription: String by project 36 | val pluginSinceBuild: String by project 37 | val pluginUntilBuild: String by project 38 | 39 | val pluginVendorName: String by project 40 | val pluginVendorEmail: String by project 41 | val pluginVendorUrl: String by project 42 | 43 | val pluginChannels: String by project 44 | 45 | val javaVersion: String by project 46 | val gradleVersion: String by project 47 | 48 | plugins { 49 | base 50 | alias(libs.plugins.fleet.plugin) 51 | } 52 | 53 | version = pluginVersion 54 | 55 | fleetPlugin { 56 | id = fleetPluginID 57 | 58 | metadata { 59 | readableName = pluginName 60 | description = pluginDescription 61 | 62 | icons { 63 | default.set(project.layout.projectDirectory.file("pluginIcon.svg")) 64 | dark.set(project.layout.projectDirectory.file("pluginIcon.svg")) 65 | } 66 | } 67 | 68 | fleetRuntime { 69 | version = libs.versions.fleet.runtime 70 | } 71 | 72 | publishing { 73 | vendorId = pluginVendorName 74 | } 75 | } 76 | -------------------------------------------------------------------------------- /fleet/frontendImpl/build.gradle.kts: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2024 Elior "Mallowigi" Boukhobza 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | 25 | dependencies { 26 | implementation("org.yaml:snakeyaml:2.4") 27 | commonMainApi("org.yaml:snakeyaml:2.4") 28 | } 29 | 30 | plugins { 31 | alias(libs.plugins.kotlin.multiplatform) 32 | alias(libs.plugins.fleet.plugin.layer) 33 | } 34 | 35 | kotlin { 36 | jvmToolchain { 37 | languageVersion = JavaLanguageVersion.of(17) 38 | vendor = JvmVendorSpec.JETBRAINS 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /fleet/frontendImpl/src/jvmMain/java/module-info.java: -------------------------------------------------------------------------------- 1 | module fleet.sample.frontendImpl { 2 | requires fleet.frontend; 3 | requires fleet.kernel; 4 | requires fleet.util.logging.api; 5 | requires fleet.rhizomedb; 6 | requires fleet.frontend.ui; 7 | requires org.yaml.snakeyaml; 8 | 9 | exports com.mallowigi.material.fleet; 10 | provides fleet.kernel.plugins.Plugin with com.mallowigi.material.fleet.MaterialThemePlugin; 11 | } 12 | -------------------------------------------------------------------------------- /fleet/frontendImpl/src/jvmMain/kotlin/com/mallowigi/material/fleet/MaterialThemePlugin.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2024 Elior "Mallowigi" Boukhobza 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | 25 | package com.mallowigi.material.fleet 26 | 27 | import fleet.dock.api.ThemeId 28 | import fleet.frontend.theme.registerTheme 29 | import fleet.kernel.plugins.ContributionScope 30 | import fleet.kernel.plugins.Plugin 31 | import fleet.kernel.plugins.PluginScope 32 | import org.yaml.snakeyaml.Yaml 33 | import java.io.InputStream 34 | 35 | class MaterialThemePlugin : Plugin { 36 | override val key: Plugin.Key = MaterialThemePlugin 37 | 38 | override fun ContributionScope.load(pluginScope: PluginScope) { 39 | val themeNames = loadThemesFromYaml() 40 | 41 | themeNames.forEach { 42 | registerTheme(ThemeId(id = "${it}.theme")) 43 | registerTheme(ThemeId(id = "${it} Contrast.theme")) 44 | // registerTheme(ThemeId(id = "${it} Compact.theme")) 45 | // registerTheme(ThemeId(id = "${it} Contrast Compact.theme")) 46 | } 47 | } 48 | 49 | private fun loadThemesFromYaml(): List { 50 | val inputStream: InputStream = this::class.java.getResourceAsStream("/themes.yml") 51 | ?: throw IllegalArgumentException("Resource not found: themes.yml") 52 | 53 | val yaml = Yaml() 54 | val data: Map>> = yaml.load(inputStream) 55 | val themes = data.values.flatten() 56 | 57 | return themes.mapNotNull { it["name"] } 58 | } 59 | 60 | companion object : Plugin.Key 61 | 62 | } 63 | -------------------------------------------------------------------------------- /fleet/run.json: -------------------------------------------------------------------------------- 1 | { 2 | "configurations": [ 3 | { 4 | "name": "Run Fleet with local plugin", 5 | "type": "gradle", 6 | "workingDir": "$PROJECT_DIR$", 7 | "tasks": [ 8 | "runFleet" 9 | ], 10 | "args": [ 11 | "" 12 | ] 13 | } 14 | ] 15 | } 16 | -------------------------------------------------------------------------------- /gradle.properties: -------------------------------------------------------------------------------- 1 | # 2 | # The MIT License (MIT) 3 | # 4 | # Copyright (c) 2021-2025 Elior "Mallowigi" Boukhobza 5 | # 6 | # Permission is hereby granted, free of charge, to any person obtaining a copy 7 | # of this software and associated documentation files (the "Software"), to deal 8 | # in the Software without restriction, including without limitation the rights 9 | # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | # copies of the Software, and to permit persons to whom the Software is 11 | # furnished to do so, subject to the following conditions: 12 | # 13 | # The above copyright notice and this permission notice shall be included in all 14 | # copies or substantial portions of the Software. 15 | # 16 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | # SOFTWARE. 23 | # 24 | fleetPluginID=com.mallowigi.material.fleet 25 | gradleVersion=8.5 26 | idePath= 27 | idePathMac= 28 | idePathWin= 29 | javaVersion=17 30 | kotlin.stdlib.default.dependency=false 31 | org.gradle.caching=true 32 | org.gradle.configuration-cache=true 33 | org.gradle.console=rich 34 | org.gradle.parallel=true 35 | platformDownloadSources=true 36 | platformPlugins= 37 | platformType=IC 38 | platformVersion=LATEST-EAP-SNAPSHOT 39 | pluginChannels=default 40 | pluginDescription=Material UI Themes for JetBrains IDEs and Fleet 41 | pluginID=com.mallowigi.idea 42 | pluginName=Material Theme UI Lite 43 | pluginSinceBuild=243.20847 44 | pluginUntilBuild=261.9999 45 | pluginVendorEmail=elior@material-theme.com 46 | pluginVendorName=AtomMaterial 47 | pluginVendorUrl=https\://github.com/mallowigi 48 | # Plugin Verifier integration -> https://github.com/JetBrains/gradle-intellij-plugin#plugin-verifier-dsl 49 | # See https://jb.gg/intellij-platform-builds-list for available build versions. 50 | pluginVerifierIdeVersions=2024.3 51 | pluginVersion=25.0.0 52 | publishPassword= 53 | publishToken= 54 | publishUsername=Mallowigi 55 | systemProperty="idea.platform.prefix","DataGrip" 56 | -------------------------------------------------------------------------------- /gradle/gradle-daemon-jvm.properties: -------------------------------------------------------------------------------- 1 | toolchainVersion=17 2 | -------------------------------------------------------------------------------- /gradle/libs.versions.toml: -------------------------------------------------------------------------------- 1 | [versions] 2 | # libraries 3 | annotations = "24.1.0" 4 | 5 | # plugins 6 | kotlin = "2.1.10" 7 | changelog = "2.2.0" 8 | gradleIntelliJPlugin = "2.2.0" 9 | detekt = "1.23.6" 10 | ktlint = "12.1.1" 11 | fleet-sdk = "0.6.245" 12 | fleet-runtime = "1.46.97" 13 | 14 | [libraries] 15 | annotations = { group = "org.jetbrains", name = "annotations", version.ref = "annotations" } 16 | 17 | [plugins] 18 | changelog = { id = "org.jetbrains.changelog", version.ref = "changelog" } 19 | gradleIntelliJPlugin = { id = "org.jetbrains.intellij.platform", version.ref = "gradleIntelliJPlugin" } 20 | kotlin = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" } 21 | detekt = { id = "io.gitlab.arturbosch.detekt", version.ref = "detekt" } 22 | ktlint = { id = "org.jlleitschuh.gradle.ktlint", version.ref = "ktlint" } 23 | kotlin-multiplatform = { id = "org.jetbrains.kotlin.multiplatform", version.ref = "kotlin" } 24 | fleet-plugin = { id = "org.jetbrains.fleet-plugin", version.ref = "fleet-sdk" } 25 | fleet-plugin-layer = { id = "org.jetbrains.fleet-plugin-layer", version.ref = "fleet-sdk" } 26 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AtomMaterialUI/material-theme-ui-lite/e13dec937da50a6f03675634c8ddd01d2d7470f8/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=wrapper/dists 8 | -------------------------------------------------------------------------------- /gradlew.bat: -------------------------------------------------------------------------------- 1 | @rem 2 | @rem Copyright 2015 the original author or authors. 3 | @rem 4 | @rem Licensed under the Apache License, Version 2.0 (the "License"); 5 | @rem you may not use this file except in compliance with the License. 6 | @rem You may obtain a copy of the License at 7 | @rem 8 | @rem https://www.apache.org/licenses/LICENSE-2.0 9 | @rem 10 | @rem Unless required by applicable law or agreed to in writing, software 11 | @rem distributed under the License is distributed on an "AS IS" BASIS, 12 | @rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | @rem See the License for the specific language governing permissions and 14 | @rem limitations under the License. 15 | @rem 16 | 17 | @if "%DEBUG%" == "" @echo off 18 | @rem ########################################################################## 19 | @rem 20 | @rem Gradle startup script for Windows 21 | @rem 22 | @rem ########################################################################## 23 | 24 | @rem Set local scope for the variables with windows NT shell 25 | if "%OS%"=="Windows_NT" setlocal 26 | 27 | set DIRNAME=%~dp0 28 | if "%DIRNAME%" == "" set DIRNAME=. 29 | set APP_BASE_NAME=%~n0 30 | set APP_HOME=%DIRNAME% 31 | 32 | @rem Resolve any "." and ".." in APP_HOME to make it shorter. 33 | for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi 34 | 35 | @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. 36 | set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" 37 | 38 | @rem Find java.exe 39 | if defined JAVA_HOME goto findJavaFromJavaHome 40 | 41 | set JAVA_EXE=java.exe 42 | %JAVA_EXE% -version >NUL 2>&1 43 | if "%ERRORLEVEL%" == "0" goto execute 44 | 45 | echo. 46 | echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 47 | echo. 48 | echo Please set the JAVA_HOME variable in your environment to match the 49 | echo location of your Java installation. 50 | 51 | goto fail 52 | 53 | :findJavaFromJavaHome 54 | set JAVA_HOME=%JAVA_HOME:"=% 55 | set JAVA_EXE=%JAVA_HOME%/bin/java.exe 56 | 57 | if exist "%JAVA_EXE%" goto execute 58 | 59 | echo. 60 | echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 61 | echo. 62 | echo Please set the JAVA_HOME variable in your environment to match the 63 | echo location of your Java installation. 64 | 65 | goto fail 66 | 67 | :execute 68 | @rem Setup the command line 69 | 70 | set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar 71 | 72 | 73 | @rem Execute Gradle 74 | "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* 75 | 76 | :end 77 | @rem End local scope for the variables with windows NT shell 78 | if "%ERRORLEVEL%"=="0" goto mainEnd 79 | 80 | :fail 81 | rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of 82 | rem the _cmd.exe /c_ return code! 83 | if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 84 | exit /b 1 85 | 86 | :mainEnd 87 | if "%OS%"=="Windows_NT" endlocal 88 | 89 | :omega 90 | -------------------------------------------------------------------------------- /images/logo/material-arcdark.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | Asset 1 10 | 11 | 12 | 13 | 15 | 17 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /images/logo/material-darker.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | Asset 1 10 | 11 | 12 | 13 | 15 | 17 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /images/logo/material-deepocean.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | Asset 1 10 | 11 | 12 | 13 | 15 | 17 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /images/logo/material-dracula.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | Asset 1 10 | 11 | 12 | 13 | 15 | 17 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /images/logo/material-github.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | Asset 1 10 | 11 | 12 | 13 | 15 | 17 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /images/logo/material-githubdark.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | Asset 1 10 | 11 | 12 | 13 | 15 | 17 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /images/logo/material-lighter.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | Asset 1 10 | 11 | 12 | 13 | 15 | 17 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /images/logo/material-monokai.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | Asset 1 10 | 11 | 12 | 13 | 15 | 17 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /images/logo/material-moonlight.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | Asset 1 10 | 11 | 12 | 13 | 15 | 17 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /images/logo/material-oceanic.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | Asset 1 10 | 11 | 12 | 13 | 15 | 17 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /images/logo/material-onedark.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | Asset 1 10 | 11 | 12 | 13 | 15 | 17 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /images/logo/material-onelight.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | Asset 1 10 | 11 | 12 | 13 | 15 | 17 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /images/logo/material-palenight.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | Asset 1 10 | 11 | 12 | 13 | 15 | 17 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /images/logo/material-solardark.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | Asset 1 10 | 11 | 12 | 13 | 15 | 17 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /images/logo/material-solarlight.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | Asset 1 10 | 11 | 12 | 13 | 15 | 17 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /images/screens/arcdark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AtomMaterialUI/material-theme-ui-lite/e13dec937da50a6f03675634c8ddd01d2d7470f8/images/screens/arcdark.png -------------------------------------------------------------------------------- /images/screens/darker.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AtomMaterialUI/material-theme-ui-lite/e13dec937da50a6f03675634c8ddd01d2d7470f8/images/screens/darker.png -------------------------------------------------------------------------------- /images/screens/deepocean.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AtomMaterialUI/material-theme-ui-lite/e13dec937da50a6f03675634c8ddd01d2d7470f8/images/screens/deepocean.png -------------------------------------------------------------------------------- /images/screens/dracula.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AtomMaterialUI/material-theme-ui-lite/e13dec937da50a6f03675634c8ddd01d2d7470f8/images/screens/dracula.png -------------------------------------------------------------------------------- /images/screens/github.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AtomMaterialUI/material-theme-ui-lite/e13dec937da50a6f03675634c8ddd01d2d7470f8/images/screens/github.png -------------------------------------------------------------------------------- /images/screens/githubdark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AtomMaterialUI/material-theme-ui-lite/e13dec937da50a6f03675634c8ddd01d2d7470f8/images/screens/githubdark.png -------------------------------------------------------------------------------- /images/screens/lighter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AtomMaterialUI/material-theme-ui-lite/e13dec937da50a6f03675634c8ddd01d2d7470f8/images/screens/lighter.png -------------------------------------------------------------------------------- /images/screens/lightowl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AtomMaterialUI/material-theme-ui-lite/e13dec937da50a6f03675634c8ddd01d2d7470f8/images/screens/lightowl.png -------------------------------------------------------------------------------- /images/screens/monokai.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AtomMaterialUI/material-theme-ui-lite/e13dec937da50a6f03675634c8ddd01d2d7470f8/images/screens/monokai.png -------------------------------------------------------------------------------- /images/screens/moonlight.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AtomMaterialUI/material-theme-ui-lite/e13dec937da50a6f03675634c8ddd01d2d7470f8/images/screens/moonlight.png -------------------------------------------------------------------------------- /images/screens/nightowl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AtomMaterialUI/material-theme-ui-lite/e13dec937da50a6f03675634c8ddd01d2d7470f8/images/screens/nightowl.png -------------------------------------------------------------------------------- /images/screens/oceanic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AtomMaterialUI/material-theme-ui-lite/e13dec937da50a6f03675634c8ddd01d2d7470f8/images/screens/oceanic.png -------------------------------------------------------------------------------- /images/screens/onedark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AtomMaterialUI/material-theme-ui-lite/e13dec937da50a6f03675634c8ddd01d2d7470f8/images/screens/onedark.png -------------------------------------------------------------------------------- /images/screens/onelight.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AtomMaterialUI/material-theme-ui-lite/e13dec937da50a6f03675634c8ddd01d2d7470f8/images/screens/onelight.png -------------------------------------------------------------------------------- /images/screens/palenight.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AtomMaterialUI/material-theme-ui-lite/e13dec937da50a6f03675634c8ddd01d2d7470f8/images/screens/palenight.png -------------------------------------------------------------------------------- /images/screens/solardark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AtomMaterialUI/material-theme-ui-lite/e13dec937da50a6f03675634c8ddd01d2d7470f8/images/screens/solardark.png -------------------------------------------------------------------------------- /images/screens/solarlight.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AtomMaterialUI/material-theme-ui-lite/e13dec937da50a6f03675634c8ddd01d2d7470f8/images/screens/solarlight.png -------------------------------------------------------------------------------- /laptop-full.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AtomMaterialUI/material-theme-ui-lite/e13dec937da50a6f03675634c8ddd01d2d7470f8/laptop-full.png -------------------------------------------------------------------------------- /license.template: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2015-2022 Elior "Mallowigi" Boukhobza 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | * 24 | * 25 | */ 26 | -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ninpou", 3 | "version": "0.0.5", 4 | "lockfileVersion": 2, 5 | "requires": true, 6 | "packages": { 7 | "": { 8 | "name": "ninpou", 9 | "version": "0.0.5", 10 | "license": "ISC", 11 | "dependencies": { 12 | "polished": "^4.3.1" 13 | }, 14 | "devDependencies": { 15 | "yaml": "2.4.5" 16 | } 17 | }, 18 | "node_modules/@babel/runtime": { 19 | "version": "7.27.0", 20 | "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.27.0.tgz", 21 | "integrity": "sha512-VtPOkrdPHZsKc/clNqyi9WUA8TINkZ4cGk63UUE3u4pmB2k+ZMQRDuIOagv8UVd6j7k0T3+RRIb7beKTebNbcw==", 22 | "license": "MIT", 23 | "dependencies": { 24 | "regenerator-runtime": "^0.14.0" 25 | }, 26 | "engines": { 27 | "node": ">=6.9.0" 28 | } 29 | }, 30 | "node_modules/polished": { 31 | "version": "4.3.1", 32 | "resolved": "https://registry.npmjs.org/polished/-/polished-4.3.1.tgz", 33 | "integrity": "sha512-OBatVyC/N7SCW/FaDHrSd+vn0o5cS855TOmYi4OkdWUMSJCET/xip//ch8xGUvtr3i44X9LVyWwQlRMTN3pwSA==", 34 | "license": "MIT", 35 | "dependencies": { 36 | "@babel/runtime": "^7.17.8" 37 | }, 38 | "engines": { 39 | "node": ">=10" 40 | } 41 | }, 42 | "node_modules/regenerator-runtime": { 43 | "version": "0.14.1", 44 | "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", 45 | "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==", 46 | "license": "MIT" 47 | }, 48 | "node_modules/yaml": { 49 | "version": "2.4.5", 50 | "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.4.5.tgz", 51 | "integrity": "sha512-aBx2bnqDzVOyNKfsysjA2ms5ZlnjSAW2eG3/L5G/CSujfjLJTJsEw1bGw8kCf04KodQWk1pxlGnZ56CRxiawmg==", 52 | "dev": true, 53 | "license": "ISC", 54 | "bin": { 55 | "yaml": "bin.mjs" 56 | }, 57 | "engines": { 58 | "node": ">= 14" 59 | } 60 | } 61 | }, 62 | "dependencies": { 63 | "@babel/runtime": { 64 | "version": "7.27.0", 65 | "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.27.0.tgz", 66 | "integrity": "sha512-VtPOkrdPHZsKc/clNqyi9WUA8TINkZ4cGk63UUE3u4pmB2k+ZMQRDuIOagv8UVd6j7k0T3+RRIb7beKTebNbcw==", 67 | "requires": { 68 | "regenerator-runtime": "^0.14.0" 69 | } 70 | }, 71 | "polished": { 72 | "version": "4.3.1", 73 | "resolved": "https://registry.npmjs.org/polished/-/polished-4.3.1.tgz", 74 | "integrity": "sha512-OBatVyC/N7SCW/FaDHrSd+vn0o5cS855TOmYi4OkdWUMSJCET/xip//ch8xGUvtr3i44X9LVyWwQlRMTN3pwSA==", 75 | "requires": { 76 | "@babel/runtime": "^7.17.8" 77 | } 78 | }, 79 | "regenerator-runtime": { 80 | "version": "0.14.1", 81 | "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", 82 | "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==" 83 | }, 84 | "yaml": { 85 | "version": "2.4.5", 86 | "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.4.5.tgz", 87 | "integrity": "sha512-aBx2bnqDzVOyNKfsysjA2ms5ZlnjSAW2eG3/L5G/CSujfjLJTJsEw1bGw8kCf04KodQWk1pxlGnZ56CRxiawmg==", 88 | "dev": true 89 | } 90 | } 91 | } 92 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ninpou", 3 | "version": "0.0.5", 4 | "description": "", 5 | "main": "app.js", 6 | "directories": { 7 | "doc": "docs" 8 | }, 9 | "scripts": { 10 | "generate": "node app.js" 11 | }, 12 | "repository": { 13 | "type": "git", 14 | "url": "git+https://github.com/mallowigi/material-theme-ui-lite.git" 15 | }, 16 | "author": "", 17 | "license": "ISC", 18 | "bugs": { 19 | "url": "https://github.com/mallowigi/material-theme-ui-lite/issues" 20 | }, 21 | "homepage": "https://github.com/mallowigi/material-theme-ui-lite#readme", 22 | "devDependencies": { 23 | "yaml": "2.4.5" 24 | }, 25 | "dependencies": { 26 | "polished": "^4.3.1" 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /renovate.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": [ 3 | "config:base" 4 | ], 5 | "labels": [ 6 | "dependencies" 7 | ], 8 | "automerge": true, 9 | "rebaseWhen": "behind-base-branch", 10 | "bumpVersion": "patch", 11 | "commitBodyTable": true, 12 | "prHourlyLimit": 6, 13 | "prConcurrentLimit": 6, 14 | "gradle": { 15 | "enabled": false 16 | }, 17 | "gradle-lite": { 18 | "enabled": true 19 | }, 20 | "packageRules": [ 21 | { 22 | "matchManagers": [ 23 | "gradle", 24 | "gradle-lite" 25 | ], 26 | "matchUpdateTypes": [ 27 | "minor", 28 | "patch" 29 | ], 30 | "groupName": "Gradle non-major dependencies", 31 | "groupSlug": "gradle-minor-patch" 32 | } 33 | ] 34 | } 35 | -------------------------------------------------------------------------------- /settings.gradle.kts: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2021 Elior "Mallowigi" Boukhobza 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | 25 | rootProject.name = "material-theme-lite" 26 | 27 | include(":fleet") 28 | include(":fleet:frontendImpl") 29 | 30 | pluginManagement { 31 | repositories { 32 | maven { 33 | url = java.net.URI("https://oss.sonatype.org/content/repositories/snapshots/") 34 | } 35 | maven("https://cache-redirector.jetbrains.com/intellij-dependencies") 36 | maven("https://packages.jetbrains.team/maven/p/fleet/fleet-sdk") 37 | gradlePluginPortal() 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /src/main/java/com/mallowigi/idea/MaterialThemeBundle.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2021 Elior "Mallowigi" Boukhobza 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | @file:Suppress("UnstableApiUsage") 25 | 26 | package com.mallowigi.idea 27 | 28 | import com.intellij.AbstractBundle 29 | import com.intellij.openapi.util.NlsSafe 30 | import org.jetbrains.annotations.PropertyKey 31 | 32 | /** Strings for the plugin. */ 33 | object MaterialThemeBundle : AbstractBundle(MATERIAL_THEME_BUNDLE) { 34 | /** Message. */ 35 | @NlsSafe 36 | @JvmStatic 37 | fun message(@PropertyKey(resourceBundle = MATERIAL_THEME_BUNDLE) key: String, vararg params: Any?): String { 38 | return getMessage(key, *params) 39 | } 40 | } 41 | 42 | /** Bundle. */ 43 | const val MATERIAL_THEME_BUNDLE: String = "messages.MaterialThemeBundle" 44 | -------------------------------------------------------------------------------- /src/main/java/com/mallowigi/idea/themes/ActionGroup.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2015-2022 Elior "Mallowigi" Boukhobza 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | * 24 | * 25 | */ 26 | 27 | package com.mallowigi.idea.themes 28 | 29 | import com.intellij.openapi.actionSystem.ActionUpdateThread 30 | import com.intellij.openapi.actionSystem.AnActionEvent 31 | import com.intellij.openapi.actionSystem.CommonDataKeys 32 | import com.intellij.openapi.actionSystem.DefaultActionGroup 33 | 34 | /** Action group for the plugin. */ 35 | class ActionGroup : DefaultActionGroup() { 36 | /** Show action group only if project set. */ 37 | override fun update(e: AnActionEvent) { 38 | val p = e.presentation 39 | val hasProject = e.getData(CommonDataKeys.PROJECT) != null 40 | p.isVisible = hasProject 41 | } 42 | 43 | /** dumb mode */ 44 | override fun isDumbAware(): Boolean = true 45 | 46 | override fun getActionUpdateThread(): ActionUpdateThread = ActionUpdateThread.BGT 47 | } 48 | -------------------------------------------------------------------------------- /src/main/java/com/mallowigi/idea/themes/MTAbstractThemeAction.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2021 Elior "Mallowigi" Boukhobza 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | package com.mallowigi.idea.themes 25 | 26 | import com.intellij.ide.ui.LafManager 27 | import com.intellij.openapi.actionSystem.AnActionEvent 28 | import com.intellij.openapi.project.DumbAware 29 | import com.mallowigi.idea.MaterialThemeBundle.message 30 | import org.jetbrains.annotations.NonNls 31 | import java.text.MessageFormat 32 | 33 | /** Abstract class for switching themes. */ 34 | abstract class MTAbstractThemeAction : MTToggleAction(), DumbAware { 35 | /** Set selected theme. */ 36 | override fun setSelected(e: AnActionEvent, state: Boolean) { 37 | super.setSelected(e, state) 38 | // Find LAF theme and trigger a theme change 39 | val lafManager = LafManager.getInstance() 40 | val lafInfo = lafManager.installedThemes.first { it.name == getThemeName(e) } 41 | if (lafInfo != null) lafManager.currentUIThemeLookAndFeel = lafInfo 42 | 43 | lafManager.updateUI() 44 | } 45 | 46 | /** Whether theme is selected. */ 47 | override fun isSelected(e: AnActionEvent): Boolean = 48 | LafManager.getInstance().currentUIThemeLookAndFeel!!.name == getThemeName(e) 49 | 50 | /** The theme. */ 51 | protected abstract val theme: MTThemes 52 | 53 | @NonNls 54 | private fun getThemeName(e: AnActionEvent): String { 55 | val contrast = message("contrast") 56 | val compact = message("compact") 57 | val text = e.presentation.text ?: return theme.themeName 58 | 59 | val isContrast = text.contains(contrast) 60 | val isCompact = text.contains(compact) 61 | val name = theme.themeName 62 | return when { 63 | isContrast && isCompact -> MessageFormat.format("{0} {1} {2}", name, compact, contrast) 64 | isContrast && !isCompact -> MessageFormat.format("{0} {1}", name, contrast) 65 | !isContrast && isCompact -> MessageFormat.format("{0} {1}", name, compact) 66 | else -> name 67 | } 68 | } 69 | } 70 | -------------------------------------------------------------------------------- /src/main/java/com/mallowigi/idea/themes/MTArcDarkThemeAction.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2021 Elior "Mallowigi" Boukhobza 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | package com.mallowigi.idea.themes 25 | 26 | /** Arc Dark. */ 27 | class MTArcDarkThemeAction : MTAbstractThemeAction() { 28 | override val theme: MTThemes 29 | get() = MTThemes.ARC_DARK 30 | } 31 | -------------------------------------------------------------------------------- /src/main/java/com/mallowigi/idea/themes/MTDarkerThemeAction.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2021 Elior "Mallowigi" Boukhobza 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | package com.mallowigi.idea.themes 25 | 26 | /** Material Darker. */ 27 | class MTDarkerThemeAction : MTAbstractThemeAction() { 28 | override val theme: MTThemes 29 | get() = MTThemes.DARKER 30 | } 31 | -------------------------------------------------------------------------------- /src/main/java/com/mallowigi/idea/themes/MTDeepOceanThemeAction.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2021 Elior "Mallowigi" Boukhobza 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | package com.mallowigi.idea.themes 25 | 26 | /** Material Deep Ocean. */ 27 | class MTDeepOceanThemeAction : MTAbstractThemeAction() { 28 | override val theme: MTThemes 29 | get() = MTThemes.DEEPOCEAN 30 | } 31 | -------------------------------------------------------------------------------- /src/main/java/com/mallowigi/idea/themes/MTDraculaThemeAction.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2021 Elior "Mallowigi" Boukhobza 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | package com.mallowigi.idea.themes 25 | 26 | /** Dracula. */ 27 | class MTDraculaThemeAction : MTAbstractThemeAction() { 28 | override val theme: MTThemes 29 | get() = MTThemes.DRACULA 30 | } 31 | -------------------------------------------------------------------------------- /src/main/java/com/mallowigi/idea/themes/MTForestThemeAction.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2021 Elior "Mallowigi" Boukhobza 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | package com.mallowigi.idea.themes 25 | 26 | /** Material Forest. */ 27 | class MTForestThemeAction : MTAbstractThemeAction() { 28 | override val theme: MTThemes 29 | get() = MTThemes.FOREST 30 | } 31 | -------------------------------------------------------------------------------- /src/main/java/com/mallowigi/idea/themes/MTGithubDarkThemeAction.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2021 Elior "Mallowigi" Boukhobza 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | package com.mallowigi.idea.themes 25 | 26 | /** GitHub Dark. */ 27 | class MTGithubDarkThemeAction : MTAbstractThemeAction() { 28 | override val theme: MTThemes 29 | get() = MTThemes.GITHUB_DARK 30 | } 31 | -------------------------------------------------------------------------------- /src/main/java/com/mallowigi/idea/themes/MTGithubThemeAction.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2021 Elior "Mallowigi" Boukhobza 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | package com.mallowigi.idea.themes 25 | 26 | /** GitHub. */ 27 | class MTGithubThemeAction : MTAbstractThemeAction() { 28 | override val theme: MTThemes 29 | get() = MTThemes.GITHUB 30 | } 31 | -------------------------------------------------------------------------------- /src/main/java/com/mallowigi/idea/themes/MTLightOwlThemeAction.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2021 Elior "Mallowigi" Boukhobza 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | package com.mallowigi.idea.themes 25 | 26 | /** Light Owl. */ 27 | class MTLightOwlThemeAction : MTAbstractThemeAction() { 28 | override val theme: MTThemes 29 | get() = MTThemes.LIGHT_OWL 30 | } 31 | -------------------------------------------------------------------------------- /src/main/java/com/mallowigi/idea/themes/MTLighterThemeAction.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2021 Elior "Mallowigi" Boukhobza 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | package com.mallowigi.idea.themes 25 | 26 | /** Material Lighter. */ 27 | class MTLighterThemeAction : MTAbstractThemeAction() { 28 | override val theme: MTThemes 29 | get() = MTThemes.LIGHTER 30 | } 31 | -------------------------------------------------------------------------------- /src/main/java/com/mallowigi/idea/themes/MTMonokaiThemeAction.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2021 Elior "Mallowigi" Boukhobza 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | package com.mallowigi.idea.themes 25 | 26 | /** Monokai Pro. */ 27 | class MTMonokaiThemeAction : MTAbstractThemeAction() { 28 | override val theme: MTThemes 29 | get() = MTThemes.MONOKAI 30 | } 31 | -------------------------------------------------------------------------------- /src/main/java/com/mallowigi/idea/themes/MTMoonlightThemeAction.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2021 Elior "Mallowigi" Boukhobza 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | package com.mallowigi.idea.themes 25 | 26 | /** Moonlight. */ 27 | class MTMoonlightThemeAction : MTAbstractThemeAction() { 28 | override val theme: MTThemes 29 | get() = MTThemes.MOONLIGHT 30 | } 31 | -------------------------------------------------------------------------------- /src/main/java/com/mallowigi/idea/themes/MTNightOwlThemeAction.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2021 Elior "Mallowigi" Boukhobza 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | package com.mallowigi.idea.themes 25 | 26 | /** Night Owl. */ 27 | class MTNightOwlThemeAction : MTAbstractThemeAction() { 28 | override val theme: MTThemes 29 | get() = MTThemes.NIGHT_OWL 30 | } 31 | -------------------------------------------------------------------------------- /src/main/java/com/mallowigi/idea/themes/MTOceanicThemeAction.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2021 Elior "Mallowigi" Boukhobza 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | package com.mallowigi.idea.themes 25 | 26 | /** Material Oceanic. */ 27 | class MTOceanicThemeAction : MTAbstractThemeAction() { 28 | override val theme: MTThemes 29 | get() = MTThemes.OCEANIC 30 | } 31 | -------------------------------------------------------------------------------- /src/main/java/com/mallowigi/idea/themes/MTOneDarkThemeAction.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2021 Elior "Mallowigi" Boukhobza 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | package com.mallowigi.idea.themes 25 | 26 | /** Atom One Dark. */ 27 | class MTOneDarkThemeAction : MTAbstractThemeAction() { 28 | override val theme: MTThemes 29 | get() = MTThemes.ONE_DARK 30 | } 31 | -------------------------------------------------------------------------------- /src/main/java/com/mallowigi/idea/themes/MTOneLightThemeAction.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2021 Elior "Mallowigi" Boukhobza 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | package com.mallowigi.idea.themes 25 | 26 | /** Atom One Light. */ 27 | class MTOneLightThemeAction : MTAbstractThemeAction() { 28 | override val theme: MTThemes 29 | get() = MTThemes.ONE_LIGHT 30 | } 31 | -------------------------------------------------------------------------------- /src/main/java/com/mallowigi/idea/themes/MTPalenightThemeAction.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2021 Elior "Mallowigi" Boukhobza 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | package com.mallowigi.idea.themes 25 | 26 | /** Material Palenight. */ 27 | class MTPalenightThemeAction : MTAbstractThemeAction() { 28 | override val theme: MTThemes 29 | get() = MTThemes.PALENIGHT 30 | } 31 | -------------------------------------------------------------------------------- /src/main/java/com/mallowigi/idea/themes/MTSandyBeachThemeAction.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2021 Elior "Mallowigi" Boukhobza 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | package com.mallowigi.idea.themes 25 | 26 | /** Material Sandy Beach. */ 27 | class MTSandyBeachThemeAction : MTAbstractThemeAction() { 28 | override val theme: MTThemes 29 | get() = MTThemes.SANDYBEACH 30 | } 31 | -------------------------------------------------------------------------------- /src/main/java/com/mallowigi/idea/themes/MTSkyBlueThemeAction.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2021 Elior "Mallowigi" Boukhobza 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | package com.mallowigi.idea.themes 25 | 26 | /** Material Sky Blue. */ 27 | class MTSkyBlueThemeAction : MTAbstractThemeAction() { 28 | override val theme: MTThemes 29 | get() = MTThemes.SKYBLUE 30 | } 31 | -------------------------------------------------------------------------------- /src/main/java/com/mallowigi/idea/themes/MTSolarizedDarkThemeAction.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2021 Elior "Mallowigi" Boukhobza 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | package com.mallowigi.idea.themes 25 | 26 | /** Solarized Dark. */ 27 | class MTSolarizedDarkThemeAction : MTAbstractThemeAction() { 28 | override val theme: MTThemes 29 | get() = MTThemes.SOLARIZED_DARK 30 | } 31 | -------------------------------------------------------------------------------- /src/main/java/com/mallowigi/idea/themes/MTSolarizedLightThemeAction.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2021 Elior "Mallowigi" Boukhobza 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | package com.mallowigi.idea.themes 25 | 26 | /** Solarized Light. */ 27 | class MTSolarizedLightThemeAction : MTAbstractThemeAction() { 28 | override val theme: MTThemes 29 | get() = MTThemes.SOLARIZED_LIGHT 30 | } 31 | -------------------------------------------------------------------------------- /src/main/java/com/mallowigi/idea/themes/MTSpaceThemeAction.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2021 Elior "Mallowigi" Boukhobza 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | package com.mallowigi.idea.themes 25 | 26 | /** Material Space. */ 27 | class MTSpaceThemeAction : MTAbstractThemeAction() { 28 | override val theme: MTThemes 29 | get() = MTThemes.SPACE 30 | } 31 | -------------------------------------------------------------------------------- /src/main/java/com/mallowigi/idea/themes/MTSynthwaveThemeAction.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2021 Elior "Mallowigi" Boukhobza 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | package com.mallowigi.idea.themes 25 | 26 | /** SynthWave 84. */ 27 | class MTSynthwaveThemeAction : MTAbstractThemeAction() { 28 | override val theme: MTThemes 29 | get() = MTThemes.SYNTHWAVE 30 | } 31 | -------------------------------------------------------------------------------- /src/main/java/com/mallowigi/idea/themes/MTThemes.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2021 Elior "Mallowigi" Boukhobza 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | @file:Suppress("KDocMissingDocumentation") 25 | 26 | package com.mallowigi.idea.themes 27 | 28 | import com.mallowigi.idea.MaterialThemeBundle.message 29 | import org.jetbrains.annotations.NonNls 30 | 31 | /** Enum for theme names. */ 32 | enum class MTThemes(@param:NonNls private val id: String, @field:Transient val themeName: String) { 33 | OCEANIC("OCEANIC", message("mt.oceanic.name")), 34 | DARKER("DARKER", message("mt.darker.name")), 35 | LIGHTER("LIGHTER", message("mt.lighter.name")), 36 | PALENIGHT("PALENIGHT", message("mt.palenight.name")), 37 | DEEPOCEAN("DEEPOCEAN", message("mt.deepocean.name")), 38 | SKYBLUE("SKYBLUE", message("mt.skyblue.name")), 39 | SANDYBEACH("SANDYBEACH", message("mt.sandybeach.name")), 40 | FOREST("FOREST", message("mt.forest.name")), 41 | VOLCANO("VOLCANO", message("mt.volcano.name")), 42 | SPACE("SPACE", message("mt.space.name")), 43 | MONOKAI("MONOKAI", message("monokai.name")), 44 | ARC_DARK("ARC_DARK", message("arc.dark.name")), 45 | ONE_DARK("ONE_DARK", message("one.dark.name")), 46 | ONE_LIGHT("ONE_LIGHT", message("one.light.name")), 47 | SOLARIZED_DARK("SOLARIZED_DARK", message("solarized.dark.name")), 48 | SOLARIZED_LIGHT("SOLARIZED_LIGHT", message("solarized.light.name")), 49 | DRACULA("DRACULA", message("dracula.name")), 50 | NIGHT_OWL("NIGHT_OWL", message("nightowl.name")), 51 | LIGHT_OWL("LIGHT_OWL", message("lightowl.name")), 52 | GITHUB("GITHUB", message("github.name")), 53 | GITHUB_DARK("GITHUB_DARK", message("github_dark.name")), 54 | MOONLIGHT("MOONLIGHT", message("moonlight.name")), 55 | SYNTHWAVE("SYNTHWAVE", message("synthwave.name")), 56 | } 57 | -------------------------------------------------------------------------------- /src/main/java/com/mallowigi/idea/themes/MTVolcanoThemeAction.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2021 Elior "Mallowigi" Boukhobza 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | package com.mallowigi.idea.themes 25 | 26 | /** Material Volcano. */ 27 | class MTVolcanoThemeAction : MTAbstractThemeAction() { 28 | override val theme: MTThemes 29 | get() = MTThemes.VOLCANO 30 | } 31 | -------------------------------------------------------------------------------- /src/main/resources/icons/actions/mt/accentMode.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | -------------------------------------------------------------------------------- /src/main/resources/icons/actions/mt/accents.svg: -------------------------------------------------------------------------------- 1 | 3 | 6 | 8 | -------------------------------------------------------------------------------- /src/main/resources/icons/actions/mt/bigTabs.svg: -------------------------------------------------------------------------------- 1 | 3 | 6 | 8 | -------------------------------------------------------------------------------- /src/main/resources/icons/actions/mt/changeWallpaper.svg: -------------------------------------------------------------------------------- 1 | 3 | 6 | 8 | -------------------------------------------------------------------------------- /src/main/resources/icons/actions/mt/compactDropdowns.svg: -------------------------------------------------------------------------------- 1 | 3 | 6 | 7 | -------------------------------------------------------------------------------- /src/main/resources/icons/actions/mt/compactMenus.svg: -------------------------------------------------------------------------------- 1 | 3 | 6 | 7 | -------------------------------------------------------------------------------- /src/main/resources/icons/actions/mt/compactSidebar.svg: -------------------------------------------------------------------------------- 1 | 3 | 6 | 7 | -------------------------------------------------------------------------------- /src/main/resources/icons/actions/mt/compactStatusBar.svg: -------------------------------------------------------------------------------- 1 | 3 | 6 | 8 | -------------------------------------------------------------------------------- /src/main/resources/icons/actions/mt/compactTables.svg: -------------------------------------------------------------------------------- 1 | 3 | 6 | 7 | -------------------------------------------------------------------------------- /src/main/resources/icons/actions/mt/components.svg: -------------------------------------------------------------------------------- 1 | 3 | 6 | 8 | -------------------------------------------------------------------------------- /src/main/resources/icons/actions/mt/contrast.svg: -------------------------------------------------------------------------------- 1 | 3 | 6 | 8 | -------------------------------------------------------------------------------- /src/main/resources/icons/actions/mt/contrast_dark.svg: -------------------------------------------------------------------------------- 1 | 3 | 6 | 8 | -------------------------------------------------------------------------------- /src/main/resources/icons/actions/mt/customAccent.svg: -------------------------------------------------------------------------------- 1 | 3 | 6 | 8 | -------------------------------------------------------------------------------- /src/main/resources/icons/actions/mt/dark.svg: -------------------------------------------------------------------------------- 1 | 26 | 27 | 29 | 31 | 33 | 34 | -------------------------------------------------------------------------------- /src/main/resources/icons/actions/mt/darkTitleBar.svg: -------------------------------------------------------------------------------- 1 | 3 | 6 | 7 | -------------------------------------------------------------------------------- /src/main/resources/icons/actions/mt/disableTheme.svg: -------------------------------------------------------------------------------- 1 | 3 | 6 | 8 | -------------------------------------------------------------------------------- /src/main/resources/icons/actions/mt/fileColors.svg: -------------------------------------------------------------------------------- 1 | 3 | 6 | 8 | -------------------------------------------------------------------------------- /src/main/resources/icons/actions/mt/files.svg: -------------------------------------------------------------------------------- 1 | 3 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /src/main/resources/icons/actions/mt/hideFileAction.svg: -------------------------------------------------------------------------------- 1 | 3 | 6 | 8 | -------------------------------------------------------------------------------- /src/main/resources/icons/actions/mt/highContrast.svg: -------------------------------------------------------------------------------- 1 | 3 | 6 | 7 | -------------------------------------------------------------------------------- /src/main/resources/icons/actions/mt/highContrast_dark.svg: -------------------------------------------------------------------------------- 1 | 3 | 6 | 7 | -------------------------------------------------------------------------------- /src/main/resources/icons/actions/mt/hollowFolders.svg: -------------------------------------------------------------------------------- 1 | 3 | 6 | 8 | -------------------------------------------------------------------------------- /src/main/resources/icons/actions/mt/icons.svg: -------------------------------------------------------------------------------- 1 | 3 | 6 | 8 | -------------------------------------------------------------------------------- /src/main/resources/icons/actions/mt/layers.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 7 | 9 | 11 | 12 | -------------------------------------------------------------------------------- /src/main/resources/icons/actions/mt/light.svg: -------------------------------------------------------------------------------- 1 | 26 | 27 | 29 | 31 | 33 | 34 | -------------------------------------------------------------------------------- /src/main/resources/icons/actions/mt/materialFonts.svg: -------------------------------------------------------------------------------- 1 | 3 | 6 | 7 | -------------------------------------------------------------------------------- /src/main/resources/icons/actions/mt/monochrome.svg: -------------------------------------------------------------------------------- 1 | 3 | 6 | 8 | -------------------------------------------------------------------------------- /src/main/resources/icons/actions/mt/mtComponents.svg: -------------------------------------------------------------------------------- 1 | 3 | 6 | 8 | -------------------------------------------------------------------------------- /src/main/resources/icons/actions/mt/noStatus.svg: -------------------------------------------------------------------------------- 1 | 3 | 6 | 7 | -------------------------------------------------------------------------------- /src/main/resources/icons/actions/mt/projectViewDecorators.svg: -------------------------------------------------------------------------------- 1 | 3 | 6 | 7 | -------------------------------------------------------------------------------- /src/main/resources/icons/actions/mt/psi.svg: -------------------------------------------------------------------------------- 1 | 3 | 6 | 7 | -------------------------------------------------------------------------------- /src/main/resources/icons/actions/mt/removeWallpaper.svg: -------------------------------------------------------------------------------- 1 | 3 | 6 | 7 | -------------------------------------------------------------------------------- /src/main/resources/icons/actions/mt/themeSwitch.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 7 | 8 | -------------------------------------------------------------------------------- /src/main/resources/icons/actions/mt/uppercaseTabs.svg: -------------------------------------------------------------------------------- 1 | 3 | 6 | 8 | -------------------------------------------------------------------------------- /src/main/resources/icons/actions/mt/wizard.svg: -------------------------------------------------------------------------------- 1 | 3 | 6 | 7 | -------------------------------------------------------------------------------- /src/main/resources/icons/actions/themes/light_owl.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | Asset 1 10 | 11 | 12 | 13 | 15 | 17 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /src/main/resources/icons/actions/themes/night_owl.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | Asset 1 10 | 11 | 12 | 13 | 15 | 17 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /src/main/resources/themes/wall.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AtomMaterialUI/material-theme-ui-lite/e13dec937da50a6f03675634c8ddd01d2d7470f8/src/main/resources/themes/wall.jpg -------------------------------------------------------------------------------- /src/main/resources/walls/github.svg: -------------------------------------------------------------------------------- 1 | 2 | 27 | 28 | 30 | 31 | 32 | 33 | 35 | 36 | 37 | 39 | 41 | 43 | 45 | 46 | 47 | 48 | 50 | 51 | 52 | 53 | -------------------------------------------------------------------------------- /src/main/resources/walls/onelight.svg: -------------------------------------------------------------------------------- 1 | 2 | 27 | 28 | 30 | 31 | 32 | 33 | 35 | 36 | 37 | 39 | 41 | 43 | 45 | 46 | 47 | 48 | 50 | 51 | 52 | 53 | -------------------------------------------------------------------------------- /src/main/resources/walls/palenight.svg: -------------------------------------------------------------------------------- 1 | 2 | 27 | 28 | 30 | 31 | 32 | 33 | 35 | 36 | 37 | 39 | 41 | 43 | 45 | 46 | 47 | 48 | 50 | 51 | 52 | 53 | -------------------------------------------------------------------------------- /src/main/resources/walls/sandybeach.svg: -------------------------------------------------------------------------------- 1 | 2 | 27 | 28 | 30 | 31 | 32 | 33 | 35 | 36 | 37 | 39 | 41 | 43 | 45 | 46 | 47 | 48 | 50 | 51 | 52 | 53 | -------------------------------------------------------------------------------- /src/main/resources/walls/skyblue.svg: -------------------------------------------------------------------------------- 1 | 2 | 27 | 28 | 30 | 31 | 32 | 33 | 35 | 36 | 37 | 39 | 41 | 43 | 45 | 46 | 47 | 48 | 50 | 51 | 52 | 53 | -------------------------------------------------------------------------------- /src/main/resources/walls/solardark.svg: -------------------------------------------------------------------------------- 1 | 2 | 27 | 28 | 30 | 31 | 32 | 33 | 35 | 36 | 37 | 39 | 41 | 43 | 45 | 46 | 47 | 48 | 50 | 51 | 52 | 53 | -------------------------------------------------------------------------------- /src/main/resources/walls/solarlight.svg: -------------------------------------------------------------------------------- 1 | 2 | 27 | 28 | 30 | 31 | 32 | 33 | 35 | 36 | 37 | 39 | 41 | 43 | 45 | 46 | 47 | 48 | 50 | 51 | 52 | 53 | -------------------------------------------------------------------------------- /src/main/resources/walls/space.svg: -------------------------------------------------------------------------------- 1 | 2 | 27 | 28 | 30 | 31 | 32 | 33 | 35 | 36 | 37 | 39 | 41 | 43 | 45 | 46 | 47 | 48 | 51 | 52 | 53 | 54 | -------------------------------------------------------------------------------- /src/main/resources/walls/template.svg: -------------------------------------------------------------------------------- 1 | 2 | 27 | 28 | 30 | 31 | 32 | 33 | 35 | 36 | 37 | 39 | 41 | 43 | 45 | 46 | 47 | 48 | 50 | 51 | 52 | 53 | -------------------------------------------------------------------------------- /src/main/resources/walls/volcano.svg: -------------------------------------------------------------------------------- 1 | 2 | 27 | 28 | 30 | 31 | 32 | 33 | 35 | 36 | 37 | 39 | 41 | 43 | 45 | 46 | 47 | 48 | 50 | 51 | 52 | 53 | -------------------------------------------------------------------------------- /techstack.yml: -------------------------------------------------------------------------------- 1 | repo_name: mallowigi/material-theme-ui-lite 2 | report_id: f87b94434d0582304c07cc8c760354ae 3 | repo_type: Public 4 | timestamp: '2023-12-14T13:14:29+00:00' 5 | requested_by: mallowigi 6 | provider: github 7 | branch: master 8 | detected_tools_count: 7 9 | tools: 10 | - name: JavaScript 11 | description: Lightweight, interpreted, object-oriented language with first-class 12 | functions 13 | website_url: https://developer.mozilla.org/en-US/docs/Web/JavaScript 14 | open_source: true 15 | hosted_saas: false 16 | category: Languages & Frameworks 17 | sub_category: Languages 18 | image_url: https://img.stackshare.io/service/1209/javascript.jpeg 19 | detection_source: Repo Metadata 20 | - name: Kotlin 21 | description: Statically typed Programming Language targeting JVM and JavaScript 22 | website_url: https://kotlinlang.org/ 23 | open_source: true 24 | hosted_saas: true 25 | category: Languages & Frameworks 26 | sub_category: Languages 27 | image_url: https://img.stackshare.io/service/3750/pCfEzr6L.png 28 | detection_source: Repo Metadata 29 | - name: YAML 30 | description: A straightforward machine parsable data serialization format designed 31 | for human readability and interaction 32 | website_url: http://www.yaml.org/ 33 | open_source: true 34 | hosted_saas: false 35 | category: Languages & Frameworks 36 | sub_category: Languages 37 | image_url: https://img.stackshare.io/service/1744/yaml.png 38 | detection_source: package.json 39 | last_updated_by: mallowigi 40 | last_updated_on: 2019-03-23 19:20:05.000000000 Z 41 | - name: Git 42 | description: Fast, scalable, distributed revision control system 43 | website_url: http://git-scm.com/ 44 | open_source: true 45 | hosted_saas: false 46 | category: Build, Test, Deploy 47 | sub_category: Version Control System 48 | image_url: https://img.stackshare.io/service/1046/git.png 49 | detection_source: Repo Metadata 50 | - name: Gradle 51 | description: A powerful build system for the JVM 52 | website_url: https://www.gradle.org/ 53 | license: Apache-2.0 54 | open_source: true 55 | hosted_saas: false 56 | category: Build, Test, Deploy 57 | sub_category: Java Build Tools 58 | image_url: https://img.stackshare.io/service/975/gradlephant-social-black-bg.png 59 | detection_source: gradlew 60 | last_updated_by: renovate[bot] 61 | last_updated_on: 2023-08-17 12:05:46.000000000 Z 62 | - name: npm 63 | description: The package manager for JavaScript. 64 | website_url: https://www.npmjs.com/ 65 | open_source: false 66 | hosted_saas: false 67 | category: Build, Test, Deploy 68 | sub_category: Front End Package Manager 69 | image_url: https://img.stackshare.io/service/1120/lejvzrnlpb308aftn31u.png 70 | detection_source: package.json 71 | last_updated_by: mallowigi 72 | last_updated_on: 2019-03-23 19:20:05.000000000 Z 73 | - name: HTML 74 | description: Hypertext Markup Language for creating web pages. 75 | website_url: http:// 76 | open_source: false 77 | hosted_saas: false 78 | image_url: https://img.stackshare.io/service/2270/no-img-open-source.png 79 | detection_source: docs/CHANGELOG.html 80 | last_updated_by: Elior 81 | last_updated_on: 2022-03-11 16:24:27.000000000 Z 82 | --------------------------------------------------------------------------------