Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/435.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何为web上的自定义DSL设计富编辑器_Javascript_Algorithm_Web Applications_User Interface - Fatal编程技术网

Javascript 如何为web上的自定义DSL设计富编辑器

Javascript 如何为web上的自定义DSL设计富编辑器,javascript,algorithm,web-applications,user-interface,Javascript,Algorithm,Web Applications,User Interface,我试图解决的问题是定制SQL(如DSL)的编辑器,它要求用户输入属性的唯一标识符,而不是正确的详细标题。想想像/obj/12075f8459499这样的东西,而不是人类可读的“名字”。所讨论的应用程序是在web上的,我想为用户提供一个很好的编辑器,它可以隐藏具有唯一URI的对象的实现细节 我把它想象成一个内容可编辑的DIV,如果你开始键入一个字符串,它也是属性标题的开始,你会看到一个下拉列表,以确认这个属性确实是你想要的。选择项目后,将插入一个占位符,应用程序将知道如何将其序列化为我的DSL语法

我试图解决的问题是定制SQL(如DSL)的编辑器,它要求用户输入属性的唯一标识符,而不是正确的详细标题。想想像/obj/12075f8459499这样的东西,而不是人类可读的“名字”。所讨论的应用程序是在web上的,我想为用户提供一个很好的编辑器,它可以隐藏具有唯一URI的对象的实现细节

我把它想象成一个内容可编辑的DIV,如果你开始键入一个字符串,它也是属性标题的开始,你会看到一个下拉列表,以确认这个属性确实是你想要的。选择项目后,将插入一个占位符,应用程序将知道如何将其序列化为我的DSL语法。您还可以从侧边栏中的列表中选择要插入可编辑区域的属性

我的问题是如何解析用户输入,以便生成的界面具有合理的响应性。我应该从定义语法开始,然后解析输入,还是从别处开始?在许多应用程序中,这样的问题似乎已经解决了,所以我正在寻找如何实现这一点的指针


注意:我还需要突出显示该语言的语法,因此无论如何都可能需要一些语法。

最后我使用了JavaScript编辑器。它标记一系列文本并用其他HTML标记表示的能力被证明特别有用。我使用它来显示“友好”的对象名,而不是URI。

最后我使用JavaScript编辑器。它标记一系列文本并用其他HTML标记表示的能力被证明特别有用。我用它来显示“友好”的对象名,而不是URI。

许多emacs包都突出了语言语法,它们都有您可以阅读的源代码。这将让您了解他们是如何解决这个问题的。许多emacs软件包都突出了语言语法,它们都有您可以阅读的源代码。这会让你了解他们是如何解决这个问题的。