Copia uma IRL em vez de uma URL?

1

IRL é um endereço de página codificado em UTF-8, em contraste URL que permite apenas um subconjunto de ascii e tudo além disso é codificado em porcentagem.

Em pentadáctil IRL aparece,

  • em uma barra de endereço:

    e

  • comoum"Referer" em g Ctrl-g :

(porexemplo,visiteestapágina: link )

No entanto, quando alguém copia um endereço com y , um URL é copiado em vez de um IRL. O Firefox tem uma opção network.standard-url.escape-utf8 , que permite aos usuários copiar IRL em vez de um URL em uma barra de endereços. Mas este não afeta o comportamento y do pentadactyl.

Acho que pode haver um bom motivo para usar o URL em vez do IRL, mas quero copiar o IRL.

Uma maneira de fazer isso é selecionar o endereço na linha de endereço e copiá-lo. Mas é tedioso.

Existe uma maneira de copiar uma IRL em vez de uma URL com uma tecla de atalho em pentadáctilo?

Editar :

Aqui está um código de yank-location que é vinculado a y :

mappings.add([modes.NORMAL],
    ["y", "<yank-location>"], "Yank current location to the clipboard",
    function () {
        let { doc, uri } = buffer;
        if (uri instanceof Ci.nsIURL)
            uri.query = uri.query.replace(/(?:^|&)utm_[^&]+/g, "")
                                 .replace(/^&/, "");

        let url = options.get("yankshort").getKey(uri) && buffer.shortURL || uri.spec;
        dactyl.clipboardWrite(url, true);
    });
    
por Adobe 21.01.2015 / 09:20

1 resposta

1

Idéia interessante. Existe alguma razão por que não é um comportamento defeituoso, eu me pergunto.

Um palpite:

:map y -js dactyl.clipboardWrite(util.losslessDecodeURI(buffer.uri.spec), true)

Mas observe que isso quebraria os curtos URIs (por exemplo, no YouTube) e provavelmente outra coisa.

Ou você pode adaptar um código completo para y de commons/modules/buffer.jsm :

com yanklocation -description "Yank current location to the clipboard" 
    \ -js <<_EOF
    let { doc, uri } = buffer;
    if (uri instanceof Ci.nsIURL)
        uri.query = uri.query.replace(/(?:^|&)utm_[^&]+/g, "")
                            .replace(/^&/, "");

    let url = options.get("yankshort").getKey(uri) 
        && buffer.shortURL 
        || uri.spec;
    dactyl.clipboardWrite(util.losslessDecodeURI(url), true);
_EOF
map y -ex yanklocation
    
por 21.01.2015 / 11:03