Монако-редактор версия: 0.17.0
Браузер: Chrome
ОС: Windows 10
Привет, все, у меня странная ошибка.
После использования executeEdits для удаления слова я возвращаю массив предложений.
Поэтому, когда я сопоставляю определенное слово, я удаляю его и показываю предложения, соответствующие совпадению.
Итак, я вижу список предложений. Обычно, когда я начинаю писать слово вручную из этого списка, список предложений уменьшается, показывая только те слова, которые соответствуют тому, что вы пишете.
Проблема здесь, я не знаю почему, некоторые слова из списка не появляются.
Например, если я хочу сопоставить с "_f", вот мой код:
monaco.languages.registerCompletionItemProvider('myLanguage', {
provideCompletionItems: function(model, position) {
var cursorLine = position.lineNumber, cursorColumn = position.column;
var textUntilPosition = model.getValueInRange({startLineNumber: position.lineNumber, startColumn: 1, endLineNumber: position.lineNumber, endColumn: position.column});
var match1 = textUntilPosition.match(" _f") !=null | textUntilPosition.match("^_f") !=null ? true:false;
if(match1){
editor.executeEdits('', [{ range: new monaco.Range(cursorLine, cursorColumn - 2, cursorLine, cursorColumn), text: ' ' }]);
return { suggestions: myArrayOfSuggestions()};
}
else{ return { suggestions: otherArrayOfSuggestions()};}
}
});
function myArrayOfSuggestions() {
return [
{
label: 'name',
kind: monaco.languages.CompletionItemKind.Function,
insertText: 'name'
},
{
label: 'adress',
kind: monaco.languages.CompletionItemKind.Function,
insertText: 'adress'
},
{
label: 'city',
kind: monaco.languages.CompletionItemKind.Function,
insertText: 'city'
},
{
label: 'Accrual',
kind: monaco.languages.CompletionItemKind.Function,
insertText: 'Accrual'
}
];
Здесь, если я наберу «а» или «А», появится «адрес», а «Начисление» - нет.
Я добавляю эту картинку, чтобы показать вам проблему. Это то, что происходит в редакторе, после нажатия "_f"
Пояснение к экрану редактора Monaco
У вас есть идеи, что делать?
С наилучшими пожеланиями,
Софиан Джамай