AkelPad с плагином LineBoard подсвечивает цветом сохранённые и несохранённые строки, возможно ли написать скрипт, чтобы по ним можно было перемещаться? Типа Перейти к следующей несохранённой строке, предыдущей и по сохранённым. Вполне достаточно перехода в начало строки. Отменить/Повторить не очень удобно.
Posted: Tue Mar 17, 2015 8:16 pm
by aleksey.k
Lenchik
Навряд ли это может пригодиться для широкой аудитории.
Мне это нужно для индексации больших массивов текста, быстрый переход к нужному отрывку. По такому же принципу работают некоторые словари. Этот скрипт на самом деле весьма облегчил мне жизнь, за что я очень благодарен.
Posted: Tue Apr 07, 2015 4:52 pm
by Drugmix
Господа, а помогите написать скрипт, который бы заменил мне команду
Это мне нужно для отладки моих ahk скриптов, чтобы проверять содержимое переменных.
Для проверки переменных используется команда OutputDebug.
Соответственно, надо чтобы скрипт превращал выделенное слово не только в обрамлённое кавычками это же слово, но ещё и дописывал бы в начало строки имя команды (+ пару символов).
Если я просто допишу вставку слова OutputDebug в команду выше, то это слово будет вставляться каждый раз, соответственно если я в одной строке (в одной команде outputdebug) захочу вывести содержимое нескольких переменных, то каждая из них будет обрамлена не только запятыми, но и именем команды.
А надо, чтобы в строке имя команды OutputDebug встречалось только 1 раз, т.е. нужен скрипт который бы делал проверку на присутствие в строке OutputDebug в начале строки (по regex).
перед OutputDebug в строке может присутствовать любое кол-во пробельных символов (т.е. \s*+).
Posted: Tue Apr 07, 2015 5:40 pm
by VladSh
Drugmix
По моему, то как Вы описали задачу, напрашивается простое решение:
- если в строке нет "OutputDebug", значить вар-1;
- если нет - вар-2.
Верно?
Posted: Wed Apr 08, 2015 5:45 am
by Drugmix
VladSh
Верно. Я вот не смог осилить проверку содержимого строки по regex
i)^\s*+OutputDebug\s*+,\s*+%\s*+
Уважаемые специалисты, помогите написать скрипт!
А точнее: напишите пожалуйста скрипт для обработки текста, скачанного с нотабеноида. Нужно удалить пустые строки и стандартные приписки в конце, типа:
Внимание! Этот перевод, возможно, ещё не готов.
Его статус: ***
Переведено на Нотабеноиде
http://notabenoid.org/book/***
Переводчики: ***
где на месте звездочек переменный текст.
Posted: Fri Apr 10, 2015 4:19 pm
by Instructor
Dimon485
Приведите пример исходника и желаемого результата.
Posted: Fri Apr 10, 2015 5:57 pm
by Dimon485
Instructor wrote:Приведите пример исходника и желаемого результата.
Вот: https://yadi.sk/d/hNe9Cwk7ftAtQ
Внутри две папки "было" и "стало" соответственно.
В принципе, скрипт DelEmptyLines убирает пустые строки, надо лишь к нему добавить удаление нотабеноидских хвостовиков.
AkelPad.SetSel(0, -1);
AkelPad.ReplaceSel(notabenoid(AkelPad.GetSelText()));
function notabenoid(str) {
step1 = str.split('Внимание! Этот перевод, возможно, ещё не готов.'); // режем хвост
step2 = step1[0].split('Переведено на Нотабеноиде'); // т.к. первой фразы может и не быть
return step2[0].split(/\r{2,}/).join("\n");
}
AkelPad.SetSel(0, -1);
AkelPad.ReplaceSel(notabenoid(AkelPad.GetSelText()));
function notabenoid(str) {
step1 = str.split('Внимание! Этот перевод, возможно, ещё не готов.'); // режем хвост
step2 = step1[0].split('Переведено на Нотабеноиде'); // т.к. первой фразы может и не быть
return step2[0].split(/\r{2,}/).join("\n");
}
Вставил код перед DelEmptyLines, назначил горячую кнопку - все работает как часы! Спасибо огромное!
Posted: Sat Apr 11, 2015 5:43 pm
by opk44
Dimon485 wrote:Вставил код перед DelEmptyLines...
Вообще-то код был самодостаточным, т.е. DelEmptyLines в вашем случае можно и не использовать.
Posted: Wed Apr 22, 2015 12:51 pm
by Dimon485
opk44 wrote:Вообще-то код был самодостаточным, т.е. DelEmptyLines в вашем случае можно и не использовать.
Не совсем так. Ваш алгоритм не удаляет пустую строку в конце файла. Если две, то удаляет обе, а если одна, то оставляет. А вместе с DelEmptyLines - нет проблем