Ru-Board.club
← Вернуться в раздел «Программы»

» AkelPad

Автор: YuS_2
Дата сообщения: 12.02.2016 00:00
Skif_off

Цитата:
сам вношу правки в дефолтные (не агитирую, это не очень удобно - плагин приходиться обновлять вручную).

Можно и апдейтером, только необходимо выключить .coder файлы из распаковки...
Подробности тут
Автор: coherent
Дата сообщения: 12.02.2016 15:19
Skif_off

Цитата:
Если вы используете кеш, то откройте его (AkelFiles\Plugs\Coder\cache) и посмотрите в нём порядок записи coder-файлов, в таком порядке и идёт проверка.

Понятно! AkelPad обрабатывает список coder-файлов по алфавиту. А в секции Files конкретного coder-файла расширения можно расположить в нужном порядке.


Цитата:
у меня для файлов *.cfg используется ini.coder

У вас какой-то свой ini.coder? Или это файл от Merak, в который добавлены расширения *.cfg и *.conf?

Автор: Skif_off
Дата сообщения: 12.02.2016 18:21
coherent

Цитата:
AkelPad обрабатывает список coder-файлов по алфавиту.

Да, поэтому при необходимости можно добиться нужного порядка простым переименованием.

Цитата:
А в секции Files конкретного coder-файла расширения можно расположить в нужном порядке.

Нет, это бессмысленно: порядок в секции не важет, т.к. любое из расширений конкретного coder-файла всё равно подсвечивается этим coder-файлом.

Цитата:
это файл от Merak

[more=С небольшими правками]В Files добавлены

Код: *.bar
*.cfg
*.conf
*.inc
*.lang
*.lng
Автор: coherent
Дата сообщения: 12.02.2016 18:26
Skif_off

Цитата:
порядок в секции не важет, т.к. любое из расширений конкретного coder-файла всё равно подсвечивается этим coder-файлом.

Действительно, я ступил.


Цитата:
С небольшими правками

Попробую, спасибо!
Автор: Kiril777
Дата сообщения: 13.02.2016 04:09
Есть файлик и при его открытии AkelPad 4.9.6 слегка подвисает, более старый нормально отрабатывает. Можно этот момент поправить в новом AkelPad как-то?
Спасибо.
Автор: gyra
Дата сообщения: 13.02.2016 06:53
Kiril777
Цитата:
Можно этот момент поправить в новом AkelPad
Последний релиз - AkelPad 4.9.7, открывает нормально.

Автор: Aleks431
Дата сообщения: 13.02.2016 09:19
У меня с Symantec только 4.9.4 из последних открывается быстро.
Автор: Skif_off
Дата сообщения: 13.02.2016 13:11
Kiril777
Вы используете txt.coder? И если да, то какой? Или, если нет, какой-нибудь назначен coder-файлом по умолчанию?

Добавлено:
P.S. 4.9.8 открывает нормально, антивирусника нет, проактивка Comodo 5.12 в параноидальном режиме.
Автор: Kiril777
Дата сообщения: 13.02.2016 15:01
Skif_off
а где и как мне это посмотреть и где настроить?
Автор: coherent
Дата сообщения: 13.02.2016 15:15
Помогите, пожалуйста, с регулярными выражениями.

1. Как объединить такие два правила в одно, если такое возможно?
([\({\[])( )+ -> $1 (удалить пробелы после скобок)
( )+([\)}\]]) -> $2 (удалить пробелы перед скобками)
Чтобы сразу удалялись пробелы после и перед скобками.

2. Как заменить правило
(\n\n)\n+ -> $1    (удалить более одной пустой строки)
на такое же (с той же функцией), только с использованием \r\n вместо \n?
Автор: Skif_off
Дата сообщения: 13.02.2016 15:21
Kiril777
Посмотреть, есть ли файл txt.coder в \AkelFiles\Plugs\Coder.
Если нет, открыть файл cache в \AkelFiles\Plugs\Coder и посмотреть, не привязано ли расширение *.txt к какому-нибудь coder-файлу?
В меню Настройки/Плагины, двойной клик по Coder::Settings: на первой вкладке настроек внизу Псевдоним для неизвестного файла - стоит ли галочка и что в поле, если да?

Добавлено:
coherent
1. Фигурную скобку тоже нужно экранировать.
Может быть, так попробовать

Код: ((?<=[\(\{\[])( )++)|(( )++(?=[\)\}\]]))
Автор: Kiril777
Дата сообщения: 13.02.2016 15:41
Skif_off 23:21 13-02-2016
Цитата:
Посмотреть, есть ли файл txt.coder в \AkelFiles\Plugs\Coder.

Нет.

Цитата:
Если нет, открыть файл cache в \AkelFiles\Plugs\Coder и посмотреть, не привязано ли расширение *.txt к какому-нибудь coder-файлу?


Код: 1s.coder=8F494A0001D1186A:"*.1s" "*.1c" "*.1с" "*epf_ Модуль объекта.txt" "*epf_ Форма.txt"
Автор: coherent
Дата сообщения: 13.02.2016 15:42
Skif_off
1. Синтаксическая ошибка в регулярном выражении.
2. Неизвестный числовой показатель
Автор: Skif_off
Дата сообщения: 13.02.2016 16:00
Kiril777
Тогда у меня идей нет, предположил, что из-за длинных строк какое-то из правил в файле подсветки может добавить тормозов.

coherent
В родном диалоге поиска/замены работает. У вас какой-то скрипт? Можно попробовать заменить "++" на "+".
Автор: coherent
Дата сообщения: 13.02.2016 18:36
Skif_off

Цитата:
В родном диалоге поиска/замены работает.

В родном выдает "Количество замен 0". А с SearchReplace.js с "++" ошибка "Неизвестный числовой показатель", а с "+" "Количество замен 0".
А вообще то, я хотел использовать правила с Multi_SR.js.
Автор: Skif_off
Дата сообщения: 13.02.2016 19:05
coherent

Цитата:
В родном выдает "Количество замен 0"

Версия AkelPad финальная и галочка "Регулярные выражения" стоит?

Цитата:
А с SearchReplace.js

В JScript вроде не работают lookahead'ы.
Попробуйте так:

Код: -"" Call("Scripts::Main", 1, "EvalCmd.js", `AkelPad.TextReplace(0, "((?<=[\\(\\{\\[])( )+)|(( )+(?=[\\)\\}\\]]))", "", 0x00280001 /*FRF_DOWN|FRF_REGEXP|FRF_BEGINNING*/, 1);`)
Автор: coherent
Дата сообщения: 13.02.2016 19:24
Skif_off

Цитата:
Попробуйте так:

Так работает. А с Multi_SR.js никак не будет работать?


Цитата:
У меня давно добавлен и работает такой запуск

Я извиняюсь. С Multi_SR.js у меня тоже такой пункт работает. Это я для себя хотел разобраться, правило "(\n\n)\n+" "$1" добавить в Functions.vbs в функцию TextFormat(sText, Number) для работы совместно со скриптом TextFormat.vbs. Но такая конструкция там не работает. Но по аналогии, там для удаления пустых строк используется конструкция "([\r\n])+", "$1", а конструкция без \r, типа, "([\n])+", "$1" не работает.


Цитата:
Версия AkelPad финальная и галочка "Регулярные выражения" стоит?

Да.
Автор: Skif_off
Дата сообщения: 13.02.2016 19:35
coherent
Странно, у меня в родном диалоге поиска/замены всё работает.

Цитата:
добавить в Functions.vbs в функцию TextFormat(sText, Number)

Добавьте по аналогии

Код: Case 16
sText = RegExpReplace(sText, "([\(\{\[])( )+", "$1", 1, 0, 1)
sText = RegExpReplace(sText, "( )+([\)\}\]])", "$2", 1, 0, 1)
Автор: coherent
Дата сообщения: 13.02.2016 19:52
Skif_off

Цитата:
sText = RegExpReplace(sText, "(\r\n\r\n)(\r\n)+", "$1", 1, 0, 1)

Добавил с соответствующими изменениями в TextFormat.vbs, не работает - ничего не происходит.
Автор: Skif_off
Дата сообщения: 13.02.2016 20:07
coherent
Залез сам ) В VBScript не силён, так вроде работает:

Код: Case 16
sText = RegExpReplace(sText, "([\({\[])( )+", "$1", 1, 0, 1)
sText = RegExpReplace(sText, "( )+([\)}\]])", "$2", 1, 0, 1)
sText = RegExpReplace(sText, "(\r\r)\r+", "$1", 1, 0, 1)
Автор: coherent
Дата сообщения: 13.02.2016 23:08
Skif_off

Цитата:
sText = RegExpReplace(sText, "(\r\r)\r+", "$1", 1, 0, 1)

Так работает, спасибо!


Цитата:
В InsertPlus.vbs у вас Код:     Case 217 T = .GetSelText : If Len(T) = 0 Then : T = .GetTextRange(0, -1) : End If : T = PreTextFormat(T, "16") : .SetSel 0, -1 : U = 1

В InsertPlus.vbs у меня последний Case 216. И приведенной строки нет вообще. Разве этот скрипт имеет отношение к рассматриваемым?

Я изначально не сформулировал собственно задачу. Сечас я использую два скрипта (вернее три) TextFormat.vbs + Functions.vbs и Multi_SR.js для всяких замен. Но хочу перейти на один - Multi_SR.js, поскольку в нем прямо (без правки самого скрипта) в виде параметров задаются соответствующие правила. А в случае TextFormat.vbs + Functions.vbs, чтобы добавить новое правило, нужно вносить исправления в оба скрипта. Но оказалось, что не все конструкции из Functions.vbs (Function TextFormat(sText, Number)) прямо работают в Multi_SR.js. Как-то так...
Автор: Skif_off
Дата сообщения: 14.02.2016 00:49
coherent

Цитата:
В InsertPlus.vbs у меня последний Case 216. И приведенной строки нет вообще. Разве этот скрипт имеет отношение к рассматриваемым?

Ступил, вы правите TextFormat.vbs, а я - InsertPlus.vbs, но это неважно, т.к. функция TextFormat() зовётся из Functions.vbs.
Такой вариант не подходит

Код: -"" Call("Scripts::Main", 1, "EvalCmd.js", `AkelPad.TextReplace(0, "((?<=[\\(\\{\\[])( )+)|(( )+(?=[\\)\\}\\]]))", "", 0x00280001 /*FRF_DOWN|FRF_REGEXP|FRF_BEGINNING*/, 1);`)
Автор: coherent
Дата сообщения: 14.02.2016 15:57
Skif_off

Цитата:
Такой вариант не подходит Код: -"" Call("Scripts::Main", 1, "EvalCmd.js", `AkelPad.TextReplace(0, "((?<=[\\(\\{\\[])( )+)|(( )+(?=[\\)\\}\\]]))", "", 0x00280001 /*FRF_DOWN|FRF_REGEXP|FRF_BEGINNING*/, 1);`)

Я же писал, что такой вариант работает. Единственное, скрипты TextFormat.vbs и Multi_SR.js позволяют с одним пунктом в меню работать и с выделенным и со всем текстом. А тут для выделенного нужен отдельный пункт. Если я правильно понимаю.


Цитата:
Лучше взять, например, книгу Фридл - Регулярные выражения - 2008 и изучать регулярные выражения

Изчать, конечно, не помешало бы... Спасибо за ссылку. Как-то я, когда гуглил, про книги не подумал...

Добавлено:
Хочу еще уточнить насчет [more=ini.coder-а]
Должно получиться так:

Files:
;==========
;File types
;==========
*.bar
*.cfg
*.conf
*.inc
*.inf
*.ini
*.ipr
*.lang
*.lng
*.pls
*.properties
*.reg
*.url

Quotes:
;===================================================================================
;Flags Font Color Color Quote Quote Escape Quote Quote Parent Rule
; style text bkgrnd start end char include exclude ID ID
;===================================================================================
517    2    ${DEL1}    0    "[-" "]"    ""     ""    ""     0    0
;517=1+4+512
517    2    0    0    "["    "]"    ""    ""    ""    0    0
517    2    0    0    "{" "}"    ""    ""    ""    0    0
;513=1+512
513    3    ${COMM}    0    ";"    ""    ""    ""    ""    0    0
;513=1+512
513    3    ${COMM}    0    "#"    ""    ""    ""    ""    0    0
;773=1+4+256+512
773    0    ${OP}    0    ""    "="    ""    ""    ""    0    0


QuotesRE:
;===========================================================================================
;Flags Pattern \BackRef=(FontStyle,ColorText,ColorBk) \BackRef=... ParentID RuleID
;===========================================================================================
1    "(?<=[ \t])(;[^\r\n]++)"    "\0=(3,${COMM},0)"    0    0


Folds:
;===========================================================================
;Flags Font Color Color Fold Fold Deli Parent Rule Rule
; style text bkgrnd start end miters ID ID file
;===========================================================================
;173=1+4+8+32+128
173    0    0    0    "[" "[" "" 0    0
173    0    0    0    "{" "{" ""     0    0

А все остальное без изменений?
[/more], потому что сталкивался с таким, что говорится вроде об одном, а потом оказывается, что понимается не совсем так или файл не тот и т.д....
Автор: Skif_off
Дата сообщения: 14.02.2016 17:54
coherent

Цитата:
скрипты TextFormat.vbs и Multi_SR.js позволяют с одним пунктом в меню работать и с выделенным и со всем текстом. А тут для выделенного нужен отдельный пункт.

В общем да.
Можно попробовать для выделения

Код: -"" Call("Scripts::Main", 1, "EvalCmd.js", `AkelPad.TextReplace(0, "((?<=[\\(\\{\\[])( )+)|(( )+(?=[\\)\\}\\]]))", "", 0x00480001 /*FRF_DOWN|FRF_REGEXP|FRF_SELECTION*/, 1);`)
Автор: coherent
Дата сообщения: 14.02.2016 18:20
Skif_off

Цитата:
Да, только *.bar и *.inc - это файлы Total Commander, не знаю, нужны ли вам.

Да куда ж без Total Commander. И думаю по ходу утрясется, что надо, а что нет. Имею в виду вообще coder-файлы.

Интересует такой момент. Вы заглядывали в Functions.vbs. Как в функции TextFormat(sText, Number) задать в "чем заменить" символ табуляции? Типа:

заменить пробел на табуляцию
sText = RegExpReplace(sText, " ", "/t", 1, 0, 1)
Так пробел тупо меняется на /t, а не Таб. Т.е. не воспринимается как символ табуляции.
Надо вставлять не "/t", а vbTab или Chr(9) без кавычек.
Автор: sikemo
Дата сообщения: 15.02.2016 22:20
Win XP, сабж последний.
При вызове MergeDocuments в последнее время наччал (в конце, перед віводом итогового дока) Select template (с фокусом на <Empty>). Как пофиксить?
Автор: Skif_off
Дата сообщения: 15.02.2016 22:50
sikemo
У вас включен плагин Templates, либо отключить, либо (Instructor давненько не появлялся) в скрипте \AkelFiles\Plugs\Scripts\MergeDocuments.js после строки //Variables заменить всё на

Код: var hMainWnd=AkelPad.GetMainWnd();
var pText="";
var nIndex=0;
var bRunning=AkelPad.IsPluginRunning("Templates::Main");

while (lpFrame=AkelPad.SendMessage(hMainWnd, 1288 /*AKD_FRAMEFIND*/, 8 /*FWF_BYTABINDEX*/, nIndex++))
{
AkelPad.SendMessage(hMainWnd, 1285 /*AKD_FRAMEACTIVATE*/, 0, lpFrame);
pText+=AkelPad.GetTextRange(0, -1);
if (pDelim) pText+=pDelim;
}
if (pText)
{
if (bRunning)
AkelPad.Call("Templates::Main");
AkelPad.Command(4101 /*IDM_FILE_NEW*/);
if (bRunning)
AkelPad.Call("Templates::Main");
AkelPad.ReplaceSel(pText);
//AkelPad.Command(4106 /*IDM_FILE_SAVEAS*/);
}
Автор: sikemo
Дата сообщения: 17.02.2016 00:09
первый вариант помог.

во втором предлагает SAVEAS
Автор: Skif_off
Дата сообщения: 17.02.2016 01:10
sikemo
Мой недосмотр: почему-то у меня команда сохранения не была закомментирована.
Исправил предыдущее сообщение.
Автор: coherent
Дата сообщения: 17.02.2016 14:52
Подскажите, пожалуйста, можно ли увеличить число файлов, отображаемых в списке последних файлов? Сейчас их 10, а увеличить, например, до 20?

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124

Предыдущая тема: SurfControl E-mail Filter for Exchange 2000/3


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.