{
  "slug": "sort-lines",
  "name": "gizza-ai/sort-lines",
  "version": "0.1.0",
  "title": "Sort Lines — alphabetical, numeric & natural line sorting — gizza.ai",
  "description": "Sort lines of text alphabetically, numerically, naturally or by length, remove duplicates and blank lines — free and private in your browser.",
  "tags": [
    "sort lines",
    "alphabetical sort",
    "line sorter",
    "numeric sort",
    "natural sort",
    "sort text",
    "remove duplicate lines"
  ],
  "category": "text",
  "urls": {
    "page": "https://gizza.ai/tools/sort-lines/",
    "markdown": "https://gizza.ai/tools/sort-lines/index.md",
    "descriptor": "https://gizza.ai/tools/sort-lines/tool.json",
    "deep_link_example": "https://gizza.ai/tools/sort-lines/?text=Paste%20lines%20to%20sort%E2%80%A6&method=alpha&order=asc&ignore_case=true&trim=true&unique=true&remove_blank=true"
  },
  "cli": "gizza tool sort-lines \"Paste lines to sort…\"",
  "tool": {
    "description": "Sort the lines of a block of text. method=alpha (default) sorts lexicographically; numeric sorts by the leading number on each line; natural compares digit runs as numbers (so file2 comes before file10); length sorts by line length. order=asc (default) or desc. Set ignore_case to compare case-insensitively, trim to ignore surrounding whitespace, unique to drop duplicate lines, and remove_blank to discard blank lines. Returns the sorted text plus line counts. Runs locally.",
    "parameters": {
      "additionalProperties": false,
      "properties": {
        "ignore_case": {
          "default": false,
          "description": "Compare case-insensitively.",
          "type": "boolean"
        },
        "method": {
          "default": "alpha",
          "description": "alpha = lexicographic; numeric = by the leading number on each line; natural = digit runs compared as numbers (file2 before file10); length = by line length.",
          "enum": [
            "alpha",
            "numeric",
            "natural",
            "length"
          ],
          "type": "string"
        },
        "order": {
          "default": "asc",
          "description": "asc = ascending (A→Z, smallest first); desc = descending.",
          "enum": [
            "asc",
            "desc"
          ],
          "type": "string"
        },
        "remove_blank": {
          "default": false,
          "description": "Drop blank/whitespace-only lines before sorting.",
          "type": "boolean"
        },
        "text": {
          "description": "The text whose lines should be sorted.",
          "type": "string"
        },
        "trim": {
          "default": false,
          "description": "Ignore leading/trailing whitespace when comparing lines.",
          "type": "boolean"
        },
        "unique": {
          "default": false,
          "description": "Remove duplicate lines after sorting (respects ignore_case/trim).",
          "type": "boolean"
        }
      },
      "required": [
        "text"
      ],
      "type": "object"
    }
  }
}