HenriAugusto / completion-plugin

Completion for Pure Data
BSD 3-Clause "New" or "Revised" License
19 stars 1 forks source link

Request: add a second "auto complete library names" option for monolithic searches #2

Closed LGoodacre closed 5 years ago

LGoodacre commented 5 years ago

It would be useful if there were options in the settings menu: one for auto-completing library names for normal searches and one for auto-completing library names for monolithic searches. I have the practice of specifying library names with normal libraries (ie. iemguts) but not with monolithic ones (ie. zexy). But it currently doesn't seem possible to cater to this without editing the preferences every time.

LGoodacre commented 5 years ago

Or another option: Ctrl+click adds the library name, normal click doesn't.

HenriAugusto commented 5 years ago

I'm not sure i understand what is happening.

What is supposed to happen:

auto complete library names is on :

auto complete library names is off :

The reason for externals contained in multi-object files to not have their library autocomplete is because they must be loaded into memory. You actually can't instantiate them by using the library name.

zexy 1

Which is, IMO, a serious issue with Pure Data external loading mechanism as you can't avoid naming conflicts!

What exactly are you doing that makes you need to go to the settings every time?

LGoodacre commented 5 years ago

Looks like I got off on the wrong foot here. It might be best to forget everything I said and start again.

It seems that the plugin isn't finding objects from monolithic libraries on my Linux machine. Ie. when I search for "demux" nothing comes, even once Zexy is loaded. If I search for "zexy", I find only those objects which are actually abstractions, like [zexy/l2i], or the ones which have terrible names like [zexy/0x260x260x7e].

zexy

I think that was happening previously was that it was finding a precompiled version of demux.pd_linux which was sitting in folder which was sitting inside one of the search paths. It then added "zexy/" because it thought it was a regular external. But now that I've removed these anomalous objects, I'm back to the situation described above.

Is there something I've missed which I'm supposed to do in order to search for monolithic objects?

HenriAugusto commented 5 years ago

Just like for skipping search you start your serach with a "." (period), for searching objects contained in multi-object ("monolithic") distributions you start your serach with a "," (comma).

Note that the objects shown are defined in a file in

completion-plugin/monolithics_objects/monolithicLibs.txt

Right know it already contains some stuff i've added so it might show you some objects you don't have.

I've already created an issue for that. Issue #5

LGoodacre commented 5 years ago

Ah, I totally missed this! Now it's working properly.

So the original feature request was totally off, but can I suggest that you re-do the giff on the front page? That's where I was getting my guidance from, and I can't see any mention of commas for monolithic searches there, which is why I was confused. It's also a bit hard to read because the the menu drops down over the text, meaning you can't read it for a few seconds.

Hope you don't mind this sort of feedback--I'm just trying to make this awesome tool even better.

HenriAugusto commented 5 years ago

It's okay :)

I did rework on the gif and i hope it's better now. Also i've renamed that help patch to README.deken.pd so it will open automatically when you download it from Deken. I've also planned adding a help button on the settings menu for the next release (Issue #6)