ascoders / weekly

前端精读周刊。帮你理解最前沿、实用的技术。
28.64k stars 3.25k forks source link

精读《手写 SQL 编译器 - 智能提示》 #118

Closed ascoders closed 5 years ago

ascoders commented 5 years ago

总结了以前 SQL 编译器文章,详细介绍如何做智能提示。


精读《手写 SQL 编译器 - 智能提示》

atian25 commented 5 years ago

issue 里面建议加下 URL 指向文章

wzhudev commented 5 years ago

读完了这个系列的文章,学到很多~

navisoftware commented 4 years ago

请问 @alife/monaco-sql-plugin 这个插件在哪里可以下载?

ascoders commented 4 years ago

@navisoftware 那个是内部的,开源的是 https://github.com/ascoders/syntax-parser

navisoftware commented 4 years ago

我使用 https://github.com/ascoders/syntax-parser/blob/master/src/demo/sql-parser/mysql/parser.ts 来编写自己的mysql代码提示。 更新语句: const updateStatement = () => { return chain('update', tableSource)(); }; 如何编写 update tablename set field=value,field2=value where id=value 这种匹配规则呢?field 根据tablename自动提示。 我已经实现了select * from tablename where field=value这种规则。

另外如果我要匹配类似where id=:param 需要如何写匹配规则呢?

DuShuYuan commented 2 years ago

syntax-parser demo里只有select能提示表名字段名,其他语句都提示不了啊