#tree-sitter — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #tree-sitter, aggregated by home.social.
-
I recently posted that I created a WIT mode for emacs, now a mode for Webassembly Composition files (WAC) followed. Read more here: https://www.reddit.com/r/WebAssembly/comments/1vn5ipb/emacs_modes_for_wit_and_wac_files_and_treesitter/
-
Наш ИИ-агент не закрыл ни одной боевой задачи. И это лучшее, что с ним случилось
Наши аналитики почти перестали писать SQL руками и ходить к разработчикам с вопросом «как работает эта фича». Сделал это инструмент, который мы строили совсем для другого: он должен был сам закрывать задачи разработки. С исходной целью он провалился: ноль автономно закрытых боевых задач. Зато неожиданно закрыл больше половины исследовательских запросов аналитиков. Рассказываю, где именно сломалась идея «агент делает простые задачи», почему это управленческий, а не технический провал, и как побочный продукт оказался главным.
https://habr.com/ru/articles/1061746/
#ИИагент #LLM #RAG #автоматизация_разработки #аналитика #база_знаний #treesitter #OpenRouter #управление_разработкой
-
I think, after months of occasional trial and error, I have #Treesitter working my #Emacs config. Most of the problems were my own stupidity, and then months of just giving up. Moving from an ancient Intel Mac to an M5 in the middle of this didn't help.
-
Граф кода одной командой: ставим graphlens-mcp в проект и перестаём жечь токены на grep
В первых двух статьях я сделал две вещи и обе — честно. Описал движок graphlens: как он берёт исходники на Python, TypeScript, Go, Rust и PHP и нормализует их в единый типизированный граф — узлы-символы, type-aware рёбра ( CALLS , HAS_TYPE , INHERITS_FROM ), детерминированные SHA-256 ID, межъязыковые границы. И померил его: 936 прогонов на apache/superset (~400k строк, Python + TypeScript, граница /api/v1/... ). Вывод — на задачах анализа влияния структурный граф бьёт grep по стоимости в 10–23 раза, а на точечных запросах разница почти нулевая. Но была дыра, о которой я в обеих статьях молчал. Движок — это не продукт. Чтобы реально подключить graphlens к агенту, недостаточно pip install и API. Нужно написать кучу обвязки. Эта статья — про то, как я эту обвязку оформил в отдельный продукт graphlens-mcp , который ставится одной командой и сразу начинает работать. Он в alpha, он бесплатный (MIT), и его можно потестить на своём проекте за пять минут.
https://habr.com/ru/articles/1052776/
#graphlens #MCP #граф_кода #кодовые_агенты #Claude_Code #LLM #статический_анализ_кода #оптимизация_токенов #Python #treesitter
-
Since the very dear @crmsnbleyd lost steam with the Markless treesitter grammar implementation, I am once again imploring you 🫵 to consider helping the project out. He got it a long way there, and there's only a few pieces of the syntax left to handle like the compound argument lists.
If you're at all interested in #markless, #treesitter, or #emacs, I'd much appreciate your help!
https://codeberg.org/shirakumo/tree-sitter-markless
For information on Markless:
https://shirakumo.org/docs/markless -
graphlens: превращаем репозиторий в типизированный граф — Python, TypeScript, Go и Rust в одной модели
Любой инструмент для «понимания кода», которым я пользовался, рано или поздно упирался в одну из двух стен. Первая — цикл «grep → открыть → прочитать → перейти по импорту → снова grep» . Работает, но медленно, и у него нет ни малейшего представления о том, что process_order , найденный в services.py — это тот самый process_order , который вызывается из api.py , а не однофамилец из tests/ . Когда этим занимается LLM-агент, он ещё и сжигает на этом тонну токенов. Вторая стена — моноязычность . Инструмент прекрасно понимает Python, но слепнет в ту секунду, когда фронтенд на TypeScript дёргает ручку FastAPI на Python. Реальные системы полиглотны. Инструменты вокруг них — обычно нет. graphlens — это open-source фреймворк (MIT), который спроектирован так, чтобы обойти обе стены. Он парсит исходный проект, нормализует его структуру в общий граф-IR и отдаёт этот граф вам — делайте с ним что хотите: анализ зависимостей, навигацию, поиск мёртвого кода или подачу точных ответов LLM-агенту вместо вываливания файлов в контекст.
https://habr.com/ru/articles/1050204/
#graphlens #статический_анализ_кода #граф_кода #treesitter #Python #LSP #code_intelligence #MCP
-
Почему AI-агент ищет по коду неправильно, и как это чинит cocoindex-code за две команды
Если вы работаете с Claude Code или Cursor на большом проекте, знаете боль: просишь “найди, где обрабатывается авторизация”, а агент гоняет grep по ключевым словам. Если функция называется validateUserSession, а вы спросили про “авторизацию” — grep её не найдёт. Это ограничение текстового поиска, и его решает семантический поиск через эмбеддинги. Я уже разбирал CodeGraph и SocratiCode из этой ниши, теперь поставил третий — cocoindex-code. Зацепил тем, что ставится в две команды без Docker и баз данных. Прогнал на своём проекте, разобрался с AST-чанкингом и сравнил с аналогами.
https://habr.com/ru/articles/1049814/
#Claude_Code #семантический_поиск #эмбеддинги #Treesitter #AST #MCP #cocoindex #code_search
-
Агент читает 20 файлов ради одной функции. Лечим это графом кода: CodeGraph vs Graphify и другие невиданные твари
Мне регулярно пишут: «У тебя Max-подписка, токенов вагон — зачем городить индексацию кода? Дай агенту grep и не выпендривайся». Полгода назад я бы согласился. Сейчас — нет. Когда агент ищет «где тут авторизация», он спавнит эксплорацию, грепает по ключевым словам и читает 15-20 файлов целиком, чтобы догадаться о связях. Это сотни тысяч токенов, куча tool calls и регулярные промахи. Граф кода схлопывает этот веер чтений в один точный запрос к индексу. Я сейчас гоняю CodeGraph (лёгкий локальный индекс символов для агента), а Graphify (граф знаний всего проекта — код плюс документы, PDF и медиа) только собираюсь попробовать. Это два разных инструмента под разные боли, и их постоянно путают. В статье: чем они отличаются архитектурно, почему модель хранения индекса — следствие этой архитектуры (и как держать индекс при работе с разных машин и командой), их бенчмарки с честной пометкой «не мои цифры», кому что брать — плюс карта соседних инструментов: Gortex, CodeGraphContext, Sourcegraph MCP и Cognee.
https://habr.com/ru/articles/1042930/
#AIагенты #Claude_Code #Codex #codeintelligence #treesitter #MCP #индексациякода #Sourcegraph
-
Экономия токенов на grep: индекс кода для AI-агентов на Rust + tree-sitter + SQLite + MCP
История идеи проекта Сидел я и делал чанкирование разбора конфигурации 1С в PostgreSQL. Выгрузка конфы мне досталась с 43 расширениями и ноль документации по этим расширениям после 5 команд разработки. Ну, нужно было её разобрать, обогатить бизнес-терминами и превратить во что-то удобоваримое вроде как для RAG. Было всё это долго, нудно, на Питоне, с помощью локальной LLM. Сам я в настоящий момент 1с-ник, но начинал я в своё время с MSSQL-2000 (если кто-то помнит такой), T-SQL, PowerScript, Pascal и пр. романтики. Сидел я, думал о светлом будущем, когда с помощью RAG локальная моделька будет мне писать скрипты, и даже без ошибок (до некоторой степени это получилось). Ну как-то слово за слово, и мне подумалось: есть же семантический поиск по RAG, реализуется MCP-сервером. По сути это запросы — точные, но довольно медленные. А почему тогда во всех остальных случаях, работая с выгрузкой напрямую, модель раз за разом лезет в переборщики файлов — пусть правильно написанные и крайне оптимизированные, но всё же переборщики? КОТОРЫЕ ТРАТЯТ МАССУ ТОКЕНОВ ТУПО НА ЧТЕНИЕ ДЛЯ ПОИСКА?! Почему нельзя это делать запросами в базу данных — нормальными, дешёвыми, точными? И вспомнил я заодно старую идею: когда-то файловую систему в Windows (проект WinFS, времён Vista) хотели сделать похожей на БД, чтобы радикально ускорить работу с файлами. Идею потом свернули, и она как-то забылась. НО я не забыл :):) Идея-то была интересная. Итого — нужно было дать модели инструмент, который заметно экономил бы токены и ускорял поиск данных (особенно в больших массивах кода). И подумалось мне, что не один я такой — есть целый коллектив разработчиков, которому такой инструмент может пригодиться. Поэтому Бог с ним, с Питоном, будем писать на Rust, потому что Rust — это база! (с)
https://habr.com/ru/articles/1042686/
#rust #aiагенты #mcp #claude_code #sqlite #treesitter #индексация_кода #1С #bsl
-
Is there anywhere any "official" discussion about how to continue with nvim treesitter?
-
CodeGraph: граф кода для Claude Code вместо grep по файлам. Разбираю архитектуру и проверяю бенчмарки
Если вы работаете с Claude Code на больших проектах, знаете картину: задаёшь вопрос “как устроена авторизация” — и агент рекурсивно бегает по файлам через grep, жжёт токены и время. Я уже разбирал SocratiCode, который решает это через векторный поиск. CodeGraph идёт другим путём — строит граф символов через tree-sitter и хранит в SQLite. Разобрал архитектуру, проверил бенчмарки (92% меньше вызовов — правда, но с нюансами) и сравнил с альтернативами. Заодно поправил телеграм-маркетинг про выдуманного “агента Hermes”.
https://habr.com/ru/articles/1038474/
#Claude_Code #MCP #AIагенты #treesitter #SQLite #индексация_кода #CodeGraph #граф_кода
-
I use #sqlx, and I wanted syntax highlighting for embedded #SQL queries in my #Rust code. Making that work in #Neovim led me to learning a few things about #Treesitter, and #NixOS packaging conventions. Here's my write-up!
Public replies to this post will appear in a comments section under the blog post.
https://sitr.us/2026/05/03/embedded-sql-highlighting-in-neovim/
-
Experimenting what I can do with #treesitter and #AdaLang :)
```
(compilation (compilation_unit (subprogram_body (procedure_specification name: (identifier)) (handled_sequence_of_statements (null_statement)) endname: (identifier))))
``` -
#Emacs repeat-mode also combines really well with #expreg (expand-region). expreg looks like a worthy successor to Magnars' `expand-region` package, which many of us have grown to love.
I have it set so `C-c y` marks the semantic 'thing' at point, and subsequent presses of `y` or `u` expand or contract to the next semantic unit.
Works well out of the box. Should work even better if/when I get my head around #treesitter.
This is my config:
(repeat-mode 1)
(defvar expreg-expand-keymap
(define-keymap
"y" #'expreg-expand
"u" #'expreg-contract))(put #'expreg-expand 'repeat-map 'expreg-expand-keymap)
(put #'expreg-contract 'repeat-map 'expreg-expand-keymap)(global-set-key (kbd "C-c y") #'expreg-expand)
-
The Helix modal editor has built-in support for treesitter, but it only ships with some of the R queries: (syntax) highlight, injection, and locals. It does not have yet queries for text objects, tags, indentation or rainbow brackets. At least three of these are available elsewhere; I wonder how hard would it be to adapt those for Helix?
-
A Better R Programming Experience Thanks to Tree-sitter
https://ropensci.org/blog/2026/04/02/tree-sitter-overview/
#HackerNews #RProgramming #TreeSitter #CodingExperience #DataScience #SoftwareDevelopment
-
@technomancy @mcc It's as if they looked at the existing problems and requirements, and then tried coming up with the dumbest "solutions" just for shits and giggles.
Even if I tried, I wouldn't be able to come up with the sheer density of painfully wrong decisions they made.
It's all "I'd love to understand the state of their mind that led them to believing that shit to be a valid design/engineering option" the way down.
-
@technomancy @mcc Treesitter is the biggest engineering and design trash fire that I have seen in a long time.
If I had to give people advice on how to tackle the problem of grammars and editor support, I'd point them to TreeSitter and tell them to *not* do that.
-
It's sad to see that nvim-treesitter has been archived, but I do respect the decision. Made sure to report the loser who lead to the project being archived. Hopefully GitHub takes action against people like this.
#Neovim #TreeSitter #NeovimTreeSitter #NvimTreeSitter #OpenSource
-
Mental fatigue when maintaining FLOSS projects, illustrated.
https://github.com/nvim-treesitter/nvim-treesitter/discussions/8627