Репост из: позитивслэк
slang-server
Ну и закрою тему тулов в этом году новым LSP для SystemVerilog поверх Slang. Есть подозрение, что в будущем это может стать выбором по умолчанию для написания SV 🎧
Ликбез. LSP это та штука, что живёт в IDE и даёт редактору возможность делать переходы по символам,показывать хинты, делать автодополнение и другие вещи для нужного языка. Ну а Slang это просто наиболее полный и самый быстрый парсер SV (по заявлениям разработчиков).
В итоге в IDE получаем ту самую эргономику в написании SV, которая есть по умолчанию у программистов на языках высокого уровня. Все фичи перечислять долго, лучше посмотрите доклад или полистайте слайды.
Некоторые хайлайты:
▫️поддерживается neovim и vscode из коробки (последний пока в меньшей мере)
▫️индексация тысяч sv файлов на десятки мегабайт менее чем за секунду
▫️автодополнение, переходы по ссылкам, всплывающие хинты, раскрытие макросов
▫️иерархия, список модулей, поиск по инстансам
▫️интеграция с surfer для связывания кода и вейформ, трассировки driver/load и отображение текущих значений в коде (экспериментально)
Из будущих фич зацепило что будет больше хинтов, переименование символов (рефакторинг), более тесная интеграция с vscode и surfer, автофиксы и slang-format. Полноценный форматтер 🍒
Btw, сервер разработан в Hudson River Trading (там и автор slang, работает кстати), а ещё кто-то говорил что HFTшники ничего полезного не делают 🫣
В соседнем чатике даже отзыв-сравнение есть:
#tool
@positiveslack
Ну и закрою тему тулов в этом году новым LSP для SystemVerilog поверх Slang. Есть подозрение, что в будущем это может стать выбором по умолчанию для написания SV 🎧
Ликбез. LSP это та штука, что живёт в IDE и даёт редактору возможность делать переходы по символам,показывать хинты, делать автодополнение и другие вещи для нужного языка. Ну а Slang это просто наиболее полный и самый быстрый парсер SV (по заявлениям разработчиков).
В итоге в IDE получаем ту самую эргономику в написании SV, которая есть по умолчанию у программистов на языках высокого уровня. Все фичи перечислять долго, лучше посмотрите доклад или полистайте слайды.
Некоторые хайлайты:
▫️поддерживается neovim и vscode из коробки (последний пока в меньшей мере)
▫️индексация тысяч sv файлов на десятки мегабайт менее чем за секунду
▫️автодополнение, переходы по ссылкам, всплывающие хинты, раскрытие макросов
▫️иерархия, список модулей, поиск по инстансам
▫️интеграция с surfer для связывания кода и вейформ, трассировки driver/load и отображение текущих значений в коде (экспериментально)
Из будущих фич зацепило что будет больше хинтов, переименование символов (рефакторинг), более тесная интеграция с vscode и surfer, автофиксы и slang-format. Полноценный форматтер 🍒
Btw, сервер разработан в Hudson River Trading (там и автор slang, работает кстати), а ещё кто-то говорил что HFTшники ничего полезного не делают 🫣
В соседнем чатике даже отзыв-сравнение есть:
Уже недели 3 пользуюсь этим LSP, фантастическая штука
Из всего, что пробовал, мне этот больше всего нравится. У verible слабый препроцессор, на макросах сразу падает, пришлось вообще выключить. Svls не умеет делать symbol rename, да и линт что-то не понравился, уже не помню почему. Svlangserver в основном хорошее автодополнение, но фич немного, опять же нет symbol rename. Хочу попробовать еще verilog-mode, но для этого надо выучить emacs, так что как-нибудь потом.
#tool
@positiveslack