awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
github-linguist avatar

github-linguist/linguist

0
View on GitHub↗
13,546 stars·5,244 forks·Ruby·MIT·18 views

Linguist

Linguist is a programming language detection library designed to identify the languages used within source code files and software repositories. It functions as a repository metadata classifier, providing the automated analysis necessary to generate language statistics and insights for version control platforms.

The tool employs a strategy-based detection pipeline that combines multiple identification methods to ensure accuracy. It utilizes heuristic-based pattern matching for file extensions and filenames, supplemented by regex-driven content analysis and Bayesian statistical classification to resolve ambiguities. Users can further refine these results through configuration-driven override logic, which allows for the manual mapping of specific paths or patterns to designated languages.

Beyond basic identification, the library supports comprehensive software project analytics by auditing the composition of codebases. It provides the infrastructure to manage repository metadata, enabling developers to correct or customize language detection settings for specific files or directories to meet project requirements.

Features

  • Source Code Language Detectors - Identifies the language of source code files by analyzing extensions, filenames, and content patterns.
  • Language Identification Utilities - Examines source code files to determine the underlying programming language by analyzing extensions, filenames, and content patterns.
  • Code Analysis Tools - Categorizes and audits codebases by automatically detecting the primary programming languages used in a repository.
  • Language Classifiers - Determines language statistics for version control platforms by scanning file contents and applying custom override rules.
  • Language Identification Services - Automatically detects programming languages used in a repository to provide accurate statistics and syntax highlighting.
  • Codebase Composition Analyzers - Analyzes the composition of codebases to understand the distribution of languages and technologies used across software projects.
  • Detection Overrides - Allows users to specify or ignore programming languages for particular files or directories to correct automatic identification inaccuracies.
  • Version Control and Repository Tools - Processes file contents within version control systems to generate language breakdowns and insights for hosted repositories.
  • Configuration Overrides - Provides configuration-driven override logic to manually map specific file paths or patterns to designated programming languages.
  • Regex-Driven Parsers - Applies regular expressions to file contents to identify language-specific syntax patterns when metadata is ambiguous.
  • File Pattern Matching - Analyzes file extensions and filenames against a predefined database to determine the primary language of a source file.
  • Language Detection Classifiers - Uses Bayesian statistical classification to calculate the probability of a language match based on source code token frequencies.

Star history

Star history chart for github-linguist/linguistStar history chart for github-linguist/linguist

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to Linguist

Similar open-source projects, ranked by how many features they share with Linguist.
  • tpope/vim-fugitivetpope avatar

    tpope/vim-fugitive

    21,671View on GitHub↗

    This project is a Vim plugin that functions as a comprehensive Git version control interface. It integrates repository management, staging, and commit operations directly into the text editor, allowing users to maintain project history and manage repository state without switching contexts. The plugin distinguishes itself by mapping version control operations to temporary text buffers, enabling users to manipulate repository data using standard editing commands. It utilizes a virtual file system to present historical commits, trees, and blobs as read-only buffers, facilitating navigation and

    Vim Script
    View on GitHub↗21,671
  • canop/brootCanop avatar

    Canop/broot

    12,740View on GitHub↗

    Broot is an interactive terminal file manager designed for navigating, searching, and manipulating complex file system hierarchies. It provides a visual tree-based interface that allows users to explore disk contents, manage file operations, and execute shell commands directly within the command line environment. The tool distinguishes itself through real-time fuzzy searching and recursive tree traversal, which filter directory structures as you type to maintain a clear, relevant view of the file system. It integrates version control status directly into the navigation view, displaying branch

    Rustbalanced-bfs-descentcommand-linecommand-line-tool
    View on GitHub↗12,740
  • sheerun/vim-polyglotsheerun avatar

    sheerun/vim-polyglot

    5,719View on GitHub↗

    vim-polyglot is a multi-language Vim plugin that provides a comprehensive bundle of syntax highlighting, automated indentation management, and filetype detection for a wide variety of programming and configuration languages. It serves as a single installation to streamline the development environment by providing integrated support for numerous languages. The project functions as a language support bundle that combines syntax highlighting packs with an indentation manager. It uses both extension-based filetype detection and pattern-based language identification to apply the correct visual for

    Vim Script
    View on GitHub↗5,719
  • isagalaev/highlight.jsisagalaev avatar

    isagalaev/highlight.js

    24,937View on GitHub↗

    highlight.js is a JavaScript syntax highlighter and client-side code formatter that transforms plain text source code into highlighted HTML for web display. It provides syntax highlighting across a wide variety of programming languages. The library includes an automatic language detector that identifies the programming language of a code block to apply the correct highlighting rules without manual tagging. It is designed for web worker compatibility, allowing the highlighting process to run in background threads to prevent the browser interface from freezing during the processing of large vol

    JavaScript
    View on GitHub↗24,937
See all 30 alternatives to Linguist→

Frequently asked questions

What does github-linguist/linguist do?

Linguist is a programming language detection library designed to identify the languages used within source code files and software repositories. It functions as a repository metadata classifier, providing the automated analysis necessary to generate language statistics and insights for version control platforms.

What are the main features of github-linguist/linguist?

The main features of github-linguist/linguist are: Source Code Language Detectors, Language Identification Utilities, Code Analysis Tools, Language Classifiers, Language Identification Services, Codebase Composition Analyzers, Detection Overrides, Version Control and Repository Tools.

What are some open-source alternatives to github-linguist/linguist?

Open-source alternatives to github-linguist/linguist include: tpope/vim-fugitive — This project is a Vim plugin that functions as a comprehensive Git version control interface. It integrates repository… canop/broot — Broot is an interactive terminal file manager designed for navigating, searching, and manipulating complex file system… isagalaev/highlight.js — highlight.js is a JavaScript syntax highlighter and client-side code formatter that transforms plain text source code… sheerun/vim-polyglot — vim-polyglot is a multi-language Vim plugin that provides a comprehensive bundle of syntax highlighting, automated… github/codeql — CodeQL is a semantic code analysis engine and vulnerability scanning tool that treats source code as data. It utilizes… deepseek-ai/deepseek-coder — DeepSeek-Coder is a large language model and foundational neural network architecture designed specifically for…