hi, nice discussion, btw ;-)
Am Samstag, 24. Oktober 2015, 21:05:08 schrieb Thomas Friedrichsmeier: > > all of this would mean some major changes in the workflow of the > > package, and i'm not convinced yet that this is the right way to go. > > it would also mean returning to editing several files for one plugin. > > True. But actually, that was pretty much the starting point for my > thoughts, because > a) yes, that syntax highlighting; I just can't seem to live without > this anymore... there is highlighting, but it's for R, not JS. i mean, if you want the highlighting for JS, wouldn't it be much more straight forward to have the rkwarddev script in one window and the generated JS file next to it in another window, and not mix too much quoted JS syntax into the R code or quoted R calls in the JS code? > b) as far as I understand, having several files is pretty much the > current state-of-the-art for plugin2script from existing plugins such > as rk.Teaching. i think of plugin2script() as only a tool to help a one-time transition from an existing non-rkwarddev plugin, to one that will be managed with the rkwarddev script from then on. naturally you are dealing with the several files of the original plugin at the beginning. but once the script is finished, you wouldn't use plugin2script() any more. actually, what i originally intended to ask (with regards to the JS code in rk.Teaching) was not so much to optimize the rkwarddev script code, but to review the *existing* JS code of the plugins, *before* it will somehow™ be generated by the rkwarddev script. > But why not write JS-code like e.g. > > rk.paste.JS (" > var x = getString ('", id (x), "'); > if (getBoolean ('", id (narm), "') { > x += ', na.rm=TRUE'; > } > ") you *can* do that, there are just various reasons why i wouldn't *like* to do it this way. for once, i'd have to think in JS syntax again (like, don't forget to close your statement with ";"). this might be the main difference in our views on this -- if i understand you correctly, you would like to get back closer to the actual JS code, whereas i would like to get as close to R (or as far away from JS) as possible. both directions don't mix so easy :-o also, there wouldn't be any win here regarding the missing syntax highlighting, because the JS code would need to be quoted (see below). then there's little things like "what was the getter function for this element again?" i tend to forget things like these all the time, and that's always slowing me down. i don't want to even have to think about whether i have to declare this variable or not, for my taste that's too far down on the JS level. i want to keep just to "if this box is checked, do that", so all i really have to care about is: ite(narm, "x += ', na.rm=TRUE'") or quicker for checkboxes: tf(narm, opt="na.rm") > > new way: > > ite(jo(x != ""), > > echo(", select=c(", x, ")") > > ) > > > > that is, operators like !=, ==, > etc. are prevented from evaluation > > by jo() and pasted as-is to the JS code. > > Neat hack! But not a path I'd like to go, personally. To be honest, > those ite()-statements just give me the shivers, in the first place. oh, why's that? ite() is purposely almost identical to R's ifelse(), except it's allowed to use NULL for its "else" value, which also is the default. it's rather one of my favourites, because it's so easy to use... > (Ok, I would see the point, if you could actually move _all_ logic from > literal JS to R, but that does not seem to work out). yeah, that would be optimal. and i agree, it's most likely never going to be achieved. > > Why not write the above as: > > rk.paste.JS (" > var x = getString ('", id (x), "'); > if (x != '') echo (', select=c' + x + ')); > ") well, at least for now this gives us var x = getString (' x '); if (x != '') echo (', select=c' + x + ')); instead of what rk.JS.scan() + ite() generate: var x = getString("x"); if(x != "") { echo(", select=c(" + x + ")"); } what's more, the ite() example has proper syntax highlighting: http://reaktanz.de/stuff/R/JS_examples.jpeg which would immediately warn you about that missing single quote in the echo() call that you easily miss in the fully quoted JS code. just a vague idea: would it be possible to make the syntax highlighting scheme of RKWards R console *output* configurable? it's plain green by default, if you could (temporarily) set that to use one of kate's highlighting schemes (e.g., XML or JS), this would at least make debugging rk.JS.* statements on a console level easier -- you wouldn't have to wait for files to be written. no idea if this is simply a character stream that could easily be pumped through a highlighting filter before it's shown on screen. viele grüße :: m.eik -- dipl. psych. meik michalke institut f"ur experimentelle psychologie abt. f"ur diagnostik und differentielle psychologie heinrich-heine-universit"at d-40204 d"usseldorf
signature.asc
Description: This is a digitally signed message part.
_______________________________________________ rkward-devel mailing list rkward-devel@kde.org https://mail.kde.org/mailman/listinfo/rkward-devel