在 Ace Editor 中用 unicode 字符(重音符号等)突出显示单词

问题描述 投票:0回答:0

我需要将伪代码的特定关键字高亮显示到 Ace Editor 中。我在下面的帖子中找到了一个很好用的简单解决方案:

https://stackoverflow.com/questions/43735711/want-to-highlight-change-color-of-certain-words-in-ace-editor

但不幸的是,它只适用于由 ASCII 字符组成的单词,而不适用于非 ascii 扩展 unicode 字符,例如法语中的重音字符:éêàâ 等。

所以我修改了用于解析和查找代码中单词的正则表达式

regex: "\\w+\\b"

这个:

    this.$rules = {
        "start": [            
            {
                regex: "[\u{0}-\u{10FFFF}]+\\b",
                token: keywordMapper
            },
        ]
    };
    this.normalizeRules()

现在它工作正常,接受像“répéter”(重复)或“derrière”(向后)这样的关键字,包含强调的字符。但它不识别以重音结尾的单词,例如“jusquà”(直到)或“modifié”(修改),当重音字母是单词的最后一个时。任何想法?非常感谢您的宝贵帮助!

洛朗

PS:与替代方案同样的问题

regex: ".+\\b"

regex unicode highlight ace-editor non-ascii-characters
© www.soinside.com 2019 - 2024. All rights reserved.