问题描述
给定以下树:
style_element [0,0] - [1,8]
start_tag [0,0] - [0,19]
tag_name [0,1] - [0,6]
attribute [0,7] - [0,18]
attribute_name [0,11]
quoted_attribute_value [0,12] - [0,18]
attribute_value [0,13] - [0,17]
raw_text [1,0]
end_tag [1,8]
ERROR [1,2] - [1,7]
tag_name [1,7]
style_element [3,0] - [4,8]
start_tag [3,0] - [3,19]
tag_name [3,1] - [3,6]
attribute [3,7] - [3,13]
attribute_name [3,13]
attribute [3,14] - [3,18]
attribute_name [3,18]
raw_text [4,0]
end_tag [4,8]
tag_name [4,2] - [4,7]
style_element [6,0] - [7,8]
start_tag [6,0] - [6,12]
tag_name [6,1] - [6,6]
attribute [6,7] - [6,11]
attribute_name [6,11]
raw_text [7,0]
end_tag [7,8]
tag_name [7,2] - [7,7]
style_element [9,0] - [10,8]
start_tag [9,0] - [9,7]
tag_name [9,1] - [9,6]
raw_text [10,0]
end_tag [10,8]
tag_name [10,2] - [10,7]
style_element [12,0] - [13,8]
start_tag [12,0] - [12,14]
tag_name [12,1] - [12,6]
attribute [12,7] - [12,13]
attribute_name [12,13]
raw_text [13,0]
end_tag [13,8]
tag_name [13,2] - [13,7]
style_element [15,0] - [16,8]
start_tag [15,0] - [15,14]
tag_name [15,1] - [15,6]
attribute [15,7] - [15,13]
attribute_name [15,13]
raw_text [16,0]
end_tag [16,8]
tag_name [16,2] - [16,7]
这是通过解析这段代码产生的:
<style lang="scss" scoped>
</style>
<style scoped lang>
</style>
<style lang>
</style>
<style>
</style>
<style scoped>
</style>
<style module>
</style>
当样式标签缺少属性 lang
时,我想将其突出显示为 css。以上包含一些需要考虑的情况。只有最后三个应该突出显示为 css
到目前为止,我想出了这个查询:
((style_element (start_tag (attribute (attribute_name) @_attr (#not-eq? @_attr "lang"))) (raw_text) @css))
但不幸的是,这也突出显示了 <style lang="scss" scoped>
,因为它包含与 lang 不匹配的属性。此标签包含 lang 属性,因此不应匹配。
如何修改上述查询,使其仅匹配没有 lang 属性的样式标签?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)