Where do you think a collection like that should live, bearing in mind that it should be easy for a newbie to learn about it?
On Tuesday, January 3, 2023 at 5:23:47 AM UTC-5 jkn wrote: > > Yes ... 'many' of the scripts I come across, eg. on this newsgroup, need a > bit of tweaking to run with more modern Leo. But I think a collection with > some of the concepts 'curated' and commented on would be useful. > > Like you, I always forget about scripts.leo; not sure that is the right > place. > > On Monday, January 2, 2023 at 11:47:36 PM UTC [email protected] wrote: > >> Theoretically they can go into scripts.leo, but I always forget about >> that outline and a lot of its scripts are so long unmaintained that they >> don't even work. That, or they are so specialized that it's hard to even >> know what they do. >> >> I do agree that a collection of small utility scripts would be great for >> people trying to learn how to program for Leo - IF they are well >> documented, and clear and simple. >> >> On Monday, January 2, 2023 at 6:17:38 PM UTC-5 jkn wrote: >> >>> It would be good to have a miscellany of little script examples like >>> this easily >>> available, to give people assistance with learning Leo scripting. I know >>> a few have been published as Github gists in the past, and there are >>> some clues >>> in the Leoeditor.com documentation, but a few dozen snippets on one >>> place, >>> with some annotation, would be very useful, I think. I might even have a >>> couple >>> of my own to contribute... >>> >>> J^n >>> >>> >>> On Monday, January 2, 2023 at 5:14:47 AM UTC [email protected] wrote: >>> >>>> Leo has commands to capitalize, upcase, and lowercase the body text or >>>> selections of the body text. I could not find a command to convert to >>>> title case (first letter of every word capitalized). So here is a script >>>> to do so. >>>> >>>> The script does not take into account any tricky edge cases - it just >>>> uses the Python string.title() method. The command is undoable. >>>> >>>> """Convert selection or body to title case.""" >>>> w = c.frame.body.wrapper >>>> p = c.p >>>> s = p.b >>>> u = c.undoer >>>> >>>> start, end = w.getSelectionRange() >>>> use_entire = start == end # no selection, convert entire body >>>> >>>> undoType = 'title-case-body-selection' >>>> undoData = u.beforeChangeNodeContents(p) >>>> >>>> if use_entire: >>>> p.b = s.title() >>>> else: >>>> sel = s[start:end] >>>> head, tail = s[:start], s[end:] >>>> p.b = head + sel.title() + tail >>>> >>>> c.setChanged() >>>> p.setDirty() >>>> u.afterChangeNodeContents(p, undoType, undoData) >>>> c.redraw() >>>> >>> -- You received this message because you are subscribed to the Google Groups "leo-editor" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/leo-editor/27e95833-efd6-4347-b5af-ceafde56fa46n%40googlegroups.com.
