#!/bin/bash JQ() { start_label "$1" (exec < "${1/.lz4/.unused}" shift jq "$@") end_label } JQpref() { pref=extensions.webextensions.uuids val=$(get_user_pref "$pref" | jq -c "{ \"${extension_id}\" , }") start_label "prefs.js" printf 'user_pref("%s", "%q");\n' "$pref" "$val" end_label } start_label() { printf '%s\n' "## $1" '```'; } end_label() { echo '```'; } blocky() { echo '```' cat echo '```' } get_user_pref() { local pref="$1" sed -n 's/^user_pref("'"$pref"'", "\(.*\)");$/\1/p;' prefs.js | (read line; eval 'a="$line"'; echo "$a" | jq .) } get_uuid_json() { get_user_pref "extensions.webextensions.uuids" } jqs() { extension_id=extension@tabliss.io JQ addonStartup.json.lz4 \ '{"app-profile": {"addons": .["app-profile"].addons["'"${extension_id}"'"]}}' (set -x; mozlz4 addonStartup.json.lz4 | jq -c '.["app-profile"]["addons"]["extension@tabliss.io"] | keys') 2>&1 | blocky JQ extension-preferences.json \ '{"extension@tabliss.io"}' (set -x; jq -c '.["'"${extension_id}"'"] | keys' extension-preferences.json) 2>&1 | blocky JQ extensions.json \ '{ addons: [ .addons[] | select(.id == "'"${extension_id}"'") ] }' (set -x; jq -c '.addons[] | select(.id == "'"${extension_id}"'") | keys' extensions.json) 2>&1 | blocky JQ extension-settings.json \ '.url_overrides.newTabURL.precedenceList[] | select(.id == "'"${extension_id}"'") | {url_overrides: {newTabURL: {precedenceList: .}}}' (set -x; jq -c keys extension-settings.json) 2>&1 | blocky JQpref }