mirror of
https://github.com/neovim/neovim.git
synced 2024-12-19 10:45:16 -07:00
2b9d8dc87e
runtime: Remove fallback :CompilerSet definition from compiler plugins
The :CompilerSet command was added in version Vim 6.4 which was released
twenty years ago. Other runtime files do not support versions of that
vintage so it is reasonable to remove this fallback command definition
now.
closes: vim/vim#14399
408281e16a
Co-authored-by: Doug Kearns <dougkearns@gmail.com>
85 lines
2.6 KiB
VimL
85 lines
2.6 KiB
VimL
" Vim compiler file
|
|
" Compiler: powershell
|
|
" URL: https://github.com/PProvost/vim-ps1
|
|
" Contributors: Enno Nagel
|
|
" Last Change: 2024 Mar 29
|
|
" 2024 Apr 03 by The Vim Project (removed :CompilerSet definition)
|
|
|
|
if exists("current_compiler")
|
|
finish
|
|
endif
|
|
let current_compiler = "powershell"
|
|
|
|
let s:cpo_save = &cpo
|
|
set cpo-=C
|
|
|
|
if !exists("g:ps1_makeprg_cmd")
|
|
if executable('pwsh')
|
|
" pwsh is the future
|
|
let g:ps1_makeprg_cmd = 'pwsh'
|
|
elseif executable('pwsh.exe')
|
|
let g:ps1_makeprg_cmd = 'pwsh.exe'
|
|
elseif executable('powershell.exe')
|
|
let g:ps1_makeprg_cmd = 'powershell.exe'
|
|
else
|
|
let g:ps1_makeprg_cmd = ''
|
|
endif
|
|
endif
|
|
|
|
if !executable(g:ps1_makeprg_cmd)
|
|
echoerr "To use the powershell compiler, please set g:ps1_makeprg_cmd to the powershell executable!"
|
|
endif
|
|
|
|
" Show CategoryInfo, FullyQualifiedErrorId, etc?
|
|
let g:ps1_efm_show_error_categories = get(g:, 'ps1_efm_show_error_categories', 0)
|
|
|
|
" Use absolute path because powershell requires explicit relative paths
|
|
" (./file.ps1 is okay, but # expands to file.ps1)
|
|
let makeprg = g:ps1_makeprg_cmd .. ' %:p:S'
|
|
|
|
" Parse file, line, char from callstacks:
|
|
" Write-Ouput : The term 'Write-Ouput' is not recognized as the name of a
|
|
" cmdlet, function, script file, or operable program. Check the spelling
|
|
" of the name, or if a path was included, verify that the path is correct
|
|
" and try again.
|
|
" At C:\script.ps1:11 char:5
|
|
" + Write-Ouput $content
|
|
" + ~~~~~~~~~~~
|
|
" + CategoryInfo : ObjectNotFound: (Write-Ouput:String) [], CommandNotFoundException
|
|
" + FullyQualifiedErrorId : CommandNotFoundException
|
|
|
|
execute 'CompilerSet makeprg=' .. escape(makeprg, ' ')
|
|
|
|
" Showing error in context with underlining.
|
|
CompilerSet errorformat=%+G+%m
|
|
" Error summary.
|
|
CompilerSet errorformat+=%E%*\\S\ :\ %m
|
|
" Error location.
|
|
CompilerSet errorformat+=%CAt\ %f:%l\ char:%c
|
|
" Errors that span multiple lines (may be wrapped to width of terminal).
|
|
CompilerSet errorformat+=%C%m
|
|
" Ignore blank/whitespace-only lines.
|
|
CompilerSet errorformat+=%Z\\s%#
|
|
|
|
if g:ps1_efm_show_error_categories
|
|
CompilerSet errorformat^=%+G\ \ \ \ +\ %.%#\\s%#:\ %m
|
|
else
|
|
CompilerSet errorformat^=%-G\ \ \ \ +\ %.%#\\s%#:\ %m
|
|
endif
|
|
|
|
|
|
" Parse file, line, char from of parse errors:
|
|
" At C:\script.ps1:22 char:16
|
|
" + Stop-Process -Name "invalidprocess
|
|
" + ~~~~~~~~~~~~~~~
|
|
" The string is missing the terminator: ".
|
|
" + CategoryInfo : ParserError: (:) [], ParseException
|
|
" + FullyQualifiedErrorId : TerminatorExpectedAtEndOfString
|
|
CompilerSet errorformat+=At\ %f:%l\ char:%c
|
|
|
|
|
|
let &cpo = s:cpo_save
|
|
unlet s:cpo_save
|
|
|
|
" vim:set sw=2 sts=2:
|