Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Подсветка синтаксиса конфигурационных файлов TC
Goto page Previous  1, 2, 3  Next
 
Post new topic   Reply to topic    Total Commander Forum Index -> Секреты и советы printer-friendly view
View previous topic :: View next topic  
Author Message
yozhik



Joined: 04 May 2014
Posts: 310
Location: Электросталь

Post (Separately) Posted: Tue Oct 07, 2025 00:32    Post subject: Reply with quote

Orion9
К слову о коммитах (если уже знаете, то пардон, я так недавно): если на GitHub'е к адресу коммита добавлять ?w=1, то он прячет шелуху (изменение в пробелах, табах, etc.) — удобнее, лаконичней. Пример:
https://github.com/yozhic/AkelPad-coders/commit/75d527b29dd948a765a328bbd595a3eff1983c6d?w=1
_________________
Amo ergo sum
Back to top
View user's profile Send private message
Orion9



Joined: 01 Jan 2024
Posts: 908

Post (Separately) Posted: Wed Oct 08, 2025 20:23    Post subject: Reply with quote

yozhik
Нет, не знал. Спасибо инфу. Мне еще понравилось описание в вашем профиле - читал как на иголках. Одна строчка, а словно триллер качественный посмотрел )
Back to top
View user's profile Send private message
Orion9



Joined: 01 Jan 2024
Posts: 908

Post (Separately) Posted: Mon Oct 13, 2025 13:31    Post subject: Reply with quote

yozhik
Боюсь, что эпопея с CodeFold еще не закончена и, вероятно, еще долго будет длиться.

После такой функции следующие за ней функции вкладываются:
Code:
Func WdxFieldType(ft_num)
    Local s
    Switch ft_num
    Case  0
        s = "ft_nomorefields"
    Case  1
        s = "ft_numeric_32"
    Case  2
        s = "ft_numeric_64"
    Case  3
        s = "ft_numeric_floating"
    Case  4
        s = "ft_date"
    Case  5
        s = "ft_time"
    Case  6
        s = "ft_boolean"
    Case  7
        s = "ft_multiplechoice"
    Case  8
        s = "ft_string"
    Case  9
        s = "ft_fulltext"
    Case  10
        s = "ft_datetime"
    Case  11
        s = "ft_stringw"
    Case  12
        s = "ft_fulltextw"       
    EndSwitch
    Return s
EndFunc

В другом модуле вкладываение начинается после такой строчки:
Code:
If bkg1 = -1 Then bkg1 = 1*255 + 256*255 + 65536*255
Back to top
View user's profile Send private message
yozhik



Joined: 04 May 2014
Posts: 310
Location: Электросталь

Post (Separately) Posted: Mon Oct 13, 2025 15:11    Post subject: Reply with quote

Orion9
Первое поправил — Case..EndSwitch был жадным и блокировал Switch..EndSwitch.

А второе не получается воспроизвести. Если можно, выложите модуль посмотреть, может там не в If..Then дело, а в чём другом.
_________________
Amo ergo sum
Back to top
View user's profile Send private message
Orion9



Joined: 01 Jan 2024
Posts: 908

Post (Separately) Posted: Mon Oct 13, 2025 17:15    Post subject: Reply with quote

yozhik
Да, я давно заметил, что ему именно Case..EndSwitch не "заходит". Взял исправленный .coder, проблема ушла, но частично. Теперь другие функции ниже WdxFieldType вкладываются. Надо бы все модули перетряхнуть, раз уж взялся, но вы пока посмотрите пару моментов.

1) Пример из справки. За DateDiff функции вкладываются:
Code:
Func DateDiff(DateTime1, DateTime2, Unit)
    Local TS1 = IsInt(DateTime1) ? DateTime1 : ToDateTime(DateTime1)
    Local TS2 = IsInt(DateTime2) ? DateTime2 : ToDateTime(DateTime2)
    Local Diff = (TS1 - TS2) / 10000000
    Switch Unit
        Case "M"
            Return Floor(Diff / 60)
        Case "H"
            Return Floor(Diff / 3600)
        Case "D"
            Return Floor(Diff / 86400)
        Else
            Return Diff
    EndSwitch
EndFunc


2) Проблема действительно была не в If..Then, а в том, что выше по телу функции есть такое:
Code:
If lParam = 1 And IsPressed(0x5B) Then
   SwitchColors(1)
   Return
EndIf

Видимо ему не нравится имя функции SwitchColors:
Code:
RegisterCommand 70051 "SwitchColors"

Func SwitchColors(lParam)

EndFunc


Добавлено спустя 7 минут:

После этой функции тоже вкладываются:
 Hidden text


Добавлено спустя 11 минут:

Еще одна от Loopback:
 Hidden text
Back to top
View user's profile Send private message
yozhik



Joined: 04 May 2014
Posts: 310
Location: Электросталь

Post (Separately) Posted: Mon Oct 13, 2025 22:11    Post subject: Reply with quote

Orion9
Путаницу Else..EndSwitch с Else..EndIf пока поборол.

Для разграничения Switch и Switch... пока соорудил костыль. Все последние примеры обрабатываются сейчас корректно. По идее не должно было так произойти, чтобы SwitchColor прокатил вместо Switch, плагин должен проверять разделитель (пробел) справа от Switch. Или я, как обычно, недопонял чего Smile Написал пока на форуме AkelPad, поглядим что скажут.
_________________
Amo ergo sum
Back to top
View user's profile Send private message
Orion9



Joined: 01 Jan 2024
Posts: 908

Post (Separately) Posted: Mon Oct 13, 2025 23:58    Post subject: Reply with quote

yozhik
Спасибки ) Вот теперь первые впечатления, что всё нормально.

Панель CodeFold непривычно наполнилась новыми функциями, даже приятно стало перемещаться по коду и в самом окне CodeFold. Но завтра еще буду проверять.
Back to top
View user's profile Send private message
Orion9



Joined: 01 Jan 2024
Posts: 908

Post (Separately) Posted: Tue Oct 14, 2025 11:49    Post subject: Reply with quote

yozhic
Проверил все модули. Проблемы с вложением функций больше нет. Теперь если что-то и искать, то только внутри самих функций и скорее всего с другими блоками. Но важно, что при открытии модуля все его функции сейчас видны и доступны для корректных операций в плагине Coder.
Back to top
View user's profile Send private message
yozhik



Joined: 04 May 2014
Posts: 310
Location: Электросталь

Post (Separately) Posted: Tue Oct 14, 2025 12:02    Post subject: Reply with quote

Orion9
Добро. Осилили совместными усилиями Smile Я ещё жду ответа о работе Coder с разделителями в Folds. Бывает, надо подождать, автор — человек отзывчивый, но занятой.
_________________
Amo ergo sum
Back to top
View user's profile Send private message
Orion9



Joined: 01 Jan 2024
Posts: 908

Post (Separately) Posted: Wed Oct 15, 2025 19:39    Post subject: Reply with quote

yozhik
Да, доведём до совершенства рано или поздно. Я довольно часто пользуюсь, поэтому что будет попадаться на глаза сразу буду сообщать.
Back to top
View user's profile Send private message
AkulaBig



Joined: 03 Dec 2008
Posts: 454

Post (Separately) Posted: Fri Oct 24, 2025 21:17    Post subject: Reply with quote

yozhik
Смутило, что в версии 0.15.6 появилась надпись в заголовке: This file must be encoded in UTF-16 LE. Я спросонья начал переводить mnu в юникод. Убил ТС. Хотелось-бы, чтобы эта надпись исчезла. Ни к чему она. И так понятно, что файлы кодера должны быть в юникоде. А кому не понятно. они вообще не будут в этот файл заглядывать.
Back to top
View user's profile Send private message
yozhik



Joined: 04 May 2014
Posts: 310
Location: Электросталь

Post (Separately) Posted: Fri Oct 24, 2025 21:33    Post subject: Reply with quote

AkulaBig
Ух, вон как бывает, я бы и не подумал даже.
Я бы лучше заменил на «Coder-file must be encoded...», чтобы исключить двусмысленность. Идёт?

Если честно, совсем убирать как-то душа не лежит Sad Потому что если кодировка другая, то AkelPad просто тихо игнорирует файл. Если бы он ругался, тогда ладно. Но он вот именно что тихо, ничего не сообщает, и ломай потом голову почему у тебя подсветка не работает.
_________________
Amo ergo sum
Back to top
View user's profile Send private message
AkulaBig



Joined: 03 Dec 2008
Posts: 454

Post (Separately) Posted: Fri Oct 24, 2025 22:44    Post subject: Reply with quote

yozhik wrote:
если кодировка другая, то AkelPad просто тихо игнорирует файл

Это понятно. Но кто будет делать этот файл в другой кодировке? В поставляемых с AkelPad файлах кодировки нет никаких упоминаний про юникод. И получается разночтение. У Андрея Аверина тоже нет. Получается только у вас есть.
Back to top
View user's profile Send private message
jentoso



Joined: 20 Dec 2007
Posts: 407

Post (Separately) Posted: Fri Oct 24, 2025 23:20    Post subject: Reply with quote

AkulaBig
Про UTF-16LE было известно ещё давно, но автор так и не указал это в справке
https://akelpad.sourceforge.net/forum/viewtopic.php?p=21954&hilit=UTF-16LE#p21954
_________________
TC 11.56 combo, Windows 11 x64
Back to top
View user's profile Send private message
yozhik



Joined: 04 May 2014
Posts: 310
Location: Электросталь

Post (Separately) Posted: Sat Oct 25, 2025 00:02    Post subject: Reply with quote

jentoso
Вот, значит, проблема есть, не надумана. Хотя в «справке» я это уже указал:
https://github.com/yozhic/AkelPad-coders/blob/main/CODER.TXT#L12
Вы как считаете, удалить комментарий «Coder-file must be encoded in UTF-16 LE» из coder-файлов или оставить?
_________________
Amo ergo sum
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Секреты и советы All times are GMT + 4 Hours
Goto page Previous  1, 2, 3  Next
Page 2 of 3

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group