bsl-language-server
bsl-language-server copied to clipboard
Реалиация inlayHints для вызовов методов из конфигурации
Описание
Драфт. Для работы требуется insider-сборка vscode с обновленным vscode-languageclient до 8.0.0-next14

Доделать:
- [ ] Оптимизировать многократное получение списка узлов дерева с вызовами. Возможно развернуть логику (от doCall к references, а как сейчас) или сделать мерж коллекций doCall и коллекций references
- [ ] Отключение хинтов вообще
- [ ] Отключение хинта для значений по умолчанию
- [ ] опция на принудительный вывод имени параметра (даже если имя совпадает)
- [ ] Перенести тесты из тестов провайдера в тесты сапплайера
- [ ] Поддержка inlayHint/resolve
- [x] Подумать, может быть где-то нужно сделать поддержку inlayHint/refresh. Хотя бы по аналогии с линзами, при изменении конфига.
- [x] Тултип с описанием параметра при наведении на хинт
- [ ] javadoc
- [ ] Документация по конфигурационному файлу
- [ ] Обновление схемы конфигурационного файла
Связанные задачи
Closes
Чеклист
Общие
- [ ] Ветка PR обновлена из develop
- [ ] Отладочные, закомментированные и прочие, не имеющие смысла участки кода удалены
- [ ] Изменения покрыты тестами
- [ ] Обязательные действия перед коммитом выполнены (запускал команду
gradlew precommit)
Для диагностик
- [ ] Описание диагностики заполнено для обоих языков (присутствуют файлы для обоих языков, для русского заполнено все подробно, перевод на английский можно опустить)
Дополнительно
На данный момент хинты не выводятся в случае если в передаваемом значении (имени переменной\имени метода) содержится само имя параметра, хотелось бы данное поведение сделать опциональным, т.е что бы была опция которая позволила бы выводить хинты всегда
~~https://sonarcloud.io/component_measures?metric=new_coverage&selected=1c-syntax_bsl-language-server%3Asrc%2Fmain%2Fjava%2Fcom%2Fgithub%2F_1c_syntax%2Fbsl%2Flanguageserver%2Finlayhints%2Finfrastructure%2FInlayHintsConfiguration.java&view=list&id=1c-syntax_bsl-language-server~~
~~Судя по кавереджу, инжект включённых сапплаеров не работает. Нужно написать тест на провайдер и/или конфигурацию и исправить квалификаторы, если это действительно так.~~
Готово.









