Hatred's Log Place

DON'T PANIC!

Nov 17, 2009 - 1 minute read - programming

Medit: работаем с FreeBasic

По аналогии с medit: ‘PHP check syntax’ tool создаем фильтр для FreeBasic Compiler:

<filter id="FreeBasic" name="FreeBasic">
  <match what="stderr" pattern="(?P&lt;file&gt;[^:]+)<br/>((?P&lt;line&gt;<br/>d+)<br/>) error <br/>d+:.*" style="output-error" />
  <match what="stdout" pattern="(?P&lt;file&gt;[^:]+)<br/>((?P&lt;line&gt;<br/>d+)<br/>) error <br/>d+:.*" style="output-error" />
</filter>

Дополнительно, помещаем файл синтаксиса для Бейсика в директорию ~/.local/share/medit/language-specs, предварительно распаковав: basic.lang.gz

После создаем инструмент Run Basic, файлы - *.bas; тип - Команда оболочки; вывод - Панель вывода; фильтр - FreeBasic, сам код такой:

fbc -lang qb $DOC -Wl -L/usr/share/freebasic/lib/linux/
if [ $? -eq 0 ]; then
  termit -e "bash -c '$DOC_DIR/$DOC_BASE; read -p <br/>"Hit <Enter> for continue<br/>"'"
fi

Вместо эмулятора терминала termit можно использовать xterm, функционал сохранится. Клавишу для запуска рекомендую F9, т.е. классическая F5 уже занята для перезагрузки документа.

Все, после этого можно полноценно набирать программы на диалекте QBasic в редакторе, имея при этом подсветку синтаксиса, автоотступы, букмарки, выполняя их по клавише F9. Если в тексте программы будут ошибки, после запуска компилятора они будут выведены в панели вывода и подсвечены красным.

Стоит отметить, что используя графические режимы (типа “screen 9”) программы запускаются в виде окна, перевести в полноэкранный режим можно нажатием сочетания клавиш Alt-Enter, текстовые программы будут вести диалог в текстовом окне терминала.

Все, пробуйте :)