agr / ropemode (http://rope.sf.net/ropemacs.html)

Common parts of ropemacs and ropevim.

Clone this repository (size: 44.0 KB): HTTPS / SSH
$ hg clone http://bitbucket.org/agr/ropemode/
commit 24: 46c666216413
parent 23: eeefd0a8bf9b
branch: trunk
interface: added guess_project variable
Ali Gholami Rudi
21 months ago

Changed (Δ559 bytes):

raw changeset »

ropemode/interface.py (18 lines added, 1 lines removed)

Up to file-list ropemode/interface.py:

1
import os
2
1
3
import rope.base.change
2
4
from rope.base import libutils
3
5
from rope.contrib import codeassist, generate, autoimport, findit
@@ -398,10 +400,25 @@ class RopeMode(object):
398
400
399
401
    def _check_project(self):
400
402
        if self.project is None:
401
            self.open_project()
403
            if self.env.get('guess_project'):
404
                self.open_project(self._guess_project())
405
            else:
406
                self.open_project()
402
407
        else:
403
408
            self.project.validate(self.project.root)
404
409
410
    def _guess_project(self):
411
        cwd = self.env.filename()
412
        if cwd is not None:
413
            while True:
414
                ropefolder = os.path.join(cwd, '.ropeproject')
415
                if os.path.exists(ropefolder) and os.path.isdir(ropefolder):
416
                    return cwd
417
                newcwd = os.path.dirname(cwd)
418
                if newcwd == cwd:
419
                    break
420
                cwd = newcwd
421
405
422
    def _reload_buffers(self, changes, undo=False):
406
423
        self._reload_buffers_for_changes(
407
424
            changes.get_changed_resources(),