awesome-repositories.com
博客
awesome-repositories.com

通过 AI 驱动的搜索,发现最优秀的开源仓库。

探索精选搜索开源替代品自托管软件博客网站地图
项目关于排名机制媒体报道MCP 服务器
法律隐私政策服务条款
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·

20 个仓库

Awesome GitHub RepositoriesStructural Code Navigation

Interfaces for navigating the abstract syntax tree and structural components of source code.

Distinguishing note: Unlike general search, this leverages Tree-sitter for structural analysis of code nodes.

Explore 20 awesome GitHub repositories matching development tools & productivity · Structural Code Navigation. Refine with filters or upvote what's useful.

Awesome Structural Code Navigation GitHub Repositories

用 AI 发现最棒的仓库。我们将通过 AI 为您搜索最匹配的仓库。
  • nvim-mini/mini.nvimnvim-mini 的头像

    nvim-mini/mini.nvim

    9,325在 GitHub 上查看↗

    mini.nvim is a comprehensive library of independent modules designed to extend Neovim with a wide array of navigation, user interface, and text manipulation tools. It serves as a modular plugin collection, a UI toolkit for creating custom statuslines and notifications, and a package manager for installing and pinning external plugins from Git. The project provides a specialized fuzzy picker framework for filtering files and symbols, an LSP completion engine with interactive snippet expansion, and a dedicated plugin test framework that uses headless editor instances and remote procedure calls

    Provides a searchable interface to navigate Tree-sitter nodes and manual pages.

    Lualuamini-nvimneovim
    在 GitHub 上查看↗9,325
  • yangyangwithgnu/use_vim_as_ideyangyangwithgnu 的头像

    yangyangwithgnu/use_vim_as_ide

    9,169在 GitHub 上查看↗

    This project is a Vim IDE configuration and plugin suite designed to transform the Vim text editor into a full development environment. It focuses on C++ development by integrating source code indexing and automated plugin management. The environment utilizes compiler backends and abstract syntax trees for semantic code completion and static code analysis. It employs tag files for symbol indexing, enabling rapid navigation between function definitions, class headers, and implementation files. The workspace includes productivity tools such as shorthand snippet expansion, line bookmarking, and

    Provides structural navigation for jumping between matching pairs and switching between headers and implementations.

    VimL
    在 GitHub 上查看↗9,169
  • kreuzberg-dev/kreuzbergkreuzberg-dev 的头像

    kreuzberg-dev/kreuzberg

    8,527在 GitHub 上查看↗

    Kreuzberg is a document extraction engine that converts PDFs, Office files, images, and over 90 other formats into clean, structured text and metadata. It is built around a compiled Rust core that can be used as a native library, a command-line tool, a REST API server, or a WebAssembly module for browser-based processing. The system is designed to run entirely on self-hosted infrastructure, with no data leaving the user's environment. What distinguishes Kreuzberg is its breadth of integration surfaces and its pipeline architecture. It exposes extraction capabilities through native bindings fo

    Parses functions, classes, imports, and symbols from code files across 306 programming languages for structured analysis.

    Rustdocument-intelligenceelixirffi
    在 GitHub 上查看↗8,527
  • lauriewired/ghidramcpLaurieWired 的头像

    LaurieWired/GhidraMCP

    7,649在 GitHub 上查看↗

    GhidraMCP is a Model Context Protocol server that exposes Ghidra binary analysis and decompilation functions to external intelligence models. It acts as a bridge that connects the Ghidra reverse engineering suite to external tools through a standardized communication protocol, facilitating automated reverse engineering and software auditing. The project enables the extraction of decompiled code and program structural data to populate the context windows of language models. It features a binary symbol management tool capable of dynamic symbol resolution, allowing method and data names to be up

    Provides utilities for listing and navigating methods and classes to determine a binary's organizational layout.

    Java
    在 GitHub 上查看↗7,649
  • sebastianbergmann/code-unit-reverse-lookupsebastianbergmann 的头像

    sebastianbergmann/code-unit-reverse-lookup

    6,690在 GitHub 上查看↗

    This project is a static code analysis tool that functions as a code unit resolver and source code line mapper. It identifies the specific function or method that contains a given line of code by analyzing the structure of source files without executing the program. The utility maps line numbers to their parent code units by examining the organization of source files and identifying the ownership of specific lines. It determines the boundaries of functions and methods through text-based structural parsing and range detection. These capabilities support source code analysis and static analysi

    Supports code navigation by identifying the function responsible for a specific operation via structural analysis.

    PHP
    在 GitHub 上查看↗6,690
  • preservim/tagbarpreservim 的头像

    preservim/tagbar

    6,222在 GitHub 上查看↗

    Tagbar is a Vim plugin that displays a resizable sidebar of code tags parsed by Exuberant Ctags, organized by scope, with cursor-linked highlighting and key-mapped jumps to definitions. It provides a hierarchical view of code elements like functions and classes from the current file, enabling navigation and structural overview directly within the editor. The plugin integrates with Exuberant Ctags to parse source files and extract tag definitions, then organizes those symbols into a tree structure based on their enclosing scope, such as class or function boundaries. It features real-time file

    Browses source code structure by showing tags grouped by their enclosing scope.

    Vim Scriptexuberant-ctagslinuxmacos
    在 GitHub 上查看↗6,222
  • dsherret/ts-morphdsherret 的头像

    dsherret/ts-morph

    6,110在 GitHub 上查看↗

    ts-morph is a TypeScript AST manipulation library and a high-level wrapper for the TypeScript compiler API. It provides a programmatic interface for analyzing, modifying, and generating TypeScript source code, serving as a tool for automated code refactoring and source code generation. The library simplifies the process of navigating and inspecting project structures by offering an object-oriented abstraction over the underlying compiler API. It allows for the programmatic transformation of existing codebases to automate structural updates and bulk code migrations. Its capabilities cover sta

    Provides programmatic interfaces for navigating the abstract syntax tree to locate and analyze specific code elements.

    TypeScript
    在 GitHub 上查看↗6,110
  • sinelaw/freshsinelaw 的头像

    sinelaw/fresh

    5,914在 GitHub 上查看↗

    Zed is a terminal-based code editor built in Rust that provides a full-featured editing experience with familiar keybindings, mouse support, and multiple cursors. It runs entirely in the terminal while offering capabilities typically found in graphical editors, including split panes, a command palette, and integrated language server protocol support for real-time diagnostics, completions, go-to-definition, and code actions across multiple languages. The editor distinguishes itself through a plugin system that runs sandboxed TypeScript plugins in a QuickJS runtime, with an asynchronous bridge

    Zed jumps to definitions, references, lines, brackets, bookmarks, and error locations.

    Rustideterminal-basedtext-editor
    在 GitHub 上查看↗5,914
  • python-mode/python-modepython-mode 的头像

    python-mode/python-mode

    5,465在 GitHub 上查看↗

    python-mode 是一个 Vim IDE 插件,为 Python 开发提供了集成的工具集。它包含一个用于管理执行断点和检查程序状态的调试界面、一个用于检索官方语言符号的文档浏览器,以及一个用于静态分析和自动化结构重构的系统。 该项目具有专用的环境管理器,可检测并使用项目特定的虚拟环境,以确保正确的库和解释器解析。它集成了 PyLint 和 Rope 等外部工具,以识别代码错误并执行项目范围的重构。 该插件涵盖了广泛的开发功能,包括实时代码检查(linting)、自动化代码格式化和智能代码补全。它还提供用于在定义之间跳转的结构化导航工具、高级语法高亮显示,以及直接从编辑器执行单个代码块的能力。

    Provides interfaces for jumping quickly between structural components like classes, methods, and definitions.

    Vim Script
    在 GitHub 上查看↗5,465
  • sergeche/emmet-sublimesergeche 的头像

    sergeche/emmet-sublime

    5,222在 GitHub 上查看↗

    This project is a Sublime Text plugin and web development editor extension that functions as a markup abbreviation expander. It allows for the rapid creation of structured HTML and CSS code blocks by transforming concise, CSS-like shorthand tokens into full markup and stylesheets. The tool provides advanced automation for web workflows, including the generation of nested HTML elements, BEM class names, and CSS vendor prefixes. It also includes specialized utilities for generating CSS gradients with browser compatibility fallbacks and converting image paths into base64 encoded data URLs. Beyo

    Moves the selection to the next or previous significant item in the document for faster traversal.

    JavaScript
    在 GitHub 上查看↗5,222
  • nvim-neo-tree/neo-tree.nvimnvim-neo-tree 的头像

    nvim-neo-tree/neo-tree.nvim

    5,247在 GitHub 上查看↗

    Neo-tree is an extensible UI component for Neovim that functions as a file explorer, project resource manager, and git status browser. It provides a tree-based interface for navigating filesystems, managing open buffers, and organizing document symbols within a side panel. The project is designed as a customizable framework that allows for the integration of external data sources and the implementation of user-defined event handlers. It supports custom tree visuals and component rendering, enabling the display of metadata, custom icons, and third-party plugin data within the tree view. Capab

    Enables exploring the hierarchy of definitions and variables to jump to specific code blocks.

    Luafile-explorerluaneovim
    在 GitHub 上查看↗5,247
  • emacs-lsp/lsp-modeemacs-lsp 的头像

    emacs-lsp/lsp-mode

    5,060在 GitHub 上查看↗

    lsp-mode is a Language Server Protocol client and IDE feature set for Emacs. It functions as a semantic code analysis tool and JSON-RPC communication layer that connects the editor to external language servers to provide intelligent code completion and real-time diagnostics. The project also serves as a Debug Adapter Protocol client, enabling interactive debugging sessions and breakpoint management. This allows for stepping through code and inspecting variables via a standardized protocol, including support for debugging within Docker containers. The system covers a broad range of developmen

    Generates code outlines and structural navigation to help users understand the hierarchy of the current file.

    Emacs Lispangularcppdart
    在 GitHub 上查看↗5,060
  • emmetio/emmetemmetio 的头像

    emmetio/emmet

    4,541在 GitHub 上查看↗

    Emmet 是一个标记代码生成器和 Web 开发生产力工具包。它作为一个扩展引擎,将简写缩写和类似 CSS 的选择器转换为完整的 HTML、XML 和其他标记结构。 该项目具有专用的 CSS 简写扩展引擎,可将简洁的属性代码转换为完整的样式声明,包括自动生成厂商前缀和渐变。它通过自定义代码片段定义、缩写别名映射和基于脚本的可扩展性,提供了可编程的扩展过程。 该工具包涵盖了广泛的功能,包括带有元素乘法和迭代编号的标记生成,以及用于结构导航和平衡标签选择的编辑器实用程序。它还提供了用于 CSS 样式表编写、数值调整以及用于图像数据 URL 转换和尺寸更新的媒体处理工具。

    Enables rapid movement between matching tags and structural edit points in HTML and CSS files.

    TypeScriptabbreviationcssemmet
    在 GitHub 上查看↗4,541
  • microsoft/applicationinspectormicrosoft 的头像

    microsoft/ApplicationInspector

    4,391在 GitHub 上查看↗

    ApplicationInspector 是一个多语言静态分析工具,旨在检测源代码中的特定功能和特征。它利用声明式 JSON 规则引擎来识别项目目录中的模式和结构标签,而无需重新编译分析器。 该系统通过代码版本差异比较器脱颖而出,该比较器比较两个不同的源路径以报告检测到的功能变化。它还提供用于创建和验证自定义基于 JSON 的规则的实用程序,包括用于验证语法和标识符唯一性的验证流水线。 该工具涵盖了广泛的能力领域,包括代码功能发现、软件组件审计以及通过基于 glob 的过滤进行分析范围管理。结果可以导出为 HTML、Markdown 或 JSON 格式的摘要。 提供了用于自动化规则语法验证和在不同项目迭代之间执行版本比较的命令行实用程序。

    Features a static analyzer capable of parsing structural components across diverse programming languages.

    C#
    在 GitHub 上查看↗4,391
  • jdhao/nvim-configjdhao 的头像

    jdhao/nvim-config

    4,338在 GitHub 上查看↗

    本项目是一个全面的 Neovim 配置框架和集成开发环境,采用模块化的 Lua 设置构建。它提供了一个协调编辑器美学、快捷键和插件生命周期的统一工作空间,将编辑器转变为功能齐全的开发环境。 该配置被设计为一个多语言开发环境,专门支持 Python、C++、Lua、Markdown 和 LaTeX。它具有用于多语言代码智能的专用 LSP 客户端配置,以及用于管理版本控制工作流和直接在界面内暂存更改的 Git 集成套件。 该环境涵盖了广泛的能力,包括用于文件和缓冲区发现的模糊搜索、结构化代码导航以及自动化代码片段管理。它还包括用于技术文档编写的布局预览、可视化项目探索以及用于数据结构格式化和文本操作的实用工具。

    Enables jumping between symbols and managing foldable code blocks using structural analysis of the source code.

    Luaneovimneovim-confneovim-config
    在 GitHub 上查看↗4,338
  • rust-lang/rust.vimrust-lang 的头像

    rust-lang/rust.vim

    4,165在 GitHub 上查看↗

    rust.vim 是一个 Vim 插件,提供针对 Rust 的语言特定编辑器支持。它集成了语法高亮、缩进管理和工具配置,以提高 Rust 源代码的可读性和结构理解。 该插件支持针对特定函数的定向测试执行,并提供与在线 Playground 的集成以进行代码实验和共享。 它进一步涵盖了代码格式化、静态错误检测以及用于浏览源代码结构和在定义之间跳转的符号导航功能。 配置通过 Vimscript 管理。

    Integrates with external indexing tools to enable jumping between definitions and declarations via tags.

    Vim Script
    在 GitHub 上查看↗4,165
  • folke/flash.nvimfolke 的头像

    folke/flash.nvim

    3,903在 GitHub 上查看↗

    flash.nvim is a label-based navigation engine and motion plugin for Neovim. It provides a system for fast cursor repositioning by marking targets across the screen with unique characters, allowing for instant movement to specific characters, search matches, and code structures. The plugin extends navigation through Tree-Sitter integration, enabling the identification and selection of parent nodes and structural code blocks. It further distinguishes itself by supporting multi-window cursor movement, allowing users to search for patterns and jump between different files or split windows using a

    Provides the ability to jump to and select parent nodes and structural code blocks using Tree-Sitter integration.

    Luaneovimneovim-plugin
    在 GitHub 上查看↗3,903
  • nvim-treesitter/nvim-treesitter-contextnvim-treesitter 的头像

    nvim-treesitter/nvim-treesitter-context

    3,120在 GitHub 上查看↗

    nvim-treesitter-context is a Neovim editor extension that provides structural awareness of source files by displaying sticky headers of surrounding code blocks. It utilizes Tree-sitter queries to identify parent functions and classes, keeping them visible at the top of the editor window while scrolling. The tool allows for language rule customization, enabling the definition of specific structural queries to modify how context is detected for different programming languages. Users can also adjust the visual appearance of the context window through custom highlight groups. Beyond visual orien

    Provides structural code navigation by jumping the cursor to the start of the surrounding code block.

    Janetneovimneovim-pluginvim
    在 GitHub 上查看↗3,120
  • volcengine/openvikingvolcengine 的头像

    volcengine/OpenViking

    2,993在 GitHub 上查看↗

    OpenViking is a multi-tenant context server and knowledge base administration system designed to provide AI agents with persistent long-term memory. It enables the indexing of diverse documents and codebases to support retrieval-augmented generation, allowing agents to recall past interactions, user preferences, and learned experiences across sessions. The project is distinguished by its use of a URI-based virtual filesystem to organize memories, resources, and skills. It implements a tiered context loading system that balances retrieval precision with token budgets by structuring data into a

    Exposes tools for AI agents to navigate code structures and generate symbol outlines using a URI-based system.

    Pythonagentagentic-ragai-agents
    在 GitHub 上查看↗2,993
  • andymass/vim-matchupandymass 的头像

    andymass/vim-matchup

    1,912在 GitHub 上查看↗

    Vim-matchup is a plugin for the Vim and Neovim text editors that provides advanced structural code navigation and manipulation. It functions as an extension to standard editor motions, enabling users to jump between, select, and modify matching language constructs and nested code blocks with high precision. The plugin distinguishes itself by utilizing language-specific syntax trees to track and identify corresponding delimiters and keywords. By integrating with syntax-aware engines, it maintains structural accuracy even in complex source files, while offering a fallback pattern-matching mecha

    Displays breadcrumb-style navigation paths by identifying successive matching words within nested code structures.

    Vim Scripthighlighting-matchesmatching-pairsmatchparen
    在 GitHub 上查看↗1,912
  1. Home
  2. Development Tools & Productivity
  3. Structural Code Navigation

探索子标签

  • Multi-Language Code ParsersInterfaces for parsing the abstract syntax tree and structural components of source code across many languages. **Distinct from Structural Code Navigation:** Distinct from Structural Code Navigation: focuses on parsing functions, classes, imports, and symbols from 306 languages for structured analysis, not just navigation.
  • Tag-Based Source NavigatorsTools for browsing source code structure by showing tags grouped by their enclosing scope. **Distinct from Structural Code Navigation:** Distinct from Structural Code Navigation: uses ctags-based tag grouping for navigation, not Tree-sitter AST analysis.