Skip to content
cccskills
FreePublished on GitHub

tree-sitter-language-pack-detecting-languages

Use when the user wants to know which programming language a file or snippet is. Covers implicit detection in `ts-pack parse`/`process`, confirming support with `ts-pack list`/`info`, and the SDK detection functions for path, extension, and raw content.

The English summary is being prepared. Showing the original description.

xberg-io/tree-sitter-language-pack478 stars(GitHub 478 + cccskills 0)

Run score Not tested

See how to install

Files included (2)

  • SKILL.md3.2 KB
  • index.md571 B

SKILL.md (original)

Review the instructions the agent will receive before you install.

<!-- AI-RULEZ :: GENERATED FILE — DO NOT EDIT Content-Hash: blake3:1d8f23b5f26e371f9ced71e7f86f664ef0731d0ad7acce227eba69b83b348582 Source-Hash: blake3:f6af1693d7e3d301871730c180582f140a9c6aeee0d040ba3edbfb33b5d38409 Schema-Version: v1 -->

Detecting languages

tree-sitter-language-pack maps a file to one of 372 supported languages. Detection works from a file path, a bare extension, or — via the SDK — the file content itself.

On the CLI: detection is implicit

There is no standalone ts-pack detect command. parse and process auto-detect the language from the file extension and act on it:

ts-pack parse src/app.ts      # detects "typescript", parses
ts-pack process app.py        # detects "python", extracts

When detection fails (no extension, ambiguous, or stdin), pass --language:

cat snippet | ts-pack parse - --language go

To check whether a language name is supported and cached without parsing anything, use list and info:

ts-pack list --filter type      # languages whose name contains "type"
ts-pack list --manifest         # every language in the remote manifest
ts-pack info typescript         # is it known? is it downloaded? cache path?

In the SDK: explicit detection

The core exposes three detection functions, including content-based detection that the CLI does not surface:

FunctionDetects from
detect_language_from_path(path)Full path (uses the extension).
detect_language_from_extension(ext)A bare extension like "rs".
detect_language_from_content(content)Raw source text — no path needed.

Each returns the language name or null/None when no grammar matches.

Python

from tree_sitter_language_pack import (
    detect_language_from_path,
    detect_language_from_extension,
    detect_language_from_content,
)

detect_language_from_path("src/app.py")      # "python"
detect_language_from_extension("rs")          # "rust"
detect_language_from_content(open("x").read())  # from the shebang line, if present

Node.js / TypeScript

import { detectLanguageFromPath, detectLanguageFromContent } from "@xberg-io/tree-sitter-language-pack";

const lang = detectLanguageFromPath("src/app.ts") ?? detectLanguageFromContent(source);

Choosing CLI vs SDK

  • Path or extension is enough, one-shot → just run ts-pack parse/process and let it auto-detect.
  • Only raw content (a pasted snippet, a stream, a file with no extension) → use the SDK's detect_language_from_content, then pass the result as --language to the CLI if needed.

When to reach for the other skills

Once the language is known, hand off to tree-sitter-language-pack-parsing-source (syntax tree) or tree-sitter-language-pack-extracting-code-structure (metadata). To see or prefetch the parser for a detected language, see tree-sitter-language-pack-managing-parsers.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

api

Free

Use tree-sitter-language-pack api reference documentation.

The English summary is being prepared. Showing the original description.

xberg-io/tree-sitter-language-pack478Updated Oct 26, 2026

cli

Free

Use tree-sitter-language-pack cli reference documentation.

The English summary is being prepared. Showing the original description.

xberg-io/tree-sitter-language-pack478Updated Oct 26, 2026

mcp

Free

Use tree-sitter-language-pack mcp reference documentation.

The English summary is being prepared. Showing the original description.

xberg-io/tree-sitter-language-pack478Updated Oct 26, 2026

Parse and extract code intelligence from 372 programming languages using tree-sitter grammars. Use when writing code that parses source, extracts structure/imports/exports/symbols/docstrings/comments, detects a language, runs syntax diagnostics, or produces syntax-aware chunks for LLMs — in Rust, Python, Node.js/TypeScript, or the ts-pack CLI. Covers installation, the CLI surface, the SDK surface, and parser-cache management.

The English summary is being prepared. Showing the original description.

xberg-io/tree-sitter-language-pack478Updated Oct 26, 2026

Use when the user wants to split source code into chunks for an LLM context window without breaking syntax mid-construct. Covers `ts-pack process --chunk-size`, why syntax-aware splits beat fixed-byte splits, picking a size, and the chunk JSON shape.

The English summary is being prepared. Showing the original description.

xberg-io/tree-sitter-language-pack478Updated Oct 26, 2026

Use when the user wants structured code metadata from a source file — functions, classes, imports, exports, symbols, docstrings, comments, or syntax diagnostics. Covers `ts-pack process` feature flags, the JSON result shape, and the default feature set.

The English summary is being prepared. Showing the original description.

xberg-io/tree-sitter-language-pack478Updated Oct 26, 2026

See all skills by xberg-io

Report a problem with this skill