Anonymous avatar Anonymous committed 1fc1902

Added rope.contrib.ropemacs

Comments (0)

Files changed (1)

rope/contrib/ropemacs.py

+import os
+
+from Pymacs import lisp
+
+import rope.refactor.rename
+from rope.base import project, libutils
+
+
+class interaction(object):
+
+    def __init__(self, mode=''):
+        self.mode = mode
+
+    def __call__(self, func):
+        func.interaction = self.mode
+        return func
+
+
+def get_project(root='.'):
+    return project.Project(root)
+
+@interaction('sNew Name: ')
+def rename(newname):
+    lisp.save_some_buffers()
+    filename = lisp.buffer_file_name()
+    project = get_project(os.path.dirname(filename))
+    resource = libutils.path_to_resource(project, filename)
+    renamer = rope.refactor.rename.Rename(project, resource, 1)
+    project.do(renamer.get_changes(newname))
+    project.close()
+
+def init():
+    """Initialize rope mode"""
+    #lisp.global_set_key(lisp.kbd('C-c r r'), lisp.rope_rename)
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.