Scripts discussion (3)

Discuss and announce AkelPad plugins
Locked
  • Author
  • Message
Offline
Posts: 1161
Joined: Sun Oct 20, 2013 11:44 am

Post by Skif_off »

Или лучше просить Instructor доработать ключ -OpenBinary в OpenSaveMask.js дабы не множить сущности?

Offline
Site Admin
Posts: 6311
Joined: Thu Jul 06, 2006 7:20 am

Post by Instructor »

Skif_off
Реализовано. Будет доступно после релиза 4.9.1.

Offline
Posts: 1161
Joined: Sun Oct 20, 2013 11:44 am

Post by Skif_off »

Instructor
Не совсем понял, что конкретно :) OpenSaveMask.js?

Offline
Posts: 171
Joined: Thu Dec 01, 2011 11:15 pm
Location: Россия

Post by LonerD »

Instructor
Спасибо за скрипт SmartPaste.js.
Просьба внести дополнение (опциональное, например, в виде доп. параметра), чтобы скрипт можно было повесить вместо стандартной команды 4155 на хоткей Ctrl+V.
Перед вставкой текста производить проверку места вставки.
Если текст вставляется в пустой строке (в том числе если в строке есть лидирующие пробелы и/или табуляции) - то скрипт будет отрабатывать так, как сейчас. А если текст вставляется где-то в середину/конец строки - то вставлять его как есть (выполнить команду 4155).

Offline
Site Admin
Posts: 6311
Joined: Thu Jul 06, 2006 7:20 am

Post by Instructor »

LonerD
Реализовано. Будет доступно после релиза 4.9.1.

Offline
Posts: 1862
Joined: Mon Aug 06, 2007 1:07 pm
Contact:

Post by Infocatcher »

LonerD wrote:Надеюсь, разрабатываемая версия будет доработана и (в частности) добавлена гибкая настройка разделителей в датах в параметрах, установка даты после имени файла (а не после первой точки).
Совсем закрутился... Сделал себе пометку, но ответить так и не собрался. :?

Для использования последней точки можно заменить

Code: Select all

var addVersionPattern = /(\.[^.\s_-]+)*$/;
на

Code: Select all

var addVersionPattern = /\.[^.\s_-]+$/;
А вот даты, к сожалению, напрямую в

Code: Select all

function dateToString(date, type) { ... }
формируются.

Offline
Posts: 582
Joined: Mon Apr 08, 2013 9:50 pm
Location: Win7SP1x64, APx64

Post by Drugmix »

Cuprum,
feature requset по поводу вашего скрипта autoInsertTab.js
а добавьте, пожалуйста, аргумент "fixOTB" или "forceAllman, при выставлении которого в "true" исправлялась бы "one true brace" (т.е. открывающая скобка идущая сразу после имени функции, а не на новой пустой строке) на Олмановский стиль оформления кода, т. е. чтобы эта скобка переносилась на новую строку.
Другими словами при нажатии Enter после

Code: Select all

	func{
становилось бы так:

Code: Select all

	func
	{
		%каретка%
	}

Offline
Posts: 670
Joined: Thu Jun 03, 2010 8:47 am
Location: Сочи, Хоста
Contact:

Post by Andrey_A_A »

KDJ, спасибо за проделанную работу!

Code: Select all

function GetLangStrings()
{
 if (AkelPad.GetLangId(0 /*LANGID_FULL*/) == 1049 /*Russian*/)
 {
    sTxtDlgTitle = 'TextMarker';
    //tabs
    sTxtMarkers  = 'Маркеры';
    sTxtCurMarks = 'Текущие';
    //header of list
    sTxtNameH       = 'Имя';
    sTxtTextColorH  = 'ЦветTекст';
    sTxtBkColorH    = 'ЦветФон';
    sTxtFontStyleH  = 'Шрифт';
    sTxtTextH       = 'Текст';
    sTxtCaseSensH   = 'Регистр';
    sTxtRegExpH     = 'РегВыр.';
    sTxtMarkIDH     = 'ID Метки';
    sTxtMarkerNameH = 'Имя маркера';
    //static controls and buttons
    sTxtTextColor = 'Цвет &текста:';
    sTxtBkColor   = 'Цвет &фона:';
    sTxtFontStyle = '&Стиль шрифта:';
    sTxtText      = 'Т&екст:';
    sTxtCaseSens  = '&Учитывать регистр';
    sTxtRegExp    = 'Регулярные выражения';
    sTxtNew       = '&Новый';
    sTxtRename    = '&Переимен.';
    sTxtDelete    = '&Удалить';
    sTxtMark      = '&Отметить';
    sTxtUnmark    = '&Снять метку';
    sTxtUnmarkAll = 'Снять &все';
    sTxtFindDown  = 'Поиск вниз';
    sTxtFindUp    = 'Поиск вверх';
    //font styles combobox
    sTxtIgnored    = 'игнорировать';
    sTxtNormal     = 'обычный';
    sTxtBold       = 'полужирный';
    sTxtItalic     = 'наклонный';
    sTxtBoldItalic = 'полуж.наклонный';
    //dialog New, Rename, Delete
    sTxtNewMarker  = 'Новый маркер';
    sTxtRenMarker  = 'Переименовать маркер';
    sTxtDelMarker  = 'Удалить маркер';
    sTxtName       = 'Имя:';
    sTxtNewName    = 'Новое имя:';
    sTxtReserved   = 'Это имя зарезервировано для выбранных текстовых меток.';
    sTxtExists     = 'Такое имя маркера уже существует.';
    sTxtWantDelete = 'Вы действительно хотите удалить этот маркер?';
    //error messages
    sErrTextColor = 'Неправильный код цвета текста.';
    sErrBkColor   = 'Неправильный код цвета фона.';
    sErrRegExp    = 'Ошибка в регулярном выражении.';
    //edit context menu
    sMnuUndo        = '&Отменить';
    sMnuRedo        = '&Повторить';
    sMnuCut         = 'Вырезать';
    sMnuCopy        = '&Копировать';
    sMnuPaste       = '&Вставить';
    sMnuDelete      = '&Удалить';
    sMnuSelectAll   = 'Выделить всё';
    sMnuInsertToAP  = 'Вставить в AkelPad';
    sMnuPasteFromAP = 'Вставить из AkelPad';
    //RegExp help
    sHlpAnyChar        = 'любой символ (точка)';
    sHlpSpecChars      = '()[]{}^$.?+*|\\ специальные символы';
    sHlpFF             = 'перевод страницы \\x0C';
    sHlpAnyNL          = 'перевод строки';
    sHlpTab            = 'табуляция \\x09';
    sHlpVTab           = 'вертикальная табуляция \\x0B';
    sHlpDigit          = 'цифра [0-9]';
    sHlpNonDigit       = 'не цифра [^0-9]';
    sHlpWhiteSp        = 'пробельный символ [ \\f\\n\\t\\v]';
    sHlpNonWhiteSp     = 'непробельный символ';
    sHlpWordChar       = 'словесный символ  (non-delimiter)';
    sHlpNonWordChar    = 'несловесный символ (delimiter)';
    sHlpCharHex        = 'символ - код в диапазоне 0-10FFFF';
    sHlpCharHex2       = 'символ - 2-значный код';
    sHlpCharHex4       = 'символ - 4-значный код';
    sHlpAlternative    = 'одна из альтернатив: ab либо xy';
    sHlpCharSet        = 'набор символов, нужен любой из них';
    sHlpNegCharSet     = 'исключающий набор символов';
    sHlpRange          = 'диапазон символов от a до z';
    sHlpNegRange       = 'исключающий диапазон';
    sHlpBeginLine      = 'начало строки';
    sHlpEndLine        = 'конец строки';
    sHlpBeginText      = 'начало документа';
    sHlpEndText        = 'конец документа';
    sHlpBeginRange     = 'начало диапазона поиска';
    sHlpEndRange       = 'конец диапазона поиска';
    sHlpWordBoun       = 'граница слова';
    sHlpNonWordBoun    = 'не граница слова';
    sHlpZeroOrOne      = '0 или 1 раз';
    sHlpZeroOrMore     = '0 или более раз';
    sHlpOneOrMore      = '1 или более раз';
    sHlpExactly        = 'ровно 3 раза';
    sHlpAtLeast        = 'не менее 3 раз';
    sHlpFromTo         = 'от 3 до 7 раз';
    sHlpBackslash      = 'обратный слеш';
    sHlpNL             = 'перевод строки';
    sHlpEntireStr      = 'вся захваченная строка';
    sHlpSubmatch9      = '9я подстрока (диапазон 1-9)';
    sHlpSubmatch99     = '99я подстрока (диапазон 01-99)';
    sHlpGreedy         = '- выше жадные квантификаторы ';
    sHlpLazy           = 'добавить в конце для не жадного квантификатора';
    sHlpPossesive      = 'добавить в конце для жадного квантификатора';
    sHlpCapture1       = 'запоминающая скобка';
    sHlpCapture2       = 'соответствует негативному ab, захвату';
    sHlpNotCapture     = 'незапоминающая скобка';
    sHlpAtomicGrouping = 'незахватывающаяся группа';
    sHlpPreceded       = 'строка следует за ab';
    sHlpNotPreceded    = 'строка не следует за ab';
    sHlpFollowed       = 'строка предшествует ab';
    sHlpNotFollowed    = 'строка не предшествует ab';
    sHlpcondition      = 'если (1) то x, иначе y';
    sHlpBackrefer9     = 'обратная ссылка, диапазон 1-9';
    sHlpBackrefer99    = 'обратная ссылка, диапазон 01-99';
    sHlpIgnoreCase     = 'не учитывать регистр символов';
    sHlpMultiline      = 'многострочный поиск (по умолчанию)';
    sHlpDotDefault     = 'точке соответствует любой символ (по умолчанию)';
    sHlpInvertGreed    = 'инвертировать жадность квантификаторов';
    sHlpMatchCase      = 'учитывать регистр символов';
    sHlpMultilineOff   = 'выключить многострочный поиск';
    sHlpDotDefaultOff  = 'точке соответствует любой символ, кроме \\n';
    sHlpInvertGreedOff = 'отменить инвертирование жадности';
  }
  else
  {
    sTxtDlgTitle = 'TextMarker';
    //tabs
    sTxtMarkers  = 'Markers';
    sTxtCurMarks = 'Current marks';
    //header of list
    sTxtNameH       = 'Name';
    sTxtTextColorH  = 'TextColor';
    sTxtBkColorH    = 'BkColor';
    sTxtFontStyleH  = 'FontStyle';
    sTxtTextH       = 'Text';
    sTxtCaseSensH   = 'CaseSens';
    sTxtRegExpH     = 'RegExp';
    sTxtMarkIDH     = 'MarkID';
    sTxtMarkerNameH = 'Marker name';
    //static controls and buttons
    sTxtTextColor = '&Text color:';
    sTxtBkColor   = '&Background color:';
    sTxtFontStyle = '&Font style:';
    sTxtText      = 'T&ext:';
    sTxtCaseSens  = '&Case sensitive';
    sTxtRegExp    = 'Regular e&xpressions';
    sTxtNew       = '&New';
    sTxtRename    = '&Rename';
    sTxtDelete    = '&Delete';
    sTxtMark      = '&Mark';
    sTxtUnmark    = '&Unmark';
    sTxtUnmarkAll = 'Unmark &all';
    sTxtFindDown  = 'Find down';
    sTxtFindUp    = 'Find up';
    //font styles combobox
    sTxtIgnored    = 'ignored';
    sTxtNormal     = 'normal';
    sTxtBold       = 'bold';
    sTxtItalic     = 'italic';
    sTxtBoldItalic = 'bold italic';
    //dialog New, Rename, Delete
    sTxtNewMarker  = 'New marker';
    sTxtRenMarker  = 'Rename marker';
    sTxtDelMarker  = 'Delete marker';
    sTxtName       = 'Name:';
    sTxtNewName    = 'New name:';
    sTxtReserved   = 'This name is reserved for selected text marks.';
    sTxtExists     = 'This marker already exists.';
    sTxtWantDelete = 'Do you want to delete this marker?';
    //error messages
    sErrTextColor = 'Incorrect text color code.';
    sErrBkColor   = 'Incorrect background color code.';
    sErrRegExp    = 'Error in regular expression.';
    //edit context menu
    sMnuUndo        = '&Undo';
    sMnuRedo        = '&Redo';
    sMnuCut         = 'C&ut';
    sMnuCopy        = '&Copy';
    sMnuPaste       = '&Paste';
    sMnuDelete      = '&Delete';
    sMnuSelectAll   = 'Select &all';
    sMnuInsertToAP  = 'Insert to AkelPad';
    sMnuPasteFromAP = 'Paste from AkelPad';
    //RegExp help
    sHlpAnyChar        = 'any character (dot)';
    sHlpSpecChars      = '()[]{}^$.?+*|\\ special chars';
    sHlpFF             = 'form feed \\x0C';
    sHlpAnyNL          = 'any new line';
    sHlpTab            = 'tab \\x09';
    sHlpVTab           = 'vertical tab \\x0B';
    sHlpDigit          = 'digit [0-9]';
    sHlpNonDigit       = 'non-digit [^0-9]';
    sHlpWhiteSp        = 'whitespace [ \\f\\n\\t\\v]';
    sHlpNonWhiteSp     = 'non-whitespace';
    sHlpWordChar       = 'word character (non-delimiter)';
    sHlpNonWordChar    = 'non-word character (delimiter)';
    sHlpCharHex        = 'char - hex code, range 0-10FFFF';
    sHlpCharHex2       = 'char - 2-digit hex code';
    sHlpCharHex4       = 'char - 4-digit hex code';
    sHlpAlternative    = 'alternative ab or xy';
    sHlpCharSet        = 'character set, any specified';
    sHlpNegCharSet     = 'negative character set';
    sHlpRange          = 'range of chars from a to z';
    sHlpNegRange       = 'negative range of chars';
    sHlpBeginLine      = 'beginning of line';
    sHlpEndLine        = 'end of line';
    sHlpBeginText      = 'beginning of text';
    sHlpEndText        = 'end of text';
    sHlpBeginRange     = 'beginning of search range';
    sHlpEndRange       = 'end of search range';
    sHlpWordBoun       = 'word boundary';
    sHlpNonWordBoun    = 'non-word boundary';
    sHlpZeroOrOne      = 'zero or one time';
    sHlpZeroOrMore     = 'zero or more times';
    sHlpOneOrMore      = 'one or more times';
    sHlpExactly        = 'exactly 3 times';
    sHlpAtLeast        = 'at least 3 times';
    sHlpFromTo         = 'from 3 to 7 times';
    sHlpBackslash      = 'backslash';
    sHlpNL             = 'new line';
    sHlpEntireStr      = 'entire string matched';
    sHlpSubmatch9      = '9th captured submatch, range 1-9';
    sHlpSubmatch99     = '99th captured submatch, range 01-99';
    sHlpGreedy         = '- above quantifiers are greedy';
    sHlpLazy           = 'add at end for lazy quantifier';
    sHlpPossesive      = 'add at end for possesive quantifier';
    sHlpCapture1       = 'matches ab, captures';
    sHlpCapture2       = 'matches negative ab, captures';
    sHlpNotCapture     = 'matches ab, not captures';
    sHlpAtomicGrouping = 'atomic grouping, not captures';
    sHlpPreceded       = 'preceded by ab';
    sHlpNotPreceded    = 'not preceded by ab';
    sHlpFollowed       = 'followed by ab';
    sHlpNotFollowed    = 'not followed by ab';
    sHlpcondition      = 'if (1) then x, else y';
    sHlpBackrefer9     = 'backreference, range 1-9';
    sHlpBackrefer99    = 'backreference, range 01-99';
    sHlpIgnoreCase     = 'case insensitive';
    sHlpMultiline      = 'multiline search (default)';
    sHlpDotDefault     = 'dot matches any char (default)';
    sHlpInvertGreed    = 'invert greediness';
    sHlpMatchCase      = 'match case';
    sHlpMultilineOff   = 'turn off multiline search';
    sHlpDotDefaultOff  = 'dot matches any char, except \\n';
    sHlpInvertGreedOff = 'turn off greediness inversion';
  }
}

Offline
Posts: 381
Joined: Wed Sep 28, 2011 3:05 pm

Post by Cuprum »

Drugmix
а добавьте, пожалуйста,...
Возьму на карандаш, но пока без обещаний. Из-за указанных причин.

KDJ
Offline
Posts: 1949
Joined: Sat Mar 06, 2010 7:40 pm
Location: Poland

Post by KDJ »

TextMarker.js
Updated Russian translation. Thanks to Andrey_A_A.

Offline
Posts: 670
Joined: Thu Jun 03, 2010 8:47 am
Location: Сочи, Хоста
Contact:

Post by Andrey_A_A »

Хотелось бы в скрипте ForceNewInstance.js параметр: при открытии нового окна вызывать заданную секцию:

Code: Select all

Call("Scripts::Main", 1, "ForceNewInstance.js", `"Session_My_AkelPad"`)

Offline
Posts: 582
Joined: Mon Apr 08, 2013 9:50 pm
Location: Win7SP1x64, APx64

Post by Drugmix »

Cuprum
Хорошо. Тогда вот пока другой beature reqport: когда скрипт срабатывает по нажатию Enter, то потом чтобы отменить создание новой строки то приходится делать undo дважды, а не один раз.

Offline
Posts: 381
Joined: Wed Sep 28, 2011 3:05 pm

Post by Cuprum »

Drugmix
Хорошо, учту.

KDJ
Offline
Posts: 1949
Joined: Sat Mar 06, 2010 7:40 pm
Location: Poland

Post by KDJ »

MapNetDrive.js
Added: "Browse" button.

Offline
Posts: 670
Joined: Thu Jun 03, 2010 8:47 am
Location: Сочи, Хоста
Contact:

Post by Andrey_A_A »

Обновил архив скриптов, добавлено описание и примеры использования
Locked