SelCompleteLine.js
Code: Select all
...
var nMinLineIndex = 0;
...
if (nMinSel <= nMaxSel)
...
Code: Select all
...
var nMinLineIndex = 0;
...
if (nMinSel <= nMaxSel)
...
Code: Select all
function CorrectFileName(pFileNameOnly)
{
return pFileNameOnly.replace(/[\\\/:\*\?"<>\|]/g, "");
}
Code: Select all
...
var nSelStart = AkelPad.GetSelStart();
...
...
AkelPad.SetSel(nSelStart, nSelStart);
Code: Select all
...
...
AkelPad.SetSel(0, 0);
Code: Select all
//Считывание содержимого файла
var Content = AkelPad.ReadFile(fileName, 0x1|0x2, 0, 0); //2-й параметр: OD_ADT_BINARY_ERROR|OD_ADT_REG_CODEPAGE
Code: Select all
//Считывание содержимого файла
/
var Content=AkelPad.GetSelText();
if (Content == "") var Content = AkelPad.ReadFile(fileName, 0x1|0x2, 0, 0); /2-й параметр: OD_ADT_BINARY_ERROR|OD_ADT_REG_CODEPAGE
В таком случае вместо Вашего скрипта можно Ctrl+А, затем Ctrl+C, клацнуть на создание нового файла, Ctrl+V .VladSh wrote:koros, у меня этот скрипт создаёт новый файл на основе содержимого файла из списка свежих.
То, что предлагаете Вы, просто делеатся так: выделить текст, затем Ctrl+C, клацнуть на создание нового файла, Ctrl+V.
Пожалуйста, всегда рад. Когда не леньkoros wrote:Спасибо за Ваш скрипт, я просто чуть-чуть его модифицировал.
А что такое СПИСОК СВЕЖИХ? Я использовал этот скрипт по RightClick на каком-нибудь открытом файле. Насколько я понял по выражению var Content = AkelPad.ReadFile(fileName, 0x1|0x2, 0, 0) скрипт просто считывает содержимое файла. Я же просто предлагаю считывать содержимое выделения, а,если ничего не выделено, то считывать содержимое всего файла, как и было у Вас.VladSh wrote:koros, мой скрипт работает при RightClick на каком-нибудь файле из СПИСКА СВЕЖИХ!
Code: Select all
var commentsSet = {
"js": ["/*", "*/", "//"],
"html": ["<!--", "-->", null],
"css": ["/*", "*/", null]
};
Code: Select all
AkelPad.SetSel(0, -1);
this.allText = AkelPad.GetSelText();
Меню: Файл -> Последние файлы. На любом из них клацаем RightClick и выбираем пункт контекстного меню, который запускает скрипт NewFilebyRecent.js.koros wrote:А что такое СПИСОК СВЕЖИХ?
Так есть же такой - я писал, посмотрите в этой же теме здесь.Infocatcher wrote:Скрипт для комментирования / снятия комментирования
Я видел . Просто мне хотелось странного – работы с однострочными комментариями и комментирования в других языках.VladSh wrote:Так есть же такой - я писал, посмотрите в этой же теме здесь.
Угу, смотрел, смотрел... Однако в JCommentDel.js текущая позиция все равно смещается...Для того, чтобы окно не прыгало нужно в начале выполнения скрипта отключить прорисовку окна, а в конце включить. См. в SelCompliteLine.js функции AutoRedrawOff и AutoRedrawOn.
Главная проблема в том, что восстановить желательно исходную позицию курсора. А если при этом получать весь текст (выделить всё – получить выделение), текущая позиция станет самой верхней строчкой (именно это и происходит в JCommentDel.js).Для того, чтобы вырнуть курсор туда, где он был до выполнения скрипта, - запоминайте начальную позицию курсора (у меня такое тоже есть - см. там же процу SaveSelection).
C однострочными коментариями ведь работает!мне хотелось странного – работы с однострочными комментариями и комментирования в других языках.
Чтобы её восстановить, её нужно каждый раз пересчитывать, т.к. символы добавляются/убираются.Главная проблема в том, что восстановить желательно исходную позицию курсора.
Тогда надо использовать GetFirstVisibleChar.js, но мне с этим реально лень было заморачиваться..А если при этом получать весь текст (выделить всё – получить выделение), текущая позиция станет самой верхней строчкой (именно это и происходит в JCommentDel.js).
Также мои скрипты и делают, за исключением тонкостей с перебросом фокусаВ общем, мне хотелось получить нечто вроде того, что делает PSPad по Ctrl+Shift+A – снимать / ставить комментирование одним сочетанием клавиш.