AkelPad Forum Index AkelPad
Support forum
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Coder plugin (2)
Goto page Previous  1, 2, 3 ... 23, 24, 25 ... 64, 65, 66  Next
 
Post new topic   Reply to topic    AkelPad Forum Index -> Plugins
View previous topic :: View next topic  
Author Message
Skif_off



Joined: 20 Oct 2013
Posts: 481

PostPosted: Sat Dec 28, 2013 2:33 pm    Post subject: Reply with quote

Вчера вечером вносил дополнения в секцию Blocks au3.coder и подумал: может быть, зря я отказался от секции Words в latex.coder (регулярными выражениями подсветил команды разметки и всё, цели превратить AkelPad в полноценную IDE не было)? Все-таки Автодополнение - полезная фича. Прошерстил несколько книг - получается чуть более 4х сотен, но осталось пару справок (.chm) по LaTeX ("This is edition 1.6 of the LaTeX2e documentation" 2008го года) и по самому TeX пройтись.
Возможно добавить в Words "\xxx", сохранив при этом обратный слэш в Delimiters?


Last edited by Skif_off on Sat Dec 28, 2013 11:17 pm; edited 1 time in total
Back to top
View user's profile Send private message
Instructor
Site Admin


Joined: 06 Jul 2006
Posts: 5523

PostPosted: Sat Dec 28, 2013 5:11 pm    Post subject: Reply with quote

Drugmix wrote:
зависания нет, но правило не работает должным образом.
Это уже к самому правилу.

Quote:
А ещё меня очень расстраивает...
Не нужно расстраиваться. Всё будет хорошо Smile

Quote:
Вы их не читаете или просто молча принимаете их к сведению? Smile
Молча принимаю к сведению.

Skif_off wrote:
Возможно добавить в Words "\xxx", сохранив при этом обратный слэш в Delimiters?
Только в "Quotes:"
Code:
Quotes:
;==============================================================================
;Flags  Font    Color   Color   Quote        Quote       Escape Quote   Quote
;       style   text    bkgrnd  start        end         char   include exclude
;==============================================================================
;32772=4+32768
32772   0   ${OP}   0   "\" "xxx"       ""   ""   ""
Back to top
View user's profile Send private message Send e-mail
Skif_off



Joined: 20 Oct 2013
Posts: 481

PostPosted: Sat Dec 28, 2013 6:39 pm    Post subject: Reply with quote

Instructor wrote:
Только в "Quotes:"

Тогда не попадут в список автодополнения и тогда вообще нет смысла добавлять слова, ибо регулярными выражениями подсветится всё, в т.ч. пользовательские или еще не придуманные. Smile В общем, надо подумать.
Back to top
View user's profile Send private message
Drugmix



Joined: 08 Apr 2013
Posts: 463

PostPosted: Sat Dec 28, 2013 6:53 pm    Post subject: Reply with quote

Instructor wrote:
Это уже к самому правилу.

Спасибо, это меня неофициальная справка в *.chm файле запутала (там написана ложная информация по поводу | в RegEx).
Сделал всё по официальной справке из *.htm - правило заработало.

На самом деле, получается, что добиться того, чего я изначально пытался (чтобы одно правило в coder.coder окрашивало все правила для QuotesRE секции во всех *.coder файлах) - всё равно невозможно: само это правило всё равно не будет раскрашиваться должным образом без другого правила.

edited

Может стоит добавить эти 2 правила в coder.coder?
Code:

0   '^\s*(\d+)\s+(?:`|")(.*)(?:`|")\s*(?:`|")\s*(\\\d*=\([^,()]*?,[^,()]*?,[^,()]*?\)\s*)*(?:`|")\s*$'  '\1=(0,${STR},0) \2=(0,${OP},0) \3=(2,${AREA},0)'
0   "^\s*(\d+)\s+'(.*)'\s*'\s*(\\\d*=\([^,()]*?,[^,()]*?,[^,()]*?\)\s*)*'\s*$"  "\1=(0,${STR},0) \2=(0,${OP},0) \3=(2,${AREA},0)"
Drugmix wrote:
Может стоит добавить эти 2 правила в coder.coder?
Code:

0   '^\s*(\d+)\s+(?:`|")(.*)(?:`|")\s*(?:`|")\s*(\\\d*=\([^,()]*?,[^,()]*?,[^,()]*?\)\s*)*(?:`|")\s*$'  '\1=(0,${STR},0) \2=(0,${OP},0) \3=(2,${AREA},0)'
0   "^\s*(\d+)\s+'(.*)'\s*'\s*(\\\d*=\([^,()]*?,[^,()]*?,[^,()]*?\)\s*)*'\s*$"  "\1=(0,${STR},0) \2=(0,${OP},0) \3=(2,${AREA},0)"

EDIT:
Наверно, всё же не стоит:
видимо из-за конфликта с правилом
Code:
0   "#[A-F\d]{6}"  "\0=(0,\0,0)"
визуальный глюк появился - сначала всё в файле окрашивается одним образом (как задано этими 2-умя правилами, если они идут в списке правил первыми), вот так,


а если в документе передвигать каретку кнопками Up/Down с клавиатуры (при выставлении каретки на эту или на соседние строки простым левым кликом с мышки - переокрашивания не случается) прямо по строкам сквозь эту же самую строку со скриншота, то она переокрашивается вот так,


но если ресайзнуть окно, то всё переокрашивается в изначальный вариант.
И заметил, что такой баг случается только на длинных строках
, потому что на вот такой коротенькой строке, например, глюк не воспроизводится:

.


Last edited by Drugmix on Sun Dec 29, 2013 1:07 am; edited 1 time in total
Back to top
View user's profile Send private message
FalseMaster



Joined: 19 Jul 2010
Posts: 19

PostPosted: Sat Dec 28, 2013 9:58 pm    Post subject: Reply with quote

Намедни захотелось мне фолдинга, до этого плагинами не пользовался (кроме "Format") - как-то не было необходимости. Но то ли я дурак, то ли с плагином "Coder" что-то не то. Проковырялся почти целый день, но как я флаги не менял, получается какая-то лажа. Вот она:



Плюс к этому при сворачивании остаётся видимой последняя строка блока. Может кто что подскажет?


Last edited by FalseMaster on Sun Dec 29, 2013 9:57 pm; edited 1 time in total
Back to top
View user's profile Send private message Send e-mail
Drugmix



Joined: 08 Apr 2013
Posts: 463

PostPosted: Sat Dec 28, 2013 10:10 pm    Post subject: Reply with quote

FalseMaster,
и где содержимое секции Folds из .coder файла?

FalseMaster wrote:
Плюс к этому при сворачивании остаётся видимой последняя строка блока. Может кто что подскажет?

Folds только так работает, нижнюю строку пока вроде как нельзя никак скрыть.
EDIT: интересно, а можно ли это скриптом сделать?


Last edited by Drugmix on Sat Dec 28, 2013 10:47 pm; edited 1 time in total
Back to top
View user's profile Send private message
FalseMaster



Joined: 19 Jul 2010
Posts: 19

PostPosted: Sat Dec 28, 2013 10:22 pm    Post subject: Reply with quote

Drugmix wrote:
и где содержимое секции Folds из .coder файла?

Code:
513   3  ${COMM}  0  "{"         "}"    ""
513   3  ${COMM}  0  "(*"        "*)"   ""
3     0  0        0  "record"    "end"  ""
3     0  0        0  "function"  "end;"  ""
2049  0  0        0  "case"      "end"  ""
2049  0  0        0  "if"        "end"  ""
2049  0  0        0  "with"      "end"  ""
2049  0  0        0  "try"       "end"  ""
Back to top
View user's profile Send private message Send e-mail
Drugmix



Joined: 08 Apr 2013
Posts: 463

PostPosted: Sat Dec 28, 2013 11:00 pm    Post subject: Reply with quote

FalseMaster
а что не так на скриншоте?
нижняя строка же - наверняка последняя в файле?
т.к. третьего вхождения end; в файле не было найдено, то все последующие строки подпадают под folding.
Если в тексте заменить end. на end; то фолдинг остановится же тогда на строке с ним?
Или можно попробовать добавить в .coder (в конец или в начало списка правил) ещё такое правило:
Code:
3     0  0        0  "function"  "end."  ""
Back to top
View user's profile Send private message
FalseMaster



Joined: 19 Jul 2010
Posts: 19

PostPosted: Sun Dec 29, 2013 12:44 am    Post subject: Reply with quote

Drugmix
Да без разницы, сколько там вхождений "end" и чем они заканчиваются - я уже всяко перепробовал. Суть в том, что должна быть возможность не фолдить одиночную "function", иначе какой прок от данной фичи плагина.
Back to top
View user's profile Send private message Send e-mail
Drugmix



Joined: 08 Apr 2013
Posts: 463

PostPosted: Sun Dec 29, 2013 1:16 am    Post subject: Reply with quote

FalseMaster wrote:
иначе какой прок от данной фичи плагина.

в том, что настроив однажды правила фолдинга для какого-то типа файлов - текст будет анализироваться плагином и все блоки текста будут сворачиваемыми, как это было задано при настройке.


Кстати, а было бы удобно, если б прям на кнопке сворачивания [-] или разворачивания [+] рисовалось бы число, соответствующее уровню в иерархии свёрнутых строк.
Code:
[-1] if {
[-2]      if {
          …
          }
      …
      }
Back to top
View user's profile Send private message
Instructor
Site Admin


Joined: 06 Jul 2006
Posts: 5523

PostPosted: Sun Dec 29, 2013 8:03 am    Post subject: Reply with quote

FalseMaster
Есть же pascal.coder там все уже прописано.

Code:
Folds:
;=====================================================================
;Flags  Font    Color   Color   Fold              Fold      Delimiters
;       style   text    bkgrnd  start             end
;=====================================================================
;513=1+512
513   3   ${COMM}   0   "{"               "}"       ""
;513=1+512
513   3   ${COMM}   0   "(*"              "*)"      ""
;130=2+128
130   0   0   0   "case"            "end"     "    ;.}"
2   0   0   0   "begin"           "end"     "    ;.}"
2   0   0   0   "implementation"  "end"     "    ;.}"
2   0   0   0   "repeat"          "until"   "    ;.}"
;--try--
2   0   0   0   "try"             "end"     "    ;.}"
;130=2+128
130   0   0   0   "try"             "except"  "    ;.}"
;130=2+128
130   0   0   0   "try"             "finally" "    ;.}"
2   0   0   0   "except"          "end"     "    ;.}"
2   0   0   0   "finally"         "end"     "    ;.}"
;--Definitions--
2   0   0   0   "record"          "end"     "    ;.}"
2048   0   0   0   "class;"          ""        ""
2   0   0   0   "class"           "end"     "    ;.}("

Back to top
View user's profile Send private message Send e-mail
FalseMaster



Joined: 19 Jul 2010
Posts: 19

PostPosted: Sun Dec 29, 2013 9:09 pm    Post subject: Reply with quote

Drugmix wrote:
...как это было задано при настройке

Так всё и дело-то в том, что настроить не получается.

Instructor wrote:
Есть же pascal.coder там все уже прописано.

Это:
Code:
   function Function1;
[+]begin
   end;


нелепая пародия на фолдинг, а должно быть по крайней мере так:
Code:
[+]function Function1;

[+]function Function2;

[+]function Function3;


Ну а в идеале:
свёрнутое состояние:
Code:
[+]function Function1;
[+]function Function2;
[+]function Function3;

развёрнутое состояние:
Code:
[-]function Function1;
   begin
     // some code
   end;

[-]function Function2;
   begin
     // some code
   end;


, т.е. скрываться должна не только последняя строка блока, но и следующая за ней пустая строка. Естественно, условия поведения должны описыватся в файле "*.coder".
Back to top
View user's profile Send private message Send e-mail
opk44



Joined: 16 Jan 2010
Posts: 366

PostPosted: Sun Dec 29, 2013 11:16 pm    Post subject: Reply with quote

FalseMaster
Если чуть-чуть поступиться идеализмом, то можно и на стандартной подсветке получить хороший фолдинг определений функций. Достаточно Begin записывать В ТОЙ ЖЕ САМОЙ СТРОКЕ:
Code:
function Function1; begin
  // some code
end;
Это ведь не будет ошибкой?
Back to top
View user's profile Send private message
FalseMaster



Joined: 19 Jul 2010
Posts: 19

PostPosted: Sun Dec 29, 2013 11:36 pm    Post subject: Reply with quote

opk44
1. Я хотел юзать плагин для улучшения удобочитаемости, а не наоборот.
2. Переменные/константы/типы тоже в одну строку писать?


Last edited by FalseMaster on Sun Dec 29, 2013 11:58 pm; edited 1 time in total
Back to top
View user's profile Send private message Send e-mail
Drugmix



Joined: 08 Apr 2013
Posts: 463

PostPosted: Sun Dec 29, 2013 11:45 pm    Post subject: Reply with quote

opk44
даже если это не будет ошибкой - всё равно не очень удобно без более гибких правил.
Я вот предпочитаю Allman'овскую стилизацию кода.
При такой стилизации, блоки кода требующие фигурных скобок - располагаются на новой строке.
Соответственно, в свёрнутом виде это будет выглядеть как
Code:
   myFunc()
[+]{
   }


вместо желаемого
Code:
[+]myFunc()
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    AkelPad Forum Index -> Plugins All times are GMT
Goto page Previous  1, 2, 3 ... 23, 24, 25 ... 64, 65, 66  Next
Page 24 of 66

 
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


SourceForge.net Logo Powered by phpBB © 2001, 2005 phpBB Group