19 repository-uri
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 19 awesome GitHub repositories matching development tools & productivity · Structural Code Navigation. Refine with filters or upvote what's useful.
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.
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.
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.
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.
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.
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.
ts-morph este o bibliotecă de manipulare AST pentru TypeScript și un wrapper de nivel înalt pentru API-ul compilatorului TypeScript. Oferă o interfață programatică pentru analizarea, modificarea și generarea codului sursă TypeScript, servind drept instrument pentru refactorizarea automată a codului și generarea de cod sursă. Biblioteca simplifică procesul de navigare și inspecție a structurilor de proiect oferind o abstractizare orientată pe obiecte peste API-ul compilatorului subiacent. Permite transformarea programatică a bazelor de cod existente pentru a automatiza actualizările structurale și migrarea în masă a codului. Capabilitățile sale acoperă analiza statică a codului, navigarea elementelor de cod și gestionarea fișierelor sursă prin import, generare și ștergere. Proiectul integrează verificarea tipurilor și utilizează descoperirea fișierelor bazată pe glob pentru a menține o reprezentare în memorie a bazei de cod, care poate fi apoi persistată înapoi în sistemul de fișiere fizic.
Provides programmatic interfaces for navigating the abstract syntax tree to locate and analyze specific code elements.
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.
python-mode este un plugin Vim IDE care oferă un set de instrumente integrat pentru dezvoltarea Python. Încorporează o interfață de debug pentru gestionarea breakpoint-urilor de execuție și inspecția stării programului, un browser de documentație pentru preluarea simbolurilor oficiale ale limbajului și un sistem pentru analiză statică și refactorizare structurală automatizată. Proiectul dispune de un manager de mediu dedicat care detectează și utilizează medii virtuale specifice proiectului pentru a asigura rezoluția corectă a bibliotecilor și a interpretorului. Se integrează cu instrumente externe precum PyLint și Rope pentru a identifica erorile de cod și a efectua refactorizarea la nivelul întregului proiect. Plugin-ul acoperă capabilități largi de dezvoltare, inclusiv linting în timp real, formatarea automată a codului și completarea inteligentă a codului. Oferă, de asemenea, instrumente de navigare structurală pentru a sări între definiții, evidențierea avansată a sintaxei și capacitatea de a executa blocuri individuale de cod direct din editor.
Provides interfaces for jumping quickly between structural components like classes, methods, and definitions.
Acest proiect este un plugin Sublime Text și o extensie de editor pentru dezvoltare web care funcționează ca un expander de abrevieri markup. Permite crearea rapidă a blocurilor de cod HTML și CSS structurate prin transformarea token-urilor concise, de tip CSS, în markup complet și foi de stil. Instrumentul oferă automatizare avansată pentru fluxurile de lucru web, inclusiv generarea de elemente HTML imbricate, nume de clase BEM și prefixe CSS pentru vendori. Include, de asemenea, utilitare specializate pentru generarea de gradienți CSS cu fallback-uri de compatibilitate pentru browser și conversia căilor imaginilor în URL-uri de date codificate base64. Dincolo de generarea de cod, extensia acoperă manipularea structurii markup și navigarea. Aceasta include capabilități pentru echilibrarea selecțiilor de tag-uri, saltul între perechi de tag-uri potrivite, efectuarea calculelor aritmetice în cadrul codului și generarea de text dummy pentru testarea vizuală. Sistemul este configurabil prin maparea alias-urilor de abrevieri, definiții de snippet-uri personalizate și extensii de plugin pentru a modifica filtrele și acțiunile interne.
Moves the selection to the next or previous significant item in the document for faster traversal.
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.
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.
Emmet este un generator de cod markup și un toolkit de productivitate pentru dezvoltarea web. Acesta servește ca motor de expansiune care convertește abrevierile shorthand și selectorii de tip CSS în structuri complete HTML, XML și alte tipuri de markup. Proiectul dispune de un motor dedicat de expansiune CSS shorthand care transformă codurile de proprietăți concise în declarații de stil complete, incluzând generarea automată a prefixelor de vendor și a gradientelor. Se distinge prin oferirea unui proces de expansiune programabil prin definiții de snippet-uri personalizate, maparea alias-urilor de abrevieri și extensibilitate bazată pe scripturi. Toolkit-ul acoperă o gamă largă de capabilități, inclusiv generarea de markup cu multiplicarea elementelor și numerotare iterativă, precum și utilitare pentru editor pentru navigare structurală și selecția echilibrată a tag-urilor. Oferă, de asemenea, instrumente pentru scrierea de fișiere CSS, ajustarea valorilor numerice și gestionarea media pentru conversia datelor de tip image data-URL și actualizarea dimensiunilor.
Enables rapid movement between matching tags and structural edit points in HTML and CSS files.
ApplicationInspector este un instrument de analiză statică multi-limbaj conceput pentru a detecta caracteristici și trăsături specifice în codul sursă. Utilizează un motor de reguli declarativ JSON pentru a identifica tipare și tag-uri structurale în directoarele proiectului fără a necesita recompilarea analizatorului. Sistemul se distinge printr-un differ de versiuni de cod care compară două căi sursă diferite pentru a raporta modificările în caracteristicile detectate. De asemenea, oferă utilitare pentru crearea și validarea regulilor personalizate bazate pe JSON, inclusiv un pipeline de validare pentru a verifica sintaxa și unicitatea identificatorilor. Instrumentul acoperă domenii largi de capabilități, inclusiv descoperirea caracteristicilor codului, auditarea componentelor software și gestionarea domeniului de analiză prin filtrare bazată pe glob. Rezultatele pot fi exportate ca rezumate în formate HTML, Markdown sau JSON. Utilitarele command-line sunt furnizate pentru automatizarea validării sintaxei regulilor și efectuarea comparațiilor de versiuni între diferite iterații ale proiectului.
Features a static analyzer capable of parsing structural components across diverse programming languages.
Acest proiect este un framework cuprinzător de configurare Neovim și un mediu de dezvoltare integrat, construit cu o configurație modulară bazată pe Lua. Oferă un spațiu de lucru coerent care orchestrează estetica editorului, keybinding-urile și ciclurile de viață ale plugin-urilor pentru a transforma editorul într-un mediu de dezvoltare complet echipat. Configurația este concepută ca un mediu de dezvoltare poliglot cu suport dedicat pentru Python, C++, Lua, Markdown și LaTeX. Dispune de o configurație specializată de client LSP pentru inteligență în cod multi-limbaj și o suită de integrare Git pentru gestionarea fluxurilor de lucru de version control și staging-ul modificărilor direct în interfață. Mediul acoperă o gamă largă de capabilități, inclusiv căutare fuzzy pentru descoperirea fișierelor și bufferelor, navigare structurală în cod și gestionarea automată a snippet-urilor. Include, de asemenea, instrumente pentru scrierea documentației tehnice cu previzualizări de layout, explorarea vizuală a proiectelor și utilitare pentru formatarea structurilor de date și manipularea textului.
Enables jumping between symbols and managing foldable code blocks using structural analysis of the source code.
rust.vim este un plugin Vim care oferă suport specific limbajului pentru Rust în editor. Acesta integrează evidențierea sintaxei, gestionarea indentării și configurații de instrumente pentru a îmbunătăți lizibilitatea și înțelegerea structurală a codului sursă Rust. Plugin-ul permite execuția țintită a testelor pentru funcții specifice și oferă integrare cu un playground online pentru experimentarea și partajarea codului. De asemenea, acoperă capabilități pentru formatarea codului, detectarea statică a erorilor și navigarea prin simboluri pentru a răsfoi structurile sursă și a sări între definiții. Configurarea este gestionată prin Vimscript.
Integrates with external indexing tools to enable jumping between definitions and declarations via tags.
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.
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.
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.