Page 18 of 21

Re: WikidPad support in CudaText + Tree view & find + Markdown

Posted: 08.01.2024 20:29
by main Alexey
давайте умощним lite lexer Wikidpad. тогда и можно его спокойно добавить.
как умощним - добавьте в его все фичи обычного лексера кроме конечно multi-line частей (я не помню что именно там multi-line, кодовые блоки?)

Re: WikidPad support in CudaText + Tree view & find + Markdown

Posted: 08.01.2024 20:58
by main Alexey
можно просмотретть файл wikidpad.lcf , увидеть там все плавила с регулярками.
вот первые 2 например

TokenRules = <
item
DisplayName = 'Heading'
StyleName = 'Heading'
Expression = '^\++\x20.+'
end

это ловит заголовки. в начале строки плюсы, потом пробел, потом другое.

item
DisplayName = 'Bold'
StyleName = 'Bold'
TokenType = 1
Expression = '\*.*?\*'
end

это ловит жирное. звездочка, потом текст, потом опять звездочка.
и тд

multi-line регулярки видны по опции (?s). их не надо делать.

Re: WikidPad support in CudaText + Tree view & find + Markdown

Posted: 09.01.2024 12:32
by mix-7
> кроме конечно multi-line частей (я не помню что именно там multi-line, кодовые блоки?)

да, блоки в скобках << и >> в начале строки и без других символов.

И в этом основная разница.
А умощнять, думаю, не стоит, так как lite lexer используется для больших текстов, а дополнительные регулярные выражения замедлят быструю обработку - там нужно только Code tree и выделить заголовки цветом.

Самая мощь - в Code tree: фильтры по нескольким словам в заголовках для поиска и как теги.
И не зависящий от лексера общий поиск по тексту.

Re: WikidPad support in CudaText + Tree view & find + Markdown

Posted: 09.01.2024 12:50
by mix-7
Придумал!

Помечать в lite и не lite лексерах WikidPad строки, начинающиеся с "- " красным - как список дел

Re: WikidPad support in CudaText + Tree view & find + Markdown

Posted: 09.01.2024 21:29
by main Alexey
опубликовал lexer "WikidPad lite" (название такое в аддонах).
если что умощните в нем - давайте аттач его zip файла.
чтобы я сам не собирал зип.
https://sourceforge.net/projects/cudate ... ns/lexers/

Re: WikidPad support in CudaText + Tree view & find + Markdown

Posted: 10.01.2024 11:35
by mix-7
Решил умощнить WikidPad лексер подсветкой простенького todo - "- " в начале строки
Эсперимент на лайт лексере, он поменьше.
Сделал такой (код внизу):

Заметил, что если ошибешься в Json лексера (парную скобку пропустишь, запятую и т.п),
то сообщения в консоли нет, не загружается лексер этот лексер, что понятно,

но почему-то пропадают и остальные, нет их в списке.
Это случайно, "баг или фича"?

Еще вызвало вопрос регулярное выражение
"success": {
"regex": "^\\++.*",

Почему в начале стоит "\"? Это же экранированный заголовок.

Замена в WikidPad.cuda-litelexer (нативном)
"style": "LightBG2" на
"style": "Red"
не меняет цвет заголовка

А строка
"regex": "^-\ .*",
почему-то вызвает при установке WikidPadW.cuda-litelexer через Addon Manager сообщение об ошибке в 13 строке

Только так можно (для меня, может, еще есть как) увидеть ошибки в лексере?

А если "regex": "^\\-\ .*",
то почему-то ошибки нет.

Нумерация строк и позиций в этих сообщений идет от 0 или 1?


~/.config/cudatext/data/lexliblite/WikidPadW.cuda-litelexer

Code: Select all

{
  "about": "WikidPadW lite lexer",
  "files": "*.wiki",
  "case_sens": false,
  "consider_spaces": true,
  "rules": {
    "success": {
      "regex": "^\\++.*",
      "style": "LightBG2"
    },
    "todo": {
      "regex": "^-\ .*",
      "style": "Red"
    }
  }
}

Re: WikidPad support in CudaText + Tree view & find + Markdown

Posted: 10.01.2024 11:51
by main Alexey
>А строка "regex": "^-\ .*",

экранить надо 2 раза - один раз для regex, второй раз сам сшен экранить в json file.
еще надо минус экранить.
получается типа такого (без теста):
"regex": "^\\-\\x20.*"
можно и убрать подсветку строки после минуса:
"regex": "^\\-\\x20"

Re: WikidPad support in CudaText + Tree view & find + Markdown

Posted: 10.01.2024 11:53
by main Alexey
>"style": "LightBG2" на "style": "Red" не меняет цвет заголовка

нету у нас "Red". есть то что в диалоге:
Options / Settings-theme-syntax

Re: WikidPad support in CudaText + Tree view & find + Markdown

Posted: 10.01.2024 11:57
by mix-7
Спасибо! Понятно. Буду пробовать! (Сбил очень двойной слэш, думал уж это какое-то хитрое отрицание для WikidPad полного лексера).

Еще вопросы

В Lite lexer в Json не работают комментарии // ?
UPD. Проверил - работают. Как и в других Json.

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

Можно где-то увидеть сообщения о неправильном Lite lexer в Json?
UPD. Открыть в CudaText и попытаться сохранить.


Нумерация строк и позиций в сообщениях об ошибке Json идет от 0 или 1?
UPD. С 1, но ошибку в строке N парсер относит к относит к следующей строке N+1, соответственно колонок больше, как в N и N+1 строках суммарно. (Вывод из экспериментов с user.json в CudaText).

Re: WikidPad support in CudaText + Tree view & find + Markdown

Posted: 10.01.2024 12:20
by main Alexey
>В Lite lexer в Json не работают комментарии // ?
работают.

>ошибка в одном лексере приводит к незагрузке многих остальных лексеров, в т.ч. и полных?
сделал сбойный regex в лексере bad.cuda-litelexer.
ошибка появилась в IDE только при активном лексе.
другие не пропали.
если ошибка на уровне json format, то она ловится и идет показ сообщения.

>Можно где-то увидеть сообщения о неправильном Lite lexer в Json?
пока диагностики ошибки в regex нету, сорри.