Ctags: 支持Nix表达式语言(Nix / NixOS)

创建于 2015-03-07  ·  4评论  ·  资料来源: universal-ctags/ctags

说明: https: //nixos.org/nix/manual/#ch -expression-language

https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/tools/misc/ctags/wrapped.nix中有一些非常基本的配置:

--langdef=NIX
--langmap=NIX:.nix
--regex-NIX=/([^ \t*]*)[ \t]*=/\1/f/

我(希望)在本地进行了一些改进:

--regex-NIX=/([^ \t*]*)[ \t]*=.*:/\1/f/

但是它仍然太基础了,可能需要一个单独的解析器。

我本人是Nix / NixOS的新手,因此知识不多
关于我自己的语言。

Parser buenhancement

最有用的评论

嗨,这个问题的状态如何?

所有4条评论

Nix本身会解析语言-它使用标准的解析和词法分析工具https://github.com/NixOS/nix/tree/master/src/libexpr (在该问题的上下文中可能最有用)。 然后,我了解了haskell中的一些内容https://github.com/peti/language-nix ,并且有各种编辑器(或突出显示库)的语法突出显示器。

作为初始版本,可以使用基于正则表达式的实现。 总比没有好。
尽管我不得不重新考虑目录结构,但optlib是实现解析器的一流方法。
您可以稍后编写基于C的解析器。 重点是正则表达式之间的“种类”兼容性
基于基础的解析器和基于C的解析器。 如果保持种类的兼容性,则没有人会注意实现的方式。

但是,如果nix实现具有真正的解析器,那么为什么不利用它呢? 我的xmcd适合您。
请参阅data / optlib / cofee.ctags和libexec / drivers / coffeetags。

嗨,这个问题的状态如何?

欢迎提出请求。

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

cweagans picture cweagans  ·  8评论

JulienPivard picture JulienPivard  ·  16评论

sparkcanon picture sparkcanon  ·  3评论

liuchengxu picture liuchengxu  ·  8评论

fabiensabatie picture fabiensabatie  ·  3评论