Я работаю над добавлением полного кода через Clang в текстовый редактор, чтобы сделать его IDE.
Исходный код:
struct s {
int a;
float b;
};
void main() {
s var;
var.
Проблема в том, что код для позиции после точки не возвращает ничего, и если я добавлю }
в конце и повторите код для позиции после точки, она показывает правильный список.
Я понимаю что main
определение функции должно быть закрыто, но пользователи часто вводят символы по порядку и не хотят сначала закрывать функцию, а затем возвращаться к переменной и затем завершать код. Как это можно обойти, чтобы избежать возвращения / возвращения?
Моя идея состояла в том, чтобы получить диагностику и добавить }
если я получу соответствующую диагностику, но это нежелательная прогулка. Может ли Clang быть достаточно умным, чтобы сделать это сам?
Задача ещё не решена.
Других решений пока нет …