Я использую gedit и пытаюсь бороться с ним в реальной среде IDE. Я хочу, чтобы карта ctrlshift| для запуска моего инструмента tidy
, когда тип файла - «text/html» и мой инструмент autopep8
, когда тип файла «text/x-python».Могу ли я написать какой-то вывод в текущем документе, а некоторые - в вывод оболочки?
Как выясняется (и я думаю, что это ошибка), gedit не заботится о том, какой тип файла вы указали. Если у вас есть комбинация клавиш, он запустит инструмент, соответствует ли тип файла. Связанный, но, возможно, не ошибка, я могу установить только сочетание клавиш с одним внешним инструментом.
Так что я написал один внешний инструмент, который работает на Ctrlсдвига| и работает autopep8
, если документ является Python и tidy
если документ HTML:
#!/bin/sh
# [Gedit Tool]
# Save-files=document
# Shortcut=<Primary><Shift>bar
# Output=replace-document
# Name=Tidy by Filetype
# Applicability=all
# Input=document
if [ $GEDIT_CURRENT_DOCUMENT_TYPE = "text/x-python" ]; then
autopep8 - -v -a
elif [ $GEDIT_CURRENT_DOCUMENT_TYPE = "text/html" ]; then
#-i auto indents, -w 80 wrap at 80 chars, -c replace font tags w/CSS
exec tidy -utf8 -i -w 80 -c "$GEDIT_CURRENT_DOCUMENT_NAME"
elif [ $GEDIT_CURRENT_DOCUMENT_TYPE = "text/css" ]; then
#TK CSS tidy
else
echo "This seems to be " $GEDIT_CURRENT_DOCUMENT_TYPE " I don't know how to tidy that."
fi
Это второй в последней строке является тот, который разбивает мое сердце. Если я не определяю никаких действий для последнего else
, он просто удаляет мой существующий документ. Если я запустил ctrlshift| и файл типа не один, что я составил, я бы хотел, чтобы сообщить тип файла на выходе оболочки, а не заменять содержимое документа с
Это, как представляется, применение/x-shellscript Я не знаю, как упорядочить что.
Есть ли способ написать мой инструмент, чтобы написать какой-то вывод в оболочку, а некоторые - в документ?
Я предполагаю, что вы, вероятно, просто хотите «cat» $ GEDIT_CURRENT_DOCUMENT_NAME «» заменить текущий документ на себя. Вы пробовали написать сообщение в stderr (т. Е. «Эхо», похоже, это ... »> & 2')? –
@MarkkuK. Спасибо! Но зачем отвечать на ваш комментарий? Я не могу принять его там. – Amanda