diff --git a/spellchecker/src/com/intellij/spellchecker/tokenizer/SpellcheckingStrategy.java b/spellchecker/src/com/intellij/spellchecker/tokenizer/SpellcheckingStrategy.java index d8de8b20fa9e..c219fe793c0a 100644 --- a/spellchecker/src/com/intellij/spellchecker/tokenizer/SpellcheckingStrategy.java +++ b/spellchecker/src/com/intellij/spellchecker/tokenizer/SpellcheckingStrategy.java @@ -1,4 +1,4 @@ -// Copyright 2000-2018 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. +// Copyright 2000-2019 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. package com.intellij.spellchecker.tokenizer; import com.intellij.codeInspection.SuppressionUtil; @@ -21,6 +21,12 @@ import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; +/** + * Defines spellchecking support for a custom language. + *

+ * Register via extension point {@code com.intellij.spellchecker.support} + * and override {@link #getTokenizer(PsiElement)} to skip/handle specific elements. + */ public class SpellcheckingStrategy { protected final Tokenizer myCommentTokenizer = new CommentTokenizer(); protected final Tokenizer myXmlAttributeTokenizer = new XmlAttributeValueTokenizer(); @@ -42,6 +48,9 @@ public class SpellcheckingStrategy { private static final SpellCheckerQuickFix[] BATCH_FIXES = new SpellCheckerQuickFix[]{SaveTo.getSaveToLevelFix(DictionaryLevel.APP), SaveTo.getSaveToLevelFix(DictionaryLevel.PROJECT)}; + /** + * @return {@link #EMPTY_TOKENIZER} to skip spellchecking, {@link #TEXT_TOKENIZER} for full element text or custom Tokenizer implementation. + */ @NotNull public Tokenizer getTokenizer(PsiElement element) { if (element instanceof PsiWhiteSpace) {