henriaugusto / completion-plugin Goto Github PK
View Code? Open in Web Editor NEWThis project forked from gusano/completion-plugin
Completion for Pure Data
License: BSD 3-Clause "New" or "Revised" License
This project forked from gusano/completion-plugin
Completion for Pure Data
License: BSD 3-Clause "New" or "Revised" License
Hello,
great plugin!
install from deken 0.47
seems to not be working correctly on macOS with pd 0.50.
What is the key commands? "tab" does not work. I do not seem to see documentation on a new command key other that in the changelog that says ctl+space... but that does not work either.
hmmmmm
some small things....
in pd console I get "[completion-plugin] version 0.46.1" even though it is 0.47?
under preferences->autocomplete settings the "help" button doesn't work. console says "Ignoring '/Users/megrimm/Documents/Pd/externals/ofelia/README.pd': doesn't exist" which is weird...
maybe there is a way to change the shortcut keys? but i do not see option?
also the readme.deken.pd still lists version as 0.46.0
hmmmm ... unless its all a fault on my end somehow :)
Remove
[completion-plugin] finished scanning externals
From startup messages
If a suggestion is too big to fit the plugin could resize itself to make it fit in.
(That might be more complicated than it seems to implement).
Also if that indeed is implement it should be togglable.
I wish the mousewheel would work to scroll in the tab selection box.
I've noticed that there is a redundant preferences menu under edit that i was using to add the plugin's settings menu! Upon bringing the issue in the dev list the edit->preferences
menu will be deleted and there will be only file->preferences
(which i've never noticed even existed because i've always used edit->preferences.
remove redundant Edit->Preferences menu item on Linux and Windows
I've tested completion 0.47.0-test1 with the just released Pd 0.50.0 and come accross a new problem.
The first time of using completion it gives the right list of objects containing the already typed characters. The second or third time of using completion it doesn't generate the correct list and gives a list with all installed objects...
Add a Help buttons on the setting window that opens the README patch.
Then using "monolithic" search mode:
The plugin should detect wich libraries are present and filter the 'monolithicLibs.txt' to only show object from libraries that the user actually have.
couldn't compile regular expression pattern: quantifier operand invalid
couldn't compile regular expression pattern: quantifier operand invalid
while executing
"lsearch -all -inline -regexp -nocase $::all_externals $pattern"
(procedure "::completion::search" line 45)
invoked from within
"::completion::search $::current_text"
(procedure "::completion::insert_key" line 8)
invoked from within
"::completion::insert_key "+" "
(procedure "::completion::lb_keys" line 15)
invoked from within
"::completion::lb_keys plus"
(command bound to event)
possible oslution might be escape the '+' chars.
I should also deal with similar cases!
I've never realized that but the preferences menu is duplicated.
You can find it in
The plugin should add it's setting menu to both.
I haven't tested but this is probably true on Linux as well.
some pd files are not real abstractions, or real external objects, but completion detects all files which leads to listing garbage.
perhaps looking for help files would be better or, I don't know, just adding a given list that needs to be provided by the external developer
I'm not sure if I'm doing anything wrong or not, but...
... at which point, I'm expecting the list to be filtered according to a partial string match on "pol" but it seems not to have done so.
Bug or wrong usage?
The settings menu should have an option menu for checking if the user actually want for completions on unique suggestions
Problem:
li
li
with the mousen
n
since li
was selected(but the autocomplete at least will type the correct text for you 😄 )
Maybe a solution would be to actually query the object text after each key is pressed.
not 8 :)
no support for .d_fat for instance
hi! great work on this plugin, cheers
i'm working on a simple plugin with key bindings: https://github.com/RVirmoors/maxhotkey-pd
the problem is, my bindings (e.g. N for a new object box) work just once, before this plugin overwrites the pdtk_text_editing
proc
now, a quick and dirty fix is to just add pdtk_text_editing_old $mytoplevel $tag $editing
at the end of your pdtk_text_editing
not sure if:
a) this breaks things (only tested it for a couple of minutes)
b) it's inefficient
c) there's maybe a way for me to hook into your proc from my plugin, so that yours doesn't need to be modified
i'd obviously appreciate the expertise of people better at tcl than me here
I tried to go change the hotkey in prefs (because on OSX control+space lead to spotlight search) and font size to 12, but nothing is saved even when I click "save to file" and restart. Editing completion.cfg file is ok.
Also clicking "Default" changed back the font size but not the hotkey.
OSX 10.9.5, pd 0.50, completion-plugin version 0.47.0-test1
It seems for example that on OS X the current default Ctrl+space is already used for the spotlight so it would be good if the plugin would use a different default for OSX.
Or maybe even change the default hotkey for everyone to something that works for everybody.
I tend to like single-key hotkeys like F3 or something like this, but that may be something too distant compared to Ctrl+Space or the old Tab.
EDITED: actually it seems Control-space is not used for spotlight search but Control-Space is actually reserved by OS X for changing keyboard layouts. Spotlight is isually bound to Cmd+Space.
Right now the plugin works in object boxes, msg boxes and comments!
It should be able to detect when the user is typing in a comment box so it doesn't show up.
Also it should show completions pertinent to the box the user is typing:
add internationalization support and seek translators.
Might be a good idea to have translations of the readme markdown file and the help patch
reason: consistency with the default ctrl+left/right for faster navigation on the X axis (despite the X scroll bar not being shown)
If the user creates a patch in one of the search paths then the plugin should be able to add it to the suggestions without the need for settings->rescan.
You can set the plugin hotkey to something like "w" to better visualize it. The "w" will be input into the box.
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.
Before i describe how to reproduce it let me describe my environment.
Example:
Case A: Type "easy" in a box and only then Press F3. There are easygrid and easyflow options so they will appear
Everything happens as expected.
Case B: Type "easyf" in a box and only then Press F3. There is only the easyflow library that matches "easyf" so the pluging tries to already complete "easyflow" for you. But the problem is that it doesn't erase the "easyf" that you've already typed and you end with "easyfeasyflow".
Just an idea. I'm not sure if that would be useful but maybe add an activate/deactivate toggle for the plugin on the settings window.
Sometimes, I get a red tcl error with pd-41.4 under OSX:
I don't really know how to trigger it but my settings are: auto complete lib name unchecked, 20 nb of lines, font size 12, max scan depth 1, "Tab" as hotkey.
(Tcl) ERREUR : bad window path name ".x7fa7466c7210.c"
while executing
"focus -force $::current_canvas"
(procedure "::completion::popup_destroy" line 4)
invoked from within
"::completion::popup_destroy"
(procedure "pdtk_text_editing" line 17)
invoked from within
"pdtk_text_editing .x7fa746437910 {} 0"
("uplevel" body line 1)
invoked from within
"uplevel #0 $docmds"[
Add a button on the settings window to rescan externals (useful when the user just downloaded something on deken, for ex)
We get the error below when the plugin detects there is only a single completion and automatically complete the word without opening a popup!
bad window path name ".pop"
bad window path name ".pop"
while executing
"bind .pop <FocusOut> {::completion::debug_msg "the user has unfocused the popup"; ::completion::popup_destroy }"
(procedure "::completion::trigger" line 55)
invoked from within
"::completion::trigger"
(command bound to event)
I think that the placement of the dropdown menu could do with some improvement. Sometimes it appears right on top of the object box, which means that you can't see what you're typing.
The behavior seems to vary and sometimes the positioning is better than others. I'm not able to figure about exactly what is going on, but here are some observations:
I'm not sure if points 2 and 3 are problems per se, but one way or another it would be nice to ensure that you can always read what you're typing.
The completion plugin doesn’t seem to work with pd 0.50-0 test1. When I put an object, type for example ‘sf’ and press the tab key I get ‘… couldn’t create’ in the Pd window instead of a list of objects that include ’sf’ in their name.
I’m on macos 10.14.6 and use [completion-plugin] version 0.46.1
Would it be possible to allow the user to call a help-patch from the drop-down menu? I'm not sure how much work it would be, but it would be a really great feature if you could get it to work. Maybe if you right click on a menu item it could call the help-patch?
Replicate
1 - Create an object box and start yping to see the suggestions
2 - Click that object box. The patch's window will come to the top, staying in front of the suggestions list box.
3 - What you type won't alter the suggestions and you can't bring the suggestions to the top again with TAB.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.