view compiler/vimcrosoftsln.vim @ 10:f444739dd8af

Improvements to YCM dynamic flags. - Fallback to a "companion" item (e.g. header/source) or a nearby item when no flags are found for an item. - Finding a "companion" is also exposed as a standalone script. - Ability to pass extra clang flags, including some from a special file found in the .vimcrosoft directory. - Add support for PCH and other forced-include files. - Add options for short/long args, or forcing forward slashes. - Debugging/troubleshooting options, including dumping a batch file and response file to run clang directly, and the ability to auto-load a solution's last known environment when running in command line.
author Ludovic Chabant <ludovic@chabant.com>
date Thu, 24 Sep 2020 23:02:16 -0700
parents 5d2c0db51914
children 096e80c13781
line wrap: on
line source

" Compiler file for Visual Studio
" Compiler: Visual Studio
" Maintainer: Ludovic Chabant <https://ludovic.chabant.com>

if exists("current_compiler")
    finish
endif
let current_compiler = "vimcrosoftsln"

let s:keepcpo = &cpo

let s:prgargs = ''
if !empty(g:vimcrosoft_temp_compiler_args__)
    let s:tmpargs = map(
                \copy(g:vimcrosoft_temp_compiler_args__),
                \{idx, val -> escape(val, ' \"')})
    let s:prgargs = '\ '.join(s:tmpargs, '\ ')
endif

let s:prgcmdline = fnameescape('"'.g:vimcrosoft_msbuild_path.'"').s:prgargs
call vimcrosoft#trace("Setting makeprg to: ".s:prgcmdline)
execute "CompilerSet makeprg=".s:prgcmdline

CompilerSet errorformat&

let &cpo = s:keepcpo
unlet s:keepcpo