phoenixbsl icon indicating copy to clipboard operation
phoenixbsl copied to clipboard

Ошибка в 0.2.1. Проверка модифицирует проверяемый модуль.

Open AndreyDanilov-nn opened this issue 6 years ago • 8 comments

При проверке (ctrl+i) происходит модификация формы. Плюс какой то глюк с буфером обмена. https://www.screencast.com/t/sSMAQFLH

На видео модуль после изменения не сохранял, но если сохранять то же самое.

AndreyDanilov-nn avatar Nov 17 '19 17:11 AndreyDanilov-nn

Проверим. Какая операционная система?

otymko avatar Nov 18 '19 06:11 otymko

windows 10 pro x64

AndreyDanilov-nn avatar Nov 18 '19 06:11 AndreyDanilov-nn

@AndreyDanilov-nn попробуйте версию https://github.com/otymko/phoenixbsl/releases/tag/0.2.2

otymko avatar Nov 20 '19 02:11 otymko

@otymko

  • при проверке модуля целиком (без выделения) ошибки ушли
  • при проверке выделенного участка осталась ошибка модификации https://www.screencast.com/t/OeLmGCfi7
  • в буфер обмена бы еще возвращать исходное значение (до нажатия ctrl+i) https://www.screencast.com/t/I66wh8ZY2

AndreyDanilov-nn avatar Nov 20 '19 09:11 AndreyDanilov-nn

  • "при проверке выделенного участка осталась ошибка модификации " - пожалуй без внедрения в элемент с кодом без модификации не обойтись.
  • "в буфер обмена бы еще возвращать исходное значение (до нажатия ctrl+i) " по идее можно так сделать.

otymko avatar Nov 23 '19 17:11 otymko

пожалуй без внедрения в элемент с кодом без модификации не обойтись.

Если я правильно понял, то выделенный участок вырезается и заменяется на спец символ (смайлик), потом "смайлик" заменяется на исходный текст. Аналогично работает автоформатирование.

Для автоформатирования все понятно - возвращается измененный кусок кода. Для проверки - не очень. Зачем нужна эта подмена? Да и когда глобальная проверка по модулю проходит он же не заменяется целиком на "смайл".

AndreyDanilov-nn avatar Nov 25 '19 09:11 AndreyDanilov-nn

@AndreyDanilov-nn вставка спец символа нужна для определения текущей строки. Если текст выделен - ведется анализ только выделенного текста. При переходе из формы к строке как раз и используется номер строки смещения.

otymko avatar Nov 26 '19 05:11 otymko

Как вариант без спец символа, но потеряется выделение. Думаю при проверке оно не критично.

  1. запомнить выделенный фрагмент
  2. ctrl+shift+end - запомнить выделение до конца файла
  3. продублировать где то весь файл
  4. удалить из п.3 - п.4 - последняя строка - строка смещения

AndreyDanilov-nn avatar Nov 28 '19 14:11 AndreyDanilov-nn