mirror of
https://github.com/chylex/IntelliJ-Rainbow-Brackets.git
synced 2025-09-15 18:32:09 +02:00
Compare commits
4 Commits
customized
...
01c37cde63
Author | SHA1 | Date | |
---|---|---|---|
01c37cde63
|
|||
8e3c6892f5
|
|||
55d2cab839
|
|||
83314b4675
|
69
.github/CONTRIBUTING.md
vendored
Normal file
69
.github/CONTRIBUTING.md
vendored
Normal file
@@ -0,0 +1,69 @@
|
||||
## Contribute
|
||||
|
||||
NOTE: To view the PSI tree and explore the internal PSI structure of source code, you need to set up your IDE by following [this](https://www.jetbrains.com/help/idea/psi-viewer.html).
|
||||
For the Rider IDE, please follow: [this](https://rider-support.jetbrains.com/hc/en-us/articles/207327910-How-to-run-JetBrains-Rider-in-Internal-Mode)
|
||||
|
||||
For small changes, [Gitpod](https://gitpod.io/#https://github.com/izhangzhihao/intellij-rainbow-brackets) is recommended. [](https://gitpod.io/#https://github.com/izhangzhihao/intellij-rainbow-brackets)
|
||||
|
||||
* `gradle test`
|
||||
* `gradle runIde`
|
||||
* `gradle buildPlugin`
|
||||
|
||||
## Support Us
|
||||
|
||||
You can support us by the following actions:
|
||||
|
||||
* Star this project
|
||||
* Share this plugin with your friends
|
||||
* Rate this plugin on [JetBrains plugin repository](https://plugins.jetbrains.com/plugin/10080-rainbow-brackets)
|
||||
* Make pull requests
|
||||
* Report bugs
|
||||
* Tell us your ideas
|
||||
* Become a sponsor by donating on [Open Collective](https://opencollective.com/intellij-rainbow-brackets)
|
||||
* Become a sponsor by donating with AliPay or WeChatPay
|
||||
* Don't want to use AliPay's mobile App? If you could read Chinese, please use [the official website](https://shenghuo.alipay.com/send/payment/fill.htm) to transfer your donation to my Alipay account(izhangzhihao@hotmail.com). Otherwise, you can try [the English version of Alipay](https://global.alipay.com/) to transfer your donation.
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<th width="33%">Open Collective</th>
|
||||
<th width="33%">AliPay</th>
|
||||
<th width="33%">WeChatPay</th>
|
||||
</tr>
|
||||
<tr></tr>
|
||||
<tr align="center">
|
||||
<td>
|
||||
<a href="https://opencollective.com/intellij-rainbow-brackets" target="_blank">
|
||||
<img src="https://cdn.jsdelivr.net/gh/YiiGuxing/TranslationPlugin@master/images/open-collective.svg" width="171px" alt="OpenCollective">
|
||||
</a>
|
||||
</td>
|
||||
<td><img src="https://user-images.githubusercontent.com/12044174/85197261-77dd5a80-b312-11ea-9630-51caf7d634f2.jpg"></td>
|
||||
<td><img src="https://user-images.githubusercontent.com/12044174/85197263-7b70e180-b312-11ea-917a-35eab2ea08ae.jpg"></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
## Backers
|
||||
|
||||
Thank you to all our backers! ❤️ [[Become a backer](https://opencollective.com/intellij-rainbow-brackets#backer)]
|
||||
|
||||
<a href="https://opencollective.com/intellij-rainbow-brackets#backers" target="_blank"><img src="https://opencollective.com/intellij-rainbow-brackets/backers.svg?width=890"></a>
|
||||
|
||||
## Sponsors
|
||||
|
||||
Support this project by becoming a sponsor! 🌈 Your logo will show up here with a link to your website. [[Become a sponsor](https://opencollective.com/intellij-rainbow-brackets#sponsor)]
|
||||
|
||||
<a href="https://opencollective.com/intellij-rainbow-brackets/sponsor/0/website" target="_blank"><img src="https://opencollective.com/intellij-rainbow-brackets/sponsor/0/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/intellij-rainbow-brackets/sponsor/1/website" target="_blank"><img src="https://opencollective.com/intellij-rainbow-brackets/sponsor/1/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/intellij-rainbow-brackets/sponsor/2/website" target="_blank"><img src="https://opencollective.com/intellij-rainbow-brackets/sponsor/2/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/intellij-rainbow-brackets/sponsor/3/website" target="_blank"><img src="https://opencollective.com/intellij-rainbow-brackets/sponsor/3/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/intellij-rainbow-brackets/sponsor/4/website" target="_blank"><img src="https://opencollective.com/intellij-rainbow-brackets/sponsor/4/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/intellij-rainbow-brackets/sponsor/5/website" target="_blank"><img src="https://opencollective.com/intellij-rainbow-brackets/sponsor/5/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/intellij-rainbow-brackets/sponsor/6/website" target="_blank"><img src="https://opencollective.com/intellij-rainbow-brackets/sponsor/6/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/intellij-rainbow-brackets/sponsor/7/website" target="_blank"><img src="https://opencollective.com/intellij-rainbow-brackets/sponsor/7/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/intellij-rainbow-brackets/sponsor/8/website" target="_blank"><img src="https://opencollective.com/intellij-rainbow-brackets/sponsor/8/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/intellij-rainbow-brackets/sponsor/9/website" target="_blank"><img src="https://opencollective.com/intellij-rainbow-brackets/sponsor/9/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/intellij-rainbow-brackets/sponsor/10/website" target="_blank"><img src="https://opencollective.com/intellij-rainbow-brackets/sponsor/10/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/intellij-rainbow-brackets/sponsor/11/website" target="_blank"><img src="https://opencollective.com/intellij-rainbow-brackets/sponsor/11/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/intellij-rainbow-brackets/sponsor/12/website" target="_blank"><img src="https://opencollective.com/intellij-rainbow-brackets/sponsor/12/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/intellij-rainbow-brackets/sponsor/13/website" target="_blank"><img src="https://opencollective.com/intellij-rainbow-brackets/sponsor/13/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/intellij-rainbow-brackets/sponsor/14/website" target="_blank"><img src="https://opencollective.com/intellij-rainbow-brackets/sponsor/14/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/intellij-rainbow-brackets/sponsor/15/website" target="_blank"><img src="https://opencollective.com/intellij-rainbow-brackets/sponsor/15/avatar.svg"></a>
|
2
.github/FUNDING.yml
vendored
Normal file
2
.github/FUNDING.yml
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
open_collective: intellij-rainbow-brackets
|
||||
custom: https://github.com/izhangzhihao/intellij-rainbow-brackets#support-us
|
57
.github/ISSUE_TEMPLATE/bug_report.md
vendored
Normal file
57
.github/ISSUE_TEMPLATE/bug_report.md
vendored
Normal file
@@ -0,0 +1,57 @@
|
||||
---
|
||||
name: Bug report
|
||||
about: Create a report to help us improve
|
||||
title: ''
|
||||
labels: bug?
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
Your issue may already be reported!
|
||||
Please search on the [issues](https://github.com/izhangzhihao/intellij-rainbow-brackets/issues) and the [document](https://github.com/izhangzhihao/intellij-rainbow-brackets/blob/2020.3/README.md) before creating one.
|
||||
|
||||
## Please check
|
||||
|
||||
- [ ] I already support this project.
|
||||
- [ ] If you are submitting a feature request, please do consider donating us on [Open Collective](https://opencollective.com/intellij-rainbow-brackets) Or by AliPay/WeChatPay.
|
||||
- [ ] This issue/feature request is not reported before.
|
||||
|
||||
## Your programming languages
|
||||
|
||||
## Expected Behavior
|
||||
* If you're describing a bug, tell us what should happen
|
||||
* If you're suggesting a change/improvement, tell us how it should work
|
||||
|
||||
## Current Behavior
|
||||
* If describing a bug, tell us what happens instead of the expected behavior
|
||||
* If suggesting a change/improvement, explain the difference from current behavior
|
||||
|
||||
## Possible Solution
|
||||
Not obligatory, but suggest a fix/reason for the bug, or ideas how to implement the addition or change.
|
||||
Or what have you tried to resolve this issue.
|
||||
|
||||
## Code snippet for reproduce (for bugs)
|
||||
Please provide code snippet for reproduce bugs.
|
||||
|
||||
## Your Environment
|
||||
|
||||
* Plugin version:
|
||||
* IDE & Operating System version, comment your env as below(go to "About IntelliJ IDEA" -> click the "copy" icon):
|
||||
* NOTE: If you are going to report a bug but WITHOUT your env information, your issue might be closed directly.
|
||||
|
||||
```
|
||||
IntelliJ IDEA 2021.2 (Ultimate Edition)
|
||||
Build #IU-212.4746.92, built on July 27, 2021
|
||||
Licensed to IntelliJ Rainbow Brackets / Zhang Zhihao
|
||||
Subscription is active until February 3, 2022.
|
||||
For non-commercial open source development only.
|
||||
Runtime version: 11.0.11+9-b1504.13 x86_64
|
||||
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.
|
||||
macOS 11.4
|
||||
GC: G1 Young Generation, G1 Old Generation
|
||||
Memory: 4096M
|
||||
Cores: 16
|
||||
Registry: ide.tooltip.initialDelay=900, ide.balloon.shadow.size=0, scala.erase.compiler.process.jdk.once=false
|
||||
Non-Bundled Plugins: com.intellij.properties.bundle.editor (212.4746.57), com.markskelton.one-dark-theme (5.3.0), lermitage.intellij.extra.icons (1.59.0.203), org.nik.presentation-assistant (1.0.9), kotest-plugin-intellij (1.1.36-IC-2021.1), Pythonid (212.4746.96), org.intellij.scala (2021.2.15), izhangzhihao.rainbow.brackets (6.19), com.intellij.bigdatatools (212.4037.55)
|
||||
Kotlin: 212-1.5.10-release-IJ4746.92
|
||||
```
|
24
.github/ISSUE_TEMPLATE/feature_request.md
vendored
Normal file
24
.github/ISSUE_TEMPLATE/feature_request.md
vendored
Normal file
@@ -0,0 +1,24 @@
|
||||
---
|
||||
name: Feature request
|
||||
about: Suggest an idea for this project
|
||||
title: ''
|
||||
labels: feature request
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
**Please [support us](https://github.com/izhangzhihao/intellij-rainbow-brackets#support-us) before creating a feature request, thanks for your support 😁**
|
||||
|
||||
## Please check
|
||||
|
||||
- [ ] I already support this project.
|
||||
- [ ] If you are submitting a feature request, please do consider donating us on [Open Collective](https://opencollective.com/intellij-rainbow-brackets) Or by AliPay/WeChatPay.
|
||||
- [ ] This issue/feature request is not reported before.
|
||||
|
||||
## Your programming languages
|
||||
|
||||
## Expected Behavior
|
||||
* tell us how it will works
|
||||
|
||||
## Current Behavior
|
||||
* explain the difference from current behavior
|
13
.github/opencollective.yml
vendored
Normal file
13
.github/opencollective.yml
vendored
Normal file
@@ -0,0 +1,13 @@
|
||||
collective: intellij-rainbow-brackets
|
||||
tiers:
|
||||
- tiers: "*"
|
||||
labels: ["backer"]
|
||||
message: "Hey <author> , thanks for supporting us on Open Collective :heart::heart::heart: We'll give a special attention to this issue!"
|
||||
invitation: |
|
||||
Hey <author> :wave:,
|
||||
|
||||
Thank you for opening an issue/feature request. We will get back to you as soon as we can.
|
||||
Also, check out our <link> and consider backing us - every little helps!
|
||||
|
||||
PS.: We offer `priority` support for all backers. Don't forget to
|
||||
add `priority` label when you start backing us :smile:
|
75
.github/workflows/build.yml
vendored
Normal file
75
.github/workflows/build.yml
vendored
Normal file
@@ -0,0 +1,75 @@
|
||||
name: Build
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- '2020.3'
|
||||
pull_request:
|
||||
jobs:
|
||||
test:
|
||||
name: Test
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
# Setup Java 11 environment for the next steps
|
||||
- name: Setup Java
|
||||
uses: actions/setup-java@v2
|
||||
with:
|
||||
distribution: 'adopt'
|
||||
java-version: 11
|
||||
|
||||
# Check out current repository
|
||||
- name: Fetch Sources
|
||||
uses: actions/checkout@v2.3.4
|
||||
|
||||
# Cache Gradle dependencies
|
||||
- name: Setup Gradle Dependencies Cache
|
||||
uses: actions/cache@v2.1.6
|
||||
with:
|
||||
path: ~/.gradle/caches
|
||||
key: ${{ runner.os }}-gradle-caches-${{ hashFiles('**/*.gradle', '**/*.gradle.kts') }}
|
||||
|
||||
# Cache Gradle Wrapper
|
||||
- name: Setup Gradle Wrapper Cache
|
||||
uses: actions/cache@v2.1.6
|
||||
with:
|
||||
path: ~/.gradle/wrapper
|
||||
key: ${{ runner.os }}-gradle-wrapper-${{ hashFiles('**/gradle/wrapper/gradle-wrapper.properties') }}
|
||||
|
||||
# Run detekt, ktlint and tests
|
||||
- name: Run Linters and Test
|
||||
run: ./gradlew check
|
||||
|
||||
# Run verifyPlugin Gradle task
|
||||
- name: Verify Plugin
|
||||
run: ./gradlew verifyPlugin
|
||||
|
||||
# Set environment variables
|
||||
- name: Export Properties
|
||||
id: properties
|
||||
shell: bash
|
||||
run: |
|
||||
PROPERTIES="$(./gradlew properties --console=plain -q)"
|
||||
IDE_VERSIONS="$(echo "$PROPERTIES" | grep "^pluginVerifierIdeVersions:" | base64)"
|
||||
VERSION="$(echo "$PROPERTIES" | grep "^version:" | cut -f2- -d ' ')"
|
||||
NAME="intellij-rainbow-brackets"
|
||||
ARTIFACT="${NAME}-${VERSION}.zip"
|
||||
|
||||
echo "::set-output name=ideVersions::$IDE_VERSIONS"
|
||||
echo "::set-output name=pluginVerifierHomeDir::~/.pluginVerifier"
|
||||
echo "::set-output name=artifact::$ARTIFACT"
|
||||
|
||||
# Cache Plugin Verifier IDEs
|
||||
- name: Setup Plugin Verifier IDEs Cache
|
||||
uses: actions/cache@v2.1.6
|
||||
with:
|
||||
path: ${{ steps.properties.outputs.pluginVerifierHomeDir }}/ides
|
||||
key: ${{ runner.os }}-plugin-verifier-${{ steps.properties.outputs.ideVersions }}
|
||||
|
||||
# Run IntelliJ Plugin Verifier action using GitHub Action
|
||||
- name: Verify Plugin
|
||||
run: ./gradlew runPluginVerifier -Pplugin.verifier.home.dir=${{ steps.properties.outputs.pluginVerifierHomeDir }}
|
||||
|
||||
- name: Upload artifact
|
||||
uses: actions/upload-artifact@v2.2.3
|
||||
with:
|
||||
name: UnZipMe
|
||||
path: ./build/distributions/${{ steps.properties.outputs.artifact }}
|
27
.github/workflows/label-and-close-issue.yml
vendored
Normal file
27
.github/workflows/label-and-close-issue.yml
vendored
Normal file
@@ -0,0 +1,27 @@
|
||||
name: "Label and close wontfix issues"
|
||||
|
||||
on:
|
||||
issues:
|
||||
types: [opened]
|
||||
|
||||
jobs:
|
||||
Label:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: Naturalclar/issue-action@v2.0.2
|
||||
with:
|
||||
title-or-body: "both"
|
||||
parameters: '[ {"keywords": ["RainbowHighlightVisitor.kt:35", "RainbowHighlightVisitor.kt:68", "RainbowHighlightVisitor.analyze"], "labels": ["invalid"]} ]'
|
||||
github-token: "${{ secrets.GITHUB_TOKEN }}"
|
||||
Close:
|
||||
needs: [Label]
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/stale@v3.0.14
|
||||
with:
|
||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
days-before-stale: 0
|
||||
days-before-close: 0
|
||||
stale-issue-message: "This auto generated issue has been automatically marked as wontfix because nothing it's wrong here. If you think there are something really wrong, please reply this issue. Thanks for your cooperation."
|
||||
stale-issue-label: "wontfix"
|
||||
only-labels: "invalid"
|
46
.github/workflows/release.yml
vendored
Normal file
46
.github/workflows/release.yml
vendored
Normal file
@@ -0,0 +1,46 @@
|
||||
# GitHub Actions Workflow created for handling the release process based on the draft release prepared
|
||||
# with the Build workflow. Running the publishPlugin task requires the PUBLISH_TOKEN secret provided.
|
||||
|
||||
name: Release
|
||||
on:
|
||||
release:
|
||||
types: [prereleased, released]
|
||||
|
||||
jobs:
|
||||
# Prepare and publish the plugin to the Marketplace repository
|
||||
release:
|
||||
name: Publish Plugin
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
# Setup Java 11 environment for the next steps
|
||||
- name: Setup Java
|
||||
uses: actions/setup-java@v2
|
||||
with:
|
||||
distribution: "adopt"
|
||||
java-version: 11
|
||||
|
||||
# Check out current repository
|
||||
- name: Fetch Sources
|
||||
uses: actions/checkout@v2.3.4
|
||||
with:
|
||||
ref: ${{ github.event.release.tag_name }}
|
||||
|
||||
# Cache Gradle dependencies
|
||||
- name: Setup Gradle Dependencies Cache
|
||||
uses: actions/cache@v2.1.6
|
||||
with:
|
||||
path: ~/.gradle/caches
|
||||
key: ${{ runner.os }}-gradle-caches-${{ hashFiles('**/*.gradle', '**/*.gradle.kts') }}
|
||||
|
||||
# Cache Gradle Wrapper
|
||||
- name: Setup Gradle Wrapper Cache
|
||||
uses: actions/cache@v2.1.6
|
||||
with:
|
||||
path: ~/.gradle/wrapper
|
||||
key: ${{ runner.os }}-gradle-wrapper-${{ hashFiles('**/gradle/wrapper/gradle-wrapper.properties') }}
|
||||
|
||||
# Publish the plugin to the Marketplace
|
||||
- name: Publish Plugin
|
||||
env:
|
||||
token: ${{ secrets.PUBLISH_TOKEN }}
|
||||
run: ./gradlew publishPlugin
|
19
.github/workflows/stale.yml
vendored
Normal file
19
.github/workflows/stale.yml
vendored
Normal file
@@ -0,0 +1,19 @@
|
||||
name: 'Stale handler'
|
||||
on:
|
||||
workflow_dispatch:
|
||||
schedule:
|
||||
- cron: '0 0 * * *'
|
||||
|
||||
jobs:
|
||||
stale:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/stale@main
|
||||
id: stale
|
||||
with:
|
||||
stale-issue-message: 'This issue is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 5 days'
|
||||
days-before-stale: 30
|
||||
days-before-close: 5
|
||||
only-labels: 'PR welcome'
|
||||
- name: Print outputs
|
||||
run: echo ${{ join(steps.stale.outputs.*, ',') }}
|
15
.gitignore
vendored
15
.gitignore
vendored
@@ -1,7 +1,10 @@
|
||||
/.idea/*
|
||||
!/.idea/icon*.png
|
||||
!/.idea/runConfigurations
|
||||
|
||||
/.gradle/
|
||||
/build/
|
||||
/libs/
|
||||
!/.idea/icon.png
|
||||
!/.idea/icon_dark.png
|
||||
!/.idea/vcs.xml
|
||||
.sandbox/
|
||||
.gradle/
|
||||
build/
|
||||
*.iml
|
||||
.DS_Store
|
||||
out
|
5
.gitpod.Dockerfile
vendored
Normal file
5
.gitpod.Dockerfile
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
FROM gitpod/workspace-full
|
||||
|
||||
USER gitpod
|
||||
|
||||
RUN brew install kotlin
|
4
.gitpod.yml
Normal file
4
.gitpod.yml
Normal file
@@ -0,0 +1,4 @@
|
||||
image:
|
||||
file: .gitpod.Dockerfile
|
||||
tasks:
|
||||
- init: gradle compileKotlin
|
24
.idea/runConfigurations/Run_CLion.xml
generated
24
.idea/runConfigurations/Run_CLion.xml
generated
@@ -1,24 +0,0 @@
|
||||
<component name="ProjectRunConfigurationManager">
|
||||
<configuration default="false" name="Run CLion" type="GradleRunConfiguration" factoryName="Gradle">
|
||||
<ExternalSystemSettings>
|
||||
<option name="executionName" />
|
||||
<option name="externalProjectPath" value="$PROJECT_DIR$" />
|
||||
<option name="externalSystemIdString" value="GRADLE" />
|
||||
<option name="scriptParameters" value="" />
|
||||
<option name="taskDescriptions">
|
||||
<list />
|
||||
</option>
|
||||
<option name="taskNames">
|
||||
<list>
|
||||
<option value=":clion:runIde" />
|
||||
</list>
|
||||
</option>
|
||||
<option name="vmOptions" />
|
||||
</ExternalSystemSettings>
|
||||
<ExternalSystemDebugServerProcess>true</ExternalSystemDebugServerProcess>
|
||||
<ExternalSystemReattachDebugProcess>true</ExternalSystemReattachDebugProcess>
|
||||
<DebugAllEnabled>false</DebugAllEnabled>
|
||||
<RunAsTest>false</RunAsTest>
|
||||
<method v="2" />
|
||||
</configuration>
|
||||
</component>
|
24
.idea/runConfigurations/Run_IDEA.xml
generated
24
.idea/runConfigurations/Run_IDEA.xml
generated
@@ -1,24 +0,0 @@
|
||||
<component name="ProjectRunConfigurationManager">
|
||||
<configuration default="false" name="Run IDEA" type="GradleRunConfiguration" factoryName="Gradle">
|
||||
<ExternalSystemSettings>
|
||||
<option name="executionName" />
|
||||
<option name="externalProjectPath" value="$PROJECT_DIR$" />
|
||||
<option name="externalSystemIdString" value="GRADLE" />
|
||||
<option name="scriptParameters" value="" />
|
||||
<option name="taskDescriptions">
|
||||
<list />
|
||||
</option>
|
||||
<option name="taskNames">
|
||||
<list>
|
||||
<option value=":idea:runIde" />
|
||||
</list>
|
||||
</option>
|
||||
<option name="vmOptions" />
|
||||
</ExternalSystemSettings>
|
||||
<ExternalSystemDebugServerProcess>true</ExternalSystemDebugServerProcess>
|
||||
<ExternalSystemReattachDebugProcess>true</ExternalSystemReattachDebugProcess>
|
||||
<DebugAllEnabled>false</DebugAllEnabled>
|
||||
<RunAsTest>false</RunAsTest>
|
||||
<method v="2" />
|
||||
</configuration>
|
||||
</component>
|
24
.idea/runConfigurations/Run_Rider.xml
generated
24
.idea/runConfigurations/Run_Rider.xml
generated
@@ -1,24 +0,0 @@
|
||||
<component name="ProjectRunConfigurationManager">
|
||||
<configuration default="false" name="Run Rider" type="GradleRunConfiguration" factoryName="Gradle">
|
||||
<ExternalSystemSettings>
|
||||
<option name="executionName" />
|
||||
<option name="externalProjectPath" value="$PROJECT_DIR$" />
|
||||
<option name="externalSystemIdString" value="GRADLE" />
|
||||
<option name="scriptParameters" value="" />
|
||||
<option name="taskDescriptions">
|
||||
<list />
|
||||
</option>
|
||||
<option name="taskNames">
|
||||
<list>
|
||||
<option value=":rider:runIde" />
|
||||
</list>
|
||||
</option>
|
||||
<option name="vmOptions" />
|
||||
</ExternalSystemSettings>
|
||||
<ExternalSystemDebugServerProcess>true</ExternalSystemDebugServerProcess>
|
||||
<ExternalSystemReattachDebugProcess>true</ExternalSystemReattachDebugProcess>
|
||||
<DebugAllEnabled>false</DebugAllEnabled>
|
||||
<RunAsTest>false</RunAsTest>
|
||||
<method v="2" />
|
||||
</configuration>
|
||||
</component>
|
1
.java-version
Normal file
1
.java-version
Normal file
@@ -0,0 +1 @@
|
||||
11
|
15
.mergify.yml
Normal file
15
.mergify.yml
Normal file
@@ -0,0 +1,15 @@
|
||||
pull_request_rules:
|
||||
- name: Automatic merge on approval
|
||||
conditions:
|
||||
- "#approved-reviews-by>=1"
|
||||
- status-success=Test
|
||||
actions:
|
||||
merge:
|
||||
method: merge
|
||||
- name: automatically merge dependabot's PRs
|
||||
conditions:
|
||||
- author~=^dependabot(|-preview)\[bot\]$
|
||||
- status-success=Test
|
||||
actions:
|
||||
merge:
|
||||
method: merge
|
302
README.md
302
README.md
@@ -1,17 +1,297 @@
|
||||
# Rainbow Brackets
|
||||
|
||||
This is a fork of the [🌈Rainbow Brackets](https://github.com/izhangzhihao/intellij-rainbow-brackets) plugin by <a href="https://github.com/izhangzhihao">izhangzhihao</a>.
|
||||
<div align="center">
|
||||
<a href="https://plugins.jetbrains.com/plugin/10080-rainbow-brackets">
|
||||
<img src="./src/main/resources/META-INF/pluginIcon.svg" width="320" height="320" alt="logo"/>
|
||||
</a>
|
||||
</div>
|
||||
<h1 align="center">Intellij rainbow brackets</h1>
|
||||
<p align="center">🌈Rainbow Brackets for IntelliJ based IDEs/Android Studio/HUAWEI DevEco Studio.</p>
|
||||
|
||||
## Changes
|
||||
<p align="center">
|
||||
<!-- <a href="https://actions-badge.atrox.dev/izhangzhihao/intellij-rainbow-brackets/goto?ref=2020.3"><img alt="Build Status" src="https://img.shields.io/endpoint.svg?url=https%3A%2F%2Factions-badge.atrox.dev%2Fizhangzhihao%2Fintellij-rainbow-brackets%2Fbadge%3Fref%3D2020.3&style=flat-square" /></a> -->
|
||||
<!-- <a href="https://github.com/izhangzhihao/intellij-rainbow-brackets/releases"><img src="https://img.shields.io/github/release/izhangzhihao/intellij-rainbow-brackets.svg?style=flat-square"></a> -->
|
||||
<a href="https://plugins.jetbrains.com/plugin/10080-rainbow-brackets"><img src="https://img.shields.io/jetbrains/plugin/r/stars/10080?style=flat-square"></a>
|
||||
<a href="https://plugins.jetbrains.com/embeddable/install/10080"><img src="https://img.shields.io/jetbrains/plugin/d/10080-rainbow-brackets.svg?style=flat-square"></a>
|
||||
<a href="https://plugins.jetbrains.com/plugin/10080-rainbow-brackets"><img src="https://img.shields.io/jetbrains/plugin/v/10080-rainbow-brackets.svg?style=flat-square"></a>
|
||||
<a href="https://opencollective.com/intellij-rainbow-brackets#backer"><img src="https://img.shields.io/opencollective/backers/intellij-rainbow-brackets?style=flat-square"></a>
|
||||
<a href="https://opencollective.com/intellij-rainbow-brackets#sponsor"><img src="https://img.shields.io/opencollective/sponsors/intellij-rainbow-brackets?style=flat-square"></a>
|
||||
</p>
|
||||
|
||||
- Added support for Rider
|
||||
- Restructured the project for easier support of Rider and CLion
|
||||
- Removed post-update notification
|
||||
<br>
|
||||
|
||||
- [Change log](https://github.com/izhangzhihao/intellij-rainbow-brackets/blob/2020.3/CHANGELOG.md)
|
||||
- [Compatibility](#compatibility)
|
||||
- [Supported languages](#supported-languages)
|
||||
- [Author's choice](#authors-choice)
|
||||
- [Sponsored By CodeStream](#sponsored-by-codestream)
|
||||
- [Install](#install)
|
||||
- [Screenshots](#screenshots)
|
||||
- [Customize colors](#customize-colors)
|
||||
- [Use color generator](#use-color-generator)
|
||||
- [Config file path](#config-file-path)
|
||||
- [HTML code in js](#html-code-in-js)
|
||||
- [Kotlin function literal braces and arrow](#kotlin-function-literal-braces-and-arrow)
|
||||
- [Disable rainbow brackets for specific languages](#disable-rainbow-brackets-for-specific-languages)
|
||||
- [Contribute](#contribute)
|
||||
- [Support Us](#support-us)
|
||||
- [Backers](#backers)
|
||||
- [Sponsors](#sponsors)
|
||||
- [Acknowledgements](#acknowledgements)
|
||||
|
||||
## Compatibility
|
||||
|
||||
IntelliJ IDEA, PhpStorm, WebStorm, PyCharm, RubyMine, AppCode, CLion, Gogland, DataGrip, Rider, MPS, Android Studio, HUAWEI DevEco Studio, DataSpell, Code With Me
|
||||
|
||||
## Supported languages
|
||||
|
||||
Java, Scala, Clojure, Kotlin, Python, Haskell, Agda, Rust, JavaScript, TypeScript, Erlang, Go, Groovy, Ruby, Elixir, ObjectiveC, PHP, HTML, XML, SQL, Apex language, C#, Dart, Pug/Jade, Bash, Vue.js, C# Razor Pages, GLSL(the OpenGL Shading Language), Go Template, C++, C...
|
||||
|
||||
## Author's choice
|
||||
|
||||
Rainbow Brackets + One Dark Theme + Nyan Progress Bar + [Fira Code](https://github.com/tonsky/FiraCode) (Font)
|
||||
|
||||
## Sponsored By [CodeStream](https://sponsorlink.codestream.com/?utm_source=jbmarket&utm_campaign=jbrainbowbrackets&utm_medium=banner)
|
||||
|
||||
[](https://sponsorlink.codestream.com/?utm_source=jbmarket&utm_campaign=jbrainbowbrackets&utm_medium=banner)
|
||||
|
||||
Eliminate context switching and costly distractions. Create and merge PRs and perform code reviews from inside your IDE while using jump-to-definition, your keybindings, and other IDE favorites. [Learn more](https://sponsorlink.codestream.com/?utm_source=jbmarket&utm_campaign=jbrainbowbrackets&utm_medium=banner)!
|
||||
|
||||
Development powered by [JetBrains](https://www.jetbrains.com/?from=IntelliJRainbowBrackets).
|
||||
|
||||
[](https://www.jetbrains.com/?from=IntelliJRainbowBrackets)
|
||||
|
||||
Whichever technologies you use, there's a JetBrains tool to match.
|
||||
|
||||
## Install
|
||||
|
||||
1. Visit [Releases](https://github.com/chylex/IntelliJ-Rainbow-Brackets/releases) and download the latest `RainbowBrackets-6.26-chylex-<version>.zip`
|
||||
2. Open the IDE and go to **File | Settings | Plugins**
|
||||
3. Uninstall any original version of Rainbow Brackets
|
||||
4. Click ⚙ and **Install Plugin from Disk...**
|
||||
5. Select the downloaded zip file
|
||||
<a href="https://plugins.jetbrains.com/embeddable/install/10080">
|
||||
<img src="https://user-images.githubusercontent.com/12044174/123105697-94066100-d46a-11eb-9832-338cdf4e0612.png" width="300"/>
|
||||
</a>
|
||||
|
||||
Or you could install it inside your IDE:
|
||||
|
||||
For Windows & Linux - <kbd>File</kbd> > <kbd>Settings</kbd> > <kbd>Plugins</kbd> > <kbd>Marketplace</kbd> > <kbd>Search for "Rainbow Brackets"</kbd> > <kbd>Install Plugin</kbd> > <kbd>Restart IntelliJ IDEA</kbd>
|
||||
|
||||
For Mac - <kbd>IntelliJ IDEA</kbd> > <kbd>Preferences</kbd> > <kbd>Plugins</kbd> > <kbd>Marketplace</kbd> > <kbd>Search for "Rainbow Brackets"</kbd> > <kbd>Install Plugin</kbd> > <kbd>Restart IntelliJ IDEA</kbd>
|
||||
|
||||
### Install snapshot build
|
||||
|
||||
You can download the latest snapshot build from [here](https://github.com/izhangzhihao/intellij-rainbow-brackets/actions/workflows/build.yml?query=workflow%3ABuild), just click the latest build and click the 'Artifacts' tab.(You need logged in via github) After the snapshot build downloaded, unzip it(via `unzip UnZipMe.zip`), and install the zip file(intellij-rainbow-brackets.zip[]()) by `Install Plugin from Disk...`.
|
||||
|
||||
## Screenshots
|
||||
|
||||
* Java
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
* Scala
|
||||
|
||||

|
||||
|
||||
* Clojure
|
||||
|
||||

|
||||
|
||||
* Kotlin
|
||||
|
||||

|
||||
|
||||
* HTML/XML
|
||||
|
||||

|
||||
|
||||
* Scope highlighting
|
||||
|
||||
**The highlight effects will not remove after release the shortcuts, but press `ESC` key can do this. You could also config `Press any key to remove the highlighting effect` in setting page.**
|
||||
|
||||
<kbd>Ctrl + Button3</kbd>(Windows & Linux) or <kbd>Meta+ Button3</kbd>(Mac):
|
||||
|
||||
NOTE: <kbd>Button3</kbd> means "Secondary Click (click or tap with two fingers)" on Mac os, "Right click" for Windows or Linux.
|
||||
|
||||

|
||||
|
||||
<kbd>Alt + Button3</kbd>:
|
||||
|
||||
NOTE: <kbd>Button3</kbd> means "Secondary Click (click or tap with two fingers)" on Mac os, "Right click" for Windows or Linux.
|
||||
|
||||

|
||||
|
||||
* Rainbow indent guide lines
|
||||
|
||||

|
||||
|
||||
* looking forward to your screenshots(PR welcome!)
|
||||
|
||||
## Customize colors
|
||||
|
||||
<kbd>Settings/Preferences</kbd> > <kbd>Editor</kbd> > <kbd>Color Scheme</kbd> > <kbd>Rainbow Brackets</kbd>:
|
||||
|
||||

|
||||
|
||||
## Use color generator
|
||||
|
||||
If you didn't like the build-in colors, or want some new color but don't want to try out and pick colors. Please use color generator.
|
||||
|
||||
<kbd>Settings/Preferences</kbd> > <kbd>Other Settings</kbd> > <kbd>Rainbow Brackets</kbd> > <kbd>Use color generator</kbd>
|
||||
|
||||
If you turn on this option, we will auto generate some colors for you.
|
||||
|
||||
### Advanced options of color generator
|
||||
|
||||
If you need more control, you can decide the options of color generator by edit [the config file](#config-file-path),
|
||||
|
||||
The value of the option `customColorGeneratorOption` is a json object, available options are:
|
||||
|
||||
```hue``` – Controls the hue of the generated color. You can pass a string representing a color name: ```red```, ```orange```, ```yellow```, ```green```, ```blue```, ```purple```, ```pink``` and ```monochrome``` are currently supported. If you pass a hexidecimal color string such as ```#00FFFF```, color generator will extract its hue value and use that to generate colors.
|
||||
|
||||
```luminosity``` – Controls the luminosity of the generated color. You can specify a string containing ```bright```, ```light``` or ```dark```.
|
||||
|
||||
Please make sure the value of the option `customColorGeneratorOption` is escaped in xml format,
|
||||
you can use [this tool](https://www.freeformatter.com/xml-escape.html#ad-output) to do this. Please don't forget to restart your IDE after change the config file.
|
||||
|
||||
```xml
|
||||
<application>
|
||||
<component name="RainbowSettings">
|
||||
<option name="useColorGenerator" value="true" />
|
||||
<option name="customColorGeneratorOption" value="{"luminosity": "light","hue": "blue"}"/>
|
||||
</component>
|
||||
</application>
|
||||
```
|
||||
|
||||
### Want to config the number of colors?
|
||||
|
||||
<kbd>Settings/Preferences</kbd> > <kbd>Other Settings</kbd> > <kbd>Rainbow Brackets</kbd> > `Number of colors`: 5 or more
|
||||
|
||||
And you can use the color generator and config you number of colors at the same time.
|
||||
|
||||
NOTE: For default and darcula color scheme(`Editor -> Color Scheme -> Rainbow Brackets -> Scheme`) the color number is 10, for the other scheme the number is 5, if your number is bigger than the number, you can config them in the config file.
|
||||
If the color is not exist, we will use color generator to generator it for you.
|
||||
|
||||
Please follow [the official guide](https://www.jetbrains.com/help/idea/configuring-colors-and-fonts.html#share-color-scheme):
|
||||
* `Export a color scheme as XML`
|
||||
* Edit the xml file, put `ROUND_BRACKETS_RAINBOW_COLOR5` to `ROUND_BRACKETS_RAINBOW_COLOR100` to match your number just like [the default color scheme](./src/main/resources/colorSchemes/rainbow-color-default-darcula.xml).
|
||||
* `Import a color scheme`
|
||||
|
||||
## Config file path
|
||||
|
||||
If you want to customize the advanced configuration, you could edit the config file then restart your IDE.
|
||||
Config file path in `APP_CONFIG/rainbow_brackets.xml`.
|
||||
|
||||
In MAC OS env maybe like `~/Library/Preferences/IntelliJIdea2020.2/options/rainbow_brackets.xml`.
|
||||
|
||||
If you are using the ToolBox, then it will be like `~/Library/ApplicationSupport/JetBrains/IntelliJIdea2020.2/options/rainbow_brackets.xml`
|
||||
|
||||
In Linux env maybe like `~/.IntelliJIdea/config/options/rainbow_brackets.xml`.
|
||||
|
||||
In Windows env maybe like `C:\Users\izhangzhihao\.IntelliJIdea2020.2\config\options\rainbow_brackets.xml`.
|
||||
|
||||
## HTML code in js
|
||||
|
||||
To enable rainbow brackets for HTML inside js code like this:
|
||||
|
||||
```javascript
|
||||
var html = '<div><div><div>Hello</div></div></div>';
|
||||
```
|
||||
|
||||
This plugin will automatically override color scheme property "HTML_CODE" [cause our rainbow color been covered by intellij built-in functionality](https://intellij-support.jetbrains.com/hc/en-us/community/posts/360000117450-My-HighlightVisitor-been-covered-by-intellij-built-in-functionality).
|
||||
You still could set `<option name="rainbowifyHTMLInsideJS" value="false" />` in config file to disable.
|
||||
|
||||
## Kotlin function literal braces and arrow
|
||||
|
||||
To enable rainbow brackets for multiple level lambda Kotlin code like this:
|
||||
|
||||
```kotlin
|
||||
event.throwable?.let { throwable ->
|
||||
IdeErrorsDialog.findPluginId(throwable)?.let { pluginId ->
|
||||
PluginManager.getPlugin(pluginId)?.let { ideaPluginDescriptor ->
|
||||
if (!ideaPluginDescriptor.isBundled) {
|
||||
bean.pluginName = ideaPluginDescriptor.name
|
||||
bean.pluginVersion = ideaPluginDescriptor.version
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
This plugin will automatically override color scheme property "KOTLIN_FUNCTION_LITERAL_BRACES_AND_ARROW" cause our rainbow color is being covered by kotlin plugin built-in functionality.
|
||||
You still could set `<option name="rainbowifyKotlinFunctionLiteralBracesAndArrow" value="false" />` in config file to disable.
|
||||
|
||||
## Disable rainbow brackets for specific languages
|
||||
|
||||
<kbd>Settings/Preferences</kbd> > <kbd>Other Settings</kbd> > <kbd>Rainbow Brackets</kbd> > `Do NOT rainbowify these languages (name or extension, comma separated)`:
|
||||
|
||||
NOTE: You can use **name** of language or **extension** of file name(The names should be **lowercase**).
|
||||
|
||||
## Contribute
|
||||
|
||||
NOTE: To view the PSI tree and explore the internal PSI structure of source code, you need to set up your IDE by following [this](https://www.jetbrains.com/help/idea/psi-viewer.html).
|
||||
For the Rider IDE, please follow: [this](https://rider-support.jetbrains.com/hc/en-us/articles/207327910-How-to-run-JetBrains-Rider-in-Internal-Mode)
|
||||
|
||||
* `gradle test`
|
||||
* `gradle runIde`
|
||||
* `gradle buildPlugin`
|
||||
|
||||
## Support Us
|
||||
|
||||
You can support us by the following actions:
|
||||
|
||||
* Star this project
|
||||
* Share this plugin with your friends
|
||||
* Rate this plugin on [JetBrains plugin repository](https://plugins.jetbrains.com/plugin/10080-rainbow-brackets)
|
||||
* Make pull requests
|
||||
* Report bugs
|
||||
* Tell us your ideas
|
||||
* Become a sponsor by donating on [Open Collective](https://opencollective.com/intellij-rainbow-brackets)
|
||||
* Become a sponsor by donating with AliPay or WeChatPay
|
||||
* Don't want to use AliPay's mobile App? If you could read Chinese, please use [the official website](https://shenghuo.alipay.com/send/payment/fill.htm) to transfer your donation to my Alipay account(izhangzhihao@hotmail.com). Otherwise, you can try [the English version of Alipay](https://global.alipay.com/) to transfer your donation.
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<th width="33%">Open Collective</th>
|
||||
<th width="33%">AliPay</th>
|
||||
<th width="33%">WeChatPay</th>
|
||||
</tr>
|
||||
<tr></tr>
|
||||
<tr align="center">
|
||||
<td>
|
||||
<a href="https://opencollective.com/intellij-rainbow-brackets" target="_blank">
|
||||
<img src="https://opencollective.com/static/images/opencollectivelogo-footer-n.svg" width="171px" alt="OpenCollective">
|
||||
</a>
|
||||
</td>
|
||||
<td><img src="https://user-images.githubusercontent.com/12044174/85197261-77dd5a80-b312-11ea-9630-51caf7d634f2.jpg"></td>
|
||||
<td><img src="https://user-images.githubusercontent.com/12044174/85197263-7b70e180-b312-11ea-917a-35eab2ea08ae.jpg"></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
## Backers
|
||||
|
||||
Thank you to all our backers! ❤️ [[Become a backer](https://opencollective.com/intellij-rainbow-brackets#backer)]
|
||||
|
||||
<a href="https://opencollective.com/intellij-rainbow-brackets#backers" target="_blank"><img src="https://opencollective.com/intellij-rainbow-brackets/backers.svg?width=890"></a>
|
||||
|
||||
## Sponsors
|
||||
|
||||
Support this project by becoming a sponsor! 🌈 Your logo will show up here with a link to your website. [[Become a sponsor](https://opencollective.com/intellij-rainbow-brackets#sponsor)]
|
||||
|
||||
<a href="https://opencollective.com/intellij-rainbow-brackets/sponsor/0/website" target="_blank"><img src="https://opencollective.com/intellij-rainbow-brackets/sponsor/0/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/intellij-rainbow-brackets/sponsor/1/website" target="_blank"><img src="https://opencollective.com/intellij-rainbow-brackets/sponsor/1/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/intellij-rainbow-brackets/sponsor/2/website" target="_blank"><img src="https://opencollective.com/intellij-rainbow-brackets/sponsor/2/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/intellij-rainbow-brackets/sponsor/3/website" target="_blank"><img src="https://opencollective.com/intellij-rainbow-brackets/sponsor/3/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/intellij-rainbow-brackets/sponsor/4/website" target="_blank"><img src="https://opencollective.com/intellij-rainbow-brackets/sponsor/4/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/intellij-rainbow-brackets/sponsor/5/website" target="_blank"><img src="https://opencollective.com/intellij-rainbow-brackets/sponsor/5/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/intellij-rainbow-brackets/sponsor/6/website" target="_blank"><img src="https://opencollective.com/intellij-rainbow-brackets/sponsor/6/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/intellij-rainbow-brackets/sponsor/7/website" target="_blank"><img src="https://opencollective.com/intellij-rainbow-brackets/sponsor/7/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/intellij-rainbow-brackets/sponsor/8/website" target="_blank"><img src="https://opencollective.com/intellij-rainbow-brackets/sponsor/8/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/intellij-rainbow-brackets/sponsor/9/website" target="_blank"><img src="https://opencollective.com/intellij-rainbow-brackets/sponsor/9/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/intellij-rainbow-brackets/sponsor/10/website" target="_blank"><img src="https://opencollective.com/intellij-rainbow-brackets/sponsor/10/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/intellij-rainbow-brackets/sponsor/11/website" target="_blank"><img src="https://opencollective.com/intellij-rainbow-brackets/sponsor/11/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/intellij-rainbow-brackets/sponsor/12/website" target="_blank"><img src="https://opencollective.com/intellij-rainbow-brackets/sponsor/12/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/intellij-rainbow-brackets/sponsor/13/website" target="_blank"><img src="https://opencollective.com/intellij-rainbow-brackets/sponsor/13/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/intellij-rainbow-brackets/sponsor/14/website" target="_blank"><img src="https://opencollective.com/intellij-rainbow-brackets/sponsor/14/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/intellij-rainbow-brackets/sponsor/15/website" target="_blank"><img src="https://opencollective.com/intellij-rainbow-brackets/sponsor/15/avatar.svg"></a>
|
||||
|
||||
## Acknowledgements
|
||||
|
||||
Intellij-rainbow-brackets is heavily inspired by [Rainbow Brackets for Visual Studio Code](https://marketplace.visualstudio.com/items?itemName=2gua.rainbow-brackets)
|
||||
|
153
build.gradle.kts
153
build.gradle.kts
@@ -1,109 +1,74 @@
|
||||
@file:Suppress("SpellCheckingInspection")
|
||||
|
||||
import org.jetbrains.intellij.IntelliJPluginExtension
|
||||
import org.jetbrains.intellij.tasks.BuildPluginTask
|
||||
import org.jetbrains.intellij.tasks.BuildSearchableOptionsTask
|
||||
import org.jetbrains.intellij.tasks.PatchPluginXmlTask
|
||||
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
|
||||
|
||||
plugins {
|
||||
idea
|
||||
kotlin("jvm")
|
||||
id("org.jetbrains.intellij") apply false
|
||||
id("org.jetbrains.intellij") version "1.9.0"
|
||||
id("org.jetbrains.kotlin.jvm") version "1.7.20"
|
||||
id("idea")
|
||||
}
|
||||
|
||||
group = "com.chylex.intellij.rainbowbrackets"
|
||||
version = "6.26-chylex-4"
|
||||
repositories {
|
||||
mavenLocal()
|
||||
mavenCentral()
|
||||
maven(url = "https://maven-central.storage-download.googleapis.com/repos/central/data/")
|
||||
maven(url = "https://www.jetbrains.com/intellij-repository/releases")
|
||||
maven(url = "https://www.jetbrains.com/intellij-repository/snapshots")
|
||||
}
|
||||
|
||||
val ideVersion = "2023.3"
|
||||
val ideBuild = "233"
|
||||
group = "com.github.izhangzhihao"
|
||||
version = "6.26-chylex-1"
|
||||
|
||||
idea {
|
||||
module {
|
||||
excludeDirs.add(file("gradle"))
|
||||
}
|
||||
intellij {
|
||||
type.set("IU")
|
||||
version.set("2022.2.3")
|
||||
updateSinceUntilBuild.set(false)
|
||||
|
||||
plugins.set(
|
||||
listOf(
|
||||
// Built-in
|
||||
"Groovy",
|
||||
"JavaScript",
|
||||
"com.intellij.css",
|
||||
"com.intellij.database",
|
||||
"com.intellij.java",
|
||||
"org.intellij.plugins.markdown",
|
||||
"org.jetbrains.kotlin",
|
||||
"org.jetbrains.plugins.yaml",
|
||||
// Downloaded
|
||||
"Dart:222.4345.14", // https://plugins.jetbrains.com/plugin/6351-dart/versions/stable
|
||||
"Pythonid:222.4345.14", // https://plugins.jetbrains.com/plugin/631-python/versions
|
||||
"com.jetbrains.php:222.4345.15", // https://plugins.jetbrains.com/plugin/6610-php/versions
|
||||
"com.jetbrains.sh:222.4345.5", // https://plugins.jetbrains.com/plugin/13122-shell-script/versions
|
||||
"org.intellij.scala:2022.2.17", // https://plugins.jetbrains.com/plugin/1347-scala/versions
|
||||
"org.jetbrains.plugins.go-template:222.4345.14", // https://plugins.jetbrains.com/plugin/10581-go-template/versions
|
||||
"org.jetbrains.plugins.ruby:222.4345.14", // https://plugins.jetbrains.com/plugin/1293-ruby/versions
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
tasks.runIde {
|
||||
systemProperties["idea.auto.reload.plugins"] = false
|
||||
jvmArgs = listOf(
|
||||
"-Xms512m",
|
||||
"-Xmx2048m",
|
||||
)
|
||||
}
|
||||
|
||||
tasks.patchPluginXml {
|
||||
sinceBuild.set("222")
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation(project(":clion"))
|
||||
implementation(project(":idea"))
|
||||
implementation(project(":rider"))
|
||||
compileOnly(fileTree("libs"))
|
||||
testImplementation("io.kotest:kotest-assertions-core:5.5.2")
|
||||
}
|
||||
|
||||
subprojects {
|
||||
apply(plugin = "org.jetbrains.kotlin.jvm")
|
||||
apply(plugin = "org.jetbrains.intellij")
|
||||
|
||||
group = rootProject.group
|
||||
version = rootProject.version
|
||||
|
||||
repositories {
|
||||
mavenCentral()
|
||||
maven(url = "https://www.jetbrains.com/intellij-repository/releases")
|
||||
maven(url = "https://www.jetbrains.com/intellij-repository/snapshots")
|
||||
}
|
||||
|
||||
dependencies {
|
||||
testImplementation("junit:junit:4.13.2")
|
||||
testImplementation("io.kotest:kotest-assertions-core:5.5.5")
|
||||
}
|
||||
|
||||
kotlin {
|
||||
jvmToolchain(17)
|
||||
}
|
||||
|
||||
configure<IntelliJPluginExtension> {
|
||||
version.set(ideVersion)
|
||||
updateSinceUntilBuild.set(false)
|
||||
}
|
||||
|
||||
tasks.withType<KotlinCompile> {
|
||||
kotlinOptions.freeCompilerArgs = listOf(
|
||||
"-Xjvm-default=all"
|
||||
)
|
||||
}
|
||||
|
||||
tasks.test {
|
||||
useJUnit()
|
||||
}
|
||||
|
||||
tasks.getByName<BuildSearchableOptionsTask>("buildSearchableOptions") {
|
||||
enabled = false
|
||||
}
|
||||
|
||||
tasks.getByName<PatchPluginXmlTask>("patchPluginXml") {
|
||||
sinceBuild.set(ideBuild)
|
||||
}
|
||||
|
||||
tasks.getByName<BuildPluginTask>("buildPlugin") {
|
||||
eachFile {
|
||||
name = name.replaceFirst("instrumented-", "instrumented-RainbowBrackets-")
|
||||
relativePath.segments[0] = "RainbowBrackets"
|
||||
}
|
||||
|
||||
includeEmptyDirs = false
|
||||
}
|
||||
java {
|
||||
toolchain {
|
||||
languageVersion.set(JavaLanguageVersion.of(17))
|
||||
}
|
||||
}
|
||||
|
||||
tasks.register<Zip>("buildPlugin") {
|
||||
group = "intellij"
|
||||
|
||||
for (project in listOf("clion", "idea", "rider")) {
|
||||
val buildPlugin = project(":$project").tasks.getByName("buildPlugin")
|
||||
val outputs = buildPlugin.outputs.files.map(::zipTree)
|
||||
|
||||
dependsOn(buildPlugin)
|
||||
|
||||
from(outputs) {
|
||||
include("RainbowBrackets/lib/instrumented-RainbowBrackets-$project-$version.jar")
|
||||
}
|
||||
|
||||
if (project == "idea") {
|
||||
from(outputs) {
|
||||
include("RainbowBrackets/lib/searchableOptions-$version.jar")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
destinationDirectory = layout.buildDirectory.dir("distributions")
|
||||
tasks.withType<KotlinCompile> {
|
||||
kotlinOptions.jvmTarget = "17"
|
||||
kotlinOptions.freeCompilerArgs = listOf("-Xjsr305=strict")
|
||||
}
|
||||
|
1
clion/.gitignore
vendored
1
clion/.gitignore
vendored
@@ -1 +0,0 @@
|
||||
/build/
|
@@ -1,16 +0,0 @@
|
||||
plugins {
|
||||
id("org.jetbrains.intellij")
|
||||
}
|
||||
|
||||
intellij {
|
||||
type.set("CL")
|
||||
|
||||
plugins.set(listOf(
|
||||
// Built-in
|
||||
"cidr-base-plugin"
|
||||
))
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation(project(":idea"))
|
||||
}
|
@@ -1,8 +0,0 @@
|
||||
package com.github.izhangzhihao.rainbow.brackets.provider
|
||||
|
||||
import com.intellij.lang.BracePair
|
||||
import com.jetbrains.cidr.lang.parser.OCLexerTokenTypes
|
||||
|
||||
class OCBracePairProvider : BracePairProvider {
|
||||
override fun pairs(): List<BracePair> = listOf(BracePair(OCLexerTokenTypes.LT, OCLexerTokenTypes.GT, false))
|
||||
}
|
BIN
gradle/wrapper/gradle-wrapper.jar
vendored
BIN
gradle/wrapper/gradle-wrapper.jar
vendored
Binary file not shown.
4
gradle/wrapper/gradle-wrapper.properties
vendored
4
gradle/wrapper/gradle-wrapper.properties
vendored
@@ -1,7 +1,5 @@
|
||||
distributionBase=GRADLE_USER_HOME
|
||||
distributionPath=wrapper/dists
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-8.3-bin.zip
|
||||
networkTimeout=10000
|
||||
validateDistributionUrl=true
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-bin.zip
|
||||
zipStoreBase=GRADLE_USER_HOME
|
||||
zipStorePath=wrapper/dists
|
||||
|
31
gradlew
vendored
31
gradlew
vendored
@@ -55,7 +55,7 @@
|
||||
# Darwin, MinGW, and NonStop.
|
||||
#
|
||||
# (3) This script is generated from the Groovy template
|
||||
# https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
|
||||
# https://github.com/gradle/gradle/blob/master/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
|
||||
# within the Gradle project.
|
||||
#
|
||||
# You can find Gradle at https://github.com/gradle/gradle/.
|
||||
@@ -80,11 +80,13 @@ do
|
||||
esac
|
||||
done
|
||||
|
||||
# This is normally unused
|
||||
# shellcheck disable=SC2034
|
||||
APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit
|
||||
|
||||
APP_NAME="Gradle"
|
||||
APP_BASE_NAME=${0##*/}
|
||||
# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036)
|
||||
APP_HOME=$( cd "${APP_HOME:-./}" > /dev/null && pwd -P ) || exit
|
||||
|
||||
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
|
||||
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
|
||||
|
||||
# Use the maximum available, or set MAX_FD != -1 to use that value.
|
||||
MAX_FD=maximum
|
||||
@@ -131,29 +133,22 @@ location of your Java installation."
|
||||
fi
|
||||
else
|
||||
JAVACMD=java
|
||||
if ! command -v java >/dev/null 2>&1
|
||||
then
|
||||
die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
|
||||
which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
|
||||
|
||||
Please set the JAVA_HOME variable in your environment to match the
|
||||
location of your Java installation."
|
||||
fi
|
||||
fi
|
||||
|
||||
# Increase the maximum file descriptors if we can.
|
||||
if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
|
||||
case $MAX_FD in #(
|
||||
max*)
|
||||
# In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked.
|
||||
# shellcheck disable=SC3045
|
||||
MAX_FD=$( ulimit -H -n ) ||
|
||||
warn "Could not query maximum file descriptor limit"
|
||||
esac
|
||||
case $MAX_FD in #(
|
||||
'' | soft) :;; #(
|
||||
*)
|
||||
# In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked.
|
||||
# shellcheck disable=SC3045
|
||||
ulimit -n "$MAX_FD" ||
|
||||
warn "Could not set maximum file descriptor limit to $MAX_FD"
|
||||
esac
|
||||
@@ -198,10 +193,6 @@ if "$cygwin" || "$msys" ; then
|
||||
done
|
||||
fi
|
||||
|
||||
|
||||
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
|
||||
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
|
||||
|
||||
# Collect all arguments for the java command;
|
||||
# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of
|
||||
# shell script including quotes and variable substitutions, so put them in
|
||||
@@ -214,12 +205,6 @@ set -- \
|
||||
org.gradle.wrapper.GradleWrapperMain \
|
||||
"$@"
|
||||
|
||||
# Stop when "xargs" is not available.
|
||||
if ! command -v xargs >/dev/null 2>&1
|
||||
then
|
||||
die "xargs is not available"
|
||||
fi
|
||||
|
||||
# Use "xargs" to parse quoted args.
|
||||
#
|
||||
# With -n1 it outputs one arg per line, with the quotes and backslashes removed.
|
||||
|
15
gradlew.bat
vendored
15
gradlew.bat
vendored
@@ -14,7 +14,7 @@
|
||||
@rem limitations under the License.
|
||||
@rem
|
||||
|
||||
@if "%DEBUG%"=="" @echo off
|
||||
@if "%DEBUG%" == "" @echo off
|
||||
@rem ##########################################################################
|
||||
@rem
|
||||
@rem Gradle startup script for Windows
|
||||
@@ -25,8 +25,7 @@
|
||||
if "%OS%"=="Windows_NT" setlocal
|
||||
|
||||
set DIRNAME=%~dp0
|
||||
if "%DIRNAME%"=="" set DIRNAME=.
|
||||
@rem This is normally unused
|
||||
if "%DIRNAME%" == "" set DIRNAME=.
|
||||
set APP_BASE_NAME=%~n0
|
||||
set APP_HOME=%DIRNAME%
|
||||
|
||||
@@ -41,7 +40,7 @@ if defined JAVA_HOME goto findJavaFromJavaHome
|
||||
|
||||
set JAVA_EXE=java.exe
|
||||
%JAVA_EXE% -version >NUL 2>&1
|
||||
if %ERRORLEVEL% equ 0 goto execute
|
||||
if "%ERRORLEVEL%" == "0" goto execute
|
||||
|
||||
echo.
|
||||
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
|
||||
@@ -76,15 +75,13 @@ set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
|
||||
|
||||
:end
|
||||
@rem End local scope for the variables with windows NT shell
|
||||
if %ERRORLEVEL% equ 0 goto mainEnd
|
||||
if "%ERRORLEVEL%"=="0" goto mainEnd
|
||||
|
||||
:fail
|
||||
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
|
||||
rem the _cmd.exe /c_ return code!
|
||||
set EXIT_CODE=%ERRORLEVEL%
|
||||
if %EXIT_CODE% equ 0 set EXIT_CODE=1
|
||||
if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE%
|
||||
exit /b %EXIT_CODE%
|
||||
if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
|
||||
exit /b 1
|
||||
|
||||
:mainEnd
|
||||
if "%OS%"=="Windows_NT" endlocal
|
||||
|
1
idea/.gitignore
vendored
1
idea/.gitignore
vendored
@@ -1 +0,0 @@
|
||||
/build/
|
@@ -1,33 +0,0 @@
|
||||
plugins {
|
||||
id("org.jetbrains.intellij")
|
||||
}
|
||||
|
||||
intellij {
|
||||
type.set("IU")
|
||||
|
||||
plugins.set(
|
||||
listOf(
|
||||
// Built-in
|
||||
"Groovy",
|
||||
"JavaScript",
|
||||
"com.intellij.css",
|
||||
"com.intellij.database",
|
||||
"com.intellij.java",
|
||||
"org.intellij.plugins.markdown",
|
||||
"org.jetbrains.kotlin",
|
||||
"org.jetbrains.plugins.yaml",
|
||||
// Downloaded
|
||||
"Dart:233.11799.172", // https://plugins.jetbrains.com/plugin/6351-dart/versions/stable
|
||||
"Pythonid:233.11799.300", // https://plugins.jetbrains.com/plugin/631-python/versions
|
||||
"com.jetbrains.php:233.11799.300", // https://plugins.jetbrains.com/plugin/6610-php/versions
|
||||
"com.jetbrains.sh:233.11799.165", // https://plugins.jetbrains.com/plugin/13122-shell-script/versions
|
||||
"org.intellij.scala:2023.3.17", // https://plugins.jetbrains.com/plugin/1347-scala/versions
|
||||
"org.jetbrains.plugins.go-template:233.11799.172", // https://plugins.jetbrains.com/plugin/10581-go-template/versions
|
||||
"org.jetbrains.plugins.ruby:233.11799.300", // https://plugins.jetbrains.com/plugin/1293-ruby/versions
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
tasks.buildSearchableOptions {
|
||||
enabled = true
|
||||
}
|
@@ -1,112 +0,0 @@
|
||||
<idea-plugin require-restart="true">
|
||||
<id>com.chylex.intellij.rainbowbrackets</id>
|
||||
<name>Rainbow Brackets</name>
|
||||
<vendor url="https://chylex.com">chylex</vendor>
|
||||
|
||||
<description><![CDATA[
|
||||
Fork of the <a href="https://github.com/izhangzhihao/intellij-rainbow-brackets">🌈Rainbow Brackets</a> plugin by <a href="https://github.com/izhangzhihao">izhangzhihao</a>.
|
||||
]]></description>
|
||||
|
||||
<change-notes><![CDATA[
|
||||
<p>6.26-chylex-4</p>
|
||||
<ul>
|
||||
<li>Support for Rider 2023.3.</li>
|
||||
</ul>
|
||||
<br />
|
||||
|
||||
<p>6.26-chylex-3</p>
|
||||
<ul>
|
||||
<li>Prepared fork for standalone release.</li>
|
||||
</ul>
|
||||
<br />
|
||||
|
||||
<p>6.26-chylex-2</p>
|
||||
<ul>
|
||||
<li>Fixed Rider support.</li>
|
||||
</ul>
|
||||
<br/>
|
||||
|
||||
<p>6.26-chylex-1</p>
|
||||
<ul>
|
||||
<li>Removed post-update notification.</li>
|
||||
</ul>
|
||||
<br/>
|
||||
|
||||
<p>6.26</p>
|
||||
<ul>
|
||||
<li>Original version the fork is based on.</li>
|
||||
</ul>
|
||||
]]>
|
||||
</change-notes>
|
||||
|
||||
<!-- please see https://plugins.jetbrains.com/docs/intellij/plugin-compatibility.html
|
||||
on how to target different products -->
|
||||
<depends>com.intellij.modules.lang</depends>
|
||||
<depends optional="true" config-file="kotlin-brackets.xml">org.jetbrains.kotlin</depends>
|
||||
<depends optional="true" config-file="JSX.xml">JavaScript</depends>
|
||||
<depends optional="true" config-file="dart-brackets.xml">Dart</depends>
|
||||
<depends optional="true" config-file="groovy-brackets.xml">org.intellij.groovy</depends>
|
||||
<depends optional="true" config-file="csharp-brackets.xml">com.intellij.modules.rider</depends>
|
||||
<depends optional="true" config-file="intellij-haskell-annotator.xml">intellij.haskell</depends>
|
||||
<depends optional="true" config-file="sql-brackets.xml">com.intellij.database</depends>
|
||||
<depends optional="true" config-file="oc-brackets.xml">com.intellij.modules.clion</depends>
|
||||
<depends optional="true" config-file="sh-brackets.xml">com.jetbrains.sh</depends>
|
||||
<depends optional="true" config-file="php-brackets.xml">com.jetbrains.php</depends>
|
||||
<depends optional="true" config-file="go-template-brackets.xml">org.jetbrains.plugins.go-template</depends>
|
||||
<depends optional="true" config-file="jade-rainbow-visitor.xml">com.jetbrains.plugins.jade</depends>
|
||||
<depends optional="true" config-file="python-brackets.xml">com.intellij.modules.python</depends>
|
||||
|
||||
<extensionPoints>
|
||||
<extensionPoint name="bracePairProvider" beanClass="com.intellij.lang.LanguageExtensionPoint" dynamic="true">
|
||||
<with attribute="implementationClass"
|
||||
implements="com.github.izhangzhihao.rainbow.brackets.provider.BracePairProvider"/>
|
||||
</extensionPoint>
|
||||
</extensionPoints>
|
||||
|
||||
<extensions defaultExtensionNs="com.intellij">
|
||||
<!--test only-->
|
||||
<!--<annotator language="JAVA" implementationClass="com.github.izhangzhihao.rainbow.brackets.annotator.RainbowAnnotator"/>-->
|
||||
|
||||
<highlightVisitor implementation="com.github.izhangzhihao.rainbow.brackets.visitor.DefaultRainbowVisitor"/>
|
||||
<highlightVisitor implementation="com.github.izhangzhihao.rainbow.brackets.visitor.XmlRainbowVisitor"/>
|
||||
|
||||
<applicationConfigurable instance="com.github.izhangzhihao.rainbow.brackets.settings.RainbowConfigurable"/>
|
||||
<applicationService
|
||||
serviceImplementation="com.github.izhangzhihao.rainbow.brackets.settings.RainbowSettings"/>
|
||||
<colorAndFontPanelFactory
|
||||
implementation="com.github.izhangzhihao.rainbow.brackets.settings.RainbowColorsPageFactory"/>
|
||||
<colorAndFontDescriptorProvider
|
||||
implementation="com.github.izhangzhihao.rainbow.brackets.settings.RainbowColorsPageFactory"/>
|
||||
|
||||
<additionalTextAttributes scheme="Default" file="colorSchemes/rainbow-color-default.xml"/>
|
||||
<additionalTextAttributes scheme="Darcula" file="colorSchemes/rainbow-color-default-darcula.xml"/>
|
||||
<!--<errorHandler implementation="com.github.izhangzhihao.rainbow.brackets.util.GitHubErrorReporter"/>-->
|
||||
<highlightingPassFactory implementation="com.github.izhangzhihao.rainbow.brackets.indents.RainbowIndentsPassFactory"/>
|
||||
<editorNotificationProvider implementation="com.github.izhangzhihao.rainbow.brackets.RainbowifyBanner"/>
|
||||
<notificationGroup id="Rainbow Brackets Notification Group" displayType="STICKY_BALLOON"/>
|
||||
</extensions>
|
||||
|
||||
<applicationListeners>
|
||||
<listener class="com.github.izhangzhihao.rainbow.brackets.listener.RainbowColorsSchemeListener" topic="com.intellij.openapi.editor.colors.EditorColorsListener"/>
|
||||
</applicationListeners>
|
||||
|
||||
<actions>
|
||||
<action class="com.github.izhangzhihao.rainbow.brackets.action.ScopeHighlightingAction"
|
||||
id="Rainbow.ScopeHighlightingAction"
|
||||
text="Highlight Current Scope"
|
||||
description="Highlight current scope.">
|
||||
<mouse-shortcut keymap="$default" keystroke="control button3"/>
|
||||
<mouse-shortcut keymap="Mac OS X" keystroke="meta button3"/>
|
||||
<mouse-shortcut keymap="Mac OS X 10.5+" keystroke="meta button3"/>
|
||||
</action>
|
||||
<action class="com.github.izhangzhihao.rainbow.brackets.action.ScopeOutsideHighlightingRestrainAction"
|
||||
id="Rainbow.ScopeOutsideHighlightingRestrainAction"
|
||||
text="Restrain Scope Highlighting"
|
||||
description="Restrain outside of current scope highlighting.">
|
||||
<mouse-shortcut keymap="$default" keystroke="alt button3"/>
|
||||
<mouse-shortcut keymap="Mac OS X" keystroke="alt button3"/>
|
||||
<mouse-shortcut keymap="Mac OS X 10.5+" keystroke="alt button3"/>
|
||||
</action>
|
||||
</actions>
|
||||
|
||||
</idea-plugin>
|
BIN
libs/clion.jar
Normal file
BIN
libs/clion.jar
Normal file
Binary file not shown.
BIN
libs/rider.jar
Normal file
BIN
libs/rider.jar
Normal file
Binary file not shown.
1
rider/.gitignore
vendored
1
rider/.gitignore
vendored
@@ -1 +0,0 @@
|
||||
/build/
|
@@ -1,11 +0,0 @@
|
||||
plugins {
|
||||
id("org.jetbrains.intellij")
|
||||
}
|
||||
|
||||
intellij {
|
||||
type.set("RD")
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation(project(":idea"))
|
||||
}
|
@@ -1,13 +0,0 @@
|
||||
package com.github.izhangzhihao.rainbow.brackets.provider
|
||||
|
||||
import com.intellij.lang.BracePair
|
||||
import com.jetbrains.rider.languages.fileTypes.csharp.kotoparser.lexer.CSharpTokenType
|
||||
|
||||
class CSharpBracePairProvider : BracePairProvider {
|
||||
override fun pairs(): List<BracePair> = listOf(
|
||||
BracePair(CSharpTokenType.LPARENTH, CSharpTokenType.RPARENTH, false),
|
||||
BracePair(CSharpTokenType.LBRACE, CSharpTokenType.RBRACE, false),
|
||||
BracePair(CSharpTokenType.LBRACKET, CSharpTokenType.RBRACKET, false),
|
||||
BracePair(CSharpTokenType.LT, CSharpTokenType.GT, false),
|
||||
)
|
||||
}
|
@@ -1,17 +1,8 @@
|
||||
rootProject.name = "RainbowBrackets"
|
||||
|
||||
pluginManagement {
|
||||
repositories {
|
||||
maven(url = "https://oss.sonatype.org/content/repositories/snapshots/")
|
||||
gradlePluginPortal()
|
||||
}
|
||||
|
||||
plugins {
|
||||
kotlin("jvm") version "1.8.0"
|
||||
id("org.jetbrains.intellij") version "1.15.0"
|
||||
}
|
||||
repositories {
|
||||
maven(url = "https://oss.sonatype.org/content/repositories/snapshots/")
|
||||
gradlePluginPortal()
|
||||
}
|
||||
}
|
||||
|
||||
include("clion")
|
||||
include("idea")
|
||||
include("rider")
|
||||
|
@@ -3,17 +3,12 @@ package com.github.izhangzhihao.rainbow.brackets
|
||||
import com.github.izhangzhihao.rainbow.brackets.provider.BracePairProvider
|
||||
import com.github.izhangzhihao.rainbow.brackets.util.memoize
|
||||
import com.intellij.codeInsight.highlighting.BraceMatchingUtil
|
||||
import com.intellij.lang.BracePair
|
||||
import com.intellij.lang.CompositeLanguage
|
||||
import com.intellij.lang.Language
|
||||
import com.intellij.lang.LanguageBraceMatching
|
||||
import com.intellij.lang.LanguageExtension
|
||||
import com.intellij.lang.PairedBraceMatcher
|
||||
import com.intellij.lang.*
|
||||
import com.intellij.psi.tree.IElementType
|
||||
|
||||
object BracePairs {
|
||||
|
||||
private val providers = LanguageExtension<BracePairProvider>("com.chylex.intellij.rainbowbrackets.bracePairProvider")
|
||||
private val providers = LanguageExtension<BracePairProvider>("izhangzhihao.rainbow.brackets.bracePairProvider")
|
||||
|
||||
private val bracePairs =
|
||||
Language.getRegisteredLanguages()
|
||||
@@ -79,4 +74,4 @@ inline val Language.bracePairs: MutableMap<String, MutableList<BracePair>>?
|
||||
get() = BracePairs.getBracePairs(this)
|
||||
|
||||
inline val Language.braceTypeSet: Set<IElementType>
|
||||
get() = BracePairs.braceTypeSet(this)
|
||||
get() = BracePairs.braceTypeSet(this)
|
@@ -19,6 +19,7 @@ import org.intellij.lang.annotations.Language
|
||||
import org.jetbrains.annotations.TestOnly
|
||||
import java.awt.Color
|
||||
import java.awt.Font
|
||||
import java.util.UUID
|
||||
|
||||
object RainbowHighlighter {
|
||||
|
@@ -3,6 +3,7 @@ package com.github.izhangzhihao.rainbow.brackets.action
|
||||
import com.github.izhangzhihao.rainbow.brackets.RainbowInfo
|
||||
import com.github.izhangzhihao.rainbow.brackets.settings.RainbowSettings
|
||||
import com.github.izhangzhihao.rainbow.brackets.util.alphaBlend
|
||||
import com.github.izhangzhihao.rainbow.brackets.util.create
|
||||
import com.intellij.codeInsight.highlighting.HighlightManager
|
||||
import com.intellij.openapi.editor.Editor
|
||||
import com.intellij.openapi.editor.colors.EditorColorsManager
|
||||
@@ -10,7 +11,7 @@ import com.intellij.openapi.editor.markup.EffectType
|
||||
import com.intellij.openapi.editor.markup.RangeHighlighter
|
||||
import com.intellij.openapi.editor.markup.TextAttributes
|
||||
import java.awt.Font
|
||||
import java.util.LinkedList
|
||||
import java.util.*
|
||||
|
||||
|
||||
class ScopeHighlightingAction : AbstractScopeHighlightingAction() {
|
||||
@@ -32,4 +33,4 @@ class ScopeHighlightingAction : AbstractScopeHighlightingAction() {
|
||||
return highlighters
|
||||
}
|
||||
|
||||
}
|
||||
}
|
@@ -3,6 +3,7 @@ package com.github.izhangzhihao.rainbow.brackets.action
|
||||
import com.github.izhangzhihao.rainbow.brackets.RainbowInfo
|
||||
import com.github.izhangzhihao.rainbow.brackets.settings.RainbowSettings
|
||||
import com.github.izhangzhihao.rainbow.brackets.util.alphaBlend
|
||||
import com.github.izhangzhihao.rainbow.brackets.util.create
|
||||
import com.intellij.codeInsight.highlighting.HighlightManager
|
||||
import com.intellij.openapi.editor.Editor
|
||||
import com.intellij.openapi.editor.colors.EditorColorsManager
|
||||
@@ -11,7 +12,7 @@ import com.intellij.openapi.editor.markup.RangeHighlighter
|
||||
import com.intellij.openapi.editor.markup.TextAttributes
|
||||
import java.awt.Color
|
||||
import java.awt.Font
|
||||
import java.util.LinkedList
|
||||
import java.util.*
|
||||
|
||||
class ScopeOutsideHighlightingRestrainAction : AbstractScopeHighlightingAction() {
|
||||
|
||||
@@ -49,4 +50,4 @@ class ScopeOutsideHighlightingRestrainAction : AbstractScopeHighlightingAction()
|
||||
return highlighters
|
||||
}
|
||||
|
||||
}
|
||||
}
|
@@ -12,15 +12,7 @@ import com.intellij.psi.PsiElement
|
||||
import com.intellij.psi.impl.source.tree.LeafPsiElement
|
||||
import com.intellij.psi.util.PsiTreeUtil
|
||||
import org.jetbrains.kotlin.lexer.KtTokens
|
||||
import org.jetbrains.kotlin.psi.KtBlockExpression
|
||||
import org.jetbrains.kotlin.psi.KtCallExpression
|
||||
import org.jetbrains.kotlin.psi.KtClass
|
||||
import org.jetbrains.kotlin.psi.KtClassBody
|
||||
import org.jetbrains.kotlin.psi.KtFunction
|
||||
import org.jetbrains.kotlin.psi.KtFunctionLiteral
|
||||
import org.jetbrains.kotlin.psi.KtLabelReferenceExpression
|
||||
import org.jetbrains.kotlin.psi.KtLabeledExpression
|
||||
import org.jetbrains.kotlin.psi.KtLambdaExpression
|
||||
import org.jetbrains.kotlin.psi.*
|
||||
import java.awt.Font
|
||||
|
||||
|
||||
@@ -83,4 +75,4 @@ class KotlinLabelAnnotator : Annotator {
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
@@ -1,12 +1,7 @@
|
||||
package com.github.izhangzhihao.rainbow.brackets.indents
|
||||
|
||||
import com.github.izhangzhihao.rainbow.brackets.RainbowInfo
|
||||
import com.github.izhangzhihao.rainbow.brackets.util.alphaBlend
|
||||
import com.github.izhangzhihao.rainbow.brackets.util.endOffset
|
||||
import com.github.izhangzhihao.rainbow.brackets.util.findNextSibling
|
||||
import com.github.izhangzhihao.rainbow.brackets.util.findPrevSibling
|
||||
import com.github.izhangzhihao.rainbow.brackets.util.lineNumber
|
||||
import com.github.izhangzhihao.rainbow.brackets.util.startOffset
|
||||
import com.github.izhangzhihao.rainbow.brackets.util.*
|
||||
import com.intellij.openapi.editor.Document
|
||||
import com.intellij.openapi.editor.Editor
|
||||
import com.intellij.openapi.editor.SoftWrap
|
||||
@@ -260,4 +255,4 @@ class RainbowIndentGuideRenderer: CustomHighlighterRenderer {
|
||||
lastChild?.findPrevSibling(XML_END_TAG_START_CONDITION)?.let { document.lineNumber(it.startOffset) }
|
||||
|
||||
}
|
||||
}
|
||||
}
|
@@ -28,7 +28,7 @@ import com.intellij.util.containers.IntStack
|
||||
import com.intellij.util.text.CharArrayUtil
|
||||
import java.lang.StrictMath.abs
|
||||
import java.lang.StrictMath.min
|
||||
import java.util.Collections
|
||||
import java.util.*
|
||||
|
||||
/** From [com.intellij.codeInsight.daemon.impl.IndentsPass]
|
||||
* Commit history: https://sourcegraph.com/github.com/JetBrains/intellij-community/-/blob/platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/IndentsPass.java#tab=history
|
@@ -1,10 +1,6 @@
|
||||
package com.github.izhangzhihao.rainbow.brackets.indents
|
||||
|
||||
import com.intellij.codeHighlighting.Pass
|
||||
import com.intellij.codeHighlighting.TextEditorHighlightingPass
|
||||
import com.intellij.codeHighlighting.TextEditorHighlightingPassFactory
|
||||
import com.intellij.codeHighlighting.TextEditorHighlightingPassFactoryRegistrar
|
||||
import com.intellij.codeHighlighting.TextEditorHighlightingPassRegistrar
|
||||
import com.intellij.codeHighlighting.*
|
||||
import com.intellij.openapi.editor.Editor
|
||||
import com.intellij.openapi.project.Project
|
||||
import com.intellij.psi.PsiFile
|
||||
@@ -25,4 +21,4 @@ class RainbowIndentsPassFactory :
|
||||
false
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
@@ -0,0 +1,21 @@
|
||||
package com.github.izhangzhihao.rainbow.brackets.provider
|
||||
|
||||
import com.intellij.lang.BracePair
|
||||
import com.jetbrains.rider.ideaInterop.fileTypes.csharp.lexer.CSharpTokenType
|
||||
import com.jetbrains.rider.ideaInterop.fileTypes.csharp.lexer.CSharpTokenType.GT
|
||||
import com.jetbrains.rider.ideaInterop.fileTypes.csharp.lexer.CSharpTokenType.LBRACE
|
||||
import com.jetbrains.rider.ideaInterop.fileTypes.csharp.lexer.CSharpTokenType.LBRACKET
|
||||
import com.jetbrains.rider.ideaInterop.fileTypes.csharp.lexer.CSharpTokenType.LPARENTH
|
||||
import com.jetbrains.rider.ideaInterop.fileTypes.csharp.lexer.CSharpTokenType.LT
|
||||
import com.jetbrains.rider.ideaInterop.fileTypes.csharp.lexer.CSharpTokenType.RBRACE
|
||||
import com.jetbrains.rider.ideaInterop.fileTypes.csharp.lexer.CSharpTokenType.RBRACKET
|
||||
import com.jetbrains.rider.ideaInterop.fileTypes.csharp.lexer.CSharpTokenType.RPARENTH
|
||||
|
||||
class CSharpBracePairProvider : BracePairProvider {
|
||||
override fun pairs(): List<BracePair> = listOf(
|
||||
//BracePair(LPARENTH, RPARENTH, false),
|
||||
BracePair(LBRACE, RBRACE, false),
|
||||
BracePair(LBRACKET, RBRACKET, false),
|
||||
BracePair(LT, GT, false),
|
||||
)
|
||||
}
|
@@ -1,9 +1,6 @@
|
||||
package com.github.izhangzhihao.rainbow.brackets.provider
|
||||
|
||||
import com.goide.template.GoTemplateTypes.LDOUBLE_BRACE
|
||||
import com.goide.template.GoTemplateTypes.LPAREN
|
||||
import com.goide.template.GoTemplateTypes.RDOUBLE_BRACE
|
||||
import com.goide.template.GoTemplateTypes.RPAREN
|
||||
import com.goide.template.GoTemplateTypes.*
|
||||
import com.intellij.lang.BracePair
|
||||
|
||||
class GoTemplateProvider : BracePairProvider {
|
||||
@@ -11,4 +8,4 @@ class GoTemplateProvider : BracePairProvider {
|
||||
BracePair(LDOUBLE_BRACE, RDOUBLE_BRACE, true),
|
||||
BracePair(LPAREN, RPAREN, true)
|
||||
)
|
||||
}
|
||||
}
|
@@ -0,0 +1,8 @@
|
||||
package com.github.izhangzhihao.rainbow.brackets.provider
|
||||
|
||||
import com.intellij.lang.BracePair
|
||||
import com.jetbrains.cidr.lang.parser.OCTokenTypes
|
||||
|
||||
class OCBracePairProvider : BracePairProvider {
|
||||
override fun pairs(): List<BracePair> = listOf(BracePair(OCTokenTypes.LT, OCTokenTypes.GT, false))
|
||||
}
|
@@ -2,12 +2,7 @@ package com.github.izhangzhihao.rainbow.brackets.settings
|
||||
|
||||
import com.github.izhangzhihao.rainbow.brackets.RainbowHighlighter
|
||||
import com.github.izhangzhihao.rainbow.brackets.settings.form.RainbowOptionsPanel
|
||||
import com.intellij.application.options.colors.ColorAndFontOptions
|
||||
import com.intellij.application.options.colors.ColorAndFontPanelFactory
|
||||
import com.intellij.application.options.colors.ColorAndFontSettingsListener
|
||||
import com.intellij.application.options.colors.NewColorAndFontPanel
|
||||
import com.intellij.application.options.colors.PreviewPanel
|
||||
import com.intellij.application.options.colors.SchemesPanel
|
||||
import com.intellij.application.options.colors.*
|
||||
import com.intellij.openapi.options.colors.AttributesDescriptor
|
||||
import com.intellij.openapi.options.colors.ColorAndFontDescriptorsProvider
|
||||
import com.intellij.openapi.options.colors.ColorDescriptor
|
||||
@@ -57,4 +52,4 @@ class RainbowColorsPageFactory : ColorAndFontPanelFactory, ColorAndFontDescripto
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
@@ -2,11 +2,7 @@ package com.github.izhangzhihao.rainbow.brackets.settings.form
|
||||
|
||||
import com.github.izhangzhihao.rainbow.brackets.RainbowHighlighter
|
||||
import com.github.izhangzhihao.rainbow.brackets.settings.RainbowSettings
|
||||
import com.intellij.application.options.colors.ColorAndFontOptions
|
||||
import com.intellij.application.options.colors.ColorAndFontSettingsListener
|
||||
import com.intellij.application.options.colors.OptionsPanel
|
||||
import com.intellij.application.options.colors.SchemesPanel
|
||||
import com.intellij.application.options.colors.TextAttributesDescription
|
||||
import com.intellij.application.options.colors.*
|
||||
import com.intellij.ide.util.PropertiesComponent
|
||||
import com.intellij.ui.ColorPanel
|
||||
import com.intellij.ui.components.JBCheckBox
|
||||
@@ -263,4 +259,4 @@ class RainbowOptionsPanel(
|
||||
}
|
||||
}
|
||||
|
||||
private fun <E> List<E>.indexOfOrNull(idx: Int): E? = if (idx < this.size) this[idx] else null
|
||||
private fun <E> List<E>.indexOfOrNull(idx: Int): E? = if (idx < this.size) this[idx] else null
|
@@ -0,0 +1,246 @@
|
||||
/*
|
||||
* Copyright (c) 2017 Patrick Scheibe
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
package com.github.izhangzhihao.rainbow.brackets.util
|
||||
|
||||
import com.github.izhangzhihao.rainbow.brackets.settings.RainbowSettings
|
||||
import com.github.izhangzhihao.rainbow.brackets.util.ErrorContext.Companion.fromThrowable
|
||||
import com.intellij.AbstractBundle
|
||||
import com.intellij.diagnostic.*
|
||||
import com.intellij.ide.DataManager
|
||||
import com.intellij.ide.plugins.PluginManagerCore
|
||||
import com.intellij.ide.plugins.PluginUtil
|
||||
import com.intellij.idea.IdeaLogger
|
||||
import com.intellij.notification.NotificationGroupManager
|
||||
import com.intellij.notification.NotificationListener
|
||||
import com.intellij.notification.NotificationType
|
||||
import com.intellij.openapi.actionSystem.CommonDataKeys
|
||||
import com.intellij.openapi.application.ApplicationNamesInfo
|
||||
import com.intellij.openapi.application.ex.ApplicationInfoEx
|
||||
import com.intellij.openapi.application.impl.ApplicationInfoImpl
|
||||
import com.intellij.openapi.diagnostic.ErrorReportSubmitter
|
||||
import com.intellij.openapi.diagnostic.IdeaLoggingEvent
|
||||
import com.intellij.openapi.diagnostic.SubmittedReportInfo
|
||||
import com.intellij.openapi.diagnostic.SubmittedReportInfo.SubmissionStatus
|
||||
import com.intellij.openapi.progress.EmptyProgressIndicator
|
||||
import com.intellij.openapi.progress.ProgressIndicator
|
||||
import com.intellij.openapi.progress.ProgressManager
|
||||
import com.intellij.openapi.progress.Task
|
||||
import com.intellij.openapi.project.Project
|
||||
import com.intellij.openapi.util.SystemInfo
|
||||
import com.intellij.util.Consumer
|
||||
import org.eclipse.egit.github.core.Issue
|
||||
import org.eclipse.egit.github.core.Label
|
||||
import org.eclipse.egit.github.core.RepositoryId
|
||||
import org.eclipse.egit.github.core.client.GitHubClient
|
||||
import org.eclipse.egit.github.core.service.IssueService
|
||||
import org.jetbrains.annotations.NonNls
|
||||
import org.jetbrains.annotations.NotNull
|
||||
import org.jetbrains.annotations.Nullable
|
||||
import org.jetbrains.annotations.PropertyKey
|
||||
import java.awt.Component
|
||||
import java.util.*
|
||||
|
||||
private object AnonymousFeedback {
|
||||
private const val gitRepoUser = "izhangzhihao"
|
||||
|
||||
//private const val gitRepoUser = "intellij-rainbow-brackets"
|
||||
private const val gitRepo = "intellij-rainbow-brackets"
|
||||
|
||||
//private const val gitRepo = "bug"
|
||||
private const val issueLabel = "Auto generated"
|
||||
|
||||
/**
|
||||
* Makes a connection to GitHub. Checks if there is an issue that is a duplicate and based on this, creates either a
|
||||
* new issue or comments on the duplicate (if the user provided additional information).
|
||||
*
|
||||
* @param environmentDetails Information collected by [getKeyValuePairs]
|
||||
* @return The report info that is then used in [GitHubErrorReporter] to show the user a balloon with the link
|
||||
* of the created issue.
|
||||
*/
|
||||
internal fun sendFeedback(environmentDetails: MutableMap<String, String>): SubmittedReportInfo {
|
||||
try {
|
||||
val gitAccessToken = something
|
||||
val client = GitHubClient()
|
||||
client.setOAuth2Token(gitAccessToken)
|
||||
val repoID = RepositoryId(gitRepoUser, gitRepo)
|
||||
val issueService = IssueService(client)
|
||||
var newGibHubIssue = createNewGibHubIssue(environmentDetails)
|
||||
val duplicate = findFirstDuplicate(newGibHubIssue.title, issueService, repoID)
|
||||
var isNewIssue = true
|
||||
if (duplicate != null) {
|
||||
issueService.createComment(repoID, duplicate.number, newGibHubIssue.body)
|
||||
newGibHubIssue = duplicate
|
||||
isNewIssue = false
|
||||
} else newGibHubIssue = issueService.createIssue(repoID, newGibHubIssue)
|
||||
return SubmittedReportInfo(newGibHubIssue.htmlUrl, ErrorReportBundle.message(
|
||||
if (isNewIssue) "git.issue.text" else "git.issue.duplicate.text", newGibHubIssue.htmlUrl, newGibHubIssue.number.toLong()),
|
||||
if (isNewIssue) SubmissionStatus.NEW_ISSUE else SubmissionStatus.DUPLICATE)
|
||||
} catch (e: Exception) {
|
||||
e.printStackTrace()
|
||||
return SubmittedReportInfo(null,
|
||||
ErrorReportBundle.message("report.error.connection.failure"),
|
||||
SubmissionStatus.FAILED)
|
||||
}
|
||||
}
|
||||
|
||||
private fun findFirstDuplicate(title: String, service: IssueService, repo: RepositoryId): Issue? {
|
||||
val openIssue = hashMapOf(IssueService.FILTER_STATE to IssueService.STATE_OPEN)
|
||||
val closedIssue = hashMapOf(IssueService.FILTER_STATE to IssueService.STATE_CLOSED)
|
||||
return service.pageIssues(repo, openIssue).flatten().firstOrNull { it.title == title }
|
||||
?: service.pageIssues(repo, closedIssue).flatten().firstOrNull { it.title == title }
|
||||
}
|
||||
|
||||
private fun createNewGibHubIssue(details: MutableMap<String, String>) = Issue().apply {
|
||||
val errorMessage = details.remove("error.message")?.takeIf(String::isNotBlank) ?: "Unspecified error"
|
||||
title = ErrorReportBundle.message("git.issue.title", errorMessage)
|
||||
body = generateGitHubIssueBody(details)
|
||||
labels = listOf(Label().apply { name = issueLabel })
|
||||
}
|
||||
|
||||
private fun generateGitHubIssueBody(details: MutableMap<String, String>): String {
|
||||
val errorDescription = details.remove("error.description").orEmpty()
|
||||
val stackTrace = details.remove("error.stacktrace")?.takeIf(String::isNotBlank) ?: "invalid stacktrace"
|
||||
val result = StringBuilder()
|
||||
if (errorDescription.isNotEmpty()) {
|
||||
result.append(errorDescription)
|
||||
result.append("\n\n----------------------\n\n")
|
||||
}
|
||||
for ((key, value) in details) {
|
||||
result.append("- ")
|
||||
result.append(key)
|
||||
result.append(": ")
|
||||
result.append(value)
|
||||
result.append("\n")
|
||||
}
|
||||
result.append("- StackTrace:\n")
|
||||
result.append(stackTrace)
|
||||
return result.toString()
|
||||
}
|
||||
}
|
||||
|
||||
//String(Base64.getEncoder().encode("".toByteArray()))
|
||||
private const val st = "YjgwZGRiY2U2YTNlYTAzM2UyZGU" + "yNDcyNWEyZjE3MGQ2YThmMjc0MQ=="
|
||||
|
||||
private val something: String by lazy { String(Base64.getDecoder().decode(st)) }
|
||||
|
||||
class GitHubErrorReporter : ErrorReportSubmitter() {
|
||||
override fun getReportActionText() = ErrorReportBundle.message("report.error.to.plugin.vendor")
|
||||
|
||||
override fun submit(events: Array<out IdeaLoggingEvent>?, info: @Nullable String?, parent: @NotNull Component, consumer: @NotNull Consumer<in SubmittedReportInfo>): Boolean {
|
||||
return doSubmit(events!![0], parent, consumer, fromThrowable(events[0].throwable), info)
|
||||
}
|
||||
|
||||
private fun doSubmit(
|
||||
event: IdeaLoggingEvent,
|
||||
parent: Component,
|
||||
callback: Consumer<in SubmittedReportInfo>,
|
||||
errorContext: ErrorContext,
|
||||
description: String?): Boolean {
|
||||
val dataContext = DataManager.getInstance().getDataContext(parent)
|
||||
description?.let { errorContext.description = description }
|
||||
errorContext.message = event.message
|
||||
event.throwable?.let { throwable ->
|
||||
PluginUtil.getInstance().findPluginId(throwable)?.let { pluginId ->
|
||||
PluginManagerCore.getPlugin(pluginId)?.let { ideaPluginDescriptor ->
|
||||
if (!ideaPluginDescriptor.isBundled) {
|
||||
errorContext.pluginName = ideaPluginDescriptor.name
|
||||
errorContext.pluginVersion = ideaPluginDescriptor.version
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
(event.data as? LogMessage)?.let { errorContext.attachments = it.includedAttachments }
|
||||
val project = CommonDataKeys.PROJECT.getData(dataContext)
|
||||
val reportValues = getKeyValuePairs(
|
||||
errorContext,
|
||||
ApplicationInfoImpl.getShadowInstance() as ApplicationInfoImpl,
|
||||
ApplicationNamesInfo.getInstance())
|
||||
val notifyingCallback = CallbackWithNotification(callback, project)
|
||||
val task = AnonymousFeedbackTask(project, ErrorReportBundle.message(
|
||||
"report.error.progress.dialog.text"), true, reportValues, notifyingCallback)
|
||||
if (project == null) task.run(EmptyProgressIndicator()) else ProgressManager.getInstance().run(task)
|
||||
return true
|
||||
}
|
||||
|
||||
internal class CallbackWithNotification(
|
||||
private val consumer: Consumer<in SubmittedReportInfo>,
|
||||
private val project: Project?) : Consumer<SubmittedReportInfo> {
|
||||
override fun consume(reportInfo: SubmittedReportInfo) {
|
||||
consumer.consume(reportInfo)
|
||||
val GROUP = NotificationGroupManager.getInstance().getNotificationGroup("Error Report")
|
||||
if (reportInfo.status == SubmissionStatus.FAILED) GROUP.createNotification(DiagnosticBundle.message("error.report.title"),
|
||||
reportInfo.linkText, NotificationType.ERROR).setImportant(false).notify(project)
|
||||
else GROUP.createNotification(DiagnosticBundle.message("error.report.title"), reportInfo.linkText,
|
||||
NotificationType.INFORMATION).setListener(NotificationListener.URL_OPENING_LISTENER).setImportant(false).notify(project)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Messages and strings used by the error reporter
|
||||
*/
|
||||
private object ErrorReportBundle {
|
||||
@NonNls
|
||||
private const val BUNDLE = "error-reporting.report-bundle"
|
||||
private val bundle: ResourceBundle by lazy { ResourceBundle.getBundle(BUNDLE) }
|
||||
|
||||
@JvmStatic
|
||||
internal fun message(@PropertyKey(resourceBundle = BUNDLE) key: String, vararg params: Any) =
|
||||
AbstractBundle.message(bundle, key, *params)
|
||||
}
|
||||
|
||||
private class AnonymousFeedbackTask(
|
||||
project: Project?, title: String, canBeCancelled: Boolean,
|
||||
private val params: MutableMap<String, String>,
|
||||
private val callback: Consumer<SubmittedReportInfo>) : Task.Backgroundable(project, title, canBeCancelled, DEAF) {
|
||||
override fun run(indicator: ProgressIndicator) {
|
||||
callback.consume(AnonymousFeedback.sendFeedback(params))
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Collects information about the running IDEA and the error
|
||||
*/
|
||||
private fun getKeyValuePairs(
|
||||
errorContext: ErrorContext,
|
||||
appInfo: ApplicationInfoEx,
|
||||
namesInfo: ApplicationNamesInfo): MutableMap<String, String> {
|
||||
|
||||
val params = mutableMapOf(
|
||||
"error.description" to errorContext.description,
|
||||
"Plugin Name" to errorContext.pluginName,
|
||||
"Plugin Version" to RainbowSettings.instance.version,
|
||||
"OS Name" to SystemInfo.OS_NAME,
|
||||
"OS Version" to SystemInfo.OS_VERSION,
|
||||
"Java Version" to SystemInfo.JAVA_VERSION,
|
||||
"App Name" to namesInfo.productName,
|
||||
"App Full Name" to namesInfo.fullProductName,
|
||||
"Is Snapshot" to java.lang.Boolean.toString(appInfo.build.isSnapshot),
|
||||
"App Build" to appInfo.build.asString(),
|
||||
"error.message" to errorContext.errorClass,
|
||||
"error.stacktrace" to "\n```\n" + errorContext.stackTrace + "\n```\n")
|
||||
for (attachment in errorContext.attachments) {
|
||||
params["attachment.${attachment.name}"] = attachment.path
|
||||
params["attachment.${attachment.name}.value"] = "\n```\n" + attachment.displayText + "\n```\n"
|
||||
}
|
||||
return params
|
||||
}
|
@@ -7,8 +7,12 @@ import com.intellij.psi.PsiElement
|
||||
import com.intellij.psi.PsiFile
|
||||
import com.intellij.psi.impl.source.tree.LeafPsiElement
|
||||
import com.intellij.psi.tree.IElementType
|
||||
import com.jetbrains.rider.languages.fileTypes.csharp.kotoparser.lexer.CSharpTokenType
|
||||
import com.jetbrains.rider.languages.fileTypes.csharp.psi.CSharpDummyNode
|
||||
import com.jetbrains.rider.ideaInterop.fileTypes.csharp.lexer.CSharpTokenType.GT
|
||||
import com.jetbrains.rider.ideaInterop.fileTypes.csharp.lexer.CSharpTokenType.LPARENTH
|
||||
import com.jetbrains.rider.ideaInterop.fileTypes.csharp.lexer.CSharpTokenType.LT
|
||||
import com.jetbrains.rider.ideaInterop.fileTypes.csharp.lexer.CSharpTokenType.RPARENTH
|
||||
import com.jetbrains.rider.ideaInterop.fileTypes.csharp.psi.CSharpDummyNode
|
||||
|
||||
|
||||
class CSharpRainbowVisitor : RainbowHighlightVisitor() {
|
||||
|
||||
@@ -46,8 +50,8 @@ class CSharpRainbowVisitor : RainbowHighlightVisitor() {
|
||||
|
||||
companion object {
|
||||
val map = mapOf(
|
||||
CSharpTokenType.LPARENTH to BracePair(CSharpTokenType.LPARENTH, CSharpTokenType.RPARENTH, true),
|
||||
CSharpTokenType.RPARENTH to BracePair(CSharpTokenType.LPARENTH, CSharpTokenType.RPARENTH, true),
|
||||
LPARENTH to BracePair(LPARENTH, RPARENTH, true),
|
||||
RPARENTH to BracePair(LPARENTH, RPARENTH, true),
|
||||
//LT to BracePair(LT, GT, true),
|
||||
//GT to BracePair(LT, GT, true),
|
||||
)
|
||||
@@ -119,4 +123,4 @@ class CSharpRainbowVisitor : RainbowHighlightVisitor() {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@@ -5,22 +5,7 @@ import com.intellij.codeInsight.daemon.impl.HighlightVisitor
|
||||
import com.intellij.psi.PsiElement
|
||||
import com.intellij.psi.PsiFile
|
||||
import com.intellij.psi.impl.source.tree.LeafPsiElement
|
||||
import com.jetbrains.python.PyTokenTypes.BREAK_KEYWORD
|
||||
import com.jetbrains.python.PyTokenTypes.CLASS_KEYWORD
|
||||
import com.jetbrains.python.PyTokenTypes.CONTINUE_KEYWORD
|
||||
import com.jetbrains.python.PyTokenTypes.DEF_KEYWORD
|
||||
import com.jetbrains.python.PyTokenTypes.ELIF_KEYWORD
|
||||
import com.jetbrains.python.PyTokenTypes.ELSE_KEYWORD
|
||||
import com.jetbrains.python.PyTokenTypes.EXCEPT_KEYWORD
|
||||
import com.jetbrains.python.PyTokenTypes.FINALLY_KEYWORD
|
||||
import com.jetbrains.python.PyTokenTypes.FOR_KEYWORD
|
||||
import com.jetbrains.python.PyTokenTypes.IF_KEYWORD
|
||||
import com.jetbrains.python.PyTokenTypes.RAISE_KEYWORD
|
||||
import com.jetbrains.python.PyTokenTypes.RETURN_KEYWORD
|
||||
import com.jetbrains.python.PyTokenTypes.TRY_KEYWORD
|
||||
import com.jetbrains.python.PyTokenTypes.WHILE_KEYWORD
|
||||
import com.jetbrains.python.PyTokenTypes.WITH_KEYWORD
|
||||
import com.jetbrains.python.PyTokenTypes.YIELD_KEYWORD
|
||||
import com.jetbrains.python.PyTokenTypes.*
|
||||
import com.jetbrains.python.psi.PyStatement
|
||||
|
||||
|
||||
@@ -99,4 +84,4 @@ class PythonRainbowVisitor : RainbowHighlightVisitor() {
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@@ -2,8 +2,8 @@
|
||||
<extensions defaultExtensionNs="com.intellij">
|
||||
<highlightVisitor implementation="com.github.izhangzhihao.rainbow.brackets.visitor.ReactJSXRainbowVisitor"/>
|
||||
</extensions>
|
||||
<extensions defaultExtensionNs="com.chylex.intellij.rainbowbrackets">
|
||||
<extensions defaultExtensionNs="izhangzhihao.rainbow.brackets">
|
||||
<bracePairProvider language="JavaScript"
|
||||
implementationClass="com.github.izhangzhihao.rainbow.brackets.provider.TSBracePairProvider"/>
|
||||
</extensions>
|
||||
</idea-plugin>
|
||||
</idea-plugin>
|
5
src/main/resources/META-INF/csharp-annotator.xml
Normal file
5
src/main/resources/META-INF/csharp-annotator.xml
Normal file
@@ -0,0 +1,5 @@
|
||||
<idea-plugin>
|
||||
<extensions defaultExtensionNs="com.intellij">
|
||||
<annotator language="C#" implementationClass="com.github.izhangzhihao.rainbow.brackets.annotator.RainbowAnnotator"/>
|
||||
</extensions>
|
||||
</idea-plugin>
|
@@ -1,5 +1,5 @@
|
||||
<idea-plugin>
|
||||
<extensions defaultExtensionNs="com.chylex.intellij.rainbowbrackets">
|
||||
<extensions defaultExtensionNs="izhangzhihao.rainbow.brackets">
|
||||
<bracePairProvider language="C#"
|
||||
implementationClass="com.github.izhangzhihao.rainbow.brackets.provider.CSharpBracePairProvider"/>
|
||||
</extensions>
|
||||
@@ -7,4 +7,4 @@
|
||||
<extensions defaultExtensionNs="com.intellij">
|
||||
<highlightVisitor implementation="com.github.izhangzhihao.rainbow.brackets.visitor.CSharpRainbowVisitor"/>
|
||||
</extensions>
|
||||
</idea-plugin>
|
||||
</idea-plugin>
|
@@ -1,6 +1,6 @@
|
||||
<idea-plugin>
|
||||
<extensions defaultExtensionNs="com.chylex.intellij.rainbowbrackets">
|
||||
<extensions defaultExtensionNs="izhangzhihao.rainbow.brackets">
|
||||
<bracePairProvider language="Dart"
|
||||
implementationClass="com.github.izhangzhihao.rainbow.brackets.provider.DartBracePairProvider"/>
|
||||
</extensions>
|
||||
</idea-plugin>
|
||||
</idea-plugin>
|
@@ -1,6 +1,6 @@
|
||||
<idea-plugin>
|
||||
<extensions defaultExtensionNs="com.chylex.intellij.rainbowbrackets">
|
||||
<extensions defaultExtensionNs="izhangzhihao.rainbow.brackets">
|
||||
<bracePairProvider language="GoTemplate"
|
||||
implementationClass="com.github.izhangzhihao.rainbow.brackets.provider.GoTemplateProvider"/>
|
||||
</extensions>
|
||||
</idea-plugin>
|
||||
</idea-plugin>
|
@@ -1,6 +1,6 @@
|
||||
<idea-plugin>
|
||||
<extensions defaultExtensionNs="com.chylex.intellij.rainbowbrackets">
|
||||
<extensions defaultExtensionNs="izhangzhihao.rainbow.brackets">
|
||||
<bracePairProvider language="Groovy"
|
||||
implementationClass="com.github.izhangzhihao.rainbow.brackets.provider.GroovyBracePairProvider"/>
|
||||
</extensions>
|
||||
</idea-plugin>
|
||||
</idea-plugin>
|
@@ -1,5 +1,5 @@
|
||||
<idea-plugin>
|
||||
<extensions defaultExtensionNs="com.chylex.intellij.rainbowbrackets">
|
||||
<extensions defaultExtensionNs="izhangzhihao.rainbow.brackets">
|
||||
<bracePairProvider language="kotlin"
|
||||
implementationClass="com.github.izhangzhihao.rainbow.brackets.provider.KotlinBracePairProvider"/>
|
||||
</extensions>
|
||||
@@ -9,4 +9,4 @@
|
||||
<annotator language="kotlin"
|
||||
implementationClass="com.github.izhangzhihao.rainbow.brackets.annotator.KotlinLabelAnnotator"/>
|
||||
</extensions>
|
||||
</idea-plugin>
|
||||
</idea-plugin>
|
@@ -1,6 +1,6 @@
|
||||
<idea-plugin>
|
||||
<extensions defaultExtensionNs="com.chylex.intellij.rainbowbrackets">
|
||||
<extensions defaultExtensionNs="izhangzhihao.rainbow.brackets">
|
||||
<bracePairProvider language="ObjectiveC"
|
||||
implementationClass="com.github.izhangzhihao.rainbow.brackets.provider.OCBracePairProvider"/>
|
||||
</extensions>
|
||||
</idea-plugin>
|
||||
</idea-plugin>
|
@@ -1,6 +1,6 @@
|
||||
<idea-plugin>
|
||||
<extensions defaultExtensionNs="com.chylex.intellij.rainbowbrackets">
|
||||
<extensions defaultExtensionNs="izhangzhihao.rainbow.brackets">
|
||||
<bracePairProvider language="PHP"
|
||||
implementationClass="com.github.izhangzhihao.rainbow.brackets.provider.PHPBracePairProvider"/>
|
||||
</extensions>
|
||||
</idea-plugin>
|
||||
</idea-plugin>
|
810
src/main/resources/META-INF/plugin.xml
Normal file
810
src/main/resources/META-INF/plugin.xml
Normal file
@@ -0,0 +1,810 @@
|
||||
<idea-plugin require-restart="true">
|
||||
<id>izhangzhihao.rainbow.brackets</id>
|
||||
<name>Rainbow Brackets</name>
|
||||
<vendor email="izhangzhihao@hotmail.com" url="https://github.com/izhangzhihao">izhangzhihao</vendor>
|
||||
|
||||
<description><![CDATA[
|
||||
<strong>🌈Rainbow Brackets for IntelliJ based IDEs/Android Studio/HUAWEI DevEco Studio</strong>
|
||||
<br/>
|
||||
|
||||
<b>Sponsors</b>
|
||||
<p>This plugin is sponsored by <b>CodeStream</b></p>
|
||||
|
||||
<a href=https://sponsorlink.codestream.com/?utm_source=jbmarket&utm_campaign=jbrainbowbrackets&utm_medium=banner>
|
||||
<img src=https://alt-images.codestream.com/codestream_logo_jbrainbowbrackets.png>
|
||||
</a>
|
||||
<br>Eliminate context switching and costly distractions. Create and merge PRs and perform code reviews from inside your IDE while using jump-to-definition, your keybindings, and other IDE favorites.
|
||||
<a href=https://sponsorlink.codestream.com/?utm_source=jbmarket&utm_campaign=jbrainbowbrackets&utm_medium=banner>Learn more</a>
|
||||
<br/>
|
||||
|
||||
<p>Supported languages:</p>
|
||||
<p>Java, Scala, Clojure, Kotlin, Python, Haskell, Agda, Rust, JavaScript, TypeScript, Erlang, Go, Groovy, Ruby,
|
||||
Elixir, ObjectiveC, PHP, HTML, XML, SQL, Apex language, C#, Dart, Pug/Jade, Bash, Vue.js, C# Razor Pages, GLSL(the OpenGL Shading Language), Go Template, C++, C...</p>
|
||||
<br/>
|
||||
<p>Author's choice:Rainbow Brackets + One Dark Theme + Nyan Progress Bar + Fira Code(Font)</p>
|
||||
<br/>
|
||||
<p>
|
||||
<img src="https://raw.githubusercontent.com/izhangzhihao/intellij-rainbow-brackets/2020.2/screenshots/with-java.png"
|
||||
border="0" width="500" height="205" alt="with-java"/></p>
|
||||
<p>
|
||||
<img src="https://raw.githubusercontent.com/izhangzhihao/intellij-rainbow-brackets/2020.2/screenshots/with-material-theme-ui.png"
|
||||
border="0" width="500" height="167" alt="with-material-theme-ui.png"/></p>
|
||||
<p>
|
||||
<img src="https://raw.githubusercontent.com/izhangzhihao/intellij-rainbow-brackets/2020.2/screenshots/with-scala.png"
|
||||
border="0" width="500" height="250" alt="with-scala"/></p>
|
||||
<p>
|
||||
<img src="https://raw.githubusercontent.com/izhangzhihao/intellij-rainbow-brackets/2020.2/screenshots/with-kotlin.png"
|
||||
border="0" width="500" height="191" alt="with-kotlin"/></p>
|
||||
<p>
|
||||
<img src="https://raw.githubusercontent.com/izhangzhihao/intellij-rainbow-brackets/2020.2/screenshots/with-Clojure.png"
|
||||
border="0" width="500" height="190" alt="with-Clojure.png"/></p>
|
||||
<p>
|
||||
<img src="https://raw.githubusercontent.com/izhangzhihao/intellij-rainbow-brackets/2020.2/screenshots/with-HTML.png"
|
||||
border="0" width="500" height="112" alt="with-HTML.png"/></p>
|
||||
<p>
|
||||
<img src="https://user-images.githubusercontent.com/10737066/40234968-46593fe2-5adb-11e8-8ea8-0026fad86ca9.gif"
|
||||
border="0" width="500" height="206" alt="Highlight current scope.gif"/></p>
|
||||
<p>
|
||||
<img src="https://user-images.githubusercontent.com/10737066/40235004-642dfe54-5adb-11e8-9fd7-648b92fab8f5.gif"
|
||||
border="0" width="500" height="206" alt="Highlight current scope.gif"/></p>
|
||||
]]></description>
|
||||
|
||||
<change-notes><![CDATA[
|
||||
<p>6.26-chylex-1</p>
|
||||
<ul>
|
||||
<li>Removed post-update notification.</li>
|
||||
</ul>
|
||||
<br/>
|
||||
|
||||
<p>6.26</p>
|
||||
<ul>
|
||||
<li>Bump dependencies.</li>
|
||||
</ul>
|
||||
<br/>
|
||||
|
||||
<p>6.25</p>
|
||||
<ul>
|
||||
<li><a href="https://github.com/izhangzhihao/intellij-rainbow-brackets/pull/2484">#2484 Add configurable threshold for number of lines for big files.</a></li>
|
||||
</ul>
|
||||
<br/>
|
||||
|
||||
<p>6.24</p>
|
||||
<ul>
|
||||
<li><a href="https://github.com/izhangzhihao/intellij-rainbow-brackets/issues/2478">#2478 Scope highlighting not working with Hiberbee Theme(and other themes).</a></li>
|
||||
</ul>
|
||||
<br/>
|
||||
|
||||
<p>6.23</p>
|
||||
<ul>
|
||||
<li><a href="https://github.com/izhangzhihao/intellij-rainbow-brackets/issues/2465">#2465 Improved performance of `annotateUtil`.</a></li>
|
||||
</ul>
|
||||
<br/>
|
||||
|
||||
<p>6.22</p>
|
||||
<ul>
|
||||
<li><a href="https://github.com/izhangzhihao/intellij-rainbow-brackets/issues/2408">#2408 Support Code With Me client(Doesn't even need to be installed on the client side)</a></li>
|
||||
</ul>
|
||||
<br/>
|
||||
|
||||
<p>6.21</p>
|
||||
<ul>
|
||||
<li>Handle exceptions in `RainbowHighlightVisitor.analyze()`</a></li>
|
||||
<li>Cleanup 201.* stuff</a></li>
|
||||
<li>Refactoring</a></li>
|
||||
<li>Mirror changes from https://github.com/JetBrains/intellij-community</a></li>
|
||||
<li>Using textMatches instead of text to avoid expensive traverses the whole PSI tree & format code</a></li>
|
||||
<li>Add support for rainbowify Python keywords</li>
|
||||
<li>Compatible with DataSpell</li>
|
||||
</ul>
|
||||
<br/>
|
||||
|
||||
<p>6.20</p>
|
||||
<ul>
|
||||
<li>Handle exceptions in `RainbowHighlightVisitor.analyze()`</a></li>
|
||||
<li>Cleanup 201.* stuff</a></li>
|
||||
<li>Refactoring</a></li>
|
||||
<li>Mirror changes from https://github.com/JetBrains/intellij-community</a></li>
|
||||
<li>Using textMatches instead of text to avoid expensive traverses the whole PSI tree & format code</a></li>
|
||||
<li>Add support for rainbowify Python keywords</li>
|
||||
<li>Compatible with DataSpell</li>
|
||||
</ul>
|
||||
<br/>
|
||||
|
||||
<p>6.19</p>
|
||||
<ul>
|
||||
<li>Fix <a href="https://github.com/izhangzhihao/intellij-rainbow-brackets/issues/2280">#2280: [SQL] the END keyword is improperly detected as closing a BEGIN scope when the END actually closes a CASE.</a></li>
|
||||
<li>Fix <a href="https://github.com/izhangzhihao/intellij-rainbow-brackets/issues/1993">#1993: Change the default color schema in light theme.</a></li>
|
||||
<li>Nashorn Engine removed, compatible with JDK15+, tested with OpenJDK 17-ea+24 on MacBook Pro (16-inch, 2019) & IntelliJ IDEA 2021.2 Build #IU-212.4638.7</li>
|
||||
<li>Compatible with HUAWEI DevEco Studio</li>
|
||||
</ul>
|
||||
<br/>
|
||||
|
||||
<p>6.18</p>
|
||||
<ul>
|
||||
<li>Fix <a href="https://github.com/izhangzhihao/intellij-rainbow-brackets/issues/2037">#2037: Wrong coloring in generic `<` after comparison operator `<`.</a></li>
|
||||
<li>Error report removed.</li>
|
||||
</ul>
|
||||
<br/>
|
||||
|
||||
<p>6.17</p>
|
||||
<ul>
|
||||
<li>Feature <a href="https://github.com/izhangzhihao/intellij-rainbow-brackets/pull/1068">#1068: @keeganwitt Add language exclusions to settings (closes #1046) (#1068) </a></li>
|
||||
<li>Fix <a href="https://github.com/izhangzhihao/intellij-rainbow-brackets/issues/1067">#1067: Don't rainbowify big files notification annoying</a></li>
|
||||
<li>Fix <a href="https://github.com/izhangzhihao/intellij-rainbow-brackets/issues/1057">#1057: Wrong coloring in lambda expressions with braces</a></li>
|
||||
<li>Fix <a href="https://github.com/izhangzhihao/intellij-rainbow-brackets/issues/497">#497: Add `<` & `>` support for C# </a></li>
|
||||
<li>Fix <a href="https://github.com/izhangzhihao/intellij-rainbow-brackets/issues/191">#191: C# Razor Pages (.cshtml) Support </a></li>
|
||||
<li>Deprecated API usage removed.</li>
|
||||
</ul>
|
||||
<br/>
|
||||
|
||||
<p>6.16</p>
|
||||
<ul>
|
||||
<li>Feature <a href="https://github.com/izhangzhihao/intellij-rainbow-brackets/issues/458">#458: Color Parentheses In Go Template</a></li>
|
||||
<li>Fix <a href="https://github.com/izhangzhihao/intellij-rainbow-brackets/issues/988">#988: (@Grandmother) minor: fix mispell in notification message</a></li>
|
||||
<li>Fix <a href="https://github.com/izhangzhihao/intellij-rainbow-brackets/issues/973">#973: File text mismatch</a></li>
|
||||
<li>Fix <a href="https://github.com/izhangzhihao/intellij-rainbow-brackets/issues/497">#497: C# in Rider - only squiggly brackets are rainbowified </a></li>
|
||||
</ul>
|
||||
<br/>
|
||||
|
||||
<p>6.15</p>
|
||||
<ul>
|
||||
<li>Feature <a href="https://github.com/izhangzhihao/intellij-rainbow-brackets/issues/897">#897: Initial support for Pug/Jade Language</a></li>
|
||||
<li>Feature <a href="https://github.com/izhangzhihao/intellij-rainbow-brackets/issues/830">#830: New option "Do NOT rainbowify template string"</a></li>
|
||||
<li>Feature <a href="https://github.com/izhangzhihao/intellij-rainbow-brackets/issues/784">#784: Disable rainbowify on big files(>1000 lines for now)</a></li>
|
||||
<li>Fix <a href="https://github.com/izhangzhihao/intellij-rainbow-brackets/issues/851">#851: Rainbowify tag name doesn't works in JSX</a></li>
|
||||
<li>Fix <a href="https://github.com/izhangzhihao/intellij-rainbow-brackets/issues/875">#875: cannot create configurable component</a></li>
|
||||
<li>Fix <a href="https://github.com/izhangzhihao/intellij-rainbow-brackets/issues/799">#799 #817: Wrong element created by ASTFactory</a></li>
|
||||
</ul>
|
||||
<br/>
|
||||
|
||||
<p>6.13</p>
|
||||
<ul>
|
||||
<li>Make as a non-dynamic plugin, so it now requires restart.</li>
|
||||
</ul>
|
||||
<br/>
|
||||
|
||||
<p>6.12.1</p>
|
||||
<ul>
|
||||
<li>Fix <a href="https://github.com/izhangzhihao/intellij-rainbow-brackets/issues/516">#516: Add option to raibowify tag name of XML/HTML(disabled by default)</a></li>
|
||||
<li>Fix <a href="https://github.com/izhangzhihao/intellij-rainbow-brackets/issues/279">#279: Hide update notification on any click & Disable update notification support</a></li>
|
||||
<li>Feature: Rainbowify XML/HTML tag name.</li>
|
||||
<li>Feature: Upgrade to kotlin 1.4.10.</li>
|
||||
</ul>
|
||||
<br/>
|
||||
|
||||
<p>6.12</p>
|
||||
<ul>
|
||||
<li>Fix <a href="https://github.com/izhangzhihao/intellij-rainbow-brackets/issues/279">#279: Hide update notification on any click & Disable update notification support</a></li>
|
||||
<li>Feature: Rainbowify XML/HTML tag name.</li>
|
||||
<li>Feature: Upgrade to kotlin 1.4.10.</li>
|
||||
</ul>
|
||||
<br/>
|
||||
|
||||
<p>6.11</p>
|
||||
<ul>
|
||||
<li>Fix <a href="https://github.com/izhangzhihao/intellij-rainbow-brackets/issues/481">#481: rainbow-brackets does not support bash shell properly(for BashSupport Pro and Shell Script)</a></li>
|
||||
<li>Fix <a href="https://github.com/izhangzhihao/intellij-rainbow-brackets/issues/485">#485: Incorrect coloriziong after lambda in C#</a></li>
|
||||
<li>Fix <a href="https://github.com/izhangzhihao/intellij-rainbow-brackets/issues/242">#242: Colorization is applied only to left parenthesis in for loop(C#) </a></li>
|
||||
<li>Feature: C# support switch to new implementation.</li>
|
||||
<li>Fix <a href="https://github.com/izhangzhihao/intellij-rainbow-brackets/issues/476">#476: Cannot create class com.github.izhangzhihao.rainbow.brackets.provider.SqlProvider</a></li>
|
||||
</ul>
|
||||
<br/>
|
||||
|
||||
<p>6.10</p>
|
||||
<ul>
|
||||
<li>Fix <a href="https://github.com/izhangzhihao/intellij-rainbow-brackets/issues/480">#480: Plugin Incompatibility: Android Studio 4.2 Alpha 8</a></li>
|
||||
</ul>
|
||||
<br/>
|
||||
|
||||
<p>6.9.1</p>
|
||||
<ul>
|
||||
<li>Fix <a href="https://github.com/izhangzhihao/intellij-rainbow-brackets/issues/445">#445: No working on Android Studio canary 4.2</a></li>
|
||||
<li>Some bug fixs and code refactorings</li>
|
||||
</ul>
|
||||
<br/>
|
||||
|
||||
<p>6.7</p>
|
||||
<ul>
|
||||
<li>Fix NPE</li>
|
||||
</ul>
|
||||
<br/>
|
||||
|
||||
<p>6.6</p>
|
||||
<ul>
|
||||
<li>Fix <a href="https://github.com/izhangzhihao/intellij-rainbow-brackets/issues/436">#436: Duplicated indent guides in 2020.2 EAP</a></li>
|
||||
</ul>
|
||||
<br/>
|
||||
|
||||
<p>6.5</p>
|
||||
<ul>
|
||||
<li>Fix <a href="https://github.com/izhangzhihao/intellij-rainbow-brackets/issues/410">#410: ArrayIndexOutOfBoundsException</a></li>
|
||||
<li>Fix <a href="https://github.com/izhangzhihao/intellij-rainbow-brackets/issues/429">#429: NullPointerException</a></li>
|
||||
<li>Feature <a href="https://github.com/izhangzhihao/intellij-rainbow-brackets/issues/427">#427: Colorizing angle brackets for Typescript generics</a></li>
|
||||
<li>Some refactoring!</li>
|
||||
</ul>
|
||||
<br/>
|
||||
|
||||
<p>6.4</p>
|
||||
<ul>
|
||||
<li>Fix <a href="https://github.com/izhangzhihao/intellij-rainbow-brackets/issues/420">#420: Exceptions in random color generator</a></li>
|
||||
<li>Fix <a href="https://github.com/izhangzhihao/intellij-rainbow-brackets/issues/423">#423: Don't rainbow php and echo tag</a></li>
|
||||
<li>Fix anonymous feedback</li>
|
||||
<li>Some refactoring!</li>
|
||||
</ul>
|
||||
<br/>
|
||||
|
||||
<p>6.3</p>
|
||||
<ul>
|
||||
<li>Feature <a href="https://github.com/izhangzhihao/intellij-rainbow-brackets/issues/417">#417: Disable Rainbow Indents in Zen mode</a></li>
|
||||
<li>Feature <a href="https://github.com/izhangzhihao/intellij-rainbow-brackets/issues/227">#227: Coloring for angle bracket for C++ code</a></li>
|
||||
<li>Fix some exceptions and refactoring!</li>
|
||||
<li>Feature <a href="https://github.com/izhangzhihao/intellij-rainbow-brackets/issues/214">#214: New color generator to generate your color schema</a></li>
|
||||
</ul>
|
||||
<br/>
|
||||
|
||||
|
||||
<p>6.2</p>
|
||||
<ul>
|
||||
<li>Fix <a href="https://github.com/izhangzhihao/intellij-rainbow-brackets/issues/410">#410: ArrayIndexOutOfBoundsException when number of colors to less than 5</a></li>
|
||||
</ul>
|
||||
<br/>
|
||||
|
||||
<p>6.1</p>
|
||||
<ul>
|
||||
<li>First release of 2020.1 and Java 11!</li>
|
||||
<li>Feature <a href="https://github.com/izhangzhihao/intellij-rainbow-brackets/issues/235">#235: support SQL begin end colorization</a></li>
|
||||
<li>Notification improved</li>
|
||||
<li>Error report improved</li>
|
||||
<li>Deprecated API usage removed</li>
|
||||
<li>Initial support for <a href="https://www.jetbrains.org/intellij/sdk/docs/basics/plugin_structure/dynamic_plugins.html">dynamic plugin</a></li>
|
||||
</ul>
|
||||
<br/>
|
||||
|
||||
<p>6.0</p>
|
||||
<ul>
|
||||
<li>First release of 2020.1 and Java 11!</li>
|
||||
<li>Feature <a href="https://github.com/izhangzhihao/intellij-rainbow-brackets/issues/235">#235: support SQL begin end colorization</a></li>
|
||||
<li>Notification improved</li>
|
||||
<li>Error report improved</li>
|
||||
<li>Deprecated API usage removed</li>
|
||||
<li>Initial support for <a href="https://www.jetbrains.org/intellij/sdk/docs/basics/plugin_structure/dynamic_plugins.html">dynamic plugin</a></li>
|
||||
</ul>
|
||||
<br/>
|
||||
|
||||
<p>5.35</p>
|
||||
<ul>
|
||||
<li>Final release of 2017.2 and Java 8! start from the next release, we will build against with 2020.1 and Java 11</li>
|
||||
</ul>
|
||||
<br/>
|
||||
|
||||
<p>5.34</p>
|
||||
<ul>
|
||||
<li>Compatible with Material Theme UI Plugin</li>
|
||||
<li>Fix typo</li>
|
||||
</ul>
|
||||
<br/>
|
||||
|
||||
<p>5.33</p>
|
||||
<ul>
|
||||
<li>Fix ArrayIndexOutOfBoundsException</li>
|
||||
</ul>
|
||||
<br/>
|
||||
|
||||
<p>5.32</p>
|
||||
<ul>
|
||||
<li>Feature #391: Support cycle color on all bracket types(new option `Cycle count on all bracket types`)</li>
|
||||
<li>Fix ArrayIndexOutOfBoundsException</li>
|
||||
</ul>
|
||||
<br/>
|
||||
|
||||
<p>5.31</p>
|
||||
<ul>
|
||||
<li>#187 Feature: Ability to increase the number of colours in the IDE</li>
|
||||
<li>#247 Feature: Add a button to apply the color code to all kind of brackets</li>
|
||||
<li>#374 Feature: Add support for IntelliJ-Haskell</li>
|
||||
<li>Fix #54: Disable rainbow for mxml files</li>
|
||||
<li>Fix typo</li>
|
||||
</ul>
|
||||
<br/>
|
||||
|
||||
<p>5.30</p>
|
||||
<ul>
|
||||
<li>Rollback indent guides</li>
|
||||
</ul>
|
||||
<br/>
|
||||
|
||||
<p>5.29</p>
|
||||
<ul>
|
||||
<li>Compatible color schema with the latest version of material-theme-jetbrains</li>
|
||||
<li>Fix some errors</li>
|
||||
</ul>
|
||||
<br/>
|
||||
|
||||
<p>5.28</p>
|
||||
<ul>
|
||||
<li>Improve error report</li>
|
||||
<li>Fix some errors with Nginx plugin</li>
|
||||
</ul>
|
||||
<br/>
|
||||
|
||||
<p>5.27</p>
|
||||
<ul>
|
||||
<li>Improve rainbow indent guide lines</li>
|
||||
</ul>
|
||||
<br/>
|
||||
|
||||
<p>5.26</p>
|
||||
<ul>
|
||||
<li>Improve error report.</li>
|
||||
</ul>
|
||||
<br/>
|
||||
|
||||
<p>5.25</p>
|
||||
<ul>
|
||||
<li>Fix #259 Runtime error in rainbow indent guide lines.</li>
|
||||
</ul>
|
||||
<br/>
|
||||
|
||||
<p>5.24</p>
|
||||
<ul>
|
||||
<li>Fix #252 Runtime error in rainbow indent guide lines.</li>
|
||||
<li>Fix #254 Nginx support is been disabled from now on.</li>
|
||||
<li>Re-enable anonymous feedback</li>
|
||||
</ul>
|
||||
<br/>
|
||||
|
||||
<p>5.23</p>
|
||||
<ul>
|
||||
<li>#164 #251 New feature: Rainbow indent guide lines(experimental), Thanks https://github.com/YiiGuxing !</li>
|
||||
</ul>
|
||||
<br/>
|
||||
|
||||
<p>5.22</p>
|
||||
<ul>
|
||||
<li>Fix #243 #180, allow users custom matched brace by setting `overrideMatchedBraceAttributes = false`</li>
|
||||
</ul>
|
||||
<br/>
|
||||
|
||||
<p>5.21</p>
|
||||
<ul>
|
||||
<li>#65 [Scope Highlighting] now the effects will not been removed after shortcut released, users could press the key `ESC` to do this. There also have an option `Press any key to remove the highlighting effects`</li>
|
||||
<li>Refactoring & Remove dead code</li>
|
||||
</ul>
|
||||
<br/>
|
||||
|
||||
<p>5.20</p>
|
||||
<ul>
|
||||
<li>#233 Option to not rainbowify brackets of the first level</li>
|
||||
<li>#234 Color is displayed with wrong order in C# code</li>
|
||||
</ul>
|
||||
<br/>
|
||||
|
||||
<p>5.19</p>
|
||||
<ul>
|
||||
<li>Fix notification.</li>
|
||||
</ul>
|
||||
<br/>
|
||||
|
||||
<p>5.18</p>
|
||||
<ul>
|
||||
<li>Add notification for custom your own rainbow colors.</li>
|
||||
</ul>
|
||||
<br/>
|
||||
|
||||
<p>5.17</p>
|
||||
<ul>
|
||||
<li>More color options for squiggly brackets before cycle(#215).</li>
|
||||
<li>NullPointerException in while analyse code(#216).</li>
|
||||
</ul>
|
||||
<br/>
|
||||
|
||||
<p>5.16</p>
|
||||
<ul>
|
||||
<li>Add shiny new icon.</li>
|
||||
</ul>
|
||||
<br/>
|
||||
|
||||
<p>5.15</p>
|
||||
<ul>
|
||||
<li>Fix support for kotlin scheme attribute "KOTLIN_FUNCTION_LITERAL_BRACES_AND_ARROW".</li>
|
||||
</ul>
|
||||
<br/>
|
||||
|
||||
<p>5.14</p>
|
||||
<ul>
|
||||
<li>Remove deprecated API usages.</li>
|
||||
<li>Refactoring.</li>
|
||||
<li>Added Dart to the supported languages list(#205).</li>
|
||||
</ul>
|
||||
<br/>
|
||||
|
||||
<p>5.13</p>
|
||||
<ul>
|
||||
<li>Fix macro support of Clang(#198)</li>
|
||||
<li>Remove red-variation colors from default configuration(#192)</li>
|
||||
</ul>
|
||||
<br/>
|
||||
|
||||
<p>5.12</p>
|
||||
<ul>
|
||||
<li>Intellij-rainbow-brackets now support C# language(#6)!</li>
|
||||
</ul>
|
||||
<br/>
|
||||
|
||||
<p>5.11</p>
|
||||
<ul>
|
||||
<li>Now you could disable rainbow brackets for specific languages, see more info <a
|
||||
href="https://github.com/izhangzhihao/intellij-rainbow-brackets#disable-rainbow-brackets-for-specific-languages">here</a>.
|
||||
</li>
|
||||
</ul>
|
||||
<br/>
|
||||
|
||||
<p>5.10</p>
|
||||
<ul>
|
||||
<li>New color settings page!!! Thanks this PR(#179) from https://github.com/YiiGuxing.</li>
|
||||
<li>See the new settings page in Settings/Preferences > Editor > Color Scheme > Rainbow Brackets.</li>
|
||||
</ul>
|
||||
<br/>
|
||||
|
||||
<p>5.9.1</p>
|
||||
<ul>
|
||||
<li>Fix wrong background color on a light theme of "MATCHED_BRACE_ATTRIBUTES"(#155).</li>
|
||||
</ul>
|
||||
<br/>
|
||||
|
||||
<p>5.9</p>
|
||||
<ul>
|
||||
<li>Rainbow Kotlin lambda expression arrow(#142).</li>
|
||||
<li>Experimental feature: Highlight Kotlin label(#143).</li>
|
||||
<li>Override "MATCHED_BRACE_ATTRIBUTES".</li>
|
||||
<li>Improve configs & docs.</li>
|
||||
<li>Cleanup temp code & deprecated code.</li>
|
||||
<li>Remove anonymous feedback.</li>
|
||||
</ul>
|
||||
<br/>
|
||||
|
||||
<p>5.8.3</p>
|
||||
<ul>
|
||||
<li>Improve anonymous feedback</li>
|
||||
</ul>
|
||||
<br/>
|
||||
|
||||
<p>5.8.2</p>
|
||||
<ul>
|
||||
<li>Override kotlin plugin setting `KOTLIN_FUNCTION_LITERAL_BRACES_AND_ARROW` to empty so that we could
|
||||
rainbowify multiple level lambda expressions.
|
||||
</li>
|
||||
</ul>
|
||||
<br/>
|
||||
|
||||
<p>5.8.1</p>
|
||||
<ul>
|
||||
<li>Fix #67: Can't find resource for bundle java.util.PropertyResourceBundle, key version</li>
|
||||
<li>Improve anonymous feedback</li>
|
||||
</ul>
|
||||
<br/>
|
||||
|
||||
<p>5.8</p>
|
||||
<ul>
|
||||
<li>Feature #52 Flat out all text other than brackets on key (Alt + Button3) press. (via pull request#63)
|
||||
</li>
|
||||
<li>Feature #61 Change Highlight Current Scope Keymap to Ctrl + Button3 (Windows & Linux) or Meta+ Button3
|
||||
(Mac) (via pull request#63)
|
||||
</li>
|
||||
<li>Add anonymous feedback support</li>
|
||||
</ul>
|
||||
<br/>
|
||||
|
||||
<p>5.7.1</p>
|
||||
<ul>
|
||||
<li>Fix #60 :Exception in v5.7</li>
|
||||
<li>Experimental feature: Highlight current scope when Ctrl(Windows & Linux)/Meta(Mac) key pressed (feature
|
||||
#37 / pull request#59)
|
||||
</li>
|
||||
</ul>
|
||||
<br/>
|
||||
|
||||
<p>5.7</p>
|
||||
<ul>
|
||||
<li>Experimental feature: Highlight current scope when Ctrl(Windows & Linux)/Meta(Mac) key pressed (feature
|
||||
#37 / pull request#59)
|
||||
</li>
|
||||
</ul>
|
||||
<br/>
|
||||
|
||||
<p>5.6</p>
|
||||
<ul>
|
||||
<li>Performance improvement</li>
|
||||
</ul>
|
||||
<br/>
|
||||
|
||||
<p>5.5</p>
|
||||
<ul>
|
||||
<li>Fix #53 The closing brackets or keywords are not highlighted (Ruby & PHP)</li>
|
||||
</ul>
|
||||
<br/>
|
||||
|
||||
<p>5.4</p>
|
||||
<ul>
|
||||
<li>Fix #53 The closing brackets or keywords are not highlighted (Ruby & PHP)</li>
|
||||
</ul>
|
||||
<br/>
|
||||
|
||||
<p>5.3</p>
|
||||
<ul>
|
||||
<li>Improve angle bracket support for Groovy</li>
|
||||
</ul>
|
||||
<br/>
|
||||
|
||||
<p>5.2</p>
|
||||
<ul>
|
||||
<li>#48 Performance improvement</li>
|
||||
<li>#49 Fix images size</li>
|
||||
</ul>
|
||||
<br/>
|
||||
|
||||
<p>5.1</p>
|
||||
<ul>
|
||||
<li>#39 Enable rainbow html in js</li>
|
||||
</ul>
|
||||
<br/>
|
||||
|
||||
<p>5.0</p>
|
||||
<ul>
|
||||
<li>Finally, intellij-rainbow-brackets released version 5.0 with all RC features & bug fix</li>
|
||||
<li><b>Thanks for https://github.com/YiiGuxing, which helps move this plugin from `Annotator` to
|
||||
`HighlightVisitor`!</b></li>
|
||||
<li>Check more info at <a href="https://github.com/izhangzhihao/intellij-rainbow-brackets/pull/25">here</a>
|
||||
</li>
|
||||
<li>From 5.x series we didn't need specific implementations like java/scala/kotlin specific implementations
|
||||
in 3.x series anymore!
|
||||
</li>
|
||||
<br/>
|
||||
<li>#13 Add test for dart support & add `DartAngleBracketProvider` for support dart angle brackets</li>
|
||||
<li>#18 where to customize brackets color? See the config guide in <a
|
||||
href="https://github.com/izhangzhihao/intellij-rainbow-brackets#Config-brackets-colors">here</a>
|
||||
</li>
|
||||
<li>Add test for #39</li>
|
||||
<li>#38 Add support for JSX (React)</li>
|
||||
<li>Fix #27 Settings no longer works</li>
|
||||
<li>#30 Adjust color: remove red, purple from color palettes, add some material design color to color
|
||||
palettes.
|
||||
</li>
|
||||
<li>#32 Add version info in setting page</li>
|
||||
<li>#31 Fix 'Enablement of round brackets enables all but angle brackets'</li>
|
||||
<li>#10 #2 Add setting to disable rainbow-ify brackets without content</li>
|
||||
<li>Show update notification after plugin updated</li>
|
||||
<li>Add a lot of tests</li>
|
||||
<li>Convert all java code to kotlin</li>
|
||||
<br/>
|
||||
<li>And with much more features not documented in release notes.</li>
|
||||
<li>NOTE: this version are build against with IU-2017.2.7, but verified by IC-2017.2</li>
|
||||
</ul>
|
||||
<br/>
|
||||
|
||||
<p>5.0-RC4</p>
|
||||
<ul>
|
||||
<li>#10 #2 Add setting to disable rainbow-ify brackets without content</li>
|
||||
<li>Show update notification after plugin updated</li>
|
||||
<li>Add a lot of tests</li>
|
||||
<li>Convert all java code to kotlin</li>
|
||||
<li>NOTE: this version are build against with IU-2017.2.7, but verified by IC-2017.2</li>
|
||||
</ul>
|
||||
<br/>
|
||||
|
||||
<p>5.0-RC3</p>
|
||||
<ul>
|
||||
<li>#32 Add version info in setting page</li>
|
||||
<li>#31 Fix 'Enablement of round brackets enables all but angle brackets(#31)'</li>
|
||||
</ul>
|
||||
<br/>
|
||||
|
||||
<p>5.0-RC2</p>
|
||||
<ul>
|
||||
<li>#30 Adjust color: remove red, purple from color palettes, add some material design color to color
|
||||
palettes.
|
||||
</li>
|
||||
</ul>
|
||||
<br/>
|
||||
|
||||
<p>5.0-RC1</p>
|
||||
<ul>
|
||||
<li>Fix #27 Settings no longer works</li>
|
||||
</ul>
|
||||
<br/>
|
||||
|
||||
<p>5.0-RC0</p>
|
||||
<ul>
|
||||
<li>This is the first RC releases on 5.x series!</li>
|
||||
<li><b>Thanks for https://github.com/YiiGuxing, which helps move this plugin from `Annotator` to
|
||||
`HighlightVisitor`!</b></li>
|
||||
<li>Check more info at https://github.com/izhangzhihao/intellij-rainbow-brackets/pull/25</li>
|
||||
<li>This RC release has fantastic compatibility with previous release(3.x series).</li>
|
||||
<li>From 5.x series we didn't need specific implementations like java/scala/kotlin specific implementations
|
||||
in 3.x series anymore!
|
||||
</li>
|
||||
<li>And with much more features not documented in release notes.</li>
|
||||
</ul>
|
||||
<br/>
|
||||
|
||||
<p>3.1</p>
|
||||
<ul>
|
||||
<li>Add a specific implementation for PHP language</li>
|
||||
</ul>
|
||||
<br/>
|
||||
|
||||
<p>3.0</p>
|
||||
<ul>
|
||||
<li>Version 3.0 has been released, with all RC features & bug fix</li>
|
||||
<li>Fix #23 Inconsistent colors</li>
|
||||
<li>Fix #21 Wrong bracket colorization based on spaces</li>
|
||||
<li>Fix #19 Kotlin expression inside string bug</li>
|
||||
<li>Fix #12 Symbol less ">" is considered as a bracket even without leading "<"</li>
|
||||
<li>Fix #11 Same level brackets should have same color</li>
|
||||
<li>And much more!</li>
|
||||
<li>Add specific implement for java/kotlin/scala/javascript</li>
|
||||
<li>Add example to help people add specific implementation for specific language!</li>
|
||||
<li>Check out README.md on github https://github.com/izhangzhihao/intellij-rainbow-brackets</li>
|
||||
</ul>
|
||||
<br/>
|
||||
|
||||
<p>3.0-RC5</p>
|
||||
<ul>
|
||||
<li>Adjust colors for default light theme. Thanks to https://github.com/YiiGuxing</li>
|
||||
</ul>
|
||||
<br/>
|
||||
|
||||
<p>3.0-RC4</p>
|
||||
<ul>
|
||||
<li>Add specific implement for java/kotlin/scala</li>
|
||||
<li>So now in java/kotlin/scala same level brackets should have same color.</li>
|
||||
<li>Fix: #19:Kotlin expression inside string bug</li>
|
||||
</ul>
|
||||
<br/>
|
||||
|
||||
<p>3.0-RC2</p>
|
||||
<ul>
|
||||
<li>Remove option for enable/disable rainbow for HTML/XML</li>
|
||||
</ul>
|
||||
<br/>
|
||||
|
||||
<p>3.0-RC1</p>
|
||||
<ul>
|
||||
<li>Add new setting page to control what/how to colorify:</li>
|
||||
<li>1. Add option to Enable/disable rainbow</li>
|
||||
<li>2. Add option to Enable rainbow for any unsupported languages</li>
|
||||
<li>3. Add option to Enable/disable rainbow for HTML/XML</li>
|
||||
<li>4. Add option to Enable/disable rainbow for round brackets</li>
|
||||
<li>5. Add option to Enable/disable rainbow for squiggly brackets</li>
|
||||
<li>6. Add option to Enable/disable rainbow for square brackets</li>
|
||||
<li>7. Add option to Enable/disable rainbow for angle brackets</li>
|
||||
</ul>
|
||||
<br/>
|
||||
|
||||
<p>2.6</p>
|
||||
<ul>
|
||||
<li>Add support for salesforce apex language, thanks for https://github.com/onisuly</li>
|
||||
</ul>
|
||||
<br/>
|
||||
|
||||
<p>2.5</p>
|
||||
<ul>
|
||||
<li>Fix Rust support, thanks for https://github.com/fst3a</li>
|
||||
</ul>
|
||||
<br/>
|
||||
|
||||
<p>2.4</p>
|
||||
<ul>
|
||||
<li>Add support for SQL</li>
|
||||
</ul>
|
||||
<br/>
|
||||
|
||||
<p>2.3</p>
|
||||
<ul>
|
||||
<li>Add support for HTML/XML</li>
|
||||
</ul>
|
||||
<br/>
|
||||
|
||||
<p>2.2</p>
|
||||
<ul>
|
||||
<li>Add support for C#</li>
|
||||
</ul>
|
||||
<br/>
|
||||
|
||||
<p>2.1</p>
|
||||
<ul>
|
||||
<li>New identifiable colors</li>
|
||||
</ul>
|
||||
<br/>
|
||||
|
||||
<p>2.0</p>
|
||||
<ul>
|
||||
<li>Rainbowify brackets faster!</li>
|
||||
</ul>
|
||||
<br/>
|
||||
|
||||
<p>1.1</p>
|
||||
<ul>
|
||||
<li>Support IntelliJ IDEA based IDEs version 14 and above</li>
|
||||
</ul>
|
||||
<br/>
|
||||
|
||||
<p>1.0</p>
|
||||
<ul>
|
||||
<li>Initial release</li>
|
||||
</ul>
|
||||
]]>
|
||||
</change-notes>
|
||||
|
||||
<!-- please see https://plugins.jetbrains.com/docs/intellij/plugin-compatibility.html
|
||||
on how to target different products -->
|
||||
<depends>com.intellij.modules.lang</depends>
|
||||
<depends optional="true" config-file="kotlin-brackets.xml">org.jetbrains.kotlin</depends>
|
||||
<depends optional="true" config-file="JSX.xml">JavaScript</depends>
|
||||
<depends optional="true" config-file="dart-brackets.xml">Dart</depends>
|
||||
<depends optional="true" config-file="groovy-brackets.xml">org.intellij.groovy</depends>
|
||||
<!--<depends optional="true" config-file="csharp-annotator.xml">com.intellij.modules.rider</depends>-->
|
||||
<depends optional="true" config-file="csharp-brackets.xml">com.intellij.modules.rider</depends>
|
||||
<depends optional="true" config-file="intellij-haskell-annotator.xml">intellij.haskell</depends>
|
||||
<depends optional="true" config-file="sql-brackets.xml">com.intellij.database</depends>
|
||||
<depends optional="true" config-file="oc-brackets.xml">com.intellij.modules.clion</depends>
|
||||
<depends optional="true" config-file="sh-brackets.xml">com.jetbrains.sh</depends>
|
||||
<depends optional="true" config-file="php-brackets.xml">com.jetbrains.php</depends>
|
||||
<depends optional="true" config-file="go-template-brackets.xml">org.jetbrains.plugins.go-template</depends>
|
||||
<depends optional="true" config-file="jade-rainbow-visitor.xml">com.jetbrains.plugins.jade</depends>
|
||||
<depends optional="true" config-file="python-brackets.xml">com.intellij.modules.python</depends>
|
||||
|
||||
<extensionPoints>
|
||||
<extensionPoint name="bracePairProvider" beanClass="com.intellij.lang.LanguageExtensionPoint" dynamic="true">
|
||||
<with attribute="implementationClass"
|
||||
implements="com.github.izhangzhihao.rainbow.brackets.provider.BracePairProvider"/>
|
||||
</extensionPoint>
|
||||
</extensionPoints>
|
||||
|
||||
<extensions defaultExtensionNs="com.intellij">
|
||||
<!--test only-->
|
||||
<!--<annotator language="JAVA" implementationClass="com.github.izhangzhihao.rainbow.brackets.annotator.RainbowAnnotator"/>-->
|
||||
|
||||
<highlightVisitor implementation="com.github.izhangzhihao.rainbow.brackets.visitor.DefaultRainbowVisitor"/>
|
||||
<highlightVisitor implementation="com.github.izhangzhihao.rainbow.brackets.visitor.XmlRainbowVisitor"/>
|
||||
|
||||
<applicationConfigurable instance="com.github.izhangzhihao.rainbow.brackets.settings.RainbowConfigurable"/>
|
||||
<applicationService
|
||||
serviceImplementation="com.github.izhangzhihao.rainbow.brackets.settings.RainbowSettings"/>
|
||||
<colorAndFontPanelFactory
|
||||
implementation="com.github.izhangzhihao.rainbow.brackets.settings.RainbowColorsPageFactory"/>
|
||||
<colorAndFontDescriptorProvider
|
||||
implementation="com.github.izhangzhihao.rainbow.brackets.settings.RainbowColorsPageFactory"/>
|
||||
|
||||
<additionalTextAttributes scheme="Default" file="colorSchemes/rainbow-color-default.xml"/>
|
||||
<additionalTextAttributes scheme="Darcula" file="colorSchemes/rainbow-color-default-darcula.xml"/>
|
||||
<!--<errorHandler implementation="com.github.izhangzhihao.rainbow.brackets.util.GitHubErrorReporter"/>-->
|
||||
<highlightingPassFactory implementation="com.github.izhangzhihao.rainbow.brackets.indents.RainbowIndentsPassFactory"/>
|
||||
<editorNotificationProvider implementation="com.github.izhangzhihao.rainbow.brackets.RainbowifyBanner"/>
|
||||
<notificationGroup id="Rainbow Brackets Notification Group" displayType="STICKY_BALLOON"/>
|
||||
</extensions>
|
||||
|
||||
<applicationListeners>
|
||||
<listener class="com.github.izhangzhihao.rainbow.brackets.listener.RainbowColorsSchemeListener" topic="com.intellij.openapi.editor.colors.EditorColorsListener"/>
|
||||
</applicationListeners>
|
||||
|
||||
<actions>
|
||||
<action class="com.github.izhangzhihao.rainbow.brackets.action.ScopeHighlightingAction"
|
||||
id="Rainbow.ScopeHighlightingAction"
|
||||
text="Highlight Current Scope"
|
||||
description="Highlight current scope.">
|
||||
<mouse-shortcut keymap="$default" keystroke="control button3"/>
|
||||
<mouse-shortcut keymap="Mac OS X" keystroke="meta button3"/>
|
||||
<mouse-shortcut keymap="Mac OS X 10.5+" keystroke="meta button3"/>
|
||||
</action>
|
||||
<action class="com.github.izhangzhihao.rainbow.brackets.action.ScopeOutsideHighlightingRestrainAction"
|
||||
id="Rainbow.ScopeOutsideHighlightingRestrainAction"
|
||||
text="Restrain Scope Highlighting"
|
||||
description="Restrain outside of current scope highlighting.">
|
||||
<mouse-shortcut keymap="$default" keystroke="alt button3"/>
|
||||
<mouse-shortcut keymap="Mac OS X" keystroke="alt button3"/>
|
||||
<mouse-shortcut keymap="Mac OS X 10.5+" keystroke="alt button3"/>
|
||||
</action>
|
||||
</actions>
|
||||
|
||||
</idea-plugin>
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user