Есть такой проект, tree-sitter, он появился внутри Atom, но не умер вместе с ним. Задача tree-sitter’а - хорошо парсить исходники на большом количестве языков программирования и представлять их в виде структур данных. Очень удобно потом это всё подсвечивать, манипулировать с кодом и тп. Довольно давно его встроили в neovim, а вот на прошлой неделе его поддержку вмержили в основную ветку emacs. Получается Атом умер, но дело его живет!