]> git.madduck.net Git - etc/vim.git/blob - plugin/black.vim

madduck's git repository

Every one of the projects in this repository is available at the canonical URL git://git.madduck.net/madduck/pub/<projectpath> — see each project's metadata for the exact URL.

All patches and comments are welcome. Please squash your changes to logical commits before using git-format-patch and git-send-email to patches@git.madduck.net. If you'd read over the Git project's submission guidelines and adhered to them, I'd be especially grateful.

SSH access, as well as push access can be individually arranged.

If you use my repositories frequently, consider adding the following snippet to ~/.gitconfig and using the third clone URL listed for each project:

[url "git://git.madduck.net/madduck/"]
  insteadOf = madduck:

black/parser: partial support for pattern matching (#2586)
[etc/vim.git] / plugin / black.vim
1 " black.vim
2 " Author: Łukasz Langa
3 " Created: Mon Mar 26 23:27:53 2018 -0700
4 " Requires: Vim Ver7.0+
5 " Version:  1.2
6 "
7 " Documentation:
8 "   This plugin formats Python files.
9 "
10 " History:
11 "  1.0:
12 "    - initial version
13 "  1.1:
14 "    - restore cursor/window position after formatting
15 "  1.2:
16 "    - use autoload script
17
18 if v:version < 700 || !has('python3')
19     func! __BLACK_MISSING()
20         echo "The black.vim plugin requires vim7.0+ with Python 3.6 support."
21     endfunc
22     command! Black :call __BLACK_MISSING()
23     command! BlackUpgrade :call __BLACK_MISSING()
24     command! BlackVersion :call __BLACK_MISSING()
25     finish
26 endif
27
28 if exists("g:load_black")
29   finish
30 endif
31
32 let g:load_black = "py1.0"
33 if !exists("g:black_virtualenv")
34   if has("nvim")
35     let g:black_virtualenv = "~/.local/share/nvim/black"
36   else
37     let g:black_virtualenv = "~/.vim/black"
38   endif
39 endif
40 if !exists("g:black_fast")
41   let g:black_fast = 0
42 endif
43 if !exists("g:black_linelength")
44   let g:black_linelength = 88
45 endif
46 if !exists("g:black_skip_string_normalization")
47   if exists("g:black_string_normalization")
48     let g:black_skip_string_normalization = !g:black_string_normalization
49   else
50     let g:black_skip_string_normalization = 0
51   endif
52 endif
53 if !exists("g:black_quiet")
54   let g:black_quiet = 0
55 endif
56 if !exists("g:black_target_version")
57   let g:black_target_version = ""
58 endif
59
60 function BlackComplete(ArgLead, CmdLine, CursorPos)
61   return [
62 \    'target_version=py27',
63 \    'target_version=py36',
64 \    'target_version=py37',
65 \    'target_version=py38',
66 \    'target_version=py39',
67 \  ]
68 endfunction
69
70 command! -nargs=* -complete=customlist,BlackComplete Black :call black#Black(<f-args>)
71 command! BlackUpgrade :call black#BlackUpgrade()
72 command! BlackVersion :call black#BlackVersion()