立陶宛字母在 xkcd 的简单编写器(Ace 编辑器)中将文本拆分为单词

Lithuanian letters split text into words in xkcd's simple writer (Ace Editor)

我偶然发现了一个工具,它可以检查文本中使用的单词是否来自前 1000 个最常用的单词(英语,或者可能基于某种数据库)- http://xkcd.com/simplewriter/

我对它是如何构建的非常感兴趣,我想知道为什么 ąčęėįšųūž 等立陶宛字符被视为单词边界

据我所知,字符集设置为 UTF-8,因此不应滥用这些字母。
我正在考虑为立陶宛语构建一个类似的工具,并且了解单词拆分的标准或 Ace 编辑器代码的哪一部分负责将非常有用。

A​​ce 编辑代码:https://github.com/ajaxorg/ace-builds/blob/master/src/ace.js

ąčęėįšųūž 在 ace 中不被视为单词边界,您可以通过双击其中之一的单词来检查

但自定义模式 http://xkcd.com/simplewriter/ uses http://xkcd.com/simplewriter/ace/src-min/mode-upwriter.js 不将它们视为单词字符并使用 /[a-zA-Z]+/ 作为正则表达式

this.$rules = {
"start": [
    {
        "token" : "suffix",
        "regex" : "['’][a-zA-Z]+"
    },
    {
        "token" : "allowed",
        "regex" : "\b(?:" + window.__WORDS + ")\b",
        "caseInsensitive": true
    },
    {
        "token" : "disallowed",
        "regex" : "[a-zA-Z]+"
    }
]