Снегопат https://snegopat.ru/forum/ |
|
Oberonscript https://snegopat.ru/forum/viewtopic.php?f=3&t=546 |
Страница 4 из 9 |
Автор: | advali [ 25 окт 2013, 07:08 ] |
Заголовок сообщения: | Re: Oberonscript |
Что-то не нашел, какая команда скрипт перегружает (чтобы горячие клавиши навесить, если уже есть, то подскажите, пожалуйста, сочетание) |
Автор: | advali [ 25 окт 2013, 07:19 ] |
Заголовок сообщения: | Re: Oberonscript |
Вопрос снял, есть в скрипте scriptdev.js |
Автор: | advali [ 25 окт 2013, 08:22 ] |
Заголовок сообщения: | Re: Oberonscript |
Еще один вопрос: Почему данный скрипт не показывает свои макросы (нельзя выбрать по ctrl+ M): Код: $engine JScript
$uname OberonTools $dname Компиляция модуля оберона $addin global $addin stdlib stdlib.require("TextWindow.js", SelfScript); global.connectGlobals(SelfScript); /////////////////////////////////////////////////////////////////////////////// // КОМАНДЫ, ИСПОЛНЯЕМЫЕ ПО CTRL+M (видны в снегопате) // function getDefaultMacros() { return 'КомпилироватьКодОберона7'; } function macrosКомпилироватьКодОберона7() { Tools.CompileActiveTextWindow(); } function macrosРедактироватьКодОберона7() { Tools.EditActiveTextWindow(); } var RTL$ = { extend: function extend(methods){ function Type(){ for(var m in methods) this[m] = methods[m]; } Type.prototype = this.prototype; var result = methods.init; result.prototype = new Type(); // inherit this.prototype result.prototype.constructor = result; // to see constructor name in diagnostic result.extend = extend; return result; }, strToArray: function (s){ var result = new Array(s.length); for(var i = 0; i < s.length; ++i) result[i] = s.charCodeAt(i); return result; } }; var Js = function (JS){ var String = RTL$.extend({ init: function String(){ } }); function StringFromArrayChar(arr/*ARRAY OF CHAR*/){ var s = null; var i = 0; s = ''; for(i=0; i<arr.length; i++) {s = s + JS.String.fromCharCode(arr[i]);}; return s; } function CharCodeAt(s/*String*/, n/*INTEGER*/){ var res = 0; res = s.charCodeAt(n); return res; } return { String: String, StringFromArrayChar: StringFromArrayChar, CharCodeAt: CharCodeAt } }(SelfScript.self); var Snegopat = function (JS){ var TextWindows = RTL$.extend({ init: function TextWindows(){ } }); function activeTextWindow(){ var wnd = null; wnd = JS.snegopat.activeTextWindow(); return wnd; } return { TextWindows: TextWindows, activeTextWindow: activeTextWindow } }(SelfScript.self); var Global = function (Js, JS){ function MessageBox(str/*ARRAY OF CHAR*/){ JS.Designer.MessageBox(Js.StringFromArrayChar(str)); } function Message(str/*ARRAY OF CHAR*/){ JS.Designer.Message(Js.StringFromArrayChar(str)); } return { MessageBox: MessageBox, Message: Message } }(Js, SelfScript.self); var Tools = function (Js, JS, gl){ function CompileActiveTextWindow(){ gl.MessageBox(RTL$.strToArray("тодо Пока не реализовано")); } function EditActiveTextWindow(){ gl.MessageBox(RTL$.strToArray("тодо Пока не реализовано")); } return { CompileActiveTextWindow: CompileActiveTextWindow, EditActiveTextWindow: EditActiveTextWindow } }(Js, SelfScript.self, Global); |
Автор: | advali [ 25 окт 2013, 08:26 ] |
Заголовок сообщения: | Re: Oberonscript |
И сразу отмечу, что данный код генерится из кода оберона (с частичными вставками на JS) обозначенным выше компилятором. А потому я вряд смогу его изменить (просто знаниями недостаточными обладаю по этому поводу). Поэтому если вина все таки в коде, то нельзя ли как то обработать данную ситуацию на стороне снегопата, или какого-нибудь его скрипта? |
Автор: | advali [ 25 окт 2013, 08:28 ] |
Заголовок сообщения: | Re: Oberonscript |
Горячие клавиши тоже при этом не навешиваются. Максимум что делается, это по щелчку в окне снегопата, выполняется дефолтный макрос |
Автор: | advali [ 25 окт 2013, 08:36 ] |
Заголовок сообщения: | Re: Oberonscript |
И еще вопрос, чем можно просмотреть файл quickstart.wiki . Что-то по данному расширению слишком много ответов левых вываливается в гугле |
Автор: | advali [ 25 окт 2013, 08:55 ] |
Заголовок сообщения: | Re: Oberonscript |
Как понял, надо будет доработать функцию update в файле macroswnd.js , но с регулярками еще не работал, поэтому сам вряд ли смогу доработать (по крайней мере не так быстро, как мне хотелось бы) |
Автор: | advali [ 25 окт 2013, 09:44 ] |
Заголовок сообщения: | Re: Oberonscript |
Хотя похоже, проблема все таки в снегопате, метод macroses не возращает список макросов (если я правильно конечно понял) |
Автор: | advali [ 25 окт 2013, 10:05 ] |
Заголовок сообщения: | Re: Oberonscript |
Хотя ПоказатьСписокМетодовСкрипта показывает все методы (даже те, которые вроде должны быть внутри объектов). Значит все таки в скрипте дело. Но все равно нужна помощь |
Автор: | advali [ 25 окт 2013, 10:23 ] |
Заголовок сообщения: | Re: Oberonscript |
Нашел временное решение, оставить в коде только макросы, повесить на них горячие клавиши. И затем уже скомпилировать весь код (хотя будут не видны по ctrl+m или может где-то видны, но не нашел где, но работают) |
Страница 4 из 9 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |