Vibeleaderboard
Index / tool
Visit github.com
Category
Developer Tools
Rank
No. 1710Tools index

Previous survey · No. 1717 ·

Pricing
Open Source
Type
TOOL
Builder
badlogic
GitHub
31 stars
Date

About

Extract symbol information from codebases using the Language Server Protocol, from any language.

What it does

It launches the appropriate language server, scans a configured project, and writes a searchable JSON inventory of symbols. Records can include source ranges, declaration previews, documentation, nested members, generic parameters, supertypes, and some C or C++ definition links.

Why it's ranked here

The broad language set, structured output, automatic server setup, and programmatic exports make it useful for code indexing and navigation scripts. Confidence drops because the documented output contract disagrees with the implementation, and installation depends on substantial external toolchains.

What's good

The output preserves hierarchy instead of flattening every method and field. Source ranges and previews support direct navigation, while optional documentation and inheritance data add context. Fixture tests exercise several languages, server installation, symbol shapes, and practical JSON queries.

Tradeoffs

Each language needs its own compiler or SDK, and accurate results depend on proper project configuration. Initial use may download archives, install packages, or build a server from source. The documented language field differs from the field actually written, while tests expect the documented form.

How to use it well

Use it when an engineer, script, or LLM workflow needs a reusable codebase map for navigation, API inspection, or JSON queries. Run it against well-configured projects with the required toolchain already installed. It does not replace compilation, editing, refactoring, or general static analysis.

Technical notes+

package.json defines a Node package with both CLI and library surfaces, builds TypeScript with tsc, and bundles the command with esbuild for Node 18. src/lib.ts exports LanguageClient, Logger, ServerManager, shared types, and utilities. src/index.ts validates arguments, checks toolchains and project files, ensures a server, analyzes the directory, and writes an LspCliResult using the key lang. README.md documents language instead, while test/utils.ts models language and test/fixtures.test.ts asserts it, exposing a contract mismatch. src/language-client.ts spawns servers over stdio JSON-RPC, requests hierarchical document symbols per file, and applies a ten-second request timeout. src/server-manager.ts installs servers under the user home directory. vitest.config.ts serializes tests to avoid server conflicts.

Observed

Primary language
TypeScript
Packaging
npm package with TypeScript declarations and a prepublish build
Interfaces
Command-line executable and programmatic library exports
Supported languages
Java, C++, C, C#, Haxe, TypeScript, and Dart
Runtime target
Node.js 18 build target
Testing
Vitest suites cover fixtures, server installation, and JSON query workflows
Platform handling
Server setup contains branches for macOS, Linux, and Windows

Read from README.md, package.json, src/lib.ts, src/index.ts, src/types.ts, src/utils.ts, src/logger.ts, src/server-manager.ts, src/language-client.ts, vitest.config.ts, test/setup.ts, test/utils.ts, test/lsp-cli.test.ts, test/fixtures.test.ts, test/jq-examples.test.ts.

What it can do

  • Extract function definitions from source code

    Source code files in any programming languageFunction symbol information with locations and signatures

  • Extract class definitions from source code

    Source code files in any programming languageClass symbol information with locations and members

  • Extract variable declarations from source code

    Source code files in any programming languageVariable symbol information with types and locations

  • Find symbol references across codebase

    Source code files and target symbol nameList of locations where symbol is referenced

  • Extract interface definitions from source code

    Source code files in any programming languageInterface symbol information with method signatures

  • Generate symbol hierarchy for codebase

    Source code files in any programming languageStructured symbol tree with nested relationships

Tags

lspclisymbolscodebase

Tech Stack

Node.jsTypeScript

Comments (0)

No comments yet

Editorially curated, with community endorsements as a secondary signal. Corrections welcome.