mirror of
https://github.com/vale981/tridactyl
synced 2025-03-06 10:01:39 -05:00
Add hint -W [exstr]
to execute exstr on hint's href
This commit is contained in:
parent
73ab23152f
commit
6088ebff6c
4 changed files with 26 additions and 1 deletions
|
@ -155,6 +155,7 @@ const DEFAULTS = o({
|
|||
bdelete: "tabclose",
|
||||
sanitize: "sanitise",
|
||||
tutorial: "tutor",
|
||||
openwith: "hint -W",
|
||||
}),
|
||||
followpagepatterns: o({
|
||||
next: "^(next|newer)\\b|»|>>|more",
|
||||
|
|
|
@ -171,6 +171,11 @@ export async function editor() {
|
|||
// to everything written using editor
|
||||
}
|
||||
|
||||
//#background
|
||||
export async function exclaim(...str: string[]) {
|
||||
fillcmdline((await Native.run(str.join(" "))).content)
|
||||
}
|
||||
|
||||
//#background
|
||||
export async function native() {
|
||||
const version = await Native.getNativeMessengerVersion()
|
||||
|
@ -1864,6 +1869,7 @@ import * as hinting from "./hinting_background"
|
|||
- `bind ;c hint -c [class*="expand"],[class="togg"]` works particularly well on reddit and HN
|
||||
- -w open in new window
|
||||
-wp open in new private window
|
||||
- `-W excmd...` append hint href to excmd and execute, e.g, `hint -W open` and other such bad ideas.
|
||||
|
||||
Excepting the custom selector mode and background hint mode, each of these
|
||||
hint modes is available by default as `;<option character>`, so e.g. `;y`
|
||||
|
@ -1877,7 +1883,7 @@ import * as hinting from "./hinting_background"
|
|||
"relatedopenpos": "related" | "next" | "last"
|
||||
*/
|
||||
//#background
|
||||
export function hint(option?: string, selectors = "") {
|
||||
export function hint(option?: string, selectors = "", ...rest: string[]) {
|
||||
if (option === "-b") hinting.hintPageOpenInBackground()
|
||||
else if (option === "-y") hinting.hintPageYank()
|
||||
else if (option === "-p") hinting.hintPageTextYank()
|
||||
|
@ -1893,6 +1899,7 @@ export function hint(option?: string, selectors = "") {
|
|||
else if (option === "-c") hinting.hintPageSimple(selectors)
|
||||
else if (option === "-r") hinting.hintRead()
|
||||
else if (option === "-w") hinting.hintPageWindow()
|
||||
else if (option === "-W") hinting.hintPageExStr([selectors, ...rest].join(" "))
|
||||
else if (option === "-wp") hinting.hintPageWindowPrivate()
|
||||
else hinting.hintPageSimple()
|
||||
}
|
||||
|
|
|
@ -26,6 +26,7 @@ import * as config from "./config"
|
|||
import * as TTS from "./text_to_speech"
|
||||
import { HintSaveType } from "./hinting_background"
|
||||
import Logger from "./logging"
|
||||
import * as Messaging from "./messaging"
|
||||
const logger = new Logger("hinting")
|
||||
|
||||
/** Simple container for the state of a single frame's hints. */
|
||||
|
@ -602,6 +603,15 @@ function hintPageSimple(selectors = HINTTAGS_selectors) {
|
|||
})
|
||||
}
|
||||
|
||||
function hintPageExStr(...exStr: string[]) {
|
||||
let selectors = HINTTAGS_selectors
|
||||
hintPage(hintables(selectors, true), hint => {
|
||||
Messaging.message("commandline_background", "recvExStr", [
|
||||
exStr.join(" ") + " " + hint.target.href,
|
||||
])
|
||||
})
|
||||
}
|
||||
|
||||
function hintPageTextYank() {
|
||||
hintPage(elementswithtext(), hint => {
|
||||
messageActiveTab("commandline_frame", "setClipboard", [
|
||||
|
@ -716,6 +726,7 @@ addListener(
|
|||
selectFocusedHint,
|
||||
reset,
|
||||
hintPageSimple,
|
||||
hintPageExStr,
|
||||
hintPageYank,
|
||||
hintPageTextYank,
|
||||
hintPageAnchorYank,
|
||||
|
|
|
@ -30,6 +30,12 @@ export async function hintPageSimple(selectors?) {
|
|||
])
|
||||
}
|
||||
|
||||
export async function hintPageExStr(...exstr: string[]) {
|
||||
return await messageActiveTab("hinting_content", "hintPageExStr", [
|
||||
...exstr,
|
||||
])
|
||||
}
|
||||
|
||||
export async function hintPageOpenInBackground() {
|
||||
return await messageActiveTab("hinting_content", "hintPageOpenInBackground")
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue