Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit6a9d70f

Browse files
committed
Added the ability to actually quiet the project loading process. Added auto session management, which will probably be removed and usesession.vim if installed.
1 parent9d2401b commit6a9d70f

File tree

2 files changed

+46
-4
lines changed

2 files changed

+46
-4
lines changed

‎plugin/pymode.vim

Lines changed: 33 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -193,6 +193,9 @@ if !pymode#Default("g:pymode_rope", 1) || g:pymode_rope
193193
" `.ropeproject` subdirectory.
194194
callpymode#Default("g:pymode_rope_auto_project_open",1)
195195

196+
" OPTION: g:pymode_rope_auto_session_manage -- bool
197+
callpymode#Default("g:pymode_rope_auto_session_manage",0)
198+
196199
" OPTION: g:pymode_rope_enable_autoimport -- bool. Enable autoimport
197200
callpymode#Default("g:pymode_rope_enable_autoimport",1)
198201

@@ -250,12 +253,33 @@ if !pymode#Default("g:pymode_rope", 1) || g:pymode_rope
250253
endfunction"}}}
251254

252255
fun!RopeOpenExistingProject()"{{{
253-
ifisdirectory('./.ropeproject')
254-
:silentcallRopeOpenProject()
256+
ifisdirectory(getcwd() .'/.ropeproject')
257+
" In order to pass it the quiet kwarg I need to open the project
258+
" using python and not vim, which should be no major issue
259+
py ropevim._interface.open_project(quiet=True)
255260
return""
256261
endif
257262
endfunction"}}}
258263

264+
fun!RopeOpenSession()"{{{
265+
iffilereadable(getcwd() .'/.ropeproject/.session.vim')
266+
execute'source' .getcwd() .'/.ropeproject/.session.vim'
267+
ifbufexists(1)
268+
forlinrange(1,bufnr('$'))
269+
ifbufwinnr(l)==-1
270+
execute'sbuffer' .l
271+
endif
272+
endfor
273+
endif
274+
endif
275+
endfunction"}}}
276+
277+
fun!RopeSaveSession()"{{{
278+
ifisdirectory(getcwd() .'/.ropeproject')
279+
execute'mksession!' .getcwd() .'/.ropeproject/.session.vim'
280+
endif
281+
endfunction"}}}
282+
259283
fun!RopeLuckyAssistInsertMode()"{{{
260284
callRopeLuckyAssist()
261285
return""
@@ -291,12 +315,18 @@ if !pymode#Default("g:pymode_rope", 1) || g:pymode_rope
291315
menu<silent> Rope.Restructure :RopeRestructure<CR>
292316
menu<silent> Rope.Undo :RopeUndo<CR>
293317
menu<silent> Rope.UseFunction :RopeUseFunction<CR>
318+
menu<silent> Rope.OpenSession :callRopeOpenSession()<CR>
319+
menu<silent> Rope.SaveSession :callRopeSaveSession()<CR>
294320

295-
" Hooks
296321
if!pymode#Default("g:pymode_rope_auto_project_open",1)||g:pymode_rope_auto_project_open
297322
callRopeOpenExistingProject()
298323
endif
299324

325+
if!pymode#Default("g:pymode_rope_auto_session_manage",0)||g:pymode_rope_auto_session_manage
326+
autocmdVimLeave*callRopeSaveSession()
327+
autocmdVimEnter*callRopeRestoreSession()
328+
endif
329+
300330
endif
301331

302332
" }}}

‎pylibs/ropevim.py

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,9 @@
1010

1111
importvim
1212

13+
# Gobal var to be able to shutup output
14+
_rope_quiet=False
15+
1316

1417
classVimUtils(environment.Environment):
1518

@@ -377,12 +380,17 @@ def done(self):
377380

378381

379382
defecho(message):
383+
if_rope_quiet:
384+
return
380385
ifisinstance(message,unicode):
381386
message=message.encode(vim.eval('&encoding'))
382387
printmessage
383388

384389

385390
defstatus(message):
391+
if_rope_quiet:
392+
return
393+
386394
ifisinstance(message,unicode):
387395
message=message.encode(vim.eval('&encoding'))
388396
vim.command('redraw | echon "{0}"'.format(message))
@@ -417,7 +425,10 @@ def __call__(self, arg_lead, cmd_line, cursor_pos):
417425

418426
classRopeMode(interface.RopeMode):
419427
@decorators.global_command('o')
420-
defopen_project(self,root=None):
428+
defopen_project(self,root=None,quiet=False):
429+
global_rope_quiet
430+
_rope_quiet=quiet
431+
421432
super(RopeMode,self).open_project(root=root)
422433
rope_project_dir=os.path.join(self.project.address,'.ropeproject')
423434
vimfiles=glob.glob(os.path.join(rope_project_dir,'*.vim'))
@@ -431,6 +442,7 @@ def open_project(self, root=None):
431442
progress.name=txt+' ({0})'.format(os.path.basename(vimfile))
432443
vim.command(':silent source {0}'.format(vimfile))
433444
progress.update(idx*100/len(vimfiles))
445+
434446
progress.name=txt
435447
progress.done()
436448
echo('Project opened!')

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp