{
  "manifest_version": 3,
  "name": "Vimium",
  "version": "2.1.2",
  "description": "The Hacker's Browser. Vimium provides keyboard shortcuts for navigation and control in the spirit of Vim.",
  "icons": { "16": "icons/icon16.png", "48": "icons/icon48.png", "128": "icons/icon128.png" },
  "minimum_chrome_version": "105.0",
  "background": {
    "service_worker": "background_scripts/background.js",
    "type": "module"
    // Uncomment when developing in Firefox.
    // "scripts": ["background_scripts/background.js"]
  },
  "options_ui": {
    "page": "pages/options.html",
    "browser_style": false,
    "open_in_tab": true
  },
  "host_permissions": ["<all_urls>"],
  "permissions": [
    "tabs",
    "bookmarks",
    "history",
    "storage",
    "sessions",
    // Notifications are used to show a message when Vimium's major version has been upgraded.
    "notifications",
    // We're using the scripting permission to 1) inject our content scripts and CSS into existing
    // tabs when Vimium is first installed, and 2) inject the user's link hints CSS when a page
    // loads. This permission was required when moving to manifest V3.
    "scripting",
    "favicon", // The favicon permission is not yet supported by Firefox.
    "webNavigation"
  ],
  "content_scripts": [
    {
      "matches": ["<all_urls>"],
      "js": [
        "lib/utils.js",
        "lib/keyboard_utils.js",
        "lib/dom_utils.js",
        "lib/rect.js",
        "lib/handler_stack.js",
        "lib/settings.js",
        "lib/find_mode_history.js",
        "content_scripts/mode.js",
        "content_scripts/ui_component.js",
        "content_scripts/link_hints.js",
        "content_scripts/vomnibar.js",
        "content_scripts/scroller.js",
        "content_scripts/marks.js",
        "content_scripts/mode_insert.js",
        "content_scripts/mode_find.js",
        "content_scripts/mode_key_handler.js",
        "content_scripts/mode_visual.js",
        "content_scripts/hud.js",
        "content_scripts/mode_normal.js",
        "content_scripts/vimium_frontend.js"
      ],
      "css": ["content_scripts/vimium.css"],
      "run_at": "document_start",
      "all_frames": true,
      "match_about_blank": true
    },
    {
      "matches": ["file:///", "file:///*/"],
      "css": ["content_scripts/file_urls.css"],
      "run_at": "document_start",
      "all_frames": true
    }
  ],
  // Uncomment when developing in Firefox.
  // "browser_specific_settings": {
  //   "gecko": {
  //     // This ID was generated by the Firefox store upon first submission.
  //     "id": "{d7742d87-e61d-4b78-b8a1-b469842139fa}",
  //     "strict_min_version": "109.0"
  //   }
  // },
  "action": {
    "default_icon": {
      "16": "icons/action_enabled_16.png",
      "32": "icons/action_enabled_32.png"
    },
    // Uncomment for Firefox.
    // "default_area": "navbar",
    "default_popup": "pages/action.html"
  },
  "web_accessible_resources": [
    {
      "resources": [
        "pages/vomnibar.html",
        "content_scripts/vimium.css",
        "pages/hud.html",
        "pages/help_dialog.html",
        "pages/completion_engines.html",
        "resources/tlds.txt",
        // This allows one to script the reloading of Vimium.
        // This should only be enabled in development.
        // "pages/reload.html",
        "_favicon/*"
      ],
      "matches": ["<all_urls>"]
    }
  ]
}
