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
 
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: 308
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: 900

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: 900

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: 308
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: 900

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: 308
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: 900

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: 900

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: 308
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
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
Page 2 of 2

 
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