WikidPad support in CudaText + Tree view & find + Markdown

Post Reply
mix-7
Posts: 741
Joined: 11.05.2018 11:02

Post by mix-7 »

1- проверьте что все опции из этой части вики не блочат работу--
'Reduced functionality for big files'
Спасибо, помогла установка "ui_max_size_lexer" : 2, в

Code: Select all

"ui_max_size_lexer" : 3,
в user.json
(Проблемный wiki-файл был 2+ МБ).
mix-7
Posts: 741
Joined: 11.05.2018 11:02

Post by mix-7 »

2-клик не предлагает ссылку! если положить курсор мыши на панельку статусбара (справа) то проскакивает там такое
Да, сделано, спасибо!
Возможно, обновил плагин WikidPad Helper через Addons Manager.
mix-7
Posts: 741
Joined: 11.05.2018 11:02

Post by mix-7 »

Прочитал по вашим ссылкам
https://wiki.freepascal.org/CudaText#Kinds_of_add-ons
tree helpers
Plugins which show Code-Tree structure for some lexer (useful if language is complex, and lexer cannot handle all language complexity).
https://wiki.freepascal.org/CudaText_API#TreeHelpers
Section(s) "treehelper" followed by any string (e.g. "treehelper1"):
key "lexers" is comma-separated lexers list
Через Addons Manager - Edit
открыл TreeHelper for WikidPad
/home/one/.config/cudatext/py/cuda_tree_wikidpad/__init__.py

В тексте не обнаружил

Code: Select all

Section(s) "treehelper" 
key "lexers" 
Наверное, не там смотрел?
Как дописать treehelper для WikidPad для lite lexer WikidPad' ^ ?
main Alexey
Posts: 2245
Joined: 25.08.2021 18:15

Post by main Alexey »

__init__.py это питон-код.
а менять это надо в файле install.inf.
дописать лексер через запятую сюда

Code: Select all

[treehelper1]
lexers=WikidPad
method=get_headers
fold=1
mix-7
Posts: 741
Joined: 11.05.2018 11:02

Post by mix-7 »

Спасибо, невнимательно прочитал https://wiki.freepascal.org/CudaText_API#TreeHelpers

В /home/one/.config/cudatext/py/cuda_tree_wikidpad/install.inf
прописал

Code: Select all

[treehelper1]
lexers=WikidPad,WikidPad ^
method=get_headers
fold=1
Для большого файла (размер больше "ui_max_size_lexer" : 2) lite lexer по расширению не выбирается автоматически, Code tree не строится.
Code tree иногда остается от другого файла.


Lite lexer /home/one/.config/cudatext/data/lexliblite/WikidPad.cuda-litelexer :

Code: Select all

{
  "about": "Converted from Matthias030's lexer by Alexey Torgashin",
  "files": "*.wiki",
  "case_sens": false,
  "consider_spaces": true,
  "rules": {
    "success": {
      "regex": "^.*((?<!no )success|(?<!nicht )erfolgreich|(no|without( any)?) error|fehlerfrei|(ohne |kein(e)? )fehler|(?<!not )succeed|mit erfolg).*$",
      "style": "LightBG3"
    },
<... опустил, взял из ~/.config/cudatext/data/lexliblite/Log files.cuda-litelexer, изменив расширение файла на "*.wiki" >
Попробовал изменить имя большого файла с кириллицы на латиницу - не помогло
Что здесь не так?

Цель - для больших, больше 10000 строк, работать (навигация по тексту) , в основном, с Code tree, используя lite lexer
main Alexey
Posts: 2245
Joined: 25.08.2021 18:15

Post by main Alexey »

Здесь не так то что вы наткнулись на блокируюшую опцию "lexer_folding_max_lines".
я сделал 6 Мб файл wikidpad. в нем 230 000 строк.
задал ту опцию как 300 тыщ.

/home/user/_cud_test/data/lexliblite/WikidPad.cuda-litelexer

Code: Select all

{
  "about": "tst lexer",
  "files": "*.wiki",
  "case_sens": false,
  "consider_spaces": true,
  "rules": {
    "success": {
      "regex": "^\\++.*",
      "style": "LightBG3"
    }
  }
}
и поправил три-хелпер
/home/user/_cud_test/py/cuda_tree_wikidpad/install.inf

Code: Select all

[info]
title=TreeHelper for WikidPad
desc=TreeHelper for WikidPad lexer
type=cudatext-plugin
subdir=cuda_tree_wikidpad
homepage=https://github.com/CudaText-addons/cuda_tree_wikidpad

[treehelper1]
lexers=WikidPad,WikidPad ^
method=get_headers
fold=1
на файле в 6 Мб лексер активен! дерево есть!
mix-7
Posts: 741
Joined: 11.05.2018 11:02

Post by mix-7 »

Здесь не так то что вы наткнулись на блокируюшую опцию "lexer_folding_max_lines".
Хм, а я-то думал, что это триггер lexer / lexer lite.
Возможно, поэтому и строилось дерево.

Сделал, как вы написали - увеличил параметр lexer_folding_max_lines - заработало!
Дерево строится!

Переключение lexer / lexer lite определяется параметром

Code: Select all

  "ui_max_size_lexer" : 1,
Спасибо огромное!
Очень удобный инструмент!
mix-7
Posts: 741
Joined: 11.05.2018 11:02

Post by mix-7 »

P.S. В 2018 году, когда вы написали лексер WikidPad, он работал довольно медленно, сравнимо по скорости с WikidPad.
Сейчас по скорости CudaText многократно опережает WikidPad.
За счет чего получилась такая оптимизация?
main Alexey
Posts: 2245
Joined: 25.08.2021 18:15

Post by main Alexey »

ну как, просто постоянно что-то оптимизировал, плюс вот что
1.133.0 (2021/05)

+ add: major change: parser is multi-threaded now. This allows app to react to typing commands faster, and allows to not blink with uncolored text, on big files. Total parsing speed is better too, on big files. Options "lexer_delayed_parsing_*" were removed.
mix-7
Posts: 741
Joined: 11.05.2018 11:02

Post by mix-7 »

main Alexey wrote: но вижу другой баг - в этом тексте вообще нет фолдинга:

Code: Select all

++ Заголовок1
текст
текст
текст
текст
++ Заголовок2
вв
Отсюда

Это поправимо?

(Есть старые записи без блочных комментариев <<...>> еще, они сворачиваются не все.)
Post Reply