{
  "name": "calc",
  "kind": "bundled",
  "title": "Calculator",
  "description": "Answers what you type as you type it: arithmetic, units, currencies, percentages, dates, time zones and durations, with variables of your own.",
  "version": "0.2.0",
  "icon": {
    "tile": {
      "glyph": "󰃬",
      "bg": "indigo"
    }
  },
  "author": "pal",
  "spec": "github:zcag/pal/extensions/calc@v0.17.4",
  "source": "https://github.com/zcag/pal-extensions/tree/HEAD/calc",
  "commit": "4d2559cf9c04d0133c97d7c897f19a14acb9eace",
  "manifest": {
    "name": "calc",
    "title": "Calculator",
    "description": "Answers what you type as you type it: arithmetic, units, currencies, percentages, dates, time zones and durations, with variables of your own.",
    "version": "0.2.0",
    "icon": {
      "tile": {
        "glyph": "󰃬",
        "bg": "indigo"
      }
    },
    "author": "pal",
    "repo": "bundled",
    "license": "MIT",
    "settings": [
      {
        "kind": "number",
        "id": "precision",
        "label": "Precision",
        "description": "Significant digits in a result; integers are never rounded, units and rates show at most 6.",
        "min": 2,
        "max": 20,
        "default": 10
      },
      {
        "kind": "text",
        "id": "locale",
        "label": "Locale",
        "description": "How numbers and dates are written (en: 1,234.5; tr: 1.234,5; de: 1.234,5). Also how a typed number is read.",
        "default": "en"
      },
      {
        "kind": "text",
        "id": "home_currency",
        "label": "Home currency",
        "description": "What a bare amount (12 usd) converts to. Empty: the time zone's currency.",
        "placeholder": "TRY",
        "default": ""
      },
      {
        "kind": "list",
        "id": "vars",
        "label": "Variables",
        "description": "One line per variable, `name = value`, a value being anything calc reads: `salary_hour = 54 usd`, `rent = 42000 try`, `height = 183 cm`. A value may use other variables (`salary_day = salary_hour * 8`) and is written with a dot for decimals whatever the locale. A name is letters, digits and underscores, not a currency. Then `rent / salary_month`, `salary_year to eur`, `height to ft`; the row's subtitle says what each name stood for.",
        "placeholder": "rent = 42000 try",
        "default": []
      }
    ],
    "store": {
      "tagline": "Sums, units, currencies, dates and time zones as you type",
      "category": "productivity",
      "features": [
        "Arithmetic, percentages and number bases: `2^10`, `15% of 240`, `255 to hex`",
        "Units as people type them: `5 km to miles`, `72 f to c`, `50 lbs` straight to kg",
        "30 currencies by code, symbol or name (`€12 to $`), rates updated daily",
        "Dates and time zones: `next friday`, `days until 25 dec`, `3pm istanbul to new york`",
        "Your own variables: `rent = 42000 try`, then `rent / 12`",
        "A second answer in the other form: the reverse conversion, a fraction, hex, the ISO date"
      ],
      "permissions": [
        "network",
        "accessibility"
      ],
      "platforms": [
        "macos",
        "linux"
      ],
      "screenshots": [
        {
          "file": "1-currency.png",
          "caption": "12 usd to try at the ECB's rate, the reverse as the second row; the pane shows the rate, its inverse and where it comes from"
        },
        {
          "file": "2-dates.png",
          "caption": "A day count, with the weeks and months on the right"
        },
        {
          "file": "3-timezone.png",
          "caption": "10:00 UTC in Tokyo, the full date there as the second row"
        },
        {
          "file": "4-actions.png",
          "caption": "What a result can do: copy, paste into the app in front, copy without formatting"
        }
      ],
      "actions": [
        {
          "title": "Copy result",
          "description": "The result as shown.",
          "keys": "enter"
        },
        {
          "title": "Paste result",
          "description": "Into the app that was in front.",
          "keys": "cmd+enter"
        },
        {
          "title": "Copy without formatting",
          "description": "No grouping or symbols: 583.68, 1000000.",
          "keys": "cmd+shift+c"
        },
        {
          "title": "Copy expression = result",
          "keys": "cmd+shift+e"
        }
      ]
    },
    "palettes": {
      "calc": {
        "title": "Calculator",
        "kind": "input",
        "inline": true,
        "match": "\\d[-+*/^%=()a-z\\s]|[-+*/^%=()a-z]\\s*\\d|\\b(now|today|tomorrow|yesterday|next|last|unix|epoch)\\b|^time in |\\s+time$|\\bweek\\b|^@?1\\d{9}$",
        "fallback": true,
        "description": "Type an expression; the result is the row. At the root, sums, conversions, dates, times in other zones and unix times answer inline under a Calculator section; a query that is none of those gets an Ask Calculator fallback row.",
        "keys": [
          {
            "keys": "enter",
            "title": "Copy the result"
          },
          {
            "keys": "cmd+enter",
            "title": "Paste the result"
          },
          {
            "keys": "cmd+shift+c",
            "title": "Copy without formatting"
          },
          {
            "keys": "cmd+shift+e",
            "title": "Copy expression = result"
          }
        ]
      }
    }
  },
  "playable": false,
  "updated_at": "2026-11-02T04:38:11Z",
  "url": "https://pal.cagdas.io/extensions/calc",
  "tagline": "Sums, units, currencies, dates and time zones as you type",
  "category": "productivity",
  "screenshots": [
    "https://pal.cagdas.io/extensions/calc/screenshots/1-currency-dark.png",
    "https://pal.cagdas.io/extensions/calc/screenshots/1-currency.png",
    "https://pal.cagdas.io/extensions/calc/screenshots/2-dates-dark.png",
    "https://pal.cagdas.io/extensions/calc/screenshots/2-dates.png",
    "https://pal.cagdas.io/extensions/calc/screenshots/3-timezone-dark.png",
    "https://pal.cagdas.io/extensions/calc/screenshots/3-timezone.png",
    "https://pal.cagdas.io/extensions/calc/screenshots/4-actions-dark.png",
    "https://pal.cagdas.io/extensions/calc/screenshots/4-actions.png"
  ],
  "panel_screenshots": [
    "https://pal.cagdas.io/extensions/calc/screenshots/1-currency.png",
    "https://pal.cagdas.io/extensions/calc/screenshots/2-dates.png",
    "https://pal.cagdas.io/extensions/calc/screenshots/3-timezone.png",
    "https://pal.cagdas.io/extensions/calc/screenshots/4-actions.png"
  ],
  "bar_screenshots": [],
  "panel_screenshots_dark": [
    "https://pal.cagdas.io/extensions/calc/screenshots/1-currency-dark.png",
    "https://pal.cagdas.io/extensions/calc/screenshots/2-dates-dark.png",
    "https://pal.cagdas.io/extensions/calc/screenshots/3-timezone-dark.png",
    "https://pal.cagdas.io/extensions/calc/screenshots/4-actions-dark.png"
  ],
  "bar_screenshots_dark": [],
  "has_bar": false,
  "bar_items": [],
  "has_links": false,
  "links": [],
  "multi": false,
  "has_readme": true
}
