annotate plugin/vimcrosoft.vim @ 13:dce01b0e9982

Add usual vim plugin loading protection
author Ludovic Chabant <ludovic@chabant.com>
date Tue, 29 Aug 2023 12:51:25 -0700
parents 1639be0967d6
children
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
13
dce01b0e9982 Add usual vim plugin loading protection
Ludovic Chabant <ludovic@chabant.com>
parents: 12
diff changeset
6 if exists('g:loaded_vimcrosoft') || &cp
dce01b0e9982 Add usual vim plugin loading protection
Ludovic Chabant <ludovic@chabant.com>
parents: 12
diff changeset
7 finish
dce01b0e9982 Add usual vim plugin loading protection
Ludovic Chabant <ludovic@chabant.com>
parents: 12
diff changeset
8 endif
dce01b0e9982 Add usual vim plugin loading protection
Ludovic Chabant <ludovic@chabant.com>
parents: 12
diff changeset
9 let g:loaded_vimcrosoft = 1
dce01b0e9982 Add usual vim plugin loading protection
Ludovic Chabant <ludovic@chabant.com>
parents: 12
diff changeset
10
dce01b0e9982 Add usual vim plugin loading protection
Ludovic Chabant <ludovic@chabant.com>
parents: 12
diff changeset
11 if get(g:, 'vimcrosoft_dont_load', 0)
0
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
12 finish
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
13 endif
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
14
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
15 let g:vimcrosoft_trace = get(g:, 'vimcrosoft_trace', 0)
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
16
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
17 let g:vimcrosoft_current_sln = get(g:, 'vimcrosoft_current_sln', '')
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
18 let g:vimcrosoft_current_config = get(g:, 'vimcrosoft_current_config', '')
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
19 let g:vimcrosoft_current_platform = get(g:, 'vimcrosoft_current_platform', '')
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
20 let g:vimcrosoft_active_project = get(g:, 'vimcrosoft_active_project', '')
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
21
1
426cb9c33353 Don't enable auto-finding solutions by default, leave it opt-in.
Ludovic Chabant <ludovic@chabant.com>
parents: 0
diff changeset
22 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
23 let g:vimcrosoft_sln_finder = get(g:, 'vimcrosoft_sln_finder', '')
12
1639be0967d6 Warn if multiple solutions have been found in the project.
Ludovic Chabant <ludovic@chabant.com>
parents: 6
diff changeset
24 let g:vimcrosoft_warn_multiple_slns = get(g:, 'vimcrosoft_warn_multiple_slns', 1)
0
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
25
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
26 let g:vimcrosoft_current_sln_cache = ''
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
27
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
28 let g:vimcrosoft_msbuild_path = get(g:, 'vimcrosoft_msbuild_path', '')
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
29 let g:vimcrosoft_use_external_python = get(g:, 'vimcrosoft_use_external_python', 0)
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
30 let g:vimcrosoft_make_command = get(g:, 'vimcrosoft_make_command', '')
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
31
6
376f3371c311 Save all unsaved buffers before building.
Ludovic Chabant <ludovic@chabant.com>
parents: 2
diff changeset
32 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
33
0
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
34 " }}}
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
35
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
36 " Commands {{{
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
37
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
38 command! VimcrosoftAutoFindSln :call vimcrosoft#auto_find_sln()
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
39 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
40 command! VimcrosoftUnsetSln :call vimcrosoft#set_sln("")
0
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
41
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
42 command! -nargs=1
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
43 \ -complete=customlist,vimcrosoft#complete_current_sln_config_platforms
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
44 \ VimcrosoftSetConfigPlatform
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
45 \ :call vimcrosoft#set_config_platform(<f-args>)
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
46
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
47 command! VimcrosoftBuildSln :call vimcrosoft#build_sln('Build')
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
48 command! VimcrosoftRebuildSln :call vimcrosoft#build_sln('Rebuild')
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
49 command! VimcrosoftCleanSln :call vimcrosoft#build_sln('Clean')
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
50
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
51 command! -nargs=1
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
52 \ -complete=customlist,vimcrosoft#complete_current_sln_projects
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
53 \ VimcrosoftSetActiveProject
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
54 \ :call vimcrosoft#set_active_project(<f-args>)
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
55 command! VimcrosoftBuildActiveProject :call vimcrosoft#build_project('', '', 0)
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
56 command! VimcrosoftBuildActiveProjectOnly :call vimcrosoft#build_project('', '', 1)
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
57 command! VimcrosoftRebuildActiveProject :call vimcrosoft#build_project('', 'Rebuild', 0)
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
58 command! VimcrosoftCleanActiveProject :call vimcrosoft#build_project('', 'Clean', 0)
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
59
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
60 command! -nargs=1
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
61 \ -complete=customlist,vimcrosoft#complete_current_sln_projects
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
62 \ VimcrosoftBuildProject
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
63 \ :call vimcrosoft#build_project(<f-args>, '', 0)
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
64 command! -nargs=1
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
65 \ -complete=customlist,vimcrosoft#complete_current_sln_projects
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
66 \ VimcrosoftBuildProjectOnly
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
67 \ :call vimcrosoft#build_project(<f-args>, '', 1)
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
68 command! -nargs=1
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
69 \ -complete=customlist,vimcrosoft#complete_current_sln_projects
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
70 \ VimcrosoftRebuildProject
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
71 \ :call vimcrosoft#build_project(<f-args>, 'Rebuild', 1)
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
72 command! -nargs=1 -complete=customlist,vimcrosoft#complete_current_sln_projects
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
73 \ VimcrosoftCleanProject
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
74 \ :call vimcrosoft#build_project(<f-args>, 'Clean', 1)
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
75
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
76 " }}}
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
77
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
78 " Initialization {{{
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
79
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
80 call vimcrosoft#init()
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
81
5d2c0db51914 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
82 " }}}
13
dce01b0e9982 Add usual vim plugin loading protection
Ludovic Chabant <ludovic@chabant.com>
parents: 12
diff changeset
83