mirror of
https://github.com/neovim/neovim.git
synced 2025-09-06 19:38:20 +00:00
Merge #11642 'CI: test powershell core'
This commit is contained in:
@@ -86,6 +86,8 @@ addons:
|
|||||||
- xclip
|
- xclip
|
||||||
homebrew:
|
homebrew:
|
||||||
update: false
|
update: false
|
||||||
|
casks:
|
||||||
|
- powershell
|
||||||
packages:
|
packages:
|
||||||
- ccache
|
- ccache
|
||||||
- ninja
|
- ninja
|
||||||
@@ -115,9 +117,12 @@ jobs:
|
|||||||
apt:
|
apt:
|
||||||
sources:
|
sources:
|
||||||
- sourceline: 'ppa:ubuntu-toolchain-r/test'
|
- sourceline: 'ppa:ubuntu-toolchain-r/test'
|
||||||
|
- sourceline: 'deb [arch=amd64] https://packages.microsoft.com/ubuntu/16.04/prod xenial main'
|
||||||
|
key_url: 'https://packages.microsoft.com/keys/microsoft.asc'
|
||||||
packages:
|
packages:
|
||||||
- *common-apt-packages
|
- *common-apt-packages
|
||||||
- gcc-9
|
- gcc-9
|
||||||
|
- powershell
|
||||||
- if: branch = master AND commit_message !~ /\[skip.lint\]/
|
- if: branch = master AND commit_message !~ /\[skip.lint\]/
|
||||||
name: lint
|
name: lint
|
||||||
os: linux
|
os: linux
|
||||||
|
@@ -17,12 +17,12 @@ build_nvim
|
|||||||
|
|
||||||
exit_suite --continue
|
exit_suite --continue
|
||||||
|
|
||||||
enter_suite tests
|
|
||||||
|
|
||||||
source ~/.nvm/nvm.sh
|
source ~/.nvm/nvm.sh
|
||||||
nvm use 10
|
nvm use 10
|
||||||
export TREE_SITTER_DIR=$HOME/tree-sitter-build/
|
export TREE_SITTER_DIR=$HOME/tree-sitter-build/
|
||||||
|
|
||||||
|
enter_suite tests
|
||||||
|
|
||||||
if test "$CLANG_SANITIZER" != "TSAN" ; then
|
if test "$CLANG_SANITIZER" != "TSAN" ; then
|
||||||
# Additional threads are only created when the builtin UI starts, which
|
# Additional threads are only created when the builtin UI starts, which
|
||||||
# doesn't happen in the unit/functional tests
|
# doesn't happen in the unit/functional tests
|
||||||
|
@@ -5202,8 +5202,9 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
Note that such processing is done after |:set| did its own round of
|
Note that such processing is done after |:set| did its own round of
|
||||||
unescaping, so to keep yourself sane use |:let-&| like shown above.
|
unescaping, so to keep yourself sane use |:let-&| like shown above.
|
||||||
*shell-powershell*
|
*shell-powershell*
|
||||||
To use powershell (on Windows): >
|
To use powershell: >
|
||||||
set shell=powershell shellquote= shellpipe=\| shellxquote=
|
let &shell = has('win32') ? 'powershell' : 'pwsh'
|
||||||
|
set shellquote= shellpipe=\| shellxquote=
|
||||||
set shellcmdflag=-NoLogo\ -NoProfile\ -ExecutionPolicy\ RemoteSigned\ -Command
|
set shellcmdflag=-NoLogo\ -NoProfile\ -ExecutionPolicy\ RemoteSigned\ -Command
|
||||||
set shellredir=\|\ Out-File\ -Encoding\ UTF8
|
set shellredir=\|\ Out-File\ -Encoding\ UTF8
|
||||||
|
|
||||||
|
@@ -504,9 +504,13 @@ function module.source(code)
|
|||||||
return fname
|
return fname
|
||||||
end
|
end
|
||||||
|
|
||||||
|
function module.has_powershell()
|
||||||
|
return module.eval('executable("'..(iswin() and 'powershell' or 'pwsh')..'")') == 1
|
||||||
|
end
|
||||||
|
|
||||||
function module.set_shell_powershell()
|
function module.set_shell_powershell()
|
||||||
local shell = iswin() and 'powershell' or 'pwsh'
|
local shell = iswin() and 'powershell' or 'pwsh'
|
||||||
assert(module.eval('executable("'..shell..'")'))
|
assert(module.has_powershell())
|
||||||
local cmd = 'Remove-Item -Force '..table.concat(iswin()
|
local cmd = 'Remove-Item -Force '..table.concat(iswin()
|
||||||
and {'alias:cat', 'alias:echo', 'alias:sleep'}
|
and {'alias:cat', 'alias:echo', 'alias:sleep'}
|
||||||
or {'alias:echo'}, ',')..';'
|
or {'alias:echo'}, ',')..';'
|
||||||
|
@@ -10,6 +10,7 @@ local iswin = helpers.iswin
|
|||||||
local clear = helpers.clear
|
local clear = helpers.clear
|
||||||
local command = helpers.command
|
local command = helpers.command
|
||||||
local nvim_dir = helpers.nvim_dir
|
local nvim_dir = helpers.nvim_dir
|
||||||
|
local has_powershell = helpers.has_powershell
|
||||||
local set_shell_powershell = helpers.set_shell_powershell
|
local set_shell_powershell = helpers.set_shell_powershell
|
||||||
|
|
||||||
describe("shell command :!", function()
|
describe("shell command :!", function()
|
||||||
@@ -228,7 +229,7 @@ describe("shell command :!", function()
|
|||||||
]])
|
]])
|
||||||
end)
|
end)
|
||||||
end)
|
end)
|
||||||
if iswin() or eval('executable("pwsh")') == 1 then
|
if has_powershell() then
|
||||||
it('powershell supports literal strings', function()
|
it('powershell supports literal strings', function()
|
||||||
set_shell_powershell()
|
set_shell_powershell()
|
||||||
local screen = Screen.new(30, 4)
|
local screen = Screen.new(30, 4)
|
||||||
|
Reference in New Issue
Block a user