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

Здесь можно обсудить ваш любимый плагин.
Shmuel
Posts: 5234
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 16 times
Been thanked: 152 times

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

Post by Shmuel » Sun 16 Jul, 2017 19:08

Latest post of the previous page:

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

sakkada
Posts: 3
Joined: Sun 16 Jul, 2017 17:25

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

Post by sakkada » Mon 17 Jul, 2017 13:36

Здравствуйте 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, "— как ты так разрабатываешь вообще?", кажется уже что один динозавр остался )

Shmuel
Posts: 5234
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 16 times
Been thanked: 152 times

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

Post by Shmuel » Mon 17 Jul, 2017 15:42

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

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

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

sakkada
Posts: 3
Joined: Sun 16 Jul, 2017 17:25

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

Post by sakkada » Tue 25 Jul, 2017 14:34

Здравствуйте Shmuel.

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

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



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

Shmuel
Posts: 5234
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 16 times
Been thanked: 152 times

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

Post by Shmuel » Tue 25 Jul, 2017 16:46

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

User avatar
Wave
Posts: 1721
Joined: Thu 04 Aug, 2005 18:47
Has thanked: 2 times
Been thanked: 10 times

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

Post by Wave » Wed 26 Jul, 2017 08:41

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

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

User avatar
John Doe
Бюрократ
Posts: 11421
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 17 times
Been thanked: 101 times

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

Post by John Doe » Wed 26 Jul, 2017 12:31

Wave wrote:
Wed 26 Jul, 2017 08:41
перебраться с [ESC] на что-нибудь другое, умеющее настраивать редактор в зависимости от типов редактируемых файлов
Это есть тут viewtopic.php?f=60&t=5538
И ещё там viewtopic.php?p=143950#p143950
Last edited by HaRT on Wed 26 Jul, 2017 12:57, edited 1 time in total.
Reason: Указуемая тема перенесена, ссылка на неё исправлена.

User avatar
zg
zero-gravity
Posts: 5313
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 48 times
Contact:

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

Post by zg » Wed 26 Jul, 2017 13:01

John Doe wrote:
Wed 26 Jul, 2017 12:31
И ещё там viewtopic.php?p=143950#p143950
тут нет, автосвёрткой я никогда не пользовался, сейчас вообще не представляю, зачем она может быть нужна, поэтому не делал.

User avatar
Wave
Posts: 1721
Joined: Thu 04 Aug, 2005 18:47
Has thanked: 2 times
Been thanked: 10 times

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

Post by Wave » Sun 30 Jul, 2017 17:14

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

User avatar
zg
zero-gravity
Posts: 5313
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 48 times
Contact:

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

Post by zg » Sun 30 Jul, 2017 18:56

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

User avatar
Wave
Posts: 1721
Joined: Thu 04 Aug, 2005 18:47
Has thanked: 2 times
Been thanked: 10 times

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

Post by Wave » Mon 31 Jul, 2017 12:56

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 — это… Ну, сами понимаете. Как сделать поумней, у меня не хватает знаний.
Пользуюсь ФАРом больше 15 лет © собирательный.

Post Reply

Return to “Обсуждение плагинов”