/[cvs]/nfo/patches/glimmer/scripts/FunctionSelector.py
ViewVC logotype

Diff of /nfo/patches/glimmer/scripts/FunctionSelector.py

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.1 by jonen, Fri Nov 8 02:18:51 2002 UTC revision 1.4 by jonen, Tue Nov 12 22:22:25 2002 UTC
# Line 1  Line 1 
1  # FunctionSelector v0.04 script for glimmer  ##################################################
2  # last edit by Andreas Motl<andreas.motl@ilo.de>  # $Id$
3  # and Sebastian Utz<su@tunemedia.de> 2002-11-01  # small plugin for glimmer
4  #  #
5  #ToDo:  # Authors:
6    #  Andreas Motl<andreas.motl@ilo.de>
7    #  Sebastian Utz<su@tunemedia.de>
8    #
9    # ToDo:
10  # - Bug: FunctionList doesn't refresh on new opened files by its own  # - Bug: FunctionList doesn't refresh on new opened files by its own
11  # - tune regex for more languages  # - tune regex for more languages
12  #  #
13    # Changelog:
14    #  $Log$
15    #  Revision 1.4  2002/11/12 22:22:25  jonen
16    #  + added support for concurrent pygtk installations
17    #
18    #  Revision 1.3  2002/11/12 20:14:48  jonen
19    #  + php functions maybe prefixed by a '&'. fixed sigpart regex.
20    #  + forgot 'class' (php) after all. fixed regex.
21    #  + renamed regex_perl to regex_noparenthesis
22    #  + perl subs with an space after the first '{' weren't regognized. fixed regex.
23    #
24    #  Revision 1.2  2002/11/08 02:37:25  jonen
25    #  + added cvs header
26    #  + added hook for refresh on "save-file"
27    #    suggested by Mark McAulay
28    #
29    #
30    ##################################################
31    
32  import glimmer  import glimmer
33  import string  import string
34  import re  import re
# Line 14  import sys Line 36  import sys
36  import os  import os
37  sys.argv=[]  sys.argv=[]
38  sys.argv.append("null")  sys.argv.append("null")
39    try:
40       import pygtk
41       pygtk.require("1.2")
42    except:
43       pass
44  from gtk import *  from gtk import *
45  import _gtk  import _gtk
46  import _gnome  import _gnome
# Line 30  row_number = [] Line 57  row_number = []
57  # class/function/sub/packages signatures  # class/function/sub/packages signatures
58  # in source code  # in source code
59  prefix_pattern = '^[|\s]*'  prefix_pattern = '^[|\s]*'
60  sigpart = '\s+([\w|:]+?)\s*'  sigpart = '\s+([\w|:|&]+?)\s*'
61  regex_universal=re.compile(prefix_pattern + '(?:\w+?)\*??' + sigpart + '\(.*?\)[\s|:|{]*$')  regex_universal=re.compile(prefix_pattern + '(?:\w+?)\*??' + sigpart + '\(.*?\)[\s|:|{]*\s*$')
62  regex_perl=re.compile(prefix_pattern + '(?:package|sub)' + sigpart + '[;|{]$')  regex_noparenthesis=re.compile(prefix_pattern + '(?:package|sub|class)' + sigpart + '[;|{]\s*$')
63    
64  def get_functionNameFromLine(str):  def get_functionNameFromLine(str):
65    for regex in (regex_universal, regex_perl):    for regex in (regex_universal, regex_noparenthesis):
66      match=regex.search(str)      match=regex.search(str)
67      if match:      if match:
68        str = match.group(1)        str = match.group(1)
# Line 138  functionlist = GtkCList(1) Line 165  functionlist = GtkCList(1)
165  functionwindow.add(functionlist)  functionwindow.add(functionlist)
166  functionlist.show()  functionlist.show()
167  #functionlist.column_titles_show(1)  #functionlist.column_titles_show(1)
 #functionlist.set_column_title(0, "Functions:")  
168  glimmer.add_paned_object(functionbox._o, "FunctionSelector", 0)  glimmer.add_paned_object(functionbox._o, "FunctionSelector", 0)
169  our_main()  our_main()
170  checkitem = GtkCheckMenuItem("Function Selector")  checkitem = GtkCheckMenuItem("Function Selector")
# Line 150  glimmer.register_signal_hook("open-file" Line 176  glimmer.register_signal_hook("open-file"
176    
177  glimmer.register_signal_hook("change-file", callback_change)  glimmer.register_signal_hook("change-file", callback_change)
178    
179    glimmer.register_signal_hook("save-file", callback_change)
180    
181  args = (checkitem, functionbox, )  args = (checkitem, functionbox, )
182  _gtk.gtk_signal_connect(closebutton._o, "clicked", close_function_selector, args)  _gtk.gtk_signal_connect(closebutton._o, "clicked", close_function_selector, args)
183  args = (None, )  args = (None, )

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.4

MailToCvsAdmin">MailToCvsAdmin
ViewVC Help
Powered by ViewVC 1.1.26 RSS 2.0 feed