Script TeXstudio com chamada de sistema e "?"

Script TeXstudio com chamada de sistema e "?"

Quero fazer um script simples no texstudio, que possa usar para pesquisar uma palavra selecionada no meu navegador.

Tudo funciona bem, exceto que não consigo chamar o comando de consulta corretamente.

O "?" parece ser um corte. Mas substituir, urlencoding, o que quer que seja, também não resolve.

Como posso codificar o "?" no URL ou há algum sinalizador que eu possa tentar?

Eu tentei system() e buildManager.runCommand(), ambos fazem o mesmo neste caso.

%SCRIPT
u=encodeURI("https://ecosia.org/search?q="+cursor.selectedText())
//u=encodeURI("https://ecosia.org/search\?q="+cursor.selectedText())
//u="https://ecosia.org/search\\%3Fq="+cursor.selectedText()
//u="https://ecosia.org/search%3Fq="+cursor.selectedText()
//u="https://ecosia.org/search?q="+cursor.selectedText()
//u="https://ecosia.org/search\?q="+cursor.selectedText()
//buildManager.runCommand("\"C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe\" \""+u+"\"")
system("\"C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe\" \""+u+"\"")

Estas são algumas das combinações que tentei... mas nenhuma funcionou como pretendido. O resultado no log é assim:

Prozess gestartet: "C:\Program Files (x86)\Mozilla Firefox\firefox.exe" "https://ecosia.org/search

Qualquer ideia é apreciada. Obrigado

Responder1

Encontrei a resposta sozinho e irei publicá-la para quem possa estar interessado.

Enquanto eu pesquisava o código-fonte em buildmanager.cpp:

else if (str.at(i) == QChar('?')) {
if (str.at(++i) == QChar('?')) add = "?";

Isso significa que meu script de macro funciona quando faço isso:

%SCRIPT
u="https://ecosia.org/search??q="+cursor.selectedText()
system("\"C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe\" \""+u+"\"")

Note o "??" torna-se "?" na chamada do sistema. O mesmo para% e @

Agora posso pesquisar o texto destacado diretamente. (me livrei do urlencode, pois ele não se comporta como esperado, devido à falta de%)

informação relacionada