Mercurial > vim-crosoft
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 |
rev | line source |
---|---|
0 | 1 " vimcrosoft.vim - A wrapper for Visual Studio solutions |
2 " Maintainer: Ludovic Chabant <https://ludovic.chabant.com> | |
3 | |
4 " Globals {{{ | |
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 | 12 finish |
13 endif | |
14 | |
15 let g:vimcrosoft_trace = get(g:, 'vimcrosoft_trace', 0) | |
16 | |
17 let g:vimcrosoft_current_sln = get(g:, 'vimcrosoft_current_sln', '') | |
18 let g:vimcrosoft_current_config = get(g:, 'vimcrosoft_current_config', '') | |
19 let g:vimcrosoft_current_platform = get(g:, 'vimcrosoft_current_platform', '') | |
20 let g:vimcrosoft_active_project = get(g:, 'vimcrosoft_active_project', '') | |
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 | 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 | 25 |
26 let g:vimcrosoft_current_sln_cache = '' | |
27 | |
28 let g:vimcrosoft_msbuild_path = get(g:, 'vimcrosoft_msbuild_path', '') | |
29 let g:vimcrosoft_use_external_python = get(g:, 'vimcrosoft_use_external_python', 0) | |
30 let g:vimcrosoft_make_command = get(g:, 'vimcrosoft_make_command', '') | |
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 | 34 " }}} |
35 | |
36 " Commands {{{ | |
37 | |
38 command! VimcrosoftAutoFindSln :call vimcrosoft#auto_find_sln() | |
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 | 41 |
42 command! -nargs=1 | |
43 \ -complete=customlist,vimcrosoft#complete_current_sln_config_platforms | |
44 \ VimcrosoftSetConfigPlatform | |
45 \ :call vimcrosoft#set_config_platform(<f-args>) | |
46 | |
47 command! VimcrosoftBuildSln :call vimcrosoft#build_sln('Build') | |
48 command! VimcrosoftRebuildSln :call vimcrosoft#build_sln('Rebuild') | |
49 command! VimcrosoftCleanSln :call vimcrosoft#build_sln('Clean') | |
50 | |
51 command! -nargs=1 | |
52 \ -complete=customlist,vimcrosoft#complete_current_sln_projects | |
53 \ VimcrosoftSetActiveProject | |
54 \ :call vimcrosoft#set_active_project(<f-args>) | |
55 command! VimcrosoftBuildActiveProject :call vimcrosoft#build_project('', '', 0) | |
56 command! VimcrosoftBuildActiveProjectOnly :call vimcrosoft#build_project('', '', 1) | |
57 command! VimcrosoftRebuildActiveProject :call vimcrosoft#build_project('', 'Rebuild', 0) | |
58 command! VimcrosoftCleanActiveProject :call vimcrosoft#build_project('', 'Clean', 0) | |
59 | |
60 command! -nargs=1 | |
61 \ -complete=customlist,vimcrosoft#complete_current_sln_projects | |
62 \ VimcrosoftBuildProject | |
63 \ :call vimcrosoft#build_project(<f-args>, '', 0) | |
64 command! -nargs=1 | |
65 \ -complete=customlist,vimcrosoft#complete_current_sln_projects | |
66 \ VimcrosoftBuildProjectOnly | |
67 \ :call vimcrosoft#build_project(<f-args>, '', 1) | |
68 command! -nargs=1 | |
69 \ -complete=customlist,vimcrosoft#complete_current_sln_projects | |
70 \ VimcrosoftRebuildProject | |
71 \ :call vimcrosoft#build_project(<f-args>, 'Rebuild', 1) | |
72 command! -nargs=1 -complete=customlist,vimcrosoft#complete_current_sln_projects | |
73 \ VimcrosoftCleanProject | |
74 \ :call vimcrosoft#build_project(<f-args>, 'Clean', 1) | |
75 | |
76 " }}} | |
77 | |
78 " Initialization {{{ | |
79 | |
80 call vimcrosoft#init() | |
81 | |
82 " }}} | |
13
dce01b0e9982
Add usual vim plugin loading protection
Ludovic Chabant <ludovic@chabant.com>
parents:
12
diff
changeset
|
83 |