本文整理汇总了Java中com.intellij.psi.impl.source.html.HtmlFileImpl类的典型用法代码示例。如果您正苦于以下问题:Java HtmlFileImpl类的具体用法?Java HtmlFileImpl怎么用?Java HtmlFileImpl使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
HtmlFileImpl类属于com.intellij.psi.impl.source.html包,在下文中一共展示了HtmlFileImpl类的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: isAvailable
import com.intellij.psi.impl.source.html.HtmlFileImpl; //导入依赖的package包/类
@Override
public boolean isAvailable(@NotNull Project project, Editor editor, @NotNull PsiElement element) {
if (!element.isWritable()) return false;
boolean isTwigFile = GravFileTemplateUtil.isTwigTemplateFile(element.getContainingFile()) || element.getContainingFile() instanceof HtmlFileImpl;
boolean isXmlAttribute = false;
if (!isTwigFile) return false;
if (element.getParent() instanceof XmlAttributeValueImpl) {
XmlAttributeValueImpl parent0 = ((XmlAttributeValueImpl) element.getParent());
boolean hasTwigElement = PsiTreeUtil.findChildOfType(parent0, OuterLanguageElement.class) != null;
if (!hasTwigElement && parent0.getParent() instanceof XmlAttributeImpl) {
XmlAttributeImpl parent1 = (XmlAttributeImpl) parent0.getParent();
if (parent1.getName().equalsIgnoreCase("href") || parent1.getName().equalsIgnoreCase("src"))
isXmlAttribute = true;
}
}
return isXmlAttribute;
}
开发者ID:PioBeat,项目名称:GravSupport,代码行数:18,代码来源:ConvertTwigResource.java
示例2: findInDataContext
import com.intellij.psi.impl.source.html.HtmlFileImpl; //导入依赖的package包/类
@Nullable
@Override
public BpGraphNode findInDataContext(final DataContext dataContext) {
final Project project = CommonDataKeys.PROJECT.getData(dataContext);
final CommonIdeaService commonIdeaService = ServiceManager.getService(CommonIdeaService.class);
if (!commonIdeaService.isHybrisProject(project)) {
return null;
}
final VirtualFile virtualFile = CommonDataKeys.VIRTUAL_FILE.getData(dataContext);
if (null == virtualFile) {
return null;
}
if (!virtualFile.getName().endsWith("process.xml")) {
return null;
}
final PsiFile psiFile = CommonDataKeys.PSI_FILE.getData(dataContext);
if (!(psiFile instanceof XmlFile) ||
psiFile instanceof HtmlFileImpl) { // but psiFile must not be html.
return null;
}
final BpGraphService bpGraphService = ServiceManager.getService(BpGraphService.class);
try {
return bpGraphService.buildGraphFromXmlFile(virtualFile);
} catch (UnmarshalException e) {
return null;
}
}
开发者ID:AlexanderBartash,项目名称:hybris-integration-intellij-idea-plugin,代码行数:35,代码来源:BpDiagramElementManagerIml.java
示例3: getRequestAttributes
import com.intellij.psi.impl.source.html.HtmlFileImpl; //导入依赖的package包/类
/**
* "_controller" and "_route"
* "/_profiler/242e61?panel=request"
*
* <tr>
* <th>_route</th>
* <td>foo_route</td>
* </tr>
*/
@NotNull
public static Map<String, String> getRequestAttributes(@NotNull Project project, @NotNull String html) {
HtmlFileImpl htmlFile = (HtmlFileImpl) PsiFileFactory.getInstance(project).createFileFromText(HTMLLanguage.INSTANCE, html);
String[] keys = new String[] {"_controller", "_route"};
Map<String, String> map = new HashMap<>();
PsiTreeUtil.processElements(htmlFile, psiElement -> {
if(!(psiElement instanceof XmlTag) || !"th".equals(((XmlTag) psiElement).getName())) {
return true;
}
XmlTagValue keyTag = ((XmlTag) psiElement).getValue();
String key = StringUtils.trim(keyTag.getText());
if(!ArrayUtils.contains(keys, key)) {
return true;
}
XmlTag tdTag = PsiTreeUtil.getNextSiblingOfType(psiElement, XmlTag.class);
if(tdTag == null || !"td".equals(tdTag.getName())) {
return true;
}
XmlTagValue valueTag = tdTag.getValue();
String value = valueTag.getText();
if(StringUtils.isBlank(value)) {
return true;
}
// Symfony 3.2 profiler debug? strip html
map.put(key, stripHtmlTags(value));
// exit if all item found
return map.size() != keys.length;
});
return map;
}
开发者ID:Haehnchen,项目名称:idea-php-symfony2-plugin,代码行数:48,代码来源:ProfilerUtil.java
示例4: isValidForFile
import com.intellij.psi.impl.source.html.HtmlFileImpl; //导入依赖的package包/类
@Override
protected boolean isValidForFile(@NotNull Project project, @NotNull Editor editor, @NotNull PsiFile file) {
return Symfony2ProjectComponent.isEnabled(project) && (
file instanceof TwigFile
|| (file instanceof HtmlFileImpl && file.getName().toLowerCase().endsWith(".twig"))
|| getInjectedTwigElement(file, editor) != null
);
}
开发者ID:Haehnchen,项目名称:idea-php-symfony2-plugin,代码行数:9,代码来源:TwigTranslationGeneratorAction.java
示例5: isAttributeShouldBeFolded
import com.intellij.psi.impl.source.html.HtmlFileImpl; //导入依赖的package包/类
private static boolean isAttributeShouldBeFolded(XmlAttribute child) {
return child.getContainingFile() instanceof HtmlFileImpl &&
HtmlUtil.STYLE_ATTRIBUTE_NAME.equalsIgnoreCase(child.getName());
}
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:5,代码来源:XmlCodeFoldingBuilder.java
示例6: createFile
import com.intellij.psi.impl.source.html.HtmlFileImpl; //导入依赖的package包/类
@Override
public PsiFile createFile(FileViewProvider viewProvider) {
return new HtmlFileImpl(viewProvider);
}
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:5,代码来源:HTMLParserDefinition.java
示例7: isAttributeShouldBeFolded
import com.intellij.psi.impl.source.html.HtmlFileImpl; //导入依赖的package包/类
private static boolean isAttributeShouldBeFolded(XmlAttribute child) {
return child.getContainingFile() instanceof HtmlFileImpl &&
STYLE_ATTRIBUTE.equalsIgnoreCase(child.getName());
}
开发者ID:lshain-android-source,项目名称:tools-idea,代码行数:5,代码来源:XmlCodeFoldingBuilder.java
示例8: createFile
import com.intellij.psi.impl.source.html.HtmlFileImpl; //导入依赖的package包/类
public PsiFile createFile(FileViewProvider viewProvider) {
return new HtmlFileImpl(viewProvider);
}
开发者ID:lshain-android-source,项目名称:tools-idea,代码行数:4,代码来源:HTMLParserDefinition.java
示例9: getRenderedElementTwigTemplates
import com.intellij.psi.impl.source.html.HtmlFileImpl; //导入依赖的package包/类
/**
* ["foo/foo.html.twig": 1]
*
* <tr>
* <td>@Twig/Exception/traces_text.html.twig</td>
* <td class="font-normal">1</td>
* </tr>
*/
public static Map<String, Integer> getRenderedElementTwigTemplates(@NotNull Project project, @NotNull String html) {
HtmlFileImpl htmlFile = (HtmlFileImpl) PsiFileFactory.getInstance(project).createFileFromText(HTMLLanguage.INSTANCE, html);
final XmlTag[] xmlTag = new XmlTag[1];
PsiTreeUtil.processElements(htmlFile, psiElement -> {
if(!(psiElement instanceof XmlTag) || !"h2".equals(((XmlTag) psiElement).getName())) {
return true;
}
XmlTagValue keyTag = ((XmlTag) psiElement).getValue();
String contents = StringUtils.trim(keyTag.getText());
if(!"Rendered Templates".equalsIgnoreCase(contents)) {
return true;
}
xmlTag[0] = (XmlTag) psiElement;
return true;
});
if(xmlTag[0] == null) {
return Collections.emptyMap();
}
XmlTag tableTag = PsiTreeUtil.getNextSiblingOfType(xmlTag[0], XmlTag.class);
if(tableTag == null || !"table".equals(tableTag.getName())) {
return Collections.emptyMap();
}
XmlTag tbody = tableTag.findFirstSubTag("tbody");
if(tbody == null) {
return Collections.emptyMap();
}
Map<String, Integer> templates = new HashMap<>();
for (XmlTag tag : PsiTreeUtil.getChildrenOfTypeAsList(tbody, XmlTag.class)) {
if(!"tr".equals(tag.getName())) {
continue;
}
XmlTag[] tds = tag.findSubTags("td");
if(tds.length < 2) {
continue;
}
String template = stripHtmlTags(StringUtils.trim(tds[0].getValue().getText()));
if(StringUtils.isBlank(template)) {
continue;
}
Integer count;
try {
count = Integer.valueOf(stripHtmlTags(StringUtils.trim(tds[1].getValue().getText())));
} catch (NumberFormatException e) {
count = 0;
}
templates.put(template, count);
}
return templates;
}
开发者ID:Haehnchen,项目名称:idea-php-symfony2-plugin,代码行数:72,代码来源:ProfilerUtil.java
注:本文中的com.intellij.psi.impl.source.html.HtmlFileImpl类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论