Page 17 of 18

Visualizer — показ разных иначе не видимых вещей в редакторе

Posted: Sun 16 Jul, 2017 19:08
by Shmuel

Latest post of the previous page:

sakkada wrote: Sun 16 Jul, 2017 18:14При открытии редактором файла, позиция курсора в котором установлена не на начало строки, видима область в нем сдвигается вправо, таким образом, что позиция курсора оказывается в левой первой колонке.
Поставил плагин 1.4.0 x86 с плагринга. Повторить ваш эффект не получается.

Visualizer — показ разных иначе не видимых вещей в редакторе

Posted: Mon 17 Jul, 2017 13:36
by sakkada
Здравствуйте Shmuel.

Наверное не совсем корректно описал метод возпроизведения, постараюсь описать пошагово, максимально детально.
  1. Создаю каталог "C:/system/far3/".
  2. Распаковываю содержимое "Far30b4985.x86.20170716.7z" в "C:/system/far3/".
  3. Распаковываю содержимое "Visualizer-1.4x86.7z" в "C:/system/far3/Plugins/Visualizer/".
  4. Удаляю директории "C:/Users/sakkada/AppData/Local/Far Manager/" и "C:/Users/sakkada/Application Data/Far Manager/" (моя сборка фара работает с локальным профилем, а эти две директории создает тестовый "голый" фар).
  5. Выключаю свой настроенный Far и ConEmu, из проводника вызываю новый Far по адресу "C:/system/far3/far.exe"
  6. Переходу с директорию "C:/system/test/". Создаю в ней два файла: "1.txt" и "2.txt". "1.txt" пустой, "2.txt" содержит текст (все сдвиги с помощью пробелов):

    Code: Select all

    1
      2
        3
          4
    
  7. Открываю файл "1.txt", перехожу обратно в панели не закрывая редактов ("CtrlTab"). Открываю файл "2.txt", певожу положение курсора на символ 4 (Строка 4, позиция 7), закрываю редактирование файла "2.txt" ("Esc") и вновь открываю. И вот когда файл открывается с положением каретки не на первой позиции, и при в фаре уже есть откртый редактор, положение окна (видимой части файла) сдвигается вправо, так что положение курсора оказывается в самом левом положении (в видимой части пусто, цифра 4 левее окна видимости и становится видна только если нажать влево).
Так надеюсь получится возпроизвести.
Благодарю за помощь и потраченное время.

PS. Удивительно видеть еще людей, использующих Far, все вокруг уже давно в ушли в GUI, "— как ты так разрабатываешь вообще?", кажется уже что один динозавр остался )

Visualizer — показ разных иначе не видимых вещей в редакторе

Posted: Mon 17 Jul, 2017 15:42
by Shmuel
sakkada wrote: Mon 17 Jul, 2017 13:36Так надеюсь получится возпроизвести.
Да, вот такой баг-репорт это то, что надо (в отличие от первого).

Посмотрел в код - причина проблемы ясна - используется статическая структура EditorSetPosition, в которой остаются данные от предыдущих файлов, открытых в редакторе. (Ну и на мой взгляд без ECTL_SETPOSITION можно было бы вообще обойтись).

Автор плагина давно здесь не бывает, может быть кто-то другой из коллектива "evil-programmers" это поправит.

Visualizer — показ разных иначе не видимых вещей в редакторе

Posted: Tue 25 Jul, 2017 14:34
by sakkada
Здравствуйте Shmuel.

Благодарю за помощь и объяснение ошибки.
Данный баг может показаться мелочным, но лично меня он крайне раздражает.

Пока ждем исправления со стороны «evil-programmers», написал собрал макрос на moon из двух. Умеет все что я использовал в Visualizer-е, и немного больше. И вообще, на lua ужа как оказалось есть вагон и тележка visualizer-ов.



Может будет кому то полезен в ожидании фикса Visualizer-ра ну или как пособие.
PS. Просьба сильно не пинать, lua и тем более moon использовал впервые)

Visualizer — показ разных иначе не видимых вещей в редакторе

Posted: Tue 25 Jul, 2017 16:46
by Shmuel
Ваш макрос вызывает у меня падение Фара при включении показа номеров строк, на строке timer\Close().
Сам макрос в этом не виноват, падение вызывается при малых значениях COLORLINENU.delay (например от 1 до 10), при значении 20 падения нет.
Виновата, скорее всего, нынешняя реализация far.Timer, т.к. в предыдущей реализации падения нет.

Visualizer — показ разных иначе не видимых вещей в редакторе

Posted: Wed 26 Jul, 2017 08:41
by Wave
Чего мне не хватает в Editor_ShowWhiteSpace.lua, так это интеграции с плагином [ESC]. В плагине есть такая фича: на определённых типах файлов работает автосвёртка строк. Настраиваемо. Скажем, в txt-файлах у меня на восьмидесяти символах вставляется перевод строки, а в html — на 99% ширины окна. А в каком-нить php свёртка вообще отключена. И вот визуалайзер показывает границу в зависимости от этих настроек.
Нельзя ли в данный moon добавить такую же фичу?

Всё никак не соберусь перебраться с [ESC] на что-нибудь другое, умеющее настраивать редактор в зависимости от типов редактируемых файлов, не смотря на то, что автор [ESC] не появляется здесь уже с десяток+ лет.

Visualizer — показ разных иначе не видимых вещей в редакторе

Posted: Wed 26 Jul, 2017 12:31
by John Doe
Wave wrote: Wed 26 Jul, 2017 08:41перебраться с [ESC] на что-нибудь другое, умеющее настраивать редактор в зависимости от типов редактируемых файлов
Это есть тут http://forum.farmanager.com/viewtopic.php?f=60&t=5538
И ещё там http://forum.farmanager.com/viewtopic.p ... 50#p143950

Visualizer — показ разных иначе не видимых вещей в редакторе

Posted: Wed 26 Jul, 2017 13:01
by zg
John Doe wrote: Wed 26 Jul, 2017 12:31И ещё там http://forum.farmanager.com/viewtopic.p ... 50#p143950
тут нет, автосвёрткой я никогда не пользовался, сейчас вообще не представляю, зачем она может быть нужна, поэтому не делал.

Visualizer — показ разных иначе не видимых вещей в редакторе

Posted: Sun 30 Jul, 2017 17:14
by Wave
John Doe wrote: Wed 26 Jul, 2017 12:31
Wave wrote: Wed 26 Jul, 2017 08:41перебраться с [ESC] на что-нибудь другое, умеющее настраивать редактор в зависимости от типов редактируемых файлов
Это есть тут http://forum.farmanager.com/viewtopic.php?f=60&t=5538
И ещё там http://forum.farmanager.com/viewtopic.p ... 50#p143950
Вот меня и ломает перебираться на что-то из этого, потому что в первом случае для пакета надо ставить ещё два пакета зависимостей, и потом всё это настраивать на… на всё, попутно выбрасывая то, чей функционал перекрывается всем этим богатством. Там суммарно, как я заглядывал краем глаза, надо будет выбросить половину имеющихся у меня редакторных плагинов и макросов.
Во втором же случае подсветка синтаксиса — зачем, если есть колорер, — и минимальная поддержка modeline, я даже не знаю, что это такое, но явно не то, что мне бы хотелось.
zg wrote: Wed 26 Jul, 2017 13:01тут нет, автосвёрткой я никогда не пользовался, сейчас вообще не представляю, зачем она может быть нужна, поэтому не делал.
Даже если не делать АВТОсвёртку, всё равно подсветку границы весьма желательно делать в зависимости от типов файлов. Или не делать её вообще тогда. Просто когда автосвёртка ЕСТЬ, удобно, чтобы граница показывалась именно по ней. Как индикация того, что она ЕСТЬ. А зачем она нужна, так в [ESC] просто она реализована уже с выравниванием по justify, я привык давно, что набираю текст, а он автоматически выравнивается по ширине. Не надо выделять раз за разом абзацы и запускать выравнивающие плагины.

Visualizer — показ разных иначе не видимых вещей в редакторе

Posted: Sun 30 Jul, 2017 18:56
by zg
Wave wrote: Sun 30 Jul, 2017 17:14Не надо выделять раз за разом абзацы и запускать выравнивающие плагины.
непонятно — зачем вообще что-то выравнивать.

Visualizer — показ разных иначе не видимых вещей в редакторе

Posted: Mon 31 Jul, 2017 12:56
by Wave
zg wrote: Sun 30 Jul, 2017 18:56непонятно — зачем вообще что-то выравнивать.
Из эстетических соображений. А то точно так же непонятно, зачем подсвечивать какую-то абстрактную правую границу.

Если обобщить, получается такое:

автосвёртку умеет три плагина: Autowrap, [ESC] и EditWrap. И макрос EditWrap.
Autowrap — тупо вкл/выкл, правая граница, никакого выравнивания. Не интересно.
[ESC] — свёртка включена-выключена в зависимости от типа файла, граница свёртки от типа файла, свёртка идёт с выравниванием по ширине.
EditWrap (и плагин, и макрос) — делает виртуальную свёртку строк как в GUI-редакторах. Это очень интересно, хотя и немного не по теме, но костыльно и глюкаво, особенно когда добавляется непредусмотренное взаимодействие, например, с плагином или макросом автодополнения слов.

Подсветку правой границы умеют плагины Visualiser, LuaFAR area config, три-четыре макроса и, скорей всего, кто-то ещё.
Но только Visualiser умеет показывать её в зависимости от автосвёртки, причём, конкретной — [ESC].
Ещё я самостоятельно пытался добавлять взаимодействие в макросы, но всё до чего я додумался, это задействовать ESC-TSC-Mini. Результат очень хреновый: на каждый вызов EE_REDRAW делать Keys("F11"); Menu.Select("ESC-TSC Minimalistic"); и так далее, там из диалога чекать параметр Autowrap — это… Ну, сами понимаете. Как сделать поумней, у меня не хватает знаний.

Visualizer — показ разных иначе не видимых вещей в редакторе

Posted: Wed 23 Jun, 2021 12:05
by AlexL
HaRT wrote: Wed 10 Oct, 2012 18:07 В установленной у меня древней версии это называется Right border:
Притом если я ничего не путаю, ширина берётся из настроек плагина [ESC] для текущего типа файла.
Перестало работать в билде 5821 FAR-а. В билде 5820 ещё работает.
Кто виноват - FAR, Visualizer, или ESC?

Visualizer — показ разных иначе не видимых вещей в редакторе

Posted: Wed 23 Jun, 2021 17:56
by HaRT
AlexL wrote: Wed 23 Jun, 2021 12:05 Кто виноват - FAR, Visualizer, или ESC?
Судя по , всё же Visualizer.

Visualizer — показ разных иначе не видимых вещей в редакторе

Posted: Wed 23 Jun, 2021 18:23
by John Doe
Судя по количеству поломанных плагинов - идея так себе была.

Visualizer — показ разных иначе не видимых вещей в редакторе

Posted: Wed 23 Jun, 2021 20:32
by buniak_a_h
Обычно в таких случаях предусматривают "режим совместимости".
А может мне кто-нить объяснить, что за прозрачность в консольном приложении? Хорошо бы с примером, где она работает (положительно). А то пока только многое поломано, а выигрыш в чём?

Visualizer — показ разных иначе не видимых вещей в редакторе

Posted: Wed 23 Jun, 2021 21:09
by 2useven10
buniak_a_h wrote: Wed 23 Jun, 2021 20:32 что за прозрачность в консольном приложении?
Так сложно заметить что окно 'консоли' windows уже много лет не текстовое?