annotate plugin/vimcrosoft.vim @ 6:376f3371c311

Save all unsaved buffers before building.
author Ludovic Chabant <ludovic@chabant.com>
date Thu, 24 Sep 2020 22:54:02 -0700
parents 1955749ac575
children 1639be0967d6
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
1 " vimcrosoft.vim - A wrapper for Visual Studio solutions
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
2 " Maintainer: Ludovic Chabant <https://ludovic.chabant.com>
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
3
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
4 " Globals {{{
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
5
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
6 if (&cp || get(g:, 'vimcrosoft_dont_load', 0))
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
7 finish
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
8 endif
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
9
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
10 let g:vimcrosoft_trace = get(g:, 'vimcrosoft_trace', 0)
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
11
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
12 let g:vimcrosoft_current_sln = get(g:, 'vimcrosoft_current_sln', '')
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
13 let g:vimcrosoft_current_config = get(g:, 'vimcrosoft_current_config', '')
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
14 let g:vimcrosoft_current_platform = get(g:, 'vimcrosoft_current_platform', '')
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
15 let g:vimcrosoft_active_project = get(g:, 'vimcrosoft_active_project', '')
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
16
1
426cb9c33353 Don't enable auto-finding solutions by default, leave it opt-in.
Ludovic Chabant <ludovic@chabant.com>
parents: 0
diff changeset
17 let g:vimcrosoft_auto_find_sln = get(g:, 'vimcrosoft_auto_find_sln', 0)
0
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
18 let g:vimcrosoft_sln_finder = get(g:, 'vimcrosoft_sln_finder', '')
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
19
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
20 let g:vimcrosoft_current_sln_cache = ''
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
21
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
22 let g:vimcrosoft_msbuild_path = get(g:, 'vimcrosoft_msbuild_path', '')
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
23 let g:vimcrosoft_use_external_python = get(g:, 'vimcrosoft_use_external_python', 0)
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
24 let g:vimcrosoft_make_command = get(g:, 'vimcrosoft_make_command', '')
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
25
6
376f3371c311 Save all unsaved buffers before building.
Ludovic Chabant <ludovic@chabant.com>
parents: 2
diff changeset
26 let g:vimcrosoft_save_all_on_build = get(g:, 'vimcrosoft_save_all_on_build', 1)
376f3371c311 Save all unsaved buffers before building.
Ludovic Chabant <ludovic@chabant.com>
parents: 2
diff changeset
27
0
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
28 " }}}
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
29
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
30 " Commands {{{
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
31
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
32 command! VimcrosoftAutoFindSln :call vimcrosoft#auto_find_sln()
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
33 command! -nargs=1 -complete=file VimcrosoftSetSln :call vimcrosoft#set_sln(<f-args>)
2
1955749ac575 Fix typo in command registration.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
34 command! VimcrosoftUnsetSln :call vimcrosoft#set_sln("")
0
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
35
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
36 command! -nargs=1
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
37 \ -complete=customlist,vimcrosoft#complete_current_sln_config_platforms
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
38 \ VimcrosoftSetConfigPlatform
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
39 \ :call vimcrosoft#set_config_platform(<f-args>)
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
40
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
41 command! VimcrosoftBuildSln :call vimcrosoft#build_sln('Build')
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
42 command! VimcrosoftRebuildSln :call vimcrosoft#build_sln('Rebuild')
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
43 command! VimcrosoftCleanSln :call vimcrosoft#build_sln('Clean')
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
44
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
45 command! -nargs=1
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
46 \ -complete=customlist,vimcrosoft#complete_current_sln_projects
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
47 \ VimcrosoftSetActiveProject
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
48 \ :call vimcrosoft#set_active_project(<f-args>)
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
49 command! VimcrosoftBuildActiveProject :call vimcrosoft#build_project('', '', 0)
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
50 command! VimcrosoftBuildActiveProjectOnly :call vimcrosoft#build_project('', '', 1)
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
51 command! VimcrosoftRebuildActiveProject :call vimcrosoft#build_project('', 'Rebuild', 0)
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
52 command! VimcrosoftCleanActiveProject :call vimcrosoft#build_project('', 'Clean', 0)
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
53
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
54 command! -nargs=1
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
55 \ -complete=customlist,vimcrosoft#complete_current_sln_projects
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
56 \ VimcrosoftBuildProject
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
57 \ :call vimcrosoft#build_project(<f-args>, '', 0)
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
58 command! -nargs=1
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
59 \ -complete=customlist,vimcrosoft#complete_current_sln_projects
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
60 \ VimcrosoftBuildProjectOnly
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
61 \ :call vimcrosoft#build_project(<f-args>, '', 1)
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
62 command! -nargs=1
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
63 \ -complete=customlist,vimcrosoft#complete_current_sln_projects
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
64 \ VimcrosoftRebuildProject
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
65 \ :call vimcrosoft#build_project(<f-args>, 'Rebuild', 1)
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
66 command! -nargs=1 -complete=customlist,vimcrosoft#complete_current_sln_projects
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
67 \ VimcrosoftCleanProject
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
68 \ :call vimcrosoft#build_project(<f-args>, 'Clean', 1)
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
69
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
70 " }}}
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
71
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
72 " Initialization {{{
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
73
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
74 call vimcrosoft#init()
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
75
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
76 " }}}