Я создаю плагин для возвышенного текста, чтобы использовать lua-fmt и автоматически форматировать код lua при сохранении.Это почти сделано, за исключением того, что некоторые символы, такие как «‰», возвращают странные результаты, такие как «ï¿½» после форматирования.
Что я сделал, чтобы отформатировать код, так это создать файл со старым кодом и использовать lua-Программа fmt, вызвав ее с subprocess.check_output
, как в приведенном ниже отрывке:
file = open("formattingAux.lua","w")
file.write(self.view.substr(file_text))#text from saving file
file.close()
output = subprocess.check_output("luafmt formattingAux.lua", shell=True, universal_newlines=True)
Я также пытался использовать subprocess.Popen()
, но это дало тот же результат.Если я запускаю программу luafmt для файла, он дает правильный результат, поэтому я думаю, что есть проблема с кодировкой subprocess.check_output
.
Я также пробовал разные кодировки без положительного результата.
Спасибо!