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/c44c8244-bfe4-4587-b415-84f835372e85n%40googlegroups.com.
