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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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

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

gyra

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

Последний релиз: 4.9.8 от 18 июля 2016


Скачать
Программа 4.9.8 многоязычный инсталлятор: x86 | x64; zip русской версии: x86 | x64; zip английской версии: x86 | x64    
Плагины полный авторский комплект: x86 | x64    
Скрипты авторская подборка: Instructor | KDJ | VladSh | Infocatcher    
Синтаксические файлы авторские дополнения к комплектным: akelpad.sf.net    
Шрифты авторская модификация для использования с плагином Fonts.dll: akelpad.sf.net    
Обновления авторская утилита AkelUpdater v6.8

Дополнения от сообщества
Программа Неофициальная компиляция из последних исходников 4.9.9 r4435 от 13.11.2023    
Плагины SpellCheck: проверка орфографии на движке Hunspell, подробнее. Автор: random6_2020. Скачать: x64 (1.3.0.4) | x86 (1.3.0.5) | исходники    
TagsView: разбор исходного кода при помощи ctags, подробнее: akelpad.sf.net | github. Автор: DV. Скачать: 0.5b github | sf.net    
Скрипты akelpad.sf.net | Infocatcher :: github | DV :: github | AZJIO | Andrey_A_A    
Синтаксические файлы • подборки: Lenchik & Skif_off | cuprum | Infocatcher :: github | VladSh | Andrey_A_A    
единым списком по расширениям (включая авторские)    
Утилиты ShellExt: пункт в контекстное меню проводника, подробнее. Автор: Ralph Shane. Скачать: 4.8.3.0    
Help: вызов справки с поиском выделенного текста, подробнее. Автор: AZJIO. Скачать: YaD    
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, 13:27 20-02-2024
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-х одинаковых букв подряд" работает только если буквы в начале слова, хотя сам рег.выр. этого не подразумевает.
 
Но это подсветить ошибки при наборе текста. Я обычно чтобы не терять мысль сначала пишу много текста, несколько страниц даже, а потом рег.вырами получаю список ошибок и прыгаю в ней для исправления, а не просматриваю текст простынёй, поиск эффективней, не вычитывая лишнее сразу к месту ошибки.

Всего записей: 4407 | Зарегистр. 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    " "
Может, и в ней что-нить "подкрасить"?

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



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

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



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

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

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

Всего записей: 1087 | Зарегистр. 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
Спасибо за помощь - всё работает, как и представлял себе. Теперь буду знать, что та строка отвечает за все пробелы, имеющиеся в тексте (но их выделять конечно не буду)

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



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

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

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

Всего записей: 1326 | Зарегистр. 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)

Всего записей: 1087 | Зарегистр. 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-ых пробел-табов можно выделить табы.

Всего записей: 4407 | Зарегистр. 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-ых пробел-табов можно выделить табы

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

Всего записей: 1087 | Зарегистр. 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. Ну и конечно дочерние должны быть после родительских, то есть правило определяется выше.

Всего записей: 4407 | Зарегистр. 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    "    "
Теперь всё отлично - недостатков нет! Осталось только подкорректировать все оттенки по вкусу

Всего записей: 1087 | Зарегистр. 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-файл подсветить по содержимому, изменить подсветку взависимости от содержимого.

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



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

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

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

Всего записей: 1087 | Зарегистр. 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])[а-яё]

Всего записей: 4407 | Зарегистр. 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. Можете взять из моей сборки - в ней есть оба скрипта.

    Всего записей: 229 | Зарегистр. 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

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


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

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

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru