mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
First drop of structure view for javascript implemented.
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
package com.intellij.lang;
|
||||
|
||||
import com.intellij.codeFormatting.PseudoTextBuilder;
|
||||
import com.intellij.ide.structureView.StructureViewModel;
|
||||
import com.intellij.lang.annotation.Annotator;
|
||||
import com.intellij.lang.cacheBuilder.WordsScanner;
|
||||
import com.intellij.lang.folding.FoldingBuilder;
|
||||
@@ -8,6 +9,7 @@ import com.intellij.openapi.diagnostic.Logger;
|
||||
import com.intellij.openapi.fileTypes.PlainSyntaxHighlighter;
|
||||
import com.intellij.openapi.fileTypes.SyntaxHighlighter;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.psi.PsiElement;
|
||||
import com.intellij.psi.tree.IElementType;
|
||||
|
||||
import java.util.HashMap;
|
||||
@@ -74,4 +76,8 @@ public abstract class Language {
|
||||
public String toString() {
|
||||
return "Language: " + myID;
|
||||
}
|
||||
|
||||
public StructureViewModel getStructureViewModel(final PsiElement psiElement) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
package com.intellij.openapi.fileTypes;
|
||||
|
||||
import com.intellij.ide.structureView.StructureViewModel;
|
||||
import com.intellij.lang.Language;
|
||||
import com.intellij.lang.ParserDefinition;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
|
||||
@@ -26,6 +28,11 @@ public abstract class LanguageFileType implements FileType{
|
||||
return myLanguage.getSyntaxHighlighter(project);
|
||||
}
|
||||
|
||||
public StructureViewModel getStructureViewModel(VirtualFile file, Project project) {
|
||||
final ParserDefinition parserDefinition = myLanguage.getParserDefinition();
|
||||
return parserDefinition != null ? myLanguage.getStructureViewModel(parserDefinition.createFile(project, file)) : null;
|
||||
}
|
||||
|
||||
public final boolean isBinary() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -106,9 +106,9 @@ final class StructureTreeBuilder extends AbstractTreeBuilder {
|
||||
}
|
||||
|
||||
private void childrenChanged() {
|
||||
if (myOutOfCodeBlockModificationCount == myModificationTracker.getOutOfCodeBlockModificationCount()) {
|
||||
/*if (myOutOfCodeBlockModificationCount == myModificationTracker.getOutOfCodeBlockModificationCount()) {
|
||||
return;
|
||||
}
|
||||
}*/
|
||||
try {
|
||||
((SmartTreeStructure)getTreeStructure()).rebuildTree();
|
||||
myUpdater.addSubtreeToUpdate(myRootNode);
|
||||
|
||||
Reference in New Issue
Block a user