Раскраска CSV в редакторе (наподобие Rainbow CSV)

Здесь обсуждается всё, что касается макросов.
User avatar
zg
zero-gravity
Posts: 6207
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 206 times
Contact:

Раскраска CSV в редакторе (наподобие Rainbow CSV)

Post by zg »

John Doe wrote: Fri 16 Nov, 2018 11:56Как такую раскраску для csv через Colorer настроить?
можно без колорера, макросом (очень наколенный вариант, потом может нормально сделаю)


P.S.
zg wrote: Sat 17 Nov, 2018 17:05 я тут добавил нормальную реализацию, отдельный скрипт развивать не буду.
P.P.S. «Наколенный» вариант с поддержкой 3 разделителей и простым автоопределением
Last edited by HaRT on Thu 06 Aug, 2020 00:31, edited 2 times in total.
Reason: Добавлены цитата про нормальную реализацию и ссылка на вариант с поддержкой 3 разделителей
User avatar
John Doe
Бюрократ
Posts: 14582
Joined: Wed 27 Apr, 2005 20:42
Location: github.com/FarManagerLegacy
Has thanked: 92 times
Been thanked: 514 times
Contact:

Раскраска CSV в редакторе (наподобие Rainbow CSV)

Post by John Doe »

Latest post of the previous page:

HaRT wrote: Thu 15 May, 2025 22:07 Начиная с какой сборки Фара это будет работать?
6213
https://t.me/FarManager — Telegram чат
User avatar
HaRT
Moderator
Posts: 11458
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 270 times
Been thanked: 417 times

Раскраска CSV в редакторе (наподобие Rainbow CSV)

Post by HaRT »

John Doe wrote: Thu 15 May, 2025 22:14 можно и -920
Если уж на то пошло, то можно и ещё 25 срезать без переименований: colors={15,5,14,7,13,6,12,8,11,4,10,3,9,2}
P.S. Эх, Шмуэль опередил. :)
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
John Doe
Бюрократ
Posts: 14582
Joined: Wed 27 Apr, 2005 20:42
Location: github.com/FarManagerLegacy
Has thanked: 92 times
Been thanked: 514 times
Contact:

Раскраска CSV в редакторе (наподобие Rainbow CSV)

Post by John Doe »

Выжимаем последние байтики из этого куска: -973

Code: Select all

--- rainbow.old
+++ rainbow_csv.moon
@@ -3,18 +3,9 @@
 -- Based on https://forum.farmanager.com/viewtopic.php?p=151601#p151601
 import S,C,Ct,match from lpeg
 F=far.Flags
-{Flags:flags,BackgroundColor:bgc}=far.AdvControl F.ACTL_GETCOLOR,far.Colors.COL_EDITORTEXT
-flags=bit64.band flags,bit64.bor F.FCF_FG_4BIT,F.FCF_BG_4BIT
-bgc=bit64.band bgc,0x00FFFFFF --make transparent (e.g. for Colorer's cross)
-colors={ --TODO substitute another color if same as background
-  {Flags:flags,ForegroundColor:0xFF00000F,BackgroundColor:bgc},{Flags:flags,ForegroundColor:0xFF000005,BackgroundColor:bgc}
-  {Flags:flags,ForegroundColor:0xFF00000E,BackgroundColor:bgc},{Flags:flags,ForegroundColor:0xFF000007,BackgroundColor:bgc}
-  {Flags:flags,ForegroundColor:0xFF00000D,BackgroundColor:bgc},{Flags:flags,ForegroundColor:0xFF000006,BackgroundColor:bgc}
-  {Flags:flags,ForegroundColor:0xFF00000C,BackgroundColor:bgc},{Flags:flags,ForegroundColor:0xFF000008,BackgroundColor:bgc}
-  {Flags:flags,ForegroundColor:0xFF00000B,BackgroundColor:bgc},{Flags:flags,ForegroundColor:0xFF000004,BackgroundColor:bgc}
-  {Flags:flags,ForegroundColor:0xFF00000A,BackgroundColor:bgc},{Flags:flags,ForegroundColor:0xFF000003,BackgroundColor:bgc}
-  {Flags:flags,ForegroundColor:0xFF000009,BackgroundColor:bgc},{Flags:flags,ForegroundColor:0xFF000002,BackgroundColor:bgc}
-}
+Flags=bit64.bor F.FCF_INHERIT_STYLE,F.FCF_INDEXMASK
+--TODO substitute another color if same as background
+colors=[:Flags,ForegroundColor:0xFF000000+c for c in *{15,5,14,7,13,6,12,8,11,4,10,3,9,2}]
 editors={}
 colorguid=win.Uuid'D63B25A7-982F-4C17-B6B0-FAC1CC0F9FE7'
 visLineFirstLast=(eid)->
https://t.me/FarManager — Telegram чат
User avatar
HaRT
Moderator
Posts: 11458
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 270 times
Been thanked: 417 times

Раскраска CSV в редакторе (наподобие Rainbow CSV)

Post by HaRT »

John Doe wrote: Thu 15 May, 2025 22:34 Выжимаем последние байтики из этого куска: -973
Да, я независимо пришёл к такому же решению, но у меня получилось почему-то -964 (=1800-2764)…
P.S.
Можно, конечно, , но это, на мой взгляд, уже точно чересчур.
Last edited by HaRT on Thu 15 May, 2025 22:58, edited 1 time in total.
Reason: Добавлен постскриптум
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
John Doe
Бюрократ
Posts: 14582
Joined: Wed 27 Apr, 2005 20:42
Location: github.com/FarManagerLegacy
Has thanked: 92 times
Been thanked: 514 times
Contact:

Раскраска CSV в редакторе (наподобие Rainbow CSV)

Post by John Doe »

-964
Это из-за того что у вас Unix-окончания строк
https://t.me/FarManager — Telegram чат
User avatar
John Doe
Бюрократ
Posts: 14582
Joined: Wed 27 Apr, 2005 20:42
Location: github.com/FarManagerLegacy
Has thanked: 92 times
Been thanked: 514 times
Contact:

Раскраска CSV в редакторе (наподобие Rainbow CSV)

Post by John Doe »

HaRT wrote: Thu 15 May, 2025 22:53Можно, конечно, выжать ещё 3 байта
Зачем, если можно 20

Code: Select all

colors=[Flags:"FCF_INHERIT_STYLE FCF_INDEXMASK",ForegroundColor:0xFF000000+c for c in*{15,5,14,7,13,6,12,8,11,4,10,3,9,2}]
https://t.me/FarManager — Telegram чат
User avatar
HaRT
Moderator
Posts: 11458
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 270 times
Been thanked: 417 times

Раскраска CSV в редакторе (наподобие Rainbow CSV)

Post by HaRT »

John Doe wrote: Thu 15 May, 2025 22:59 у вас Unix-окончания строк
Это правда, но тогда получается, что вы измеряли в файле со смешанными концами строк (в обновлённой части CR-LF, в неизменной — LF).
John Doe wrote: Thu 15 May, 2025 23:05можно 17
+3 :)
Last edited by HaRT on Thu 15 May, 2025 23:11, edited 1 time in total.
Reason: Вычеркнуто ложное
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
John Doe
Бюрократ
Posts: 14582
Joined: Wed 27 Apr, 2005 20:42
Location: github.com/FarManagerLegacy
Has thanked: 92 times
Been thanked: 514 times
Contact:

Раскраска CSV в редакторе (наподобие Rainbow CSV)

Post by John Doe »

Я там подредактировал пока вы отвечали)
Если менять цвета то ещё -2
https://t.me/FarManager — Telegram чат
User avatar
HaRT
Moderator
Posts: 11458
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 270 times
Been thanked: 417 times

Раскраска CSV в редакторе (наподобие Rainbow CSV)

Post by HaRT »

John Doe wrote: Thu 15 May, 2025 23:14 пока вы отвечали)
Строго говоря, это я ответил, пока вы подредактировывали. :)
John Doe wrote: Thu 15 May, 2025 23:14 Если менять цвета то ещё -2
Да, мои -3 к тому и относились, что -1 за счёт пробела и -2 за счёт сдвига нуля.
Фар есть инструмент, а не нянька. © 2009 DrKnS
Yegor
Posts: 1506
Joined: Mon 04 Apr, 2005 13:41
Location: San Ramon, CA / Kharkov, UA
Has thanked: 52 times
Been thanked: 94 times

Раскраска CSV в редакторе (наподобие Rainbow CSV)

Post by Yegor »

А можно финальную версию выложить после "упаковки"? :)
Мы не можем ждать милостей от Фара, взять их у него — наша задача! (C) Мичурин
User avatar
John Doe
Бюрократ
Posts: 14582
Joined: Wed 27 Apr, 2005 20:42
Location: github.com/FarManagerLegacy
Has thanked: 92 times
Been thanked: 514 times
Contact:

Раскраска CSV в редакторе (наподобие Rainbow CSV)

Post by John Doe »

Функционально отличий-то нет, так что..
Дифф выше есть, а последние 20 байт это уже типа спортивный интерес, не стоит на самом деле так делать.
--TODO substitute another color if same as background
А тут предвижу сложность: колорер может менять фон.
https://t.me/FarManager — Telegram чат
Post Reply

Return to “Обсуждение макросов”