Scripts discussion (3)

Discuss and announce AkelPad plugins
Locked
  • Author
  • Message
KDJ
Offline
Posts: 1949
Joined: Sat Mar 06, 2010 7:40 pm
Location: Poland

Post by KDJ »

ColumnsReplace.js
FileInfo.js
Added Russian translation by yozhic.

HtmlView.js
Updated Russian translation by Skif_off.

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

Post by Skif_off »

Infocatcher
Крайняя версия jsBeautifier.js как-то странно стала работать с XML: пролог воспринимается как корневой элемент,

Code: Select all

<?xml version="1.0" encoding="utf-8"?>
\t<корень>
\t\t<tag>
 ...
\t\t</tag>
\t</корень>
. Связано с изменениями скрипта или параметрами?

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

Post by Infocatcher »

Skif_off
С оригиналом то же самое... Написал авторам:
https://github.com/beautify-web/js-beautify/issues/783

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

Post by KDJ »

HtmlView.js
Added:
- Ctrl+O or left click on status bar - "Open" input box,
- Ctrl+H or right click on status bar - history.

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

Post by KDJ »

HtmlView.js
Fixed:
- set dialog position on start,
- F4 key does not work.

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

Post by Skif_off »

Infocatcher
Дошли руки проверить, так изменилось поведение jsBeautifier.js после коммита Jun 16, 2015, там их было два, после того, который [sync].
Сам пока решил откатиться на

Code: Select all

// Version: 0.2.7 - 2015-01-10
// [built from https://github.com/beautify-web/js-beautify/tree/master 2015-05-28 01:02:09 UTC]

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

Post by Infocatcher »

Skif_off wrote:Дошли руки проверить, так изменилось поведение jsBeautifier.js после коммита Jun 16, 2015, там их было два, после того, который [sync].
Спасибо, добавил там к описанию.

Offline
Posts: 269
Joined: Mon Jun 20, 2011 8:33 am
Location: Электросталь

Post by yozhic »

Kley
Добавьте, пожалуйста, в RenameFileAs.js следующую возможность. Когда сохраняю копию файла, чтобы в окне редактирования оставался исходный файл, а не открывалась копия. Например, чтобы при вызове такого типа:

Code: Select all

"Save as..."  Call("Scripts::Main", 1, "RenameFileAs.js", `-dir="%a\bak" -save=true`)
копия улетала в папку bak, а исходный файл оставался открытым в окне.

Offline
Posts: 202
Joined: Sat Mar 28, 2015 2:36 pm
Location: Russia

Post by Kley »

yozhic wrote:Добавьте, пожалуйста, в RenameFileAs.js следующую возможность.
yozhic, на этом форуме очень отзывчивые люди, хотелось бы и мне быть таким, но простите меня пожалуйста.
RenameFileAs.js wrote:Основное назначение скрипта - переименование файла.
и, скрипт основан на
...RenameFile.js (v1.1) от Instructor.
У меня, наверно, самый востребованный скрипт, которым я давно пользуюсь (возможно он и вам подойдет):

Code: Select all

//  ============================================================================
//  Version: 2014-06-25
//  Author: Kley
//
//  *** Создание резервной копии текущего файла. ***
//
//  Usage:
//  Call("Scripts::Main", 1, "BackUpCurrentFile.js")
//
//  Note:
//  'Имя файла.ext' --> 'Имя файла_backup(1,2...n).ext'
//  Бэкап-файл создается в папке редактируемого файла.
//  ============================================================================
var pEditFile = AkelPad.GetEditFile(0);
var pNewFile;
var nResult;

if (pEditFile)
{
  var FSO = new ActiveXObject("Scripting.FileSystemObject");

  pNewFile = NextName(pEditFile);

  FSO.CopyFile(pEditFile, pNewFile, false);

  nResult = AkelPad.MessageBox(AkelPad.GetMainWnd(),
            GetLangString(0) + "\n\n" + GetLangString(1) + " ''" +
            AkelPad.GetFilePath(pNewFile, 2 /*CPF_FILENAME*/) + "'' ?",
            "BackUp File", 324 /*MB_YESNO|MB_ICONINFORMATION|MB_DEFBUTTON2*/);

  if (nResult == 6 /*IDYES*/)
    AkelPad.OpenFile(pNewFile);
}

function NextName(sPath)
{
  var sDir  = FSO.GetParentFolderName(sPath) + "\";
  var sName = FSO.GetBaseName(sPath);
  var sExt  = FSO.GetExtensionName(sPath);
  var i     = 0;

  while (FSO.FileExists(sPath))
    sPath = sDir + sName + "_backup" + ++i + "." + sExt;

  return sPath;
}

function GetLangString(nStringID)
{
  var nLangID = AkelPad.GetLangId(1 /*LANGID_PRIMARY*/);

  if (nLangID == 0x19) //LANG_RUSSIAN
  {
    if (nStringID == 0) return "Резервная копия текущего файла создана.";
    if (nStringID == 1) return "Открыть файл";
  }
  else
  {
    if (nStringID == 0) return "A backup copy of the current file is created.";
    if (nStringID == 1) return "Open file";
  }
}


p.s. Кстати, скрипт "RenameFileAs.js" работал не правильно. Я его поправил. Посмотрите описание к нему (Arguments, Usage).

Offline
Posts: 269
Joined: Mon Jun 20, 2011 8:33 am
Location: Электросталь

Post by yozhic »

Kley
Дело хозяйское. За ответ и BackUpCurrentFile большое спасибо – это, пмсм, и есть отзывчивость.

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

Post by Skif_off »

Kley
Нет ли в планах добавить в BackUpCurrentFile.js и сохранение копии текущего состояния без предварительного сохранения?

Offline
Posts: 52
Joined: Mon Jan 03, 2011 11:02 pm

Post by ABTOP »

Instructor, здравствуй!
Давно наблюдаю проблему со своей версией TabSwitch.js, при переключении на следующую/предыдущую вкладку по однократному нажатию Ctrl+Tab. Но всё забывал написать о проблеме: название файла/вкладки на которую переключаюсь не отображается в списке, т.к. находится за за полями списка. :(
Моя версия файла TabSwitch.js

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

Post by Drugmix »

KDJ
What kind of rendering engine does HtmlView.js use?
I see it's different from how IE renders it:

Image


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

Post by Instructor »

ABTOP
Выложите снимок экрана.

Offline
Posts: 52
Joined: Mon Jan 03, 2011 11:02 pm

Post by ABTOP »

Instructor, пожалуйста.
Image
В строке, на которую установлен курсор должен быть файл — "Свеча.txt", а его нет, точнее — строка скрыта за пределами поля :( Если прокрутить ползунок прокрутки вверх, то его будет видно:
Image
Locked