Typescript 使用GetWordUndersor获取包含撇号的单词?

Typescript 使用GetWordUndersor获取包含撇号的单词?,typescript,monaco-editor,Typescript,Monaco Editor,我正在一个电子应用程序中使用摩纳哥编辑器,用户将在其中键入诗歌。编辑器的语言设置为纯文本 我遇到了一个问题,如果用户键入了一个带有“(撇号)的单词,getWordAtPosition将不会返回完整的单词。根据光标的位置(这是我传递给getWordAtPosition)的内容),它将返回撇号前面的内容或后面的内容 例如,如果用户键入以下内容,则使用|(管道)表示光标的位置: 无法| getWordAtPosition将返回t 对于| cand,它将返回cand 我想要的是,无论光标位置如何,它都将

我正在一个电子应用程序中使用
摩纳哥编辑器
,用户将在其中键入诗歌。编辑器的语言设置为
纯文本

我遇到了一个问题,如果用户键入了一个带有“(撇号)的单词,
getWordAtPosition
将不会返回完整的单词。根据光标的位置(这是我传递给
getWordAtPosition
)的内容),它将返回撇号前面的内容或后面的内容

例如,如果用户键入以下内容,则使用|(管道)表示光标的位置:

无法|

getWordAtPosition
将返回
t

对于
| cand
,它将返回
cand

我想要的是,无论光标位置如何,它都将返回
无法

到目前为止,我尝试的是在创建不包含撇号(但在其他方面是默认值)的编辑器时,在选项中提供
wordseparator
,但这没有帮助

编辑器创建块:

editorInstance = monaco.editor.create(document.getElementById('editor'), {
            language: 'plaintext',
            wordSeparators: '`~!@#$%^&*()-=+[{]}\\|;:",.<>/?'
        });

任何帮助都将不胜感激!提前谢谢

您可以设置语言配置(新语言或现有语言),并提供用于匹配单词的
wordPattern
regex

monaco.languages.setLanguageConfiguration('plaintext', {
    wordPattern: /'?\w[\w'-.]*[?!,;:"]*/
});


monaco.editor.create(document.getElementById("container"), {
    language: 'plaintext',
});
即使
纯文本
已经作为一种语言存在,它仍然有效。我不确定
setLanguageConfiguration
是否进行任何合并(我想不会吧?),所以请记住这一点

我的代码片段中的正则表达式并不完美,但它与以下词语匹配:

  • 不能
  • 因为
  • 你呢
  • 你好
这对我的用例很重要。如果你是未来的搜索者,请记住这一点

monaco.languages.setLanguageConfiguration('plaintext', {
    wordPattern: /'?\w[\w'-.]*[?!,;:"]*/
});


monaco.editor.create(document.getElementById("container"), {
    language: 'plaintext',
});