1
0
forked from aniani/vim

patch 8.1.0880: MS-Windows: inconsistent selection of winpty/conpty

Problem:    MS-Windows: inconsistent selection of winpty/conpty.
Solution:   Name option 'termwintype', use ++type argument and "term_pty" for
            term_start(). (Hirohito Higashi, closes #3915)
This commit is contained in:
Bram Moolenaar
2019-02-08 12:47:03 +01:00
parent 0036201a1a
commit c6ddce3f2c
12 changed files with 106 additions and 87 deletions

View File

@@ -5750,6 +5750,11 @@ job_info([{job}]) *job_info()*
(See |job_stop()| for the values)
only valid when "status" is "dead"
Only in MS-Windows:
"tty_type" Type of virtual console in use.
Values are "winpty" or "conpty".
See 'termwintype'.
Without any arguments, returns a List with all Job objects.
job_setoptions({job}, {options}) *job_setoptions()*
@@ -9469,10 +9474,8 @@ term_start({cmd}, {options}) *term_start()*
"ansi_colors" A list of 16 color names or hex codes
defining the ANSI palette used in GUI
color modes. See |g:terminal_ansi_colors|.
"term_mode" (MS-Windows only): Specify which pty to
use:
"winpty": Use winpty
"conpty": Use ConPTY (if available)
"tty_type" (MS-Windows only): Specify which pty to
use. See 'termwintype' for the values.
{only available when compiled with the |+terminal| feature}

View File

@@ -8054,23 +8054,6 @@ A jump table for the options with a short description can be found at |Q_op|.
Note that the "cterm" attributes are still used, not the "gui" ones.
NOTE: This option is reset when 'compatible' is set.
*'termmode'* *'tmod'*
'termmode' 'tmod' string (default "")
local to window
{not in Vi, MS-Windows only}
Whether the window uses winpty or |ConPTY| as the virtual console.
When set before opening the terminal, it influences what pty is used.
When opening the terminal it will be set to the actually used pty.
Possible values are:
"" use ConPTY if possible, winpty otherwise
"winpty" use winpty, fail if not supported
"conpty" use |ConPTY|, fail if not supported
|ConPTY| support depends on the platform (Windows 10 October 2018
edition). winpty support needs to be installed. If neither is
supported then you cannot open a terminal window.
*'termwinscroll'* *'twsl'*
'termwinscroll' 'twsl' number (default 10000)
local to buffer
@@ -8119,6 +8102,24 @@ A jump table for the options with a short description can be found at |Q_op|.
the size of the terminal. In that case the Vim window will be
adjusted to that size, if possible.
*'termwintype'* *'twt'*
'termwintype' 'twt' string (default "")
global
{not in Vi}
{only available when compiled with the |terminal|
feature on MS-Windows}
Specify the virtual console (pty) used when opening the terminal
window.
Possible values are:
"" use ConPTY if possible, winpty otherwise
"winpty" use winpty, fail if not supported
"conpty" use |ConPTY|, fail if not supported
|ConPTY| support depends on the platform (Windows 10 October 2018
edition). winpty support needs to be installed. If neither is
supported then you cannot open a terminal window.
*'terse'* *'noterse'*
'terse' boolean (default off)
global

View File

@@ -1,4 +1,4 @@
*quickref.txt* For Vim version 8.1. Last change: 2018 Apr 18
*quickref.txt* For Vim version 8.1. Last change: 2019 Feb 08
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -930,6 +930,7 @@ Short explanation of each option: *option-list*
'termwinkey' 'twk' key that precedes a Vim command in a terminal
'termwinscroll' 'twsl' max number of scrollback lines in a terminal window
'termwinsize' 'tws' size of a terminal window
'termwintype' 'twt' MS-Windows: type of pty to use for terminal window
'terse' shorten some messages
'textauto' 'ta' obsolete, use 'fileformats'
'textmode' 'tx' obsolete, use 'fileformat'

View File

@@ -228,8 +228,10 @@ Syntax ~
for Python "++eof=exit()". Special
codes can be used like with `:map`,
e.g. "<C-Z>" for CTRL-Z.
++winpty Use winpty as the virtual console.
++conpty Use |ConPTY| as the virtual console.
++type={pty} (MS-Windows only): Use {pty} as the
virtual console. See 'termwintype'
for the values.
If you want to use more options use the |term_start()|
function.
If you want to split the window vertically, use: >
@@ -416,8 +418,8 @@ On more recent versions of MS-Windows 10 (beginning with the "October 2018
Update"), winpty is no longer required. On those versions, |:terminal| will use
Windows' built-in support for hosting terminal applications, "ConPTY". When
ConPTY is in use, there may be rendering artifacts regarding ambiguous-width
characters. If you encounter any such issues, set 'termmode' to winpty (which
you then must have instlled).
characters. If you encounter any such issues, set 'termwintype' to "winpty"
(which you then must have instlled).
Environment variables are used to pass information to the running job:
VIM_SERVERNAME v:servername

View File

@@ -1,7 +1,7 @@
" These commands create the option window.
"
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2019 Jan 27
" Last Change: 2019 Feb 08
" If there already is an option window, jump to that one.
let buf = bufnr('option-window')
@@ -503,6 +503,10 @@ if has("terminal")
call <SID>OptionL("twk")
call append("$", "termwinscroll\tmax number of lines to keep for scrollback in a terminal window")
call append("$", "\t(local to window)")
if has('win32')
call append("$", "termwintype\ttype of pty to use for a terminal window")
call <SID>OptionG("twt", &twt)
endif
call <SID>OptionL("twsl")
if exists("&winptydll")
call append("$", "winptydll\tname of the winpty dynamic library")