Я реализовал языковой сервер, используя pygls в vscode. В данный момент я работаю над инструментом, который показывает предупреждения, когда код выходит из синхронизации. Я управляю данными для диагностики в списке на сервере. Работает нормально, до того момента, когда я открываю более 1 файла. Проблема в том, что файлы также показывают предупреждения / диагностику других файлов. В pygls есть функция для публикации диагностики
publish_diagnostics(self, doc_uri: str, diagnostics: List[Diagnostic])
В спецификации сказано, что doc_uri - это uri, для которого сообщается о диагностике.
Предположим, у меня открыто 2 файла, hi.py и bye.py.
Я пытаюсь отправить диагностику только на hi.py, поэтому я звоню
publish_diagnostics(uri(hi.py), List[Diagnostics])
, где список содержит только диагностику для URI. Но это не работает, bye.py также получает диагностику.
Я также был бы благодарен за любой обходной путь.