name: 👨‍💻 Lines of code changed
category: github
description: |
  This plugin displays the number of lines of code added and removed across repositories.
examples:
  +Repositories and diff history: https://github.com/lowlighter/metrics/blob/examples/metrics.plugin.lines.history.svg
  Compact display in base plugin: https://github.com/lowlighter/metrics/blob/examples/metrics.plugin.lines.svg
index: 3
supports:
  - user
  - organization
  - repository
scopes:
  - public_access
inputs:

  plugin_lines:
    description: |
      Enable lines plugin
    type: boolean
    default: no

  plugin_lines_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_lines_sections:
    description: |
      Displayed sections

      - `base` will display the total lines added and removed in `base.repositories` section
      - `repositories` will display repositories with the most lines added and removed
      - `history` will display a graph displaying lines added and removed over time

      > ℹ️ `base` requires at least [`base: repositories`](/source/plugins/base/README.md#base) to be set
    type: array
    format: comma-separated
    default: base
    example: repositories, history
    values:
      - base
      - repositories
      - history

  plugin_lines_repositories_limit:
    description: |
      Display limit
    type: number
    default: 4
    min: 0

  plugin_lines_history_limit:
    description: |
      Years to display

      Will display the last `n` years, relative to current year
    type: number
    default: 1
    zero: disable

  plugin_lines_delay:
    description: |
      Delay before performing a second query

      When non-zero, will perform a second query after specified delay (in seconds).
      The GitHub endpoint used may return inaccurate results on first query (these values seems to be cached on the fly),
      after returning correct results upon performing another query.

      Using this option may mitigate the occurrence of weird values.
    type: number
    default: 0
    min: 0
    zero: disable