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

Здесь обсуждается всё, что касается макросов.
User avatar
zg
zero-gravity
Posts: 6016
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 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
HaRT
Moderator
Posts: 10823
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

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

Post by HaRT »

Latest post of the previous page:

John Doe wrote: Thu 06 Aug, 2020 14:56 Сейчас это очень даже вероятная возможность, ведь из подсчёта не исключаются закавыченные разделители.
Я бы рекомендовал задействовать уже имеющуюся функцию csv, которая всё это учитывает.
А вот это очень здравая идея. Попробовал — работает (выбирает тот разделитель, с которым получается наибольшее число (корректных) полей).
Получается такой фрагмент:

Code: Select all

        s={',',';','\t'}
        i,_=maxKeyVal s,(c)->#(csv(c)line) --max num fields
        sv=csv s[i]
, а ф-я countChar больше не нужна.
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
HaRT
Moderator
Posts: 10823
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

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

Post by HaRT »

Во, я нашёл пример реального файла, для которого текущая эвристика не срабатывает, пока не прокрутишь хотя бы на одну строку вниз: https://raw.githubusercontent.com/zapre ... r/dump.csv
Я склонен считать, что файл не вполне корректный, но хотелось бы, чтобы и для таких работало гладко. Вероятно, стоит анализировать целый экран строк, а не только верхнюю.

И ещё оказалось, что, например, Эксель может сохранять в CSV-файл — тут при построчном разборе, разумеется, вообще всё идёт наперекосяк.
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
HaRT
Moderator
Posts: 10823
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

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

Post by HaRT »

Версия 0.3:
1. Автоопределение разделителя теперь делается только при первой перерисовке.
2. Автоопределение использует все видимые в этот момент строки.
3. Палитра (всё ещё 4-битных) цветов расширена и гармонизирована.
4. Из кода убраны некоторые мелкие излишества.

Версия 0.4:
1. Добавлена поддержка незакавыченных полей, содержащих (удвоенные) кавычки, например, Ada ""enchantress of numbers"" Lovelace.

Версия 0.5:
1. Исправлена прозрачность используемых цветов для правильной работы в сборках ФАРа 5821 и новее.

Версия 0.6:
1. Исправлена прозрачность фонового цвета для корректного взаимодействия с крестом от Колорера.

Версия 0.7:
1. Добавлены разделители: двоеточие (colon, :) и «трубопровод» (pipe, |).

Last edited by HaRT on Thu 11 Jan, 2024 05:52, edited 4 times in total.
Reason: Выложена версия 0.7
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
citRiks
Posts: 1733
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 610 times
Been thanked: 102 times

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

Post by citRiks »

HaRT wrote: Thu 06 Aug, 2020 20:01 И ещё оказалось, что, например, Эксель может сохранять в CSV-файл — тут при построчном разборе, разумеется, вообще всё идёт наперекосяк.
Погонщики мулов начальники разработчиков Екселя просто полагают что строить валидный CSV не представляет коммерческого интереса,
или даже как-то вредит коммерции (рукалицо).
У "продукт-манагеров" подобные выверты логики не удивительны, и в порядке вещей.
Я и в других продуктах от Майкрософт видел какую-то особую нелюбовь к CSV.
Ориентироваться на ихнюю "логику" невозможно, но, к счастью, необязательно :)
А вам спасибо за работу, скрипт интересен еще и тем что представляет собой пример работы с Lexer-ом.
Last edited by citRiks on Tue 01 Sep, 2020 17:13, edited 2 times in total.
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

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

Post by John Doe »

@HaRT похоже скрипт нуждается в правке
https://t.me/FarManager — Telegram чат
User avatar
HaRT
Moderator
Posts: 10823
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

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

Post by HaRT »

John Doe wrote: Wed 28 Jul, 2021 13:59 скрипт нуждается в правке
Спасибо за сигнал, я исправил прозрачность.
Фар есть инструмент, а не нянька. © 2009 DrKnS
ccaid
Posts: 908
Joined: Fri 12 Jun, 2009 16:04
Has thanked: 24 times
Been thanked: 6 times

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

Post by ccaid »

предложу свой вариант цветовой схемы: цветов меньше, но легче воспринимаются глазом.
FCADB62E3
для еще более эргономичного варианта следует выкинуть 6 (коричневый).
дисклеймер: полностью оценочное суждение. 8)

upd. добавил
Last edited by ccaid on Sun 15 May, 2022 21:41, edited 1 time in total.
Фар делают добрые люди
User avatar
HaRT
Moderator
Posts: 10823
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

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

Post by HaRT »

ccaid wrote: Wed 11 May, 2022 22:59 свой вариант цветовой схемы: цветов меньше, но легче воспринимаются глазом
Не выложите скриншот этой раскраски на каком-нибудь реальном примере, чтобы любому было легко заценить?
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

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

Post by John Doe »

Оригинал теперь поддерживает и переводы строк внутри полей.
https://t.me/FarManager — Telegram чат
User avatar
HaRT
Moderator
Posts: 10823
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

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

Post by HaRT »

Версия 0.6:
1. Исправлена прозрачность фонового цвета для корректного взаимодействия с крестом от Колорера.
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
HaRT
Moderator
Posts: 10823
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

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

Post by HaRT »

Версия 0.7:
1. Добавлены разделители: двоеточие (colon, :) и «трубопровод» (pipe, |).
Фар есть инструмент, а не нянька. © 2009 DrKnS
Post Reply

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