Номера строк во встроенном редакторе

Хотите говорить о Far и не знаете, куда обратиться?
User avatar
zg
zero-gravity
Posts: 6194
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 204 times
Contact:

Номера строк во встроенном редакторе

Post by zg »

Latest post of the previous page:

HaRT wrote: Tue 02 Dec, 2025 21:04Наверно, у вас файл длинный, а ширина зарезервирована для наибольшей длины номера строки.
там минимальная ширина 3, даже если строк меньше ста.
User avatar
John Doe
Бюрократ
Posts: 14457
Joined: Wed 27 Apr, 2005 20:42
Location: github.com/FarManagerLegacy
Has thanked: 88 times
Been thanked: 489 times
Contact:

Номера строк во встроенном редакторе

Post by John Doe »

Ещё нюанс с коротким файлом: раскрашивается не столбец целиком, а только прямоугольник с номерами строк.
Если фон отличается от фона редактора, то неаккуратно выглядит.
Edit: исправлено в 6608
Last edited by John Doe on Wed 03 Dec, 2025 22:53, edited 1 time in total.
https://t.me/FarManager — Telegram чат
Garrett
Posts: 266
Joined: Mon 01 Aug, 2005 10:23
Been thanked: 1 time

Номера строк во встроенном редакторе

Post by Garrett »

HaRT wrote: Tue 02 Dec, 2025 21:04 Вообще, все пожелания насчёт отступов решились бы вынесением литерала формата номера строки в языковой ресурс (который, как известно, легко подстроить под себя).
Было бы прекрасно через far:config настроить под себя что-то вроде Editor.ShowLineNumberFormat...
Если такое случится, прошу дать мне знать через ЛС. Спасибо.
User avatar
John Doe
Бюрократ
Posts: 14457
Joined: Wed 27 Apr, 2005 20:42
Location: github.com/FarManagerLegacy
Has thanked: 88 times
Been thanked: 489 times
Contact:

Номера строк во встроенном редакторе

Post by John Doe »

Что-то оно с колорером странно дружит.
Если сдвинуть курсор настолько далеко вправо, чтобы левая часть текста скрылась из виду, то вместо текста красятся номера строк.
https://t.me/FarManager — Telegram чат
Shmuel
Posts: 7146
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 47 times
Been thanked: 615 times

Номера строк во встроенном редакторе

Post by Shmuel »

John Doe wrote: Fri 05 Dec, 2025 19:42 Что-то оно с колорером странно дружит.
С Highlight тоже не дружит.
image.png
image.png (5 KiB) Viewed 264 times
Shmuel
Posts: 7146
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 47 times
Been thanked: 615 times

Номера строк во встроенном редакторе

Post by Shmuel »

Подсветка починилась в 6612.
А вот следующий макрос при включённой нумерации строк и курсоре в крайней правой позиции не работает.

Code: Select all

Macro {
  description="Editor: Scroll Left";
  area="Editor"; key="Ctrl;";
  action=function()
    local EI = editor.GetInfo()
    if EI.LeftPos > 1 then
      local ScrBar = Editor.Set(15,-1)~=0 and EI.TotalLines>EI.WindowSizeY
      local ClientSizeX = EI.WindowSizeX - (ScrBar and 1 or 0)
      if EI.CurTabPos-EI.LeftPos+1 == ClientSizeX then EI.CurTabPos = EI.CurTabPos-1 end
      EI.LeftPos, EI.CurPos = EI.LeftPos-1, nil
      editor.SetPosition(nil, EI)
    end
  end;
}
User avatar
zg
zero-gravity
Posts: 6194
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 204 times
Contact:

Номера строк во встроенном редакторе

Post by zg »

Shmuel wrote: Fri 05 Dec, 2025 23:51local ClientSizeX = EI.WindowSizeX - (ScrBar and 1 or 0)
очевидно, что тут неправильно вычисляется ширина видимой области. можно вообще на это забить и просто после SetPosition проверять, реально ли LeftPos изменилась и если нет, повторить с уменьшенной CurTabPos.
Shmuel
Posts: 7146
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 47 times
Been thanked: 615 times

Номера строк во встроенном редакторе

Post by Shmuel »

zg wrote: Sat 06 Dec, 2025 05:51 очевидно, что тут неправильно вычисляется ширина видимой области
Да, я понял это, проснувшись сегодня утром (ещё до включения компа).
User avatar
John Doe
Бюрократ
Posts: 14457
Joined: Wed 27 Apr, 2005 20:42
Location: github.com/FarManagerLegacy
Has thanked: 88 times
Been thanked: 489 times
Contact:

Номера строк во встроенном редакторе

Post by John Doe »

zg wrote: Sat 06 Dec, 2025 05:51 очевидно, что тут неправильно вычисляется ширина видимой области
Кстати об этом. А всякие плагины дополнения слов не поломались?
https://t.me/FarManager — Telegram чат
User avatar
zg
zero-gravity
Posts: 6194
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 204 times
Contact:

Номера строк во встроенном редакторе

Post by zg »

John Doe wrote: Sat 06 Dec, 2025 11:09А всякие плагины дополнения слов не поломались?
они всегда были поломаны, достаточно открыть редактор не на весь экран.

на первый взгляд можно в WindowInfo добавить полные размеры окна и координаты верхнего угла. это в принципе надо и без номеров строк в редакторе. а в EditorInfo отдавать клиентскую ширину и высоту редактора и добавить координаты левого верхнего угла клиентской части.
User avatar
John Doe
Бюрократ
Posts: 14457
Joined: Wed 27 Apr, 2005 20:42
Location: github.com/FarManagerLegacy
Has thanked: 88 times
Been thanked: 489 times
Contact:

Номера строк во встроенном редакторе

Post by John Doe »

zg wrote: Sat 06 Dec, 2025 16:12 а в EditorInfo отдавать клиентскую ширину и высоту редактора и добавить координаты левого верхнего угла клиентской части.
Может сразу и функцию для трансляции позиции редактора в экранные координаты?
https://t.me/FarManager — Telegram чат
User avatar
NightRoman
Posts: 6225
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 42 times
Been thanked: 62 times
Contact:

EditorControl ECTL_TABTOREAL и показ номеров строк

Post by NightRoman »

Недавно добавилась фича редактора "Show line numbers".
При этом, кажется, EditorControl ECTL_TABTOREAL не учитывает показ номеров строк, который влияет на экранные позиции, естественно.

Это недоработка добавления новой фичи (API забыли) или так и должно быть?
User avatar
NightRoman
Posts: 6225
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 42 times
Been thanked: 62 times
Contact:

EditorControl ECTL_TABTOREAL и показ номеров строк

Post by NightRoman »

P.S. Возможно, конечно, что я и АПИ по разному понимаем понятие "экранная позиция курсора".
User avatar
NightRoman
Posts: 6225
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 42 times
Been thanked: 62 times
Contact:

EditorControl ECTL_TABTOREAL и показ номеров строк

Post by NightRoman »

P.P.S. То же относится к ECTL_REALTOTAB.
User avatar
NightRoman
Posts: 6225
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 42 times
Been thanked: 62 times
Contact:

EditorControl ECTL_TABTOREAL и показ номеров строк

Post by NightRoman »

Почему стало "неудобно". События мыши в редакторе с координатами возвращают экранные позиции с учетом показа номеров строк. Раньше можно было использовать EditorControl для преобразования в позицию редактора, сейчас - нет, если номера показаны.
User avatar
John Doe
Бюрократ
Posts: 14457
Joined: Wed 27 Apr, 2005 20:42
Location: github.com/FarManagerLegacy
Has thanked: 88 times
Been thanked: 489 times
Contact:

EditorControl ECTL_TABTOREAL и показ номеров строк

Post by John Doe »

https://t.me/FarManager — Telegram чат
Post Reply

Return to “Обсуждение Far Manager”