@Nullable protected PsiFile createFile(@NotNull String name, @NotNull String text, @NotNull ParserDefinition definition) { Language language = definition.getFileNodeType().getLanguage(); Init.addKeyedExtension(LanguageParserDefinitions.INSTANCE, language, definition, getProject()); return ((PsiFileFactoryImpl)PsiFileFactory.getInstance(myProject)).trySetupPsiForFile(new LightVirtualFile(name, language, text), language, true, false); }
private static PsiFile createDummyFile(Project myProject, String text) { final PsiFileFactory factory = PsiFileFactory.getInstance(myProject); final String name = "dummy." + MonkeyFileType.INSTANCE.getDefaultExtension(); final LightVirtualFile virtualFile = new LightVirtualFile(name, MonkeyFileType.INSTANCE, text); final PsiFile psiFile = ((PsiFileFactoryImpl) factory).trySetupPsiForFile(virtualFile, MonkeyLanguage.INSTANCE, false, true); assert psiFile != null; return psiFile; } }
@Nullable public static PsiFile parseFile(BnfFile bnfFile, String text) { Language language = getLanguageFor(bnfFile); String fileName = bnfFile.getName() + ".preview"; LightVirtualFile virtualFile = new LightVirtualFile(fileName, language, text); final Project project = bnfFile.getProject(); return PsiManager.getInstance(project).findFile(virtualFile); }
private void setupFileSpecificEditor(Project project, VirtualFile cypherFile) { if (project == null || cypherFile == null) return; try { String params = FileUtil.getParams(cypherFile); LightVirtualFile lightVirtualFile = new LightVirtualFile("", JsonFileType.INSTANCE, params); Document document = FileDocumentManager.getInstance().getDocument(lightVirtualFile); fileSpecificParamEditor = createEditor(project, document); VirtualFileManager.getInstance().addVirtualFileListener(new VirtualFileListener() { @Override public void contentsChanged(@NotNull VirtualFileEvent event) { if (event.getFile().equals(cypherFile) && document != null) FileUtil.setParams(cypherFile, document.getText()); } }); JLabel jLabel = new JLabel("<html>Parameters for data source <b>" + getTabTitle(cypherFile) + "</b>:</html>"); jLabel.setIcon(ICON_HELP); jLabel.setToolTipText("Enter parameters in JSON format. Will be applied to <b>" + getTabTitle(cypherFile) + "</b> data source when executed"); fileSpecificParamEditor.setHeaderComponent(jLabel); if (document != null) setInitialContent(document); graphConsoleView.getFileSpecificParametersTab().add(fileSpecificParamEditor.getComponent(), BorderLayout.CENTER); } catch (Throwable e) { Throwables.throwIfUnchecked(e); throw new RuntimeException(e); } }
/** * 重置 * * @param name 模板名称 * @param content 文本内容 */ public void reset(String name, String content) { if (content != null && this.editor != null) { // 重置语法高亮 ((EditorEx) editor).setHighlighter(EditorHighlighterFactory.getInstance().createEditorHighlighter(project, new LightVirtualFile(name + ".ft"))); // 重置文本内容 WriteCommandAction.runWriteCommandAction(project, () -> this.editor.getDocument().setText(content)); } }
@Override protected void doTest(String grammarFile) throws IOException { File grammarIOFile = new File(myFullDataPath, grammarFile); assertNotNull(grammarFile + "not found", grammarIOFile.exists()); LightVirtualFile grammarVFile = new LightVirtualFile(grammarFile, FileUtil.loadFile(grammarIOFile)); myLanguage = BnfLanguage.INSTANCE; BnfFile grammarPsi = (BnfFile) createFile(grammarVFile); myLanguage = LivePreviewHelper.getLanguageFor(grammarPsi); try { super.doTest(true); } finally { LivePreviewHelper.unregisterLanguageExtensions((LivePreviewLanguage) myLanguage); } }
public SourceTuple(@NonNls @NotNull String name, @NonNls @NotNull CharSequence source) { this.name = name; PsiElement[] children = { null }; psi = new MockSoyFile(children, new MyFileViewProvider()); root = source == SOURCE_AS_RESOURCE ? SoyTestUtil.getPsiTreeFor(psi, name) : SoyTestUtil.getPsiTreeFor(psi, name, source); children[0] = root; String text = source == SOURCE_AS_RESOURCE ? loadSource(name) : source.toString(); file = new LightVirtualFile(name, SoyFileType.INSTANCE, text, Charset.defaultCharset(), System.currentTimeMillis()); fileUrl = file.getUrl(); document = new MockDocument(text); }
((EditorEx) editor).setHighlighter(EditorHighlighterFactory.getInstance().createEditorHighlighter(project, new LightVirtualFile(name + ".ft")));
VirtualFile newFile = new LightVirtualFile("Deparsed " + file.getName(), file.getFileType(), deparsed); OpenFileAction.openFile(newFile, project); }));
((EditorEx) editor).setHighlighter(EditorHighlighterFactory.getInstance().createEditorHighlighter(project, new LightVirtualFile(fileName)));