是时候写几个新的智能合约语言的插件了

由于最近的一些工作学习方面的需要,我开始接触智能合约的开发,我花了一些时间查找了一下,目前,solidity 与 rust 的支持已经算很不错了,但也有其他一些语言,或许值得去写一些插件。

目前我主要注意的是如下几个语言,需求相对大一些:

  • Move 语言:其实也有 move-mode 插件,但目前主要用 Move 语言的两大公链 Sui 和 Aptos ,因为各自设计思路的原因,在语法上又有不同的地方
  • TON 生态:主要是 FunC 语言和 Tact 语言,另有 Fift 相对用的少,暂时不考虑
  • Cairo 语言:Starknet 链用的合约开发语言,语法类似 rust

对于插件的效果,目前我想到的也只是如下需要实现的:

  • 语法高亮
  • 关键字补全

至于其他方面,我暂时没有想到,关于这方面的开发,有哪些可以参考的材料学习?另外,哪些我没有提到的功能也可以被加入进来?期待您各位的回复,谢谢

2 个赞

语法高亮可以考虑 tree-sitter,不用自己做解析了;关键字补全这种这几个语言有 LSP 吗

关于LSP方面,我目前掌握的情况是这样的:

  • Move 语言:目前 Sui 和 Aptos 分别做了各自的 Move-Analyzer
  • TON:Tact 和 FunC 语言的 LSP 目前是被设计包含在对应的 VS Code 插件当中
  • Cairo:按照官方文档,安装 Scarb 工具里包含了 cairo language server,但要调用它,在 VS Code 当中需要安装 vscode-cairo 的插件

请参考