diff --git a/spellchecker.bindings.php/manifest.mf b/spellchecker.bindings.php/manifest.mf --- a/spellchecker.bindings.php/manifest.mf +++ b/spellchecker.bindings.php/manifest.mf @@ -2,5 +2,5 @@ OpenIDE-Module: org.netbeans.modules.spellchecker.bindings.php OpenIDE-Module-Layer: org/netbeans/modules/spellchecker/bindings/php/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/spellchecker/bindings/php/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 0.2 +OpenIDE-Module-Specification-Version: 0.3 diff --git a/spellchecker.bindings.php/nbproject/project.xml b/spellchecker.bindings.php/nbproject/project.xml --- a/spellchecker.bindings.php/nbproject/project.xml +++ b/spellchecker.bindings.php/nbproject/project.xml @@ -65,6 +65,15 @@ + org.netbeans.modules.editor.mimelookup + + + + 1 + 1.41 + + + org.netbeans.modules.lexer diff --git a/spellchecker.bindings.php/src/org/netbeans/modules/spellchecker/bindings/php/PHPTokenListProvider.java b/spellchecker.bindings.php/src/org/netbeans/modules/spellchecker/bindings/php/PHPTokenListProvider.java --- a/spellchecker.bindings.php/src/org/netbeans/modules/spellchecker/bindings/php/PHPTokenListProvider.java +++ b/spellchecker.bindings.php/src/org/netbeans/modules/spellchecker/bindings/php/PHPTokenListProvider.java @@ -41,12 +41,17 @@ */ package org.netbeans.modules.spellchecker.bindings.php; +import java.util.ArrayList; +import java.util.List; import javax.swing.text.Document; +import org.netbeans.api.editor.mimelookup.MimeLookup; +import org.netbeans.api.editor.mimelookup.MimePath; import org.netbeans.editor.BaseDocument; import org.netbeans.modules.editor.NbEditorUtilities; import org.netbeans.modules.php.api.util.FileUtils; import org.netbeans.modules.spellchecker.spi.language.TokenList; import org.netbeans.modules.spellchecker.spi.language.TokenListProvider; +import org.netbeans.modules.spellchecker.spi.language.support.MultiTokenList; import org.openide.util.lookup.ServiceProvider; @ServiceProvider(service = TokenListProvider.class) @@ -57,7 +62,15 @@ String mimeType = NbEditorUtilities.getMimeType(doc); if (FileUtils.PHP_MIME_TYPE.equals(mimeType) && doc instanceof BaseDocument) { - return new PHPTokenList(doc); + for (TokenListProvider p : MimeLookup.getLookup(MimePath.get("text/html")).lookupAll(TokenListProvider.class)) { // NOI18N + TokenList l = p.findTokenList(doc); + if (l != null) { + List tokens = new ArrayList<>(2); + tokens.add(new PHPTokenList(doc)); + tokens.add(l); + return MultiTokenList.create(tokens); + } + } } return null; }