为新的编程语言创建语法检查器 vim 插件
create syntax checker vim plugin for a new Programming language
我想为一种未被广泛使用的新编程语言创建一个新的vim语法检查器,首先我尝试阅读以下插件的代码neomake, syntastic
, 和 Ale 以了解我如何构建自己的语法检查器插件,但我无法真正理解它
所以我只想知道为 vim
创建语法检查器插件的最好和最简单的方法是什么
我不确定你在这里问什么。
在非常高的层次上,linting 是这样工作的:
- 您通过标准输入将文件传递给某个程序或某些代码,
- 程序分析文件中的代码,
- 如果代码正确则程序不输出任何内容,如果代码不正确则输出错误列表。
例如,假设我们的 linter 被称为 mylinter
:
$ mylinter file_with_correct_code.foo
<nothing>
$ mylinter file_with_erroneous_code.foo
/path/to/file_with_erroneous_code.foo:12:23: missing semicolon
没有人对您的语言或编译器一无所知,因此您是唯一可以判断您的编译器是否以及如何如上所述使用的人,这是 Vim 的先决条件整合.
如何将其集成到 Vim 是下一步,完全 取决于这些信息,您未能提供.
所以……
弄清楚if/how你的编译器可以这样使用。
我们无法为您做到这一点。
阅读我已经在评论中指出的帮助部分::help write-compiler-plugin
了解如何将 linter 集成到 Vim 香草方式或插件的相关部分你想整合。
我们或许可以帮助解决具体问题。
我想为一种未被广泛使用的新编程语言创建一个新的vim语法检查器,首先我尝试阅读以下插件的代码neomake, syntastic , 和 Ale 以了解我如何构建自己的语法检查器插件,但我无法真正理解它 所以我只想知道为 vim
创建语法检查器插件的最好和最简单的方法是什么我不确定你在这里问什么。
在非常高的层次上,linting 是这样工作的:
- 您通过标准输入将文件传递给某个程序或某些代码,
- 程序分析文件中的代码,
- 如果代码正确则程序不输出任何内容,如果代码不正确则输出错误列表。
例如,假设我们的 linter 被称为 mylinter
:
$ mylinter file_with_correct_code.foo
<nothing>
$ mylinter file_with_erroneous_code.foo
/path/to/file_with_erroneous_code.foo:12:23: missing semicolon
没有人对您的语言或编译器一无所知,因此您是唯一可以判断您的编译器是否以及如何如上所述使用的人,这是 Vim 的先决条件整合.
如何将其集成到 Vim 是下一步,完全 取决于这些信息,您未能提供.
所以……
弄清楚if/how你的编译器可以这样使用。
我们无法为您做到这一点。
阅读我已经在评论中指出的帮助部分:
:help write-compiler-plugin
了解如何将 linter 集成到 Vim 香草方式或插件的相关部分你想整合。我们或许可以帮助解决具体问题。