2016-09-30 8 views
0

我尽量让网页上的IDE ...我的课,它是在XML文件中的Fileds店...我使用codemirror编辑器... 我的问题是:如何在Web上为我的自定义语言做像IDE一样的自动完成功能?

我需要算法类似于一个后续在IDE中,像(eclipse/visual studio)用于自动完成...在我的语言中,我有像任何编程语言的组成(nameclass.fileds1.inner。)...所以任何机构都可以帮助我找到自动完成的算法组成?

注意:我所有的类和它的文件都存储在xml文件中,并且codemirror可以显示我的列表以对其执行自动完成....任何帮助?

回答

1

在一个非常基本的层次上,您只需绑定一个键击事件侦听器,该侦听器查找在xml文件中键入的当前单词,以查看是否有任何匹配的选项。然后取出所有匹配的项目并将它们显示在ul中,或者将会浮动在光标旁边。

如果您想要快速性能,但您应该考虑从所有xml选项构建prefix tree

下面是忽略所有的边缘情况下,一些样品(pseudoish)代码:

$('textarea.codepad').on('keyup paste', function() { 
    var currentWord = $(this).val().split(' ').pop(); 
    var possibilities = getPossibilitiesFromXML(currentWord); 
    displayPopup(possibilities); 
}); 
+0

感谢您的帮助@Michaeldcooney – code

相关问题