[all-commits] [llvm/llvm-project] 3a08e2: [lldb] Add tree-sitter based syntax highlighting

Jonas Devlieghere via All-commits all-commits at lists.llvm.org
Thu Feb 12 16:38:17 PST 2026


  Branch: refs/heads/users/jdevlieghere/tree-sitter-syntax-highlighting
  Home:   https://github.com/llvm/llvm-project
  Commit: 3a08e2aa927886dbd7b4d133a0b6a376d69d3094
      https://github.com/llvm/llvm-project/commit/3a08e2aa927886dbd7b4d133a0b6a376d69d3094
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2026-02-12 (Thu, 12 Feb 2026)

  Changed paths:
    A lldb/cmake/modules/FindTreeSitter.cmake
    M lldb/cmake/modules/LLDBConfig.cmake
    M lldb/source/Plugins/Highlighter/CMakeLists.txt
    A lldb/source/Plugins/Highlighter/TreeSitter/CMakeLists.txt
    A lldb/source/Plugins/Highlighter/TreeSitter/TreeSitterHighlighter.cpp
    A lldb/source/Plugins/Highlighter/TreeSitter/TreeSitterHighlighter.h

  Log Message:
  -----------
  [lldb] Add tree-sitter based syntax highlighting

This adds the necessary infrastructure to use tree-sitter for syntax
highlighting in LLDB. It provides the base class for a tree-sitter
highlighter plugin. Its primary function is interfacing with the
tree-sitter library, and converting captures to highlighting styles.

Adding a new tree-sitter highlighter consists of creating an LLDB plugin
that inherits from this class. The plugin has two core responsibilities:

1. Loading the tree-sitter grammar.
2. Specifying the tree-sitter syntax highlighting query.

Everything else is handled by the base class, making it extremely easy
to add a new language.

For more context and the motivation behind using tree-sitter for syntax
highlighting, see #170250.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list