WikidPad support in CudaText + Tree view & find + Markdown
-
- Posts: 2245
- Joined: 25.08.2021 18:15
Re: WikidPad support in CudaText + Tree view & find + Markdown
давайте умощним lite lexer Wikidpad. тогда и можно его спокойно добавить.
как умощним - добавьте в его все фичи обычного лексера кроме конечно multi-line частей (я не помню что именно там multi-line, кодовые блоки?)
как умощним - добавьте в его все фичи обычного лексера кроме конечно multi-line частей (я не помню что именно там multi-line, кодовые блоки?)
-
- Posts: 2245
- Joined: 25.08.2021 18:15
Re: WikidPad support in CudaText + Tree view & find + Markdown
можно просмотретть файл wikidpad.lcf , увидеть там все плавила с регулярками.
вот первые 2 например
TokenRules = <
item
DisplayName = 'Heading'
StyleName = 'Heading'
Expression = '^\++\x20.+'
end
это ловит заголовки. в начале строки плюсы, потом пробел, потом другое.
item
DisplayName = 'Bold'
StyleName = 'Bold'
TokenType = 1
Expression = '\*.*?\*'
end
это ловит жирное. звездочка, потом текст, потом опять звездочка.
и тд
multi-line регулярки видны по опции (?s). их не надо делать.
вот первые 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
> кроме конечно multi-line частей (я не помню что именно там multi-line, кодовые блоки?)
да, блоки в скобках << и >> в начале строки и без других символов.
И в этом основная разница.
А умощнять, думаю, не стоит, так как lite lexer используется для больших текстов, а дополнительные регулярные выражения замедлят быструю обработку - там нужно только Code tree и выделить заголовки цветом.
Самая мощь - в Code tree: фильтры по нескольким словам в заголовках для поиска и как теги.
И не зависящий от лексера общий поиск по тексту.
да, блоки в скобках << и >> в начале строки и без других символов.
И в этом основная разница.
А умощнять, думаю, не стоит, так как lite lexer используется для больших текстов, а дополнительные регулярные выражения замедлят быструю обработку - там нужно только Code tree и выделить заголовки цветом.
Самая мощь - в Code tree: фильтры по нескольким словам в заголовках для поиска и как теги.
И не зависящий от лексера общий поиск по тексту.
Re: WikidPad support in CudaText + Tree view & find + Markdown
Придумал!
Помечать в lite и не lite лексерах WikidPad строки, начинающиеся с "- " красным - как список дел
Помечать в lite и не lite лексерах WikidPad строки, начинающиеся с "- " красным - как список дел
-
- Posts: 2245
- Joined: 25.08.2021 18:15
Re: WikidPad support in CudaText + Tree view & find + Markdown
опубликовал lexer "WikidPad lite" (название такое в аддонах).
если что умощните в нем - давайте аттач его zip файла.
чтобы я сам не собирал зип.
https://sourceforge.net/projects/cudate ... ns/lexers/
если что умощните в нем - давайте аттач его zip файла.
чтобы я сам не собирал зип.
https://sourceforge.net/projects/cudate ... ns/lexers/
Re: WikidPad support in CudaText + Tree view & find + Markdown
Решил умощнить 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
Эсперимент на лайт лексере, он поменьше.
Сделал такой (код внизу):
Заметил, что если ошибешься в 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"
}
}
}
-
- Posts: 2245
- Joined: 25.08.2021 18:15
Re: WikidPad support in CudaText + Tree view & find + Markdown
>А строка "regex": "^-\ .*",
экранить надо 2 раза - один раз для regex, второй раз сам сшен экранить в json file.
еще надо минус экранить.
получается типа такого (без теста):
"regex": "^\\-\\x20.*"
можно и убрать подсветку строки после минуса:
"regex": "^\\-\\x20"
экранить надо 2 раза - один раз для regex, второй раз сам сшен экранить в json file.
еще надо минус экранить.
получается типа такого (без теста):
"regex": "^\\-\\x20.*"
можно и убрать подсветку строки после минуса:
"regex": "^\\-\\x20"
-
- Posts: 2245
- Joined: 25.08.2021 18:15
Re: WikidPad support in CudaText + Tree view & find + Markdown
>"style": "LightBG2" на "style": "Red" не меняет цвет заголовка
нету у нас "Red". есть то что в диалоге:
Options / Settings-theme-syntax
нету у нас "Red". есть то что в диалоге:
Options / Settings-theme-syntax
Re: WikidPad support in CudaText + Tree view & find + Markdown
Спасибо! Понятно. Буду пробовать! (Сбил очень двойной слэш, думал уж это какое-то хитрое отрицание для 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).
Еще вопросы
В Lite lexer в Json не работают комментарии // ?
UPD. Проверил - работают. Как и в других Json.
И ошибка в одном лексере приводит к незагрузке многих остальных лексеров, в т.ч. и полных?
Можно где-то увидеть сообщения о неправильном Lite lexer в Json?
UPD. Открыть в CudaText и попытаться сохранить.
Нумерация строк и позиций в сообщениях об ошибке Json идет от 0 или 1?
UPD. С 1, но ошибку в строке N парсер относит к относит к следующей строке N+1, соответственно колонок больше, как в N и N+1 строках суммарно. (Вывод из экспериментов с user.json в CudaText).
Last edited by mix-7 on 10.01.2024 12:27, edited 1 time in total.
-
- Posts: 2245
- Joined: 25.08.2021 18:15
Re: WikidPad support in CudaText + Tree view & find + Markdown
>В Lite lexer в Json не работают комментарии // ?
работают.
>ошибка в одном лексере приводит к незагрузке многих остальных лексеров, в т.ч. и полных?
сделал сбойный regex в лексере bad.cuda-litelexer.
ошибка появилась в IDE только при активном лексе.
другие не пропали.
если ошибка на уровне json format, то она ловится и идет показ сообщения.
>Можно где-то увидеть сообщения о неправильном Lite lexer в Json?
пока диагностики ошибки в regex нету, сорри.
работают.
>ошибка в одном лексере приводит к незагрузке многих остальных лексеров, в т.ч. и полных?
сделал сбойный regex в лексере bad.cuda-litelexer.
ошибка появилась в IDE только при активном лексе.
другие не пропали.
если ошибка на уровне json format, то она ловится и идет показ сообщения.
>Можно где-то увидеть сообщения о неправильном Lite lexer в Json?
пока диагностики ошибки в regex нету, сорри.