Size: a a a

2021 January 03

SS

Sergey Skvortsov in pro.vim
Это проблемы плюсов, конечно, нормальные языки парсятся легко и корректно
источник

GK

Georgy Komarov in pro.vim
Sergey Skvortsov
Например,
void foo() {
   a * b;
}

treesitter парсит как определение указателя

void Class::method() {
   x_ = 1;
}

treesitter не может понять, что такое x_, кроме как "наверное, имя какой-то переменной"
То есть, это проблема IR tresitter'a?
источник

SS

Sergey Skvortsov in pro.vim
Georgy Komarov
То есть, это проблема IR tresitter'a?
Проблема в том, что это плюсы
источник

GK

Georgy Komarov in pro.vim
Он наверное строит универсальное представление для всех языков
источник

GK

Georgy Komarov in pro.vim
Sergey Skvortsov
Проблема в том, что это плюсы
Ну это тоже. На compile-time многое завязано.
источник

SS

Sergey Skvortsov in pro.vim
Georgy Komarov
Ну это тоже. На compile-time многое завязано.
Это не при чём
источник

AM

AlexShell Makise in pro.vim
Georgy Komarov
Он наверное строит универсальное представление для всех языков
Он же там вообще вроде сначала AST строит
источник

SS

Sergey Skvortsov in pro.vim
Плюсы нельзя распарсить на достаточно подробном уровне без compile_commands.json или любого аналога
источник

SS

Sergey Skvortsov in pro.vim
Ну и один файл без контекста нельзя раскрасить
источник

GK

Georgy Komarov in pro.vim
Sergey Skvortsov
Плюсы нельзя распарсить на достаточно подробном уровне без compile_commands.json или любого аналога
Справедливо. Нам ведь нужна информация о внешних хедерах и тулчейне.
источник

AM

AlexShell Makise in pro.vim
Sergey Skvortsov
Плюсы нельзя распарсить на достаточно подробном уровне без compile_commands.json или любого аналога
Да и Си тоже, по идее
источник

SS

Sergey Skvortsov in pro.vim
Sergey Skvortsov
Плюсы нельзя распарсить на достаточно подробном уровне без compile_commands.json или любого аналога
Впрочем, это в равной степени касается и си
источник

SS

Sergey Skvortsov in pro.vim
AlexShell Makise
Да и Си тоже, по идее
Угу
источник

SS

Sergey Skvortsov in pro.vim
Sergey Skvortsov
Впрочем, это в равной степени касается и си
Там проще, конечно, почти все можно распарсить
источник

AM

AlexShell Makise in pro.vim
Sergey Skvortsov
Там проще, конечно, почти все можно распарсить
За исключением того, что что угодно может оказаться макросом
источник

SS

Sergey Skvortsov in pro.vim
AlexShell Makise
За исключением того, что что угодно может оказаться макросом
Ну вот почти все
a * b тоже не получится
источник

GK

Georgy Komarov in pro.vim
Сложно конечно с плюсами работать. Ведь при разработке тулзов, нам нужно инкрементально обрабатывать изменения в AST, и реагировать на изменение пользовательского кода в реальном времени.
источник

AM

AlexShell Makise in pro.vim
А всё потому, что C пилился, когда не было такого понятия, как подсветка кода
источник

AM

AlexShell Makise in pro.vim
И никто не думал о том, что кому-то, кроме компилятора, надо будет парсить код
источник

N

Nack Nime | #2o2o in pro.vim
#fugitive

как посмотреть команду, которую выполняет этот плагин при определённых действиях?
источник