| commit 24: | 46c666216413 |
| parent 23: | eeefd0a8bf9b |
| branch: | trunk |
interface: added guess_project variable
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 |
|
|
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(), |
