Checked that there is not already an Atom package that provides the described functionality: https://atom.io/packages
Description
When using # and ## operators, the tree-sitter parser incorrectly highlights them like #defines, which is not consistent with the part preceeding them. This was also partly a problem without tree-sitter, but only for using ## in function name.
With tree-sitter:
Without tree-sitter:
In the images, name is being highlighted incorrectly whenever the # and ## operators are used. taskqueue_define_##name should instead be highlighted like a function name. #name should be highlighted like a variable name (or a string? I'll let you guys decide).
Steps to Reproduce
Use the stringify and token concatenation preprocessor operators.
edit by @rsese to add code for copy/paste and more screenshots
Prerequisites
Description
When using # and ## operators, the tree-sitter parser incorrectly highlights them like #defines, which is not consistent with the part preceeding them. This was also partly a problem without tree-sitter, but only for using ## in function name.
With tree-sitter:
Without tree-sitter:
In the images,
name
is being highlighted incorrectly whenever the # and ## operators are used.taskqueue_define_##name
should instead be highlighted like a function name.#name
should be highlighted like a variable name (or a string? I'll let you guys decide).Steps to Reproduce
edit by @rsese to add code for copy/paste and more screenshots
Tree-sitter:
Without:
Reproduces how often: 100%
Versions
atom --version
: Atom : 1.34.0 Electron: 2.0.16 Chrome : 61.0.3163.100 Node : 8.9.3apm --version
: apm 2.1.3 npm 6.2.0 node 8.9.3 x64 atom 1.34.0 python 2.7.15rc1 git 2.17.1OS: Ubuntu 18.04