Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » AkelPad (часть 2)

Модерирует : gyra, Maz

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157

Открыть новую тему     Написать ответ в эту тему

gyra

Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
 AkelPad
текстовый редактор с открытым исходным кодом, созданный, чтобы быть маленьким и быстрым
Авторы: Шенгальц А. А. (aka Instructor; версии 3–4); Кузнецов А. И. (версии 1–2)

Последний релиз: 4.9.9 от 16 октября 2024
Последняя тестовая: 4.10.0 r4499 от 12 января 2025


Скачать
Программа релиз 4.9.9: многоязычная [exe]: x86 | x64; русская [zip]: x86 | x64; английская [zip]: x86 | x64      
тестовая (dev) 4.10.0 r4499 английская [zip]: x86 | x64 (соответствует r4499 исходников)    
Плагины полный авторский комплект: x86 | x64    
Скрипты авторская подборка: Instructor | KDJ | VladSh | Infocatcher    
Синтаксические файлы авторские дополнения к комплектным: akelpad.sf.net    
Шрифты авторская модификация для использования с плагином Fonts.dll: akelpad.sf.net    
Обновления авторская утилита AkelUpdater v6.9

Дополнения от сообщества
Программа Неофициальная компиляция из последних исходников 4.10.0 r4499 от 12.01.2025
Microsoft SDK для самостоятельной компиляции AkelPad и плагинов
NSIS 3.xx для самостоятельной компиляции AkelUpdater    
Плагины FileDialog: Диалог открытия файлов. Подробнее... Автор: dothen. Скачать: 1.1    
Help: вызов справки с поиском выделенного текста (альт. к ChmKeyword.js). Подробнее: 1, 2, видео. Автор: AZJIO. Скачать: плаг (или утилита)    
SpellCheck: проверка орфографии на движке Hunspell. Подробнее... Автор: random6_2020. Скачать: x64 (1.3.0.4) | x86 (1.3.0.5) | исходники    
TabBar: вкладки: кнопка закрытия, выделение активной. Подробнее... Автор: dothen. Скачать: 1.1, 1.2, 1.3, 1.4.    
TagsView: разбор исходного кода при помощи ctags. Подробнее: akelpad.sf.net | github. Автор: DV. Скачать: 0.5b github | sf.net    
Скрипты akelpad.sf.net | Infocatcher :: github | DV :: github | AZJIO | Andrey_A_A    
Синтаксические файлы • подборки: Lenchik & Drugmix & Skif_off | cuprum | Infocatcher :: github | VladSh | Andrey_A_A    
единым списком по расширениям (включая авторские)    
Утилиты ShellExt: пункт в контекстное меню проводника. Подробнее... Автор: Ralph Shane. Скачать: 4.8.3.0    
AnotherFileNearby: создание слепка редактируемого файла. Подробнее... Автор: AZJIO. Скачать: YaD    
Цветовые темы Atom One Dark Pro    
Сборки местная коллекция    
в составе сборок часто содержатся скрипты и синтаксические файлы, не имеющие самостоятельных ссылок, и потому не перечисленные в шапке

Помощь
Справка из исходников | FAQ 1 | FAQ 2
Справка от AZJIO
Coder-файл: справочные комментарии на русском языке
Установка AkelPad 4 на Windоws 7 с заменой Блокнота Windows

Всего записей: 7932 | Зарегистр. 18-02-2006 | Отправлено: 22:03 10-07-2017 | Исправлено: yozhic, 16:10 04-02-2025
AZJIO



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Andrea
Я говорю про txt общего значения а не про программные. Открыли файл Readme.txt или лицензию, в принципе ранее озвученная подсветка не мешает чтению и форматирует текст так как вы его и хотели бы читать, но если вместо этого текст пестрит выделением ошибок, его уже неприятно читать, он как реклама навязывает вам обратить внимание на ошибки, а не на смысл.
Попробовал я сделать рег.выры на ошибки

Код:
QuotesRE:
; ошибки
; повтор 3-х одинаковых букв подряд
0    "(\w)\1\1"        "\0=(0,#ff8080,0)"
; неправильная запятая
0    "[а-яё]+ [,.;:][а-яё]+"    "\0=(0,#ff8080,0)"
; повтор слова
0    "([А-яЁё]+)[\t ]+\1"    "\0=(0,#ff8080,0)"
; незаглавная после точки
0    "(?-i)\. [а-яё]+"    "\0=(0,#ff8080,0)"
; пробелы в конце строкк
0    "[\t ]+(?=\n)"    "\0=(0,0,#ff8080)"
но почему то рег.выр. "повтор 3-х одинаковых букв подряд" работает только если буквы в начале слова, хотя сам рег.выр. этого не подразумевает.
 
Но это подсветить ошибки при наборе текста. Я обычно чтобы не терять мысль сначала пишу много текста, несколько страниц даже, а потом рег.вырами получаю список ошибок и прыгаю в ней для исправления, а не просматриваю текст простынёй, поиск эффективней, не вычитывая лишнее сразу к месту ошибки.

Всего записей: 4579 | Зарегистр. 03-05-2006 | Отправлено: 00:51 28-05-2020 | Исправлено: AZJIO, 01:11 28-05-2020
Andrea



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
opk44
В оригинальном файле в разделе "Delimiters:" есть строка
Код:
1    0    0    0    "    "
Я просто добавил в "Color bkgrnd" вместо нуля ${AREA}
PS. Там табы не только между кавычками, но и между всеми значениями.
Кстати, там есть ещё строка
Код:
1    0    0    0    " "
Может, и в ней что-нить "подкрасить"?

Всего записей: 1234 | Зарегистр. 24-12-2015 | Отправлено: 01:13 28-05-2020 | Исправлено: Andrea, 01:26 28-05-2020
AZJIO



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Andrea
табы разделяют параметры, иногда 2 таба, чтобы не сливались параметры, и надёжно визуально отделялись.
таб внутри кавычек - используемый таб определяемый в секции разделитель, другая строка с пробелом. Всё нормально, они разделяют слова.

Всего записей: 4579 | Зарегистр. 03-05-2006 | Отправлено: 01:23 28-05-2020
Andrea



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
AZJIO

Цитата:
навязывает вам обратить внимание на ошибки, а не на смысл

Согласен. Но пока всё-таки оставлю, как сейчас создал. И мне понравилось. Позже по вкусу откорректирую цвета. А если подсвеченные ошибки будут отвлекать, можно на время чтения просто отключить синтаксическую тему - тоже ведь верно? К тому же, любой текст для прочтения можно открыть в Notepad-е

Всего записей: 1234 | Зарегистр. 24-12-2015 | Отправлено: 01:34 28-05-2020 | Исправлено: Andrea, 01:39 28-05-2020
opk44

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
1. Andrea

Цитата:
Кстати, там есть ещё строка
Код:
1    0    0    0    " "
Может, и в ней что-нить "подкрасить"?
Красить ВСЕ пробелы? Оригинальное решение. Думаю мир к этому ещё не готов
 
2. AZJIO
приведенный вами кусок "QuotesRE:" наверняка не полный. У меня он (повтор 3-х одинаковых букв) конфликтует с общим правилом `([0-9]+)|([A-Za-z]+)|([А-Яа-яЁё]+)`

Всего записей: 173 | Зарегистр. 16-01-2020 | Отправлено: 01:37 28-05-2020
Andrea



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
opk44
Спасибо за помощь - всё работает, как и представлял себе. Теперь буду знать, что та строка отвечает за все пробелы, имеющиеся в тексте (но их выделять конечно не буду)

Всего записей: 1234 | Зарегистр. 24-12-2015 | Отправлено: 01:49 28-05-2020 | Исправлено: Andrea, 02:01 28-05-2020
AZJIO



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
opk44
Понятно что конфликтует, если поставить строки ошибок первыми, то подсветятся ошибки, а когда они будут исправлены, то подсветятся последующими рег.вырами. Причём я добавлял "+" чтобы слово с ошибками подсветилось всё, а не сама запятая, которая будет не заметна.

Всего записей: 4579 | Зарегистр. 03-05-2006 | Отправлено: 06:44 28-05-2020 | Исправлено: AZJIO, 06:45 28-05-2020
sikemo

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
хотел вызвать Insert.js просит FuncionSave.js (что на станд. установке, что с посл. копией распакованных плагинов)

Всего записей: 1330 | Зарегистр. 27-11-2008 | Отправлено: 13:52 28-05-2020
opk44

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
sikemo
Убедитесь, что вы используете СТАНДАРТНЫЙ Insert.js. Данный скрипт не содержит никаких вызовов сторонних скриптов. Соответственно, ничего "не просит".

Всего записей: 173 | Зарегистр. 16-01-2020 | Отправлено: 15:15 28-05-2020
Andrea



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
opk44
Решил несколько разнообразить подсветку имеющихся в тексте (в любом количестве) табов. Чтобы табы подкрашивались одним цветом, а пробелы (если их свыше одного между словами/предложениями, и если они присутствуют в началах/концах строк) - другим. Добавил в [txt.coder] ещё одно правило
Код:
1    `([\t])`                `\1=(0,0,${STR})`
Сначала подумал, что это можно сделать в разделе "Delimiters:", но установка в "Delimiters:" для табов иного цвета ничего не изменила - и табы, и пробелы всё равно выделялись одним цветом. Делал путём проб и ошибок - не знаю, верно ли написал правило и в том ли месте его расположил? Заметил, что это правило работало по-разному в зависимости от местоположения в разделе "QuotesRE:" строки с ним (пользуюсь версией 4.9.8 x32 AkelPad)

Всего записей: 1234 | Зарегистр. 24-12-2015 | Отправлено: 14:09 30-05-2020 | Исправлено: Andrea, 15:13 30-05-2020
opk44

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Andrea
1. По одной строчке нельзя с уверенностью сказать, что там у вас происходит. Предполагаю, что у вас осталось неизменённым правило в "QuotesRE:", содержащее спецсимвол "\s" (эквивалентно '[ \f\n\r\t\v]'.). Чтобы отделить пробелы от табуляторов в "QuotesRE:" замените "\s" в [\s] на простой пробел [ ]. Правило окраски табулятора оставьте в секции "Delimiters:"
Код:
...
QuotesRE:
1    `(^[ ]+)|([ ]{2,})|([ ]+$)`             `\1=(0,0,${AREA}) \2=(0,0,${AREA}) \3=(0,0,${AREA})`
...  
"Delimiters:"
1    0    0    ${STR}    "    "
...  
2. Замена "\s" на пробел будет иметь и, как минимум, одно негативное последствие - сочетание "пробел+табулятор"/"табулятор+пробел" уже не будет считаться двойным "пробелом" и перестанет подсвечиваться как единая лакуна.

Всего записей: 173 | Зарегистр. 16-01-2020 | Отправлено: 16:35 30-05-2020 | Исправлено: opk44, 16:37 30-05-2020
AZJIO



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Andrea
1. в "Delimiters:" не поддреживаются рег.выр., то есть там [\t] писать нельзя, да и вообще если в наборе [\t] один симол, он не записывается как набор, а просто как \t
2. Можно подсвечивать внутри подсвеченного, тогда внутри 2-ых пробел-табов можно выделить табы.

Всего записей: 4579 | Зарегистр. 03-05-2006 | Отправлено: 17:17 30-05-2020
Andrea



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
opk44
Вероятно, остановлюсь на предложенном вами варианте. Сейчас лакуна прерывается, только если после таба идёт один пробел, а затем снова таб (или слово); или если после одного пробела идёт таб. Но если пробелов два и больше - не прерывается, и подсвечивается разными цветами сплошной лакуной
AZJIO

Цитата:
в "Delimiters:" не поддреживаются рег.выр., то есть там [\t] писать нельзя

Я писал [\t] или [\t+] в разделе "QuotesRE:" в новой строке
Код:
QuotesRE:
;================================================================================================================
;Flags  Pattern                              \BackRef=(FontStyle,ColorText,ColorBk) \BackRef=...  ParentID RuleID
;================================================================================================================
1    `([0-9]+)|([A-Za-z]+)|([А-Яа-яЁё]+)`    `\1=(0,${HighLight_AutoMarkTextColor},0) \2=(0,${VAR},0) \3=(0,${HighLight_AutoMarkTextColor},0)`
1    `([\t])`                `\1=(0,0,${AREA})`
1    `(^[\s]+)|([\s]{2,})|([\s]+$)`        `\1=(0,0,${STR}) \2=(0,0,${STR}) \3=(0,0,${STR})`
Тоже работало, но несколько иначе, чем сейчас
 
Добавлено:

Цитата:
Можно подсвечивать внутри подсвеченного, тогда внутри 2-ых пробел-табов можно выделить табы

Каким образом?

Всего записей: 1234 | Зарегистр. 24-12-2015 | Отправлено: 18:27 30-05-2020 | Исправлено: Andrea, 18:53 30-05-2020
AZJIO



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Andrea

Код:
1 `(^[\t ]+)|([\t ]{2,})|([\t ]+$)`        `\1=(0,0,#ff8080) \2=(0,0,#ff8080) \3=(0,0,#ff8080)` 0    2
1    "\t+"        "\0=(0,0,#8080ff)"    2

там где 2 может стоять любое число. Если хоть раз использовал правило 2, то другое правило надо уже обзывать 3, потом 4 и т.д. А вторая строка там 2 указывает родителя, то есть для заданного правила, таких строк может быть несколько, все они будут подсвечивать в правиле 2. Ну и конечно дочерние должны быть после родительских, то есть правило определяется выше.

Всего записей: 4579 | Зарегистр. 03-05-2006 | Отправлено: 06:12 31-05-2020 | Исправлено: AZJIO, 06:34 31-05-2020
Andrea



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
AZJIO
По этому коду, который вы привели (я его скопировал его, как есть), всё работает просто замечательно за исключением лишь одного - если между словами/предложениями имеется только один таб, то подсветки в том месте нет. В остальном всё прекрасно - и лакуна непрерывная, и табы/пробелы чётко разделяются цветами.
 
Добавлено:
AZJIO
Указал в разделе "Delimiters:" для 'Color bkgrnd' значение цвета
Код:
1    0    0    #8080ff    "    "
Теперь всё отлично - недостатков нет! Осталось только подкорректировать все оттенки по вкусу

Всего записей: 1234 | Зарегистр. 24-12-2015 | Отправлено: 12:56 31-05-2020 | Исправлено: Andrea, 13:17 31-05-2020
AZJIO



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Andrea

Цитата:
за исключением лишь одного - если между словами/предложениями имеется только один таб
Это соответствует логике, ведь первый рег.выр. захватывает только 2 символа, соответственно одиночный таб не захватывает. Можно либо добавить условие в регвыр, либо как у вас в "Delimiters:" (всё верно).
 
есть ещё фича. Допустим надо включить синтаксическую тему для определённых txt-файлов. Вот пример:

Код:
Folds:
3145733    0    0    0    "\A(?=.*SEPARATOR)"    "\Z"    ""    0    0    "alias:.akelmenu"

если в txt-файле найдено слово SEPARATOR, то включаем подсветку с именем кодера .akelmenu
То есть можно txt-файл подсветить по содержимому, изменить подсветку взависимости от содержимого.

Всего записей: 4579 | Зарегистр. 03-05-2006 | Отправлено: 15:57 31-05-2020 | Исправлено: AZJIO, 16:11 31-05-2020
Andrea



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Arhaall

Цитата:
А разве не проще 1 раз скрипт Инструктора запустить который все подобные случаи в тексте исправит?  

Как называется этот скрипт? И он разве может исправить (или хотя бы обнаружить), к примеру, русскую букву "о", ошибочно вставленную в слово на английском языке вместо английской "o"? Некоторые кириллические и латинские знаки без подсветки визуально отличить невозможно

Всего записей: 1234 | Зарегистр. 24-12-2015 | Отправлено: 19:35 01-06-2020 | Исправлено: Andrea, 21:11 01-06-2020
AZJIO



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Andrea

 

Код:
[a-z](?=[а-яё])|(?<=[а-яё])[a-z]
или наоборот
Код:
[а-яё](?=[a-z])|(?<=[a-z])[а-яё]

Всего записей: 4579 | Зарегистр. 03-05-2006 | Отправлено: 22:06 01-06-2020 | Исправлено: AZJIO, 22:09 01-06-2020
opk44

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Andrea

Цитата:
Как называется этот скрипт? И он разве может исправить (или хотя бы обнаружить), к примеру, русскую букву "о", ошибочно вставленную в слово на английском языке вместо английской "o"? Некоторые кириллические и латинские знаки без подсветки визуально отличить невозможно
1. Не представляю о каком именно скрипте шла речь.  
2. Возможно имеется в виду следующий приём, который используется со скриптом "SearchReplace.js" ("Поиск/замена с использованием регулярных выражений").:  
Что:
Код:
[aceknopuxyABCEHKMOPTXY]
Чем:
Код:
return ("асекпорихуАВСЕНКМОРТХУ".charAt("aceknopuxyABCEHKMOPTXY".indexOf($0)));
Опции поиска:  
  • Регулярные выражения
  • Заменять на функцию
     
    Ищется набор латинских символов, визуально схожих с кириллическими символами. Производится замена символ-->символ по индексу.  
     
    Сфера применения: черновая обработка очень скверно распознанных сканов (OCR), либо обработка специально испорченных текстов (подготовленных некоторыми детьми-"копирайтерами" для обхода системы "антиплагиата").

  • Всего записей: 173 | Зарегистр. 16-01-2020 | Отправлено: 02:01 02-06-2020 | Исправлено: opk44, 02:02 02-06-2020
    Arhaall



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

    Цитата:
    Как называется этот скрипт? И он разве может исправить (или хотя бы обнаружить), к примеру, русскую букву "о", ошибочно вставленную в слово на английском языке вместо английской "o"? Некоторые кириллические и латинские знаки без подсветки визуально отличить невозможно

    Скрипт Keyboard.js на форуме скриптов. Он не "может", он находит и исправляет, причем как в одну, так и в другую сторону. Еще нечто подобное умеет скрипт ReplaceEngRusLettersInWords.vbs от Аверина.
    P.S. Можете взять из моей сборки - в ней есть оба скрипта.

    Всего записей: 237 | Зарегистр. 22-02-2018 | Отправлено: 02:32 02-06-2020 | Исправлено: Arhaall, 02:33 02-06-2020
    Открыть новую тему     Написать ответ в эту тему

    Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157

    Компьютерный форум Ru.Board » Компьютеры » Программы » AkelPad (часть 2)


    Реклама на форуме Ru.Board.

    Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
    Modified by Ru.B0ard
    © Ru.B0ard 2000-2025

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru