跳到正文
cccskills
免费在 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.

中文简介正在准备中。当前显示原文说明。

xberg-io/tree-sitter-language-pack星标 478(GitHub 478 + cccskills 0)

实测评分 未实测

查看安装方法

包含的文件(2)

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

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

<!-- 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.

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

api

免费

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

中文简介正在准备中。当前显示原文说明。

xberg-io/tree-sitter-language-pack4782026年10月26日 更新

cli

免费

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

中文简介正在准备中。当前显示原文说明。

xberg-io/tree-sitter-language-pack4782026年10月26日 更新

mcp

免费

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

中文简介正在准备中。当前显示原文说明。

xberg-io/tree-sitter-language-pack4782026年10月26日 更新

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.

中文简介正在准备中。当前显示原文说明。

xberg-io/tree-sitter-language-pack4782026年10月26日 更新

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.

中文简介正在准备中。当前显示原文说明。

xberg-io/tree-sitter-language-pack4782026年10月26日 更新

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.

中文简介正在准备中。当前显示原文说明。

xberg-io/tree-sitter-language-pack4782026年10月26日 更新

查看 xberg-io 的全部技能

报告此技能的问题