X Tutup
if !g:pymode || pymode#default('b:pymode', 1) finish endif if g:pymode_python == 'disable' if g:pymode_warning call pymode#error("Pymode requires vim compiled with +python3 (exclusively). Most of features will be disabled.") endif finish else let b:pymode_modified = &modified " Init paths if !pymode#default('g:pymode_init', 1) call pymode#init(expand(':p:h:h:h'), g:pymode_paths) call pymode#virtualenv#init() call pymode#breakpoint#init() PymodePython from pymode.utils import patch_paths PymodePython patch_paths() endif endif command! -buffer -nargs=1 PymodeVirtualenv call pymode#virtualenv#activate() " Setup events for pymode au! pymode BufWritePre call pymode#buffer_pre_write() au! pymode BufWritePost call pymode#buffer_post_write() " Run python code if g:pymode_run command! -buffer -nargs=0 -range=% PymodeRun call pymode#run#code_run(, ) exe "nnoremap " g:pymode_run_bind ":PymodeRun" exe "vnoremap " g:pymode_run_bind ":PymodeRun" endif " Add/remove breakpoints if g:pymode_breakpoint exe "nnoremap " g:pymode_breakpoint_bind ":call pymode#breakpoint#operate(line('.'))" endif " Python folding if g:pymode_folding setlocal foldmethod=expr setlocal foldexpr=pymode#folding#expr(v:lnum) setlocal foldtext=pymode#folding#text() endif " Remove unused whitespaces if g:pymode_trim_whitespaces au BufWritePre call pymode#trim_whitespaces() endif " Custom options if g:pymode_options setlocal complete+=t setlocal formatoptions-=t if v:version > 702 && !&relativenumber setlocal number endif setlocal nowrap exe "setlocal textwidth=" . g:pymode_options_max_line_length if g:pymode_options_colorcolumn && exists('+colorcolumn') setlocal colorcolumn=+1 endif setlocal commentstring=#%s setlocal define=^\s*\\(def\\\\|class\\) endif if g:pymode_lint command! -buffer -nargs=0 PymodeLintAuto :call pymode#lint#auto() command! -buffer -nargs=0 PymodeLintToggle :call pymode#lint#toggle() command! -buffer -nargs=0 PymodeLint :call pymode#lint#check() if v:version > 703 || (v:version == 703 && has('patch544')) au! QuitPre call pymode#quit() else au! pymode BufWinLeave * silent! lclose endif let b:pymode_error_line = -1 if g:pymode_lint_on_fly au! pymode InsertLeave PymodeLint endif if g:pymode_lint_message au! pymode CursorMoved au! pymode CursorMoved call pymode#lint#show_errormessage() endif " Disabled for current release if g:pymode_lint_async " let &l:updatetime = g:pymode_lint_async_updatetime " au! BufEnter call pymode#lint#start() " au! BufLeave call pymode#lint#stop() endif endif " Show python documentation if g:pymode_doc " Set commands command! -buffer -nargs=1 PymodeDoc call pymode#doc#show("") " Set keys exe "nnoremap " g:pymode_doc_bind ":call pymode#doc#find()" exe "vnoremap " g:pymode_doc_bind ":call pymode#doc#show(@*)" endif " Rope support if g:pymode_rope if g:pymode_rope_goto_definition_bind != "" exe "noremap " . g:pymode_rope_goto_definition_bind . " :call pymode#rope#goto_definition()" endif if g:pymode_rope_show_doc_bind != "" exe "noremap " . g:pymode_rope_show_doc_bind . " :call pymode#rope#show_doc()" endif if g:pymode_rope_find_it_bind != "" exe "noremap " . g:pymode_rope_find_it_bind . " :call pymode#rope#find_it()" endif if g:pymode_rope_organize_imports_bind != "" exe "noremap " . g:pymode_rope_organize_imports_bind . " :call pymode#rope#organize_imports()" endif if g:pymode_rope_rename_bind != "" exe "noremap " . g:pymode_rope_rename_bind . " :call pymode#rope#rename()" endif if g:pymode_rope_rename_module_bind != "" exe "noremap " . g:pymode_rope_rename_module_bind . " :call pymode#rope#rename_module()" endif if g:pymode_rope_extract_method_bind != "" exe "vnoremap " . g:pymode_rope_extract_method_bind . " :call pymode#rope#extract_method()" endif if g:pymode_rope_extract_variable_bind != "" exe "vnoremap " . g:pymode_rope_extract_variable_bind . " :call pymode#rope#extract_variable()" endif if g:pymode_rope_inline_bind != "" exe "noremap " . g:pymode_rope_inline_bind . " :call pymode#rope#inline()" endif if g:pymode_rope_move_bind != "" exe "noremap " . g:pymode_rope_move_bind . " :call pymode#rope#move()" endif if g:pymode_rope_change_signature_bind != "" exe "noremap " . g:pymode_rope_change_signature_bind . " :call pymode#rope#signature()" endif if g:pymode_rope_use_function_bind != "" exe "noremap " . g:pymode_rope_use_function_bind . " :call pymode#rope#use_function()" endif if g:pymode_rope_generate_function_bind != "" exe "noremap " . g:pymode_rope_generate_function_bind . " :call pymode#rope#generate_function()" endif if g:pymode_rope_generate_package_bind != "" exe "noremap " . g:pymode_rope_generate_package_bind . " :call pymode#rope#generate_package()" endif if g:pymode_rope_generate_class_bind != "" exe "noremap " . g:pymode_rope_generate_class_bind . " :call pymode#rope#generate_class()" endif if g:pymode_rope_module_to_package_bind != "" exe "noremap " . g:pymode_rope_module_to_package_bind . " :call pymode#rope#module_to_package()" endif if g:pymode_rope_autoimport_bind != "" exe "noremap " . g:pymode_rope_autoimport_bind . " :PymodeRopeAutoImport" endif if g:pymode_rope_completion && g:pymode_rope_complete_on_dot inoremap . .=pymode#rope#complete_on_dot() endif command! -buffer -nargs=? PymodeRopeNewProject call pymode#rope#new() command! -buffer PymodeRopeUndo call pymode#rope#undo() command! -buffer PymodeRopeRedo call pymode#rope#redo() command! -buffer PymodeRopeRenameModule call pymode#rope#rename_module() command! -buffer PymodeRopeModuleToPackage call pymode#rope#module_to_package() command! -buffer PymodeRopeRegenerate call pymode#rope#regenerate() if g:pymode_rope_autoimport command! -buffer PymodeRopeAutoImport call pymode#rope#autoimport(expand('')) endif endif if g:pymode_debug " Redefine functions to be debugged here functions here. " NOTE: The redraw seems to be necessary to force messages to get echoed to " the screen. See: " https://groups.google.com/forum/#!topic/vim_use/EfcXOjq_rKE " for details. " silent! redraw! " TODO: when loading with 'vim -u ./debug.vim' the messages shown in vim " are unduly cleared. Need a fix. " Start debbuging environment. {{{ if ! &verbosefile " Get a system independent temporary filename. The 'marker' variable is " used to get rid of a null character getting inserted at position. " substitute() was not able to remove it. " TODO: see https://superuser.com/questions/935574/get-rid-of-null-character-in-vim-variable let g:pymode_debug_tempfile=matchstr( \ execute( \ g:pymode_python \ . " import os;import tempfile; marker='|';" \ . " print(marker, tempfile.gettempdir(), os.sep, " \ . "'pymode_debug_file.txt', marker, sep='', end='')"), \ '|\zs.*\ze|') execute "set verbosefile=" . g:pymode_debug_tempfile endif call pymode#debug('Starting debug on: ' \ . strftime("\%Y-\%m-\%d \%H:\%M:\%S") \ . ' with file ' . &verbosefile) " }}} " Redefine folding expression. {{{ if g:pymode_folding setlocal foldexpr=pymode#debug#foldingexpr(v:lnum) endif call pymode#debug#sysinfo() " }}} " Define auto commands for vim. {{{ augroup augroup_save_issue_commands autocmd! autocmd VimLeave *.py | call pymode#debug('Session history:') | silent! history augroup END " }}} endif
X Tutup