0

我正在编写一个 pluma 插件(在 python 中)来自动化选定文本的 HTML 标记。根据(穷人和稀缺的)文档,编辑器中的选定文本应该在os.environ["PLUMA_SELECTED_TEXT"].

但是,当我选择一些文本时,运行我的插件并检查环境,没有变量,例如"PLUMA_SELECTED_TEXT".

我确实找到'PLUMA_CURRENT_LINE'了,但它只包含所选文本的最后一行。

这是插件本身(带有调试内容......)

#!/usr/bin/python3
# -*- coding: utf-8 -*-

import os
import re

print(os.environ)

try:
    ptext = os.environ["PLUMA_SELECTED_TEXT"]
except KeyError:
    ptext = "SELECTION NOT FOUND"

print(ptext)

#ptext = re.sub('\n','<br/>\n',ptext)
#ptext = "<p>\n%s\n</p>\n"%ptext

#print(ptext)

有人遇到过这个吗?

4

1 回答 1

0

我找到了解决方案,以帮助遇到此问题的人。

所选文本实际上作为 STDIN 发送到脚本,因此需要读取。

因此代码如下所示:

#!/usr/bin/python3
# -*- coding: utf-8 -*-

import re
import sys


try:
    ptext = sys.stdin.read()
except:
    ptext = "SELECTION NOT FOUND"


ptext = re.sub('\n','<br/>\n',ptext)
ptext = "<p>\n%s\n</p>\n"%ptext

print(ptext)
于 2022-01-03T19:18:23.310 回答