[wingide-users] Wing 2.0 Plugin documentation

Adam Feuer adamf at aviarc.com
Sat Aug 28 13:17:13 EDT 2004


Wing folks,
  We're fans of Wing, and use 1.1 quite a bit. We also use the Bicycle
Repairman (BRM) source code refactoring tool a lot. In Wing1.1 we use
BRM in emacs to refactor, switching back to Wing to write code. It's
awkward, but it's much better than having no refactoring capability.

  We would like to write a BRM plugin to Wing2.0 so we can use BRM from
inside of Wing. This would give us a big productivity boost. I've heard
that the plugin architecture is easier to use in 2.0 than in 1.1, which
is why we've waited to do this.

  Can anyone point me at some documentation for Wing2.0 plugins?
Hopefully with some example source code?

  Here are the things we need to be able to do in Wing: 
  
  * Add a "Refactor" menu somewhere.
  * Give Wing a command to save the current file to disk.
  * Get the full pathname of the active file.
  * Get the line number and column number of the cursor in that file.
  * For some refactorings, we also need the coordinates of the selected
area, if the user has selected text.
  * Give Wing a command to reload the current file from disk. (And
possibly reload the other files the user has loaded, although if we have
to we can rely on Wing's automatic reload ability.)
  * Map the menu commands to keyboard equivalents.
  
  Here are some things that would be nice to do in Wing:
  
  * Display various dialog boxes- yes/no, a selectable list of items
(references), etc.
  * Change to active file to one that we specify, possibly loading or
reloading from disk.
  * Move the display coordinates to a particular place in the file so
the user can see the refactoring and approve it if neccessary.

  Any pointers or help anyone has would be appreciated. Naturally we'll
contribute the plugin back to the community.

cheers
adam

    
--
Adam Feuer <adamf at aviarc dot com> 206-834-1803
Director of Software Development, Aviarc Corporation http://www.aviarc.com/


More information about the wingide-users mailing list