| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
Problem: If a terminal shows in two windows, only one is redrawn.
Solution: Reset the dirty row range only after redrawing all windows.
(closes #9341)
|
|
|
|
|
|
| |
Problem: Focus change is not passed on to a terminal window.
Solution: If the current window is a terminal and focus events are enabled
send a focus event escape sequence to the terminal.
|
|
|
|
|
| |
Problem: Freeze when calling term_wait() in a close callback.
Solution: Set a "closing" flag to tell term_wait() to return. (closes #9152)
|
|
|
|
|
| |
Problem: Looking terminal colors is a bit slow.
Solution: Cache the terminal colors. (closes #9130, closes #9058)
|
|
|
|
|
|
| |
Problem: When renaming a terminal buffer the status text is not updated.
Solution: Clear the cached status text when renaming a terminal buffer.
(closes #9162)
|
|
|
|
|
|
| |
Problem: Terminal window does not have transparent background when
'termguicolors' is used.
Solution: Fix the background color. (closes #2361, closes #9002)
|
|
|
|
|
|
| |
Problem: Terminal colors are not updated when 'background' is set.
Solution: Call term_update_colors() for all terminals. (Marcin Szamotulski,
closes #8171, closes #8150)
|
|
|
|
|
| |
Problem: :mksession does not restore shared terminal buffer properly.
Solution: Keep a hashtab with terminal buffers. (Rob Pilling, closes #6930)
|
|
|
|
|
| |
Problem: Blocking commands for a finished job in a popup window.
Solution: Do not block commands if the job has finished. Adjust test.
|
|
|
|
|
|
| |
Problem: Cannot put a terminal in a popup window.
Solution: Allow opening a terminal in a popup window. It will always have
keyboard focus until closed.
|
|
|
|
|
|
|
| |
Problem: CTRL-W dot does not work in a terminal when modifyOtherKeys is
enabled.
Solution: Use the modifier when needed. Pass the modifier along with the
key to avoid mistakes.
|
|
|
|
|
|
| |
Problem: The terminal API is limited and can't be disabled.
Solution: Add term_setapi() to set the function prefix. (Ozaki Kiichi,
closes #2907)
|
|
|
|
|
| |
Problem: Some global functions can be local to the file.
Solution: Add "static". (Yegappan Lakshmanan, closes #4917)
|
|
|
|
|
| |
Problem: Some function prototypes are outdated.
Solution: Update function prototypes. (Ken Takata, closes #4267)
|
|
|
|
|
| |
Problem: Vim doesn't use the new ConPTY support in Windows 10.
Solution: Use ConPTY support, if available. (Nobuhiro Takasaki, closes #3794)
|
|
|
|
|
|
|
| |
Problem: Having job_status() free the job causes problems.
Solution: Do not actually free the job or terminal yet, put it in a list and
free it a bit later. Do not use a terminal after checking the job
status. (closes #3873)
|
|
|
|
|
|
| |
Problem: Depending on the configuration some functions are unused.
Solution: Add more #ifdefs, remove unused functions. (Dominique Pelle,
closes #3822)
|
|
|
|
|
| |
Problem: v:shell_error is always zero when using terminal for "!cmd".
Solution: Use "exitval" of terminal-job. (Ozaki Kiichi, closes #2994)
|
|
|
|
|
|
| |
Problem: Still a crash with terminal window and with 'lazyredraw' set.
(Antoine)
Solution: Do not wipe out the buffer when updating the screen.
|
|
|
|
|
|
| |
Problem: Buffer of a terminal only updated in Terminal-Normal mode.
Solution: Copy the terminal window content to the buffer when in
Terminal-Job mode.
|
|
|
|
|
|
| |
Problem: Terminal window is redrawn too often and scrolling is repeated.
Solution: Don't scroll immediately but only when redrawing. Avoid redrawing
the whole terminal window on every change.
|
|
|
|
|
| |
Problem: Term_setsize() is not implemented yet.
Solution: Implement it.
|
|
|
|
|
|
| |
Problem: Can't set ANSI colors of a terminal window.
Solution: Add term_setansicolors(), term_getansicolors() and
g:term_ansi_colors. (Andy Massimino, closes #2747)
|
|
|
|
|
|
| |
Problem: Shell commands in the GUI use a dumb terminal.
Solution: Add the "!" flag to 'guioptions' to execute system commands in a
special terminal window. Only for Unix now.
|
|
|
|
|
|
|
| |
Problem: Cannot select text in a terminal with the mouse.
Solution: When a job in a terminal is not consuming mouse events, use them
for modeless selection. Also stop Insert mode when clicking in a
terminal window.
|
|
|
|
|
| |
Problem: :qall never exits with an active terminal window.
Solution: Add a way to kill a job in a terminal window.
|
|
|
|
|
|
| |
Problem: Terminal windows in a session are not properly restored.
Solution: Add "terminal" in 'sessionoptions'. When possible restore the
command running in a terminal.
|
|
|
|
|
|
| |
Problem: Cannot write and read terminal screendumps.
Solution: Add term_dumpwrite(), term_dumpread() and term_dumpdiff().
Also add assert_equalfile().
|
|
|
|
|
|
| |
Problem: Terminal window colors wrong when using Terminal highlighting.
Solution: Set ansi_index when setting the default color. Also cache the
color index for Terminal. (Ozaki Kiichi, closes #2393)
|
|
|
|
|
|
| |
Problem: Cannot specify mappings for the terminal window.
Solution: Add the :tmap command and associated code. (Jacob Askeland,
closes #2073)
|
|
|
|
|
|
|
|
| |
Problem: term_start() does not take callbacks. When using two terminals
without a job only one is read from. A terminal without a window
returns the wrong pty.
Solution: Support "callback", "out_cb" and "err_cb". Fix terminal without a
window. Fix reading from multiple channels.
|
|
|
|
|
|
| |
Problem: Sending buffer lines to terminal doesn't work on MS-Windows.
Solution: Send CTRL-D to mark the end of the text. (Yasuhiro Matsumoto,
closes #2043) Add the "eof_chars" option.
|
|
|
|
|
| |
Problem: MS-Windows: has('terminal') does not check existence of dll file.
Solution: Check if the winpty dll file can be loaded. (Ken Takata)
|
|
|
|
|
| |
Problem: Terminal window cursor shape not supported in the GUI.
Solution: Use the terminal window cursor shape in the GUI.
|
|
|
|
|
|
| |
Problem: Can't use the alternate screen in a terminal window.
Solution: Initialze the alternate screen. (Yasuhiro Matsumoto, closes
#1957) Add term_getaltscreen().
|
|
|
|
|
| |
Problem: Cannot get the scroll count of a terminal window.
Solution: Add term_getscrolled().
|
|
|
|
|
| |
Problem: Using CTRL-\ CTRL-N in terminal is inconsistent.
Solution: Stay in Normal mode.
|
|
|
|
|
|
| |
Problem: In a terminal window cannot use CTRL-\ CTRL-N to start Visual
mode.
Solution: After CTRL-\ CTRL-N enter Terminal-Normal mode for one command.
|
|
|
|
|
|
|
|
| |
Problem: Using mouse scroll while a terminal window has focus and the mouse
pointer is on another window does not work. Same for focus in a
non-terminal window ahd the mouse pointer is over a terminal
window.
Solution: Send the scroll action to the right window.
|
|
|
|
|
|
| |
Problem: Cannot get the name of the pty of a job.
Solution: Add the "tty" entry to the job info. (Ozaki Kiichi, closes #1920)
Add the term_gettty() function.
|
|
|
|
|
|
| |
Problem: Buffer hangs around whem terminal window is closed.
Solution: When the job has ended wipe out a terminal buffer when the window
is closed.
|
|
|
|
|
| |
Problem: Cannot get the title and status of a terminal window.
Solution: Implement term_gettitle() and term_getstatus().
|
|
|
|
|
| |
Problem: Cannot get the cursor position of a terminal.
Solution: Add term_getcursor().
|
|
|
|
|
|
| |
Problem: Cannot use Vim commands in a terminal window while the job is
running.
Solution: Implement Terminal Normal mode.
|
|
|
|
|
|
| |
Problem: Terminal window functions not yet implemented.
Solution: Implement several functions. Add a first test. (Yasuhiro
Matsumoto, closes #1871)
|
|
|
|
|
| |
Problem: No highlighting in a terminal window with a finished job.
Solution: Highlight the text.
|
|
|
|
|
|
| |
Problem: Finished job in terminal window is not handled.
Solution: Add the scrollback buffer. Use it to fill the buffer when the job
has ended.
|
|
|
|
|
| |
Problem: Job of terminal may be garbage collected.
Solution: Set copyID on job in terminal. (Ozaki Kiichi)
|
|
|
|
|
|
|
| |
Problem: Terminal window status shows "[Scratch]".
Solution: Show "[Terminal]" when no title was set. (Yasuhiro Matsumoto)
Store the terminal title that vterm sends and use it. Update the
special buffer name. (closes #1869)
|
|
|
|
|
|
|
|
| |
Problem: Options of a buffer for a terminal window are not set properly.
Solution: Add "terminal" value for 'buftype'. Make 'buftype' and
'bufhidden' not depend on the quickfix feature.
Also set the buffer name and show "running" or "finished" in the
window title.
|