Re: What extman are people using?

andrew strain <[email protected]> Tue, 14 Mar 2023 16:25:15 -0700 (PDT)
Newsgroups gmane.editors.scite.general
Message-ID <[email protected]>
I use a mangled old version of extman which I really must clean up 
sometime, so I will be interested in your version. 

As the initial script which scite runs, its prime responsibility seems to 
be to declare the variables and tables which the lua user does not want to 
be refreshed on buffer switches. For all of the scripts which extman calls 
with scite_dofile or plain dofile, any global variables and tables they 
declare will have their values reset on buffer switches but the ones 
declared in the initial script are persistent. This script refreshing has 
been good for my scites stability as I have about 10kloc of anarchic lua 
scripts attached to keypresses, with a sort of do-on-keypress system.

Instead of declaring multiple persistent globals in the initial script, a 
lua user might prefer to nest their own persistent things inside a global 
table called something like 'maintain'. It could be good to set a standard 
or idiom for this in extman.

The secondary role of extman seems to be to provide the functions which the 
historical extman provided for general compatibility and are still good to 
use. I do use in my codebase the scite_OnEvent managers as it did seem a 
bit neater to write: 
  scite_OnKey(my_function_that_reacts_to_keys)
instead of:
  function OnKey(key,shift,ctrl,alt) 
    return my_function_that_reacts_to_keys(key,shift,ctrl,alt) 
  end

- and it could be handy to use the options  scite_OnKey(somefun,'remove')  
or  scite_OnKey(somefun,'once')

I have a ton of utility files and functions, but none of them seem to need 
to be in the initial script, just the occasional extra persistent global 
wants registered there. I even think extmans scite_OnEvent registers don't 
need to be in the initial script, but might be wrong. I'm wondering about 
an absolute minimal extman including comment notes about the system, which 
can scite_dofile a secondary extman which contains the legacy extman 
utility functions, and then a selection of others that help the varied 
needs of scite lua users, enticing others to add their own. Just wondering 
though : )
On Tuesday, 14 March 2023 at 16:53:13 UTC Chris Clark wrote:

> And is the one you are using under source code control?
>
> https://groups.google.com/g/scite-interest/c/8FiC37qqj0A/m/goEUfuAHBwAJ 
> mentions the project page has disappeared. And I can't locate anything that 
> looks definitive, I do see a lot of repos where people have some form of 
> extman mingled with their own scripts.
>
> I'm keen to upgrade my Scite version (4.1.5) to something newer (I'm 
> really looking forward to having access to the Windows 
> create.hidden.console=1 feature).
>
> I see a few different extman plugins on my machine and I'm sure they are 
> out of date. But at least one of them works with the small scripts I've 
> created ;-)
>
> If there isn't a report I may put some time into putting a quick repo 
> together with what I have (but again, it is super old). I'm hoping to end 
> up with an extman with the following minimum features:
>
> * works with current 5.x scite ;-)
> * scite_Command()
> * scite_On...(), e.g. scite_OnBeforeSave()
> * some form of loader; potentially; mgr:load_files() and/or scite_Files()
>
> I'm checking here before I embark on writing code.
>
> Thanks!
>
> Chris
>
>

-- 
You received this message because you are subscribed to the Google Groups "scite-interest" 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/scite-interest/2ddb6a30-05fb-4948-8c23-002a54192712n%40googlegroups.com.