我希望原子突出显示模板,矢量,地图,vec2等模板/类型,因此基本上我想将其作为标记添加到某处。
我可以添加自己的语法来替换默认语法吗?
我找到了这个https://flight-manual.atom.io/hacking-atom/sections/creating-a-grammar/,但没有说明我应该修改哪个文件。
答案 0 :(得分:0)
我对C ++不太了解,但是如果这些类型是规范的一部分并且在official package中缺少,您是否考虑过建议添加它们?
如果不这样做,则不能使用third-party packages,则可能要扩展现有软件包。为此,您可以将捆绑的C ++包中的语法包括到您的自定义语法中,并添加(或覆盖)其模式。
'scopeName': 'source.cpp.custom'
'fileTypes': [
'cc'
'cpp'
'cp'
'cxx'
'c++'
'cu'
'cuh'
'h'
'hh'
'hpp'
'hxx'
'h++'
'inl'
'ino'
'ipp'
'tcc'
'tpp'
]
name: "My Custom CPP"
patterns: [
{
# include all patterns from the bundled C++ grammar
include: "source.cpp"
}
# add you custom patterns here to extend the bundled grammar
]
如果您想扩展非捆绑的C ++程序包,请查看atom-package-deps,它允许您依赖第三方程序包。
答案 1 :(得分:0)
答案并不简单。
首先必须使用apm创建一个克隆程序包,对其进行修改,然后将其激活或在开发模式下使用它。这些文件是c ++。cson和tree-sitter-cpp.cson。与textmate和sublime文本相比,这些文件是相似的。
我在他们的闲暇频道问,其中涉及几个步骤。我不认为这是应该计划的事情,因为atom已将那些软件包“预编译”到了v8 js的大型博客中,因此您无法直接修改默认文件,必须告诉atom使用自定义软件包。问题在于,此程序包在创建时,具有一个node_modules目录,其中包含400多个文件。
我设法做到了,但是感觉很笨拙,所以我完全放弃了使用原子,而继续使用崇高的文字。