cleanup
[idea/community.git] / platform / editor-ui-api / src / com / intellij / openapi / editor / colors / EditorColorPaletteFactory.java
1 // Copyright 2000-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
2 package com.intellij.openapi.editor.colors;
3
4 import com.intellij.lang.Language;
5 import com.intellij.openapi.application.ApplicationManager;
6 import org.jetbrains.annotations.NotNull;
7 import org.jetbrains.annotations.Nullable;
8
9 /**
10  * Builds an empty editor color palette. The constructed palette can be filled with {@code EditorColorPalette.with...()} methods.
11  * @see EditorColorPalette#withBackgroundColors()
12  * @see EditorColorPalette#withForegroundColors()
13  */
14 public abstract class EditorColorPaletteFactory {
15   public static EditorColorPaletteFactory getInstance() {
16     return ApplicationManager.getApplication().getService(EditorColorPaletteFactory.class);
17   }
18
19   /**
20    * Builds an empty palette object for the given scheme and language.
21    *
22    * @param scheme   The editor color scheme to retrieve colors from.
23    * @param language The language. It can be one of the following:
24    *                 <ul>
25    *                 <li><b>null</b> - for colors not associated with any language.</li>
26    *                 <li><b>Language.ANY</b> - all available colors.</li>
27    *                 <li><i>language</i> - colors for the given language</li>
28    *                 </ul>
29    * @return The empty color palette for the given scheme and language.
30    */
31   public abstract EditorColorPalette getPalette(@NotNull EditorColorsScheme scheme, @Nullable Language language);
32 }
33