Mercurial > vim
diff runtime/ftplugin/python.vim @ 13482:9eebe457eb3c
Update runtime files. Convert a couple of help files to utf-8.
commit https://github.com/vim/vim/commit/98ef233e14faaaf42e0342da1803d493ce0337b2
Author: Bram Moolenaar <Bram@vim.org>
Date: Sun Mar 18 14:44:37 2018 +0100
Update runtime files. Convert a couple of help files to utf-8.
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sun, 18 Mar 2018 15:00:07 +0100 |
parents | 371ceeebbdaa |
children | a62eeee5f116 |
line wrap: on
line diff
--- a/runtime/ftplugin/python.vim +++ b/runtime/ftplugin/python.vim @@ -3,7 +3,7 @@ " Maintainer: Tom Picton <tom@tompicton.co.uk> " Previous Maintainer: James Sully <sullyj3@gmail.com> " Previous Maintainer: Johannes Zellner <johannes@zellner.org> -" Last Change: Wed, 20 December 2017 +" Last Change: Sun, 18 March 2018 " https://github.com/tpict/vim-ftplugin-python if exists("b:did_ftplugin") | finish | endif @@ -14,7 +14,25 @@ set cpo&vim setlocal cinkeys-=0# setlocal indentkeys-=0# setlocal include=^\\s*\\(from\\\|import\\) -setlocal includeexpr=substitute(v:fname,'\\.','/','g') + +" For imports with leading .., append / and replace additional .s with ../ +let b:grandparent_match = '^\(.\.\)\(\.*\)' +let b:grandparent_sub = '\=submatch(1)."/".repeat("../",strlen(submatch(2)))' + +" For imports with a single leading ., replace it with ./ +let b:parent_match = '^\.\(\.\)\@!' +let b:parent_sub = './' + +" Replace any . sandwiched between word characters with / +let b:child_match = '\(\w\)\.\(\w\)' +let b:child_sub = '\1/\2' + +setlocal includeexpr=substitute(substitute(substitute( + \v:fname, + \b:grandparent_match,b:grandparent_sub,''), + \b:parent_match,b:parent_sub,''), + \b:child_match,b:child_sub,'g') + setlocal suffixesadd=.py setlocal comments=b:#,fb:- setlocal commentstring=#\ %s