Создание IDE с помощью Сценария Паскаля и SynEdit

Вы можете использовать регулярное выражение для этого:

function isInteger(n) {
    return (typeof n == 'number' && /^-?\d+$/.test(n+''));
}
9
задан Brian Frost 26 June 2009 в 05:04
поделиться

2 ответа

Посмотрите исходный код Inno Setup . Он показывает маленькую точку в области желоба SynEdit для строк с исполняемым кодом, серые для строк, которые являются исполняемыми, но не были выполнены, зеленые для строк, которые были затронуты хотя бы один раз.

Код для этого может можно найти в CompForm.pas , найдите тип TLineState . Информация устанавливается в состоянии iscbNotifySuccess обратного вызова компилятора, вы можете сделать то же самое в своей среде IDE. Возможно, вам потребуется адаптировать код для обработки нескольких исходных файлов, поскольку компилятор Inno Setup работает с фрагментами кода только в одном исходном файле.

В исходных кодах сценария Pascal вы должны взглянуть на TPSCustomDebugExec.

9
ответ дан 3 November 2019 в 01:03
поделиться

Я точно не знаю, как это происходит, но проект IDE в пакете PascalScript (находится в \ samples \ debug) может предлагать Step Into и Step Over (F7 и F8 ), поэтому логически он должен каким-то образом связать байт-код PS со строками кода сценария. Попробуйте изучить этот проект, чтобы увидеть, как он работает. В качестве бонуса он также использует SynEdit, поэтому идеи можно будет легко адаптировать к вашей собственной системе.

1
ответ дан 3 November 2019 в 01:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: