From 752a66b40a757b50196fb97fda1143a42e96c295 Mon Sep 17 00:00:00 2001 From: kwm Date: Sun, 27 Oct 2013 22:10:10 +0000 Subject: Move gnome3 ports into the place of the gnome2 locations. Update to new port rules, remove conflicts, latest_link, enable stage support. gnome-games was skipped because I got a update for that. gnome-keyring 2 vs 3, needs to be looked at. zenity 2 vs 3, and libgnomekbd 2 vs 3 Use new lib_depend syntax in bsd.gnome.mk. Possible lots of broken links. git-svn-id: svn://creme-brulee.marcuscom.com/ports/trunk@18813 df743ca5-7f9a-e211-a948-0013205c9059 --- devel/seed/files/Seed.js | 203 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 203 insertions(+) create mode 100644 devel/seed/files/Seed.js (limited to 'devel/seed/files/Seed.js') diff --git a/devel/seed/files/Seed.js b/devel/seed/files/Seed.js new file mode 100644 index 000000000..9edb12c87 --- /dev/null +++ b/devel/seed/files/Seed.js @@ -0,0 +1,203 @@ +GLib = imports.gi.GLib; + +Seed.sprintf = function () +{ + if (typeof arguments == "undefined") { return null; } + if (arguments.length < 1) { return null; } + if (typeof arguments[0] != "string") { return null; } + if (typeof RegExp == "undefined") { return null; } + + var string = arguments[0]; + var exp = new RegExp(/(%([%]|(\-)?(\+|\x20)?(0)?(\d+)?(\.(\d)?)?([bcdfosxX])))/g); + var matches = new Array(); + var strings = new Array(); + var convCount = 0; + var stringPosStart = 0; + var stringPosEnd = 0; + var matchPosEnd = 0; + var newString = ''; + var match = null; + + while (match = exp.exec(string)) { + if (match[9]) { convCount += 1; } + + stringPosStart = matchPosEnd; + stringPosEnd = exp.lastIndex - match[0].length; + strings[strings.length] = string.substring(stringPosStart, stringPosEnd); + + matchPosEnd = exp.lastIndex; + matches[matches.length] = { + match: match[0], + left: match[3] ? true : false, + sign: match[4] || '', + pad: match[5] || ' ', + min: match[6] || 0, + precision: match[8], + code: match[9] || '%', + negative: parseInt(arguments[convCount]) < 0 ? true : false, + argument: String(arguments[convCount]) + }; + } + strings[strings.length] = string.substring(matchPosEnd); + + if (matches.length == 0) { return string; } + if ((arguments.length - 1) < convCount) { return null; } + + var code = null; + var match = null; + var i = null; + + for (i=0; i "); + if (item == "continue") + return false; + print(eval(item)); + } + catch (e) + { + print(e.name + " " + e.message); + } + return true; +} + + +Seed.glib_repl = function() +{ + GLib.idle_add(Seed.repl, null); +} + +Seed.thread_repl = function() +{ + GLib.thread_create_full(function() { while(Seed.repl()){} }, + null, 0, true); +} + +Seed.printf = function () { print(Seed.sprintf.apply(this, arguments)) }; + +if(!imports.searchPath || (imports.searchPath.length == 0)) +{ + imports.searchPath = [ ".", + ".." ]; + + if(Seed.argv.length > 1) + { + __script_path__ = GLib.path_get_dirname(Seed.argv[1]); + + try + { + if(!GLib.path_is_absolute(__script_path__)) + { + __script_path__ = GLib.build_filenamev([GLib.get_current_dir(), + __script_path__]); + } + + __script_path__ = imports.os.realpath(__script_path__); + + if(__script_path__ && __script_path__ != "") + imports.searchPath.push(__script_path__); + } + catch(e) + { + print(imports.JSON.stringify(e)); + } + } + + imports.searchPath.push("."); +} -- cgit v1.2.3