[geany/geany] 883ce3: Add method to generate also tags for __builtins__
Enrico Tröger
git-noreply at xxxxx
Wed Aug 29 21:03:25 UTC 2012
Branch: refs/heads/master
Author: Enrico Tröger <enrico.troeger at uvena.de>
Committer: Enrico Tröger <enrico.troeger at uvena.de>
Date: Wed, 29 Aug 2012 21:03:25
Commit: 883ce3acb6cb760e8b8ef3238141243f74da8878
https://github.com/geany/geany/commit/883ce3acb6cb760e8b8ef3238141243f74da8878
Log Message:
-----------
Add method to generate also tags for __builtins__
This way we get easily also tags for standard exceptions and a few builtin types.
Modified Paths:
--------------
scripts/create_py_tags.py
Modified: scripts/create_py_tags.py
22 files changed, 21 insertions(+), 1 deletions(-)
===================================================================
@@ -133,7 +133,10 @@ def _add_tag(self, obj, tag_type, parent=''):
args = '(%s)' % parent
else:
scope = '%s%s' % (TA_SCOPE, parent)
- tagname = obj.__name__
+ if isinstance(obj, basestring):
+ tagname = obj
+ else:
+ tagname = obj.__name__
# check for duplicates
if len(tagname) < 4:
# skip short tags
@@ -208,6 +211,22 @@ def process_file(self, filename):
filep.close()
#----------------------------------------------------------------------
+ def add_builtins(self):
+ """
+ Add the contents of __builtins__ as simple tags
+ """
+ for tag_name in dir(__builtins__):
+ # check if the tag name starts with upper case, then we assume it is a class
+ # note that this is a very very simple heuristic to determine the type and will give
+ # false positives
+ if tag_name[0].isupper():
+ tag_type = TYPE_CLASS
+ else:
+ tag_type = TYPE_FUNCTION
+
+ self._add_tag(tag_name, tag_type)
+
+ #----------------------------------------------------------------------
def write_to_file(self, filename):
"""
Sort the found tags and write them into the file specified by filename
@@ -266,6 +285,7 @@ def main():
args = get_module_filenames(PYTHON_LIB_DIRECTORY)
parser = Parser()
+ parser.add_builtins()
for filename in args:
parser.process_file(filename)
@@ Diff output truncated at 100000 characters. @@
--------------
This E-Mail was brought to you by github_commit_mail.py (Source: TBD).
More information about the Commits
mailing list