public class CoreInjectedLanguageManager extends InjectedLanguageManager
FRANKENSTEIN_INJECTION, INSTANCE_CACHE| Modifier and Type | Method and Description |
|---|---|
void |
dropFileCaches(PsiFile file) |
void |
enumerate(PsiElement host,
PsiLanguageInjectionHost.InjectedPsiVisitor visitor) |
void |
enumerateEx(PsiElement host,
PsiFile containingFile,
boolean probeUp,
PsiLanguageInjectionHost.InjectedPsiVisitor visitor) |
PsiElement |
findInjectedElementAt(PsiFile hostFile,
int hostDocumentOffset)
Finds PSI element in injected fragment (if any) at the given offset in the host file.
E.g.
|
DocumentWindow |
freezeWindow(DocumentWindow document) |
java.util.List<DocumentWindow> |
getCachedInjectedDocumentsInRange(PsiFile hostPsiFile,
TextRange range) |
java.util.List<Pair<PsiElement,TextRange>> |
getInjectedPsiFiles(PsiElement host) |
PsiLanguageInjectionHost |
getInjectionHost(FileViewProvider injectedProvider) |
PsiLanguageInjectionHost |
getInjectionHost(PsiElement injectedElement) |
java.util.List<TextRange> |
getNonEditableFragments(DocumentWindow window) |
PsiFile |
getTopLevelFile(PsiElement element) |
java.lang.String |
getUnescapedText(PsiElement injectedNode) |
int |
injectedToHost(PsiElement injectedContext,
int injectedOffset) |
int |
injectedToHost(PsiElement injectedContext,
int injectedOffset,
boolean minHostOffset) |
TextRange |
injectedToHost(PsiElement injectedContext,
TextRange injectedTextRange) |
java.util.List<TextRange> |
intersectWithAllEditableFragments(PsiFile injectedPsi,
TextRange rangeToEdit) |
boolean |
isInjectedFragment(PsiFile injectedFile) |
boolean |
mightHaveInjectedFragmentAtOffset(Document hostDocument,
int hostOffset)
This method can be invoked on an uncommitted document, before performing commit and using other methods here
(which don't work for uncommitted document).
|
void |
registerMultiHostInjector(MultiHostInjector injector) |
void |
registerMultiHostInjector(MultiHostInjector injector,
Disposable parentDisposable) |
getInstancepublic PsiLanguageInjectionHost getInjectionHost(FileViewProvider injectedProvider)
getInjectionHost in class InjectedLanguageManagerpublic PsiLanguageInjectionHost getInjectionHost(PsiElement injectedElement)
getInjectionHost in class InjectedLanguageManagerpublic TextRange injectedToHost(PsiElement injectedContext, TextRange injectedTextRange)
injectedToHost in class InjectedLanguageManagerpublic int injectedToHost(PsiElement injectedContext, int injectedOffset)
injectedToHost in class InjectedLanguageManagerpublic int injectedToHost(PsiElement injectedContext, int injectedOffset, boolean minHostOffset)
injectedToHost in class InjectedLanguageManagerpublic void registerMultiHostInjector(MultiHostInjector injector)
registerMultiHostInjector in class InjectedLanguageManagerpublic void registerMultiHostInjector(MultiHostInjector injector, Disposable parentDisposable)
registerMultiHostInjector in class InjectedLanguageManagerpublic java.lang.String getUnescapedText(PsiElement injectedNode)
getUnescapedText in class InjectedLanguageManagerpublic java.util.List<TextRange> intersectWithAllEditableFragments(PsiFile injectedPsi, TextRange rangeToEdit)
intersectWithAllEditableFragments in class InjectedLanguageManagerpublic boolean isInjectedFragment(PsiFile injectedFile)
isInjectedFragment in class InjectedLanguageManagerpublic PsiElement findInjectedElementAt(PsiFile hostFile, int hostDocumentOffset)
InjectedLanguageManager"<xxx/>" into Java string literal "String s = "<xxx/>";" and the caret is at "xxx" then
this method will return XmlToken(XML_TAG_START) with the text "xxx".hostFile can lead to unexpected results, including throwing an exception!findInjectedElementAt in class InjectedLanguageManagerpublic java.util.List<Pair<PsiElement,TextRange>> getInjectedPsiFiles(PsiElement host)
getInjectedPsiFiles in class InjectedLanguageManagerpublic void dropFileCaches(PsiFile file)
dropFileCaches in class InjectedLanguageManagerpublic PsiFile getTopLevelFile(PsiElement element)
getTopLevelFile in class InjectedLanguageManagerpublic java.util.List<DocumentWindow> getCachedInjectedDocumentsInRange(PsiFile hostPsiFile, TextRange range)
getCachedInjectedDocumentsInRange in class InjectedLanguageManagerpublic void enumerate(PsiElement host, PsiLanguageInjectionHost.InjectedPsiVisitor visitor)
enumerate in class InjectedLanguageManagerpublic void enumerateEx(PsiElement host, PsiFile containingFile, boolean probeUp, PsiLanguageInjectionHost.InjectedPsiVisitor visitor)
enumerateEx in class InjectedLanguageManagerpublic java.util.List<TextRange> getNonEditableFragments(DocumentWindow window)
getNonEditableFragments in class InjectedLanguageManagerpublic boolean mightHaveInjectedFragmentAtOffset(Document hostDocument, int hostOffset)
InjectedLanguageManagermightHaveInjectedFragmentAtOffset in class InjectedLanguageManagerpublic DocumentWindow freezeWindow(DocumentWindow document)
freezeWindow in class InjectedLanguageManager