Skip to content

Commit

Permalink
#466 - Prettier (.prettierignore) support
Browse files Browse the repository at this point in the history
  • Loading branch information
hsz committed Sep 3, 2017
1 parent e532080 commit ff0d586
Show file tree
Hide file tree
Showing 12 changed files with 123 additions and 0 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Expand Up @@ -9,6 +9,7 @@

- **Migration to the native IDE indexing**
- EAP repository channel
- Prettier (.prettierignore) support [\#466](https://github.com/hsz/idea-gitignore/issues/466)

**Fixed bugs:**

Expand Down
1 change: 1 addition & 0 deletions README.md
Expand Up @@ -132,6 +132,7 @@ Changelog

- **Migration to the native IDE indexing**
- EAP repository channel
- Prettier (.prettierignore) support [\#466](https://github.com/hsz/idea-gitignore/issues/466)

**Fixed bugs:**

Expand Down
14 changes: 14 additions & 0 deletions resources/META-INF/plugin.xml
Expand Up @@ -30,6 +30,7 @@
.jshintignore (JSHint),
.tfignore (Team Foundation),
.p4ignore (Perforce),
.prettierignore (Prettier),
.flooignore (Floobits),
.eslintignore (ESLint),
.cfignore (Cloud Foundry),
Expand Down Expand Up @@ -83,6 +84,7 @@
<ul>
<li><b>Migration to the native IDE indexing</b></li>
<li>EAP repository channel</li>
<li>Prettier (.prettierignore) support (<a href="https://github.com/hsz/idea-gitignore/issues/466">466</a>)</li>
</ul>
<i>Fixed bugs:</i>
Expand Down Expand Up @@ -242,6 +244,8 @@
implementationClass="mobi.hsz.idea.gitignore.lang.IgnoreParserDefinition"/>
<lang.parserDefinition language="Perforce"
implementationClass="mobi.hsz.idea.gitignore.lang.IgnoreParserDefinition"/>
<lang.parserDefinition language="Prettier"
implementationClass="mobi.hsz.idea.gitignore.lang.IgnoreParserDefinition"/>
<lang.parserDefinition language="StyleLint"
implementationClass="mobi.hsz.idea.gitignore.lang.IgnoreParserDefinition"/>
<lang.parserDefinition language="Stylint"
Expand Down Expand Up @@ -455,6 +459,16 @@
implementationClass="mobi.hsz.idea.gitignore.highlighter.IgnoreHighlighterFactory"/>
<!-- END Perforce -->

<!-- Prettier -->
<codeInsight.lineMarkerProvider language="Prettier"
implementationClass="mobi.hsz.idea.gitignore.daemon.IgnoreDirectoryMarkerProvider"/>
<lang.braceMatcher language="Prettier" implementationClass="mobi.hsz.idea.gitignore.lang.IgnoreBraceMatcher"/>
<lang.commenter language="Prettier" implementationClass="mobi.hsz.idea.gitignore.lang.IgnoreCommenter"/>
<lang.syntaxHighlighterFactory language="Prettier"
key="Prettier"
implementationClass="mobi.hsz.idea.gitignore.highlighter.IgnoreHighlighterFactory"/>
<!-- END Prettier -->

<!-- Stylint -->
<codeInsight.lineMarkerProvider language="Stylint"
implementationClass="mobi.hsz.idea.gitignore.daemon.IgnoreDirectoryMarkerProvider"/>
Expand Down
Binary file added resources/icons/icon_prettier.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added resources/icons/icon_prettier@2x.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added resources/icons/icon_prettier@2x_dark.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added resources/icons/icon_prettier_dark.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions resources/messages/IgnoreBundle.properties
Expand Up @@ -157,6 +157,7 @@ notification.update.content=<br/>\
Features:<br/>\
- <b>Migration to the native IDE indexing</b><br/>\
- EAP repository channel<br/>\
- Prettier (.prettierignore) support (#466)<br/>\
<br/>\
Fixes:<br/>\
- ~/.gitignore_global is not handled (#453)<br/>\
Expand Down
1 change: 1 addition & 0 deletions src/mobi/hsz/idea/gitignore/IgnoreBundle.java
Expand Up @@ -87,6 +87,7 @@ private IgnoreBundle() {
NodemonLanguage.INSTANCE,
NpmLanguage.INSTANCE,
PerforceLanguage.INSTANCE,
PrettierLanguage.INSTANCE,
StyleLintLanguage.INSTANCE,
StylintLanguage.INSTANCE,
SwaggerCodegenLanguage.INSTANCE,
Expand Down
44 changes: 44 additions & 0 deletions src/mobi/hsz/idea/gitignore/file/type/kind/PrettierFileType.java
@@ -0,0 +1,44 @@
/*
* The MIT License (MIT)
*
* Copyright (c) 2017 hsz Jakub Chrzanowski <jakub@hsz.mobi>
*
* 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 mobi.hsz.idea.gitignore.file.type.kind;

import mobi.hsz.idea.gitignore.file.type.IgnoreFileType;
import mobi.hsz.idea.gitignore.lang.kind.PrettierLanguage;

/**
* Describes Prettier file type.
*
* @author Jakub Chrzanowski <jakub@hsz.mobi>
* @since 2.2.0
*/
public class PrettierFileType extends IgnoreFileType {
/** Contains {@link PrettierFileType} singleton. */
public static final PrettierFileType INSTANCE = new PrettierFileType();

/** Private constructor to prevent direct object creation. */
private PrettierFileType() {
super(PrettierLanguage.INSTANCE);
}
}
58 changes: 58 additions & 0 deletions src/mobi/hsz/idea/gitignore/lang/kind/PrettierLanguage.java
@@ -0,0 +1,58 @@
/*
* The MIT License (MIT)
*
* Copyright (c) 2017 hsz Jakub Chrzanowski <jakub@hsz.mobi>
*
* 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 mobi.hsz.idea.gitignore.lang.kind;

import mobi.hsz.idea.gitignore.file.type.IgnoreFileType;
import mobi.hsz.idea.gitignore.file.type.kind.PrettierFileType;
import mobi.hsz.idea.gitignore.lang.IgnoreLanguage;
import mobi.hsz.idea.gitignore.util.Icons;
import org.jetbrains.annotations.NotNull;

/**
* Prettier {@link IgnoreLanguage} definition.
*
* @author Jakub Chrzanowski <jakub@hsz.mobi>
* @since 2.2.0
*/
public class PrettierLanguage extends IgnoreLanguage {
/** The {@link PrettierLanguage} instance. */
public static final PrettierLanguage INSTANCE = new PrettierLanguage();

/** {@link IgnoreLanguage} is a non-instantiable static class. */
private PrettierLanguage() {
super("Prettier", "prettierignore", null, Icons.PRETTIER);
}

/**
* Language file type.
*
* @return {@link PrettierFileType} instance
*/
@NotNull
@Override
public IgnoreFileType getFileType() {
return PrettierFileType.INSTANCE;
}
}
3 changes: 3 additions & 0 deletions src/mobi/hsz/idea/gitignore/util/Icons.java
Expand Up @@ -92,6 +92,9 @@ public class Icons {
/** Perforce icon. */
public static final Icon PERFORCE = IconLoader.getIcon("/icons/icon_perforce.png");

/** Prettier icon. */
public static final Icon PRETTIER = IconLoader.getIcon("/icons/icon_prettier.png");

/** StyleLint icon. */
public static final Icon STYLELINT = IconLoader.getIcon("/icons/icon_stylelint.png");

Expand Down

0 comments on commit ff0d586

Please sign in to comment.