aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/os/pty_process_win.c
Commit message (Collapse)AuthorAge
* refactor: rename "process" => "proc" #30387Justin M. Keyes2024-09-15
| | | | | | | | | | | | Problem: - "process" is often used as a verb (`multiqueue_process_events`), which is ambiguous for cases where it's used as a topic. - The documented naming convention for processes is "proc". - `:help dev-name-common` - Shorter is better, when it doesn't harm readability or discoverability. Solution: Rename "process" => "proc" in all C symbols and module names.
* fixup: apply the change on more filesJames Tirta Halim2024-06-04
|
* refactor(io): separate types for read and write streamsbfredl2024-05-31
| | | | | | | | | | | | This is a structural refactor with no logical changes, yet. Done in preparation for simplifying rstream/rbuffer which will require more state inline in RStream. The initial idea was to have RStream and WStream as sub-types symetrically but that doesn't work, as sockets are both reading and writing. Also there is very little write-specific state to start with, so the benefit of a separate WStream struct is a lot smaller. Just document what fields in `Stream` are write specific.
* fix(process): avoid potential data race on exit (#27769)zeertzjq2024-03-08
| | | | | On exit, pty_process_close() may be called after pty_process_finish1() but before start_wait_eof_timer(), in which case the timer shouldn't be started because pty_process_close() has already closed it.
* fix(process): close handles and timer in pty_process_close() (#27760)zeertzjq2024-03-07
| | | This should prevent use-after-free on exit on Windows.
* fix(process): start pty process eof timer on main thread (#27625)zeertzjq2024-02-26
|
* refactor(IWYU): fix headersdundargoc2024-01-11
| | | | | | Remove `export` pramgas from defs headers as it causes IWYU to believe that the definitions from the defs headers comes from main header, which is not what we really want.
* refactor: run IWYU on entire repodundargoc2023-12-21
| | | | Reference: https://github.com/neovim/neovim/issues/6371.
* refactor(IWYU): move decor provider types to decoration_defs.h (#26692)zeertzjq2023-12-21
|
* refactor: fix headers with IWYUdundargoc2023-11-28
|
* build: remove PVSdundargoc2023-11-12
| | | | | | | We already have an extensive suite of static analysis tools we use, which causes a fair bit of redundancy as we get duplicate warnings. PVS is also prone to give false warnings which creates a lot of work to identify and disable.
* fix(job-control): fix use after free (#25223)sid-65812023-09-18
|
* refactor: adjust headers according to the style guide (#23934)dundargoc2023-06-06
| | | System headers should be included first to prevent naming conflicts.
* refactor: remove typval.h from most header files (#23601)zeertzjq2023-05-13
| | | Because typval_defs.h is enough for most of them.
* build: update uncrustify to 0.76Lewis Russell2023-04-19
|
* refactor(uncrustify): change rules to better align with the style guideDundar Goc2022-04-29
| | | | | | | | | | | | | Add space around arithmetic operators '+' and '-'. Remove space between back-to-back parentheses, i.e. ')(' vs. ') ('. Remove space between '((' or '))' of control statements. Add space between ')' and '{' of control statements. Remove space between function name and '(' on function declaration. Collapse empty blocks between '{' and '}'. Remove newline at the end of the file. Remove newline between 'enum' and '{'. Remove newline between '}' and ')' in a function invocation. Remove newline between '}' and 'while' of 'do' statement.
* refactor(uncrustify): format all c code under /src/nvim/Dundar Goc2022-04-29
|
* refactor(terminal)!: drop winpty, require Windows 10 #18253erw72022-04-26
| | | | | | | | | | | Problem: winpty is only needed for Windows 8.1. Removing it reduces our build and code complexity. Solution: - Remove winpty. - Require Windows 10. closes #18252
* chore: fix typos (#17670)dundargoc2022-03-17
| | | Co-authored-by: zeertzjq <zeertzjq@outlook.com>
* refactor: fix clint warnings (#17682)dundargoc2022-03-13
|
* fix(pty_process_win/wait_eof_timer_cb): also check for proc->out.did_eofzeertzjq2022-03-02
|
* refactor: format files with uncrustify #15663dundargoc2021-09-14
|
* Add more info to debug messagesJames McCoy2021-04-08
| | | | [skip ci]
* os/win: fix build failureJan Edmund Lazo2021-03-31
|
* Change QUEUE_FOREACH macro to use while instead of forerw72021-03-30
|
* Pass environment on to pty processes on WindowsJames McCoy2021-01-31
| | | | | | | | | | | | vim-patch:8.2.0239: MS-Windows: 'env' job option does not override existing vars Problem: MS-Windows: 'env' job option does not override existing environment variables. (Tim Pope) Solution: Set the environment variables later. (Yasuhiro Matsumoto, closes vim/vim#5485, closes vim/vim#5608) https://github.com/vim/vim/commit/355757aed6ae2ae5446882570d89f243e4805937 Co-authored-by: erw7 <erw7.github@gmail.com>
* Remove termtype optionerw72020-01-17
|
* Change option name from termwintype to termtypeerw72020-01-17
|
* Rename from os_win_conpty.{c,h} to pty_conpty_win.{c,h}erw72020-01-17
|
* Change enum to a name that follows naming conventionerw72020-01-17
|
* Minor changes in reviewer's pointerw72020-01-17
|
* Move ConPTY resize to os_win_conpty.cerw72020-01-17
|
* Change union name from pty_object to objecterw72020-01-17
| | | | Co-Authored-By: Justin M. Keyes <justinkz@gmail.com>
* Change to use ConPTY, if availableerw72020-01-17
|
* utf16_to_utf8: align with libuvJustin M. Keyes2019-08-15
| | | | | | | | | - take a size parameter - return libuv error code - handle error in caller only (avoid redundant messages) https://github.com/libuv/libuv/commit/53995a3825d23eacd01e2bcfa35642c4a188d32b https://github.com/libuv/libuv/commit/4c945f49365ab4d6e1b07bf0ef2893455dc04622
* utf8_to_utf16: align with libuvJustin M. Keyes2019-08-15
| | | | | | | | | | - take a size parameter - always NUL-terminate the result - return libuv error code - handle error in caller only (avoid redundant messages) https://github.com/libuv/libuv/commit/53995a3825d23eacd01e2bcfa35642c4a188d32b https://github.com/libuv/libuv/commit/4c945f49365ab4d6e1b07bf0ef2893455dc04622
* channels: reflect exit due to signals in exit status code (#10573)Daniel Hahler2019-08-09
| | | | | Uses `128 + term_signal` in case of exit due to a signal. Fixes https://github.com/neovim/neovim/issues/10571.
* api: list information about all channels/jobs.Björn Linse2018-05-23
| | | | | Fire autocmd when channel opens or its info changes. Add a way for API clients can describe themselves.
* Add missing PVS headers to new filesJames McCoy2018-03-11
|
* Fix warning: multi-line comment [-Wcomment] use `:341,355s/: ↵George Zhao2018-01-19
| | | | \zs.*/\=string(submatch(0))`
* Fix warning about conversion on mingw64George Zhao2018-01-18
|
* channels: refactorBjörn Linse2017-11-24
|
* pty_process_win: avoid quoting for cmd.exeerw72017-08-16
|
* win/pty: log errorserw72017-08-16
|
* win/pyt: cleanuperw72017-08-16
|
* win/pty: quote_cmd_arg(): check boundserw72017-08-16
|
* win/pty: jobstart, jobstop: fix null-pointer dereferenceerw72017-08-16
| | | | | | | - Make sure that proc->in is not NULL, because nvim crashed when starting a job with pty. - Make sure that proc->out is not NULL, because nvim crashed when stopping a job opened with pty.
* win: support :terminalerw72017-08-16
|
* win: integrate winpty (WIP)Ryan Prichard2017-08-16
Handling of process exit is still broken. It detects the moment when the child process exits, then quickly stops polling for process output. It should continue polling for output until the agent has scraped all of the process' output. This problem is easy to notice by running a command like "dir && exit", but even typing "exit<ENTER>" can manifest the problem -- the "t" might not appear. winpty's Cygwin adapter handles shutdown by waiting for the agent to close the CONOUT pipe, which it does after it has scraped the child's last output. AFAIK, neovim doesn't do anything interesting when winpty closes the CONOUT pipe.