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',
});