name: 🈷️ Languages activity
category: github
description: |
  This plugin can display which languages you use across all repositories you contributed to.
examples:
  +indepth analysis (clone and analyze repositories): https://github.com/lowlighter/metrics/blob/examples/metrics.plugin.languages.indepth.svg
  +recently used (analyze recent activity events): https://github.com/lowlighter/metrics/blob/examples/metrics.plugin.languages.recent.svg
  default algorithm: https://github.com/lowlighter/metrics/blob/examples/metrics.plugin.languages.svg
  default algorithm (with details): https://github.com/lowlighter/metrics/blob/examples/metrics.plugin.languages.details.svg
index: 1
supports:
  - user
  - organization
  - repository
scopes:
  - public_access
inputs:

  plugin_languages:
    description: |
      Enable languages plugin
    type: boolean
    default: no

  plugin_languages_ignored:
    description: |
      Ignored languages
    type: array
    format: comma-separated
    default: ""
    example: html, css, ...

  plugin_languages_skipped:
    description: |
      Skipped repositories
    type: array
    format: 
      - newline-separated
      - comma-separated
    default: ""
    example: my-repo-1, my-repo-2, owner/repo-3, ...
    inherits: repositories_skipped

  plugin_languages_limit:
    description: |
      Display limit
    type: number
    default: 8
    min: 0
    max: 8
    zero: disable

  plugin_languages_threshold:
    description: |
      Display threshold (percentage)
    type: string
    default: 0%

  plugin_languages_other:
    description: |
      Group unknown, ignored and over-limit languages into "Other" category

      If this option is enabled, "Other" category will not be subject to [`plugin_languages_threshold`](/source/plugins/languages/README.md#plugin_languages_threshold).
      It will be automatically hidden if empty.
    type: boolean
    default: no

  plugin_languages_colors:
    description: |
      Custom languages colors
    type: array
    format: comma-separated
    default: github
    example: javascript:red, 0:blue, 1:#ff00aa

  plugin_languages_aliases:
    description: |
      Custom languages names
    type: string
    default: ""
    example: javascript:JS, typescript:TS

  plugin_languages_sections:
    description: |
      Displayed sections

      Note that `recently-used` is only available when [`plugin_languages_indepth`](/source/plugins/languages/README.md#plugin_languages_indepth) is enabled
    type: array
    format: comma-separated
    default: most-used
    example: most-used, recently-used
    values:
      - most-used
      - recently-used

  plugin_languages_details:
    description: |
      Additional details

      Note that `lines` is only available when [`plugin_languages_indepth`](/source/plugins/languages/README.md#plugin_languages_indepth) is enabled
    type: array
    format: comma-separated
    values:
      - bytes-size
      - percentage
      - lines
    default: ""
    example: bytes-size, percentage

  plugin_languages_indepth:
    description: |
      Indepth mode

      > ⚠️ read documentation first
    type: boolean
    default: false
    extras:
      - metrics.cpu.overuse
      - metrics.run.tempdir
      - metrics.run.git

  plugin_languages_indepth_custom:
    description: |
      Indepth mode - Custom repositories

      Specify a list of additional repositories to analyze.

      Below are the supported syntax formats:
      - `owner/repo` (e.g. `lowlighter/metrics`)
      - `owner/repo@branch` (e.g. `lowlighter/metrics@main`)
      - `owner/repo@branch:commits` (e.g. `lowlighter/metrics@main:v1.0..v1.1`)
        - See [`git rev-list`](https://git-scm.com/docs/git-rev-list#_description) documentation for more information about `commits` syntax

      It is possible to specify repositories that are not hosted on [github.com](https://github.com) by passing a full url instead.
      In this case the repository must be accessible directly.

      > ℹ️ This option bypass [`plugin_languages_skipped`](/source/plugins/languages/README.md#plugin_languages_skipped)
    type: array
    format: comma-separated
    default: ""
    example: lowlighter/metrics, lowlighter/metrics@main, lowlighter/metrics@latest:v1.0..v1.1

  plugin_languages_analysis_timeout:
    description: |
      Indepth mode - Analysis timeout
    type: number
    default: 15
    min: 1
    max: 60

  plugin_languages_analysis_timeout_repositories:
    description: |
       Indepth mode - Analysis timeout (repositories)
    type: number
    default: 7.5
    min: 0
    max: 15
    zero: disable

  plugin_languages_categories:
    description: |
      Indepth mode - Displayed categories (most-used section)
    type: array
    format: comma-separated
    values:
      - data
      - markup
      - programming
      - prose
    default: markup, programming

  plugin_languages_recent_categories:
    description: |
      Indepth mode - Displayed categories (recently-used section)
    type: array
    format: comma-separated
    values:
      - data
      - markup
      - programming
      - prose
    default: markup, programming

  plugin_languages_recent_load:
    description: |
      Indepth mode - Events to load (recently-used section)
    type: number
    default: 300
    min: 100
    max: 1000

  plugin_languages_recent_days:
    description: |
      Indepth mode - Events maximum age (day, recently-used section)
    type: number
    default: 14
    min: 0
    max: 365
    zero: disable
