1
0
forked from aniani/vim
Commit Graph

58 Commits

Author SHA1 Message Date
Bram Moolenaar
c896adbcde patch 9.0.0912: libvterm with modifyOtherKeys level 2 does not match xterm
Problem:    libvterm with modifyOtherKeys level 2 does not match xterm.
Solution:   Adjust key code escape sequences to be the same as what xterm
            sends in modifyOtherKeys level 2 mode.  Check the value of
            no_reduce_keys before using it.
2022-11-19 19:02:40 +00:00
Yee Cheng Chin
15b314ffbb patch 9.0.0708: :confirm does not work properly for a terminal buffer
Problem:    :confirm does not work properly for a terminal buffer.
Solution:   Handle :confirm for a terminal buffer differently.  (Yee Cheng
            Chin, closes #11312)
2022-10-09 18:53:32 +01:00
Bram Moolenaar
9e636b9d2e patch 8.2.5041: cannot close a terminal popup with "NONE" job
Problem:    Cannot close a terminal popup with "NONE" job.
Solution:   Adjust the conditions for whether a job is running.
            (closes #10498)
2022-05-29 22:37:05 +01:00
LemonBoy
b2b3acbf2b patch 8.2.4982: colors in terminal window are not 100% correct
Problem:    Colors in terminal window are not 100% correct.
Solution:   Use g:terminal_ansi_colors as documented. (closes #10429,
            closes #7227 closes #10347)
2022-05-20 10:10:34 +01:00
Bram Moolenaar
3194e5bf87 patch 8.2.3801: if a terminal shows in two windows, only one is redrawn
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)
2021-12-13 21:59:09 +00:00
Bram Moolenaar
a48d4e44a2 patch 8.2.3761: focus change is not passed on to a terminal window
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.
2021-12-08 22:13:38 +00:00
Bram Moolenaar
eea32afdb8 patch 8.2.3640: freeze when calling term_wait() in a close callback
Problem:    Freeze when calling term_wait() in a close callback.
Solution:   Set a "closing" flag to tell term_wait() to return. (closes #9152)
2021-11-21 14:51:13 +00:00
Bram Moolenaar
87fd0924e2 patch 8.2.3628: looking terminal colors is a bit slow
Problem:    Looking terminal colors is a bit slow.
Solution:   Cache the terminal colors. (closes #9130, closes #9058)
2021-11-20 13:47:45 +00:00
Bram Moolenaar
3ad695328f patch 8.2.3624: when renaming a terminal buffer status text is not updated
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)
2021-11-19 17:01:08 +00:00
Milly
7b5f45be21 patch 8.2.3516: terminal window does not have transparent background
Problem:    Terminal window does not have transparent background when
            'termguicolors' is used.
Solution:   Fix the background color. (closes #2361, closes #9002)
2021-10-15 22:25:43 +01:00
Bram Moolenaar
ad43199572 patch 8.2.2830: terminal colors are not updated when 'background' is set
Problem:    Terminal colors are not updated when 'background' is set.
Solution:   Call term_update_colors() for all terminals. (Marcin Szamotulski,
            closes #8171, closes #8150)
2021-05-03 20:40:38 +02:00
Bram Moolenaar
0e655111e9 patch 8.2.1662: :mksession does not restore shared terminal buffer properly
Problem:    :mksession does not restore shared terminal buffer properly.
Solution:   Keep a hashtab with terminal buffers. (Rob Pilling, closes #6930)
2020-09-11 20:36:36 +02:00
Bram Moolenaar
d98c0b63ab patch 8.2.0196: blocking commands for a finished job in a popup window
Problem:    Blocking commands for a finished job in a popup window.
Solution:   Do not block commands if the job has finished.  Adjust test.
2020-02-02 15:25:16 +01:00
Bram Moolenaar
219c7d0638 patch 8.2.0191: cannot put a terminal in a popup window
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.
2020-02-01 21:57:29 +01:00
Bram Moolenaar
1e814bc017 patch 8.1.2248: CTRL-W dot does not work when modifyOtherKeys is enabled
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.
2019-11-03 21:19:41 +01:00
Bram Moolenaar
d2842ea60b patch 8.1.2080: the terminal API is limited and can't be disabled
Problem:    The terminal API is limited and can't be disabled.
Solution:   Add term_setapi() to set the function prefix. (Ozaki Kiichi,
            closes #2907)
2019-09-26 23:08:54 +02:00
Bram Moolenaar
840d16fd36 patch 8.1.2021: some global functions can be local to the file
Problem:    Some global functions can be local to the file.
Solution:   Add "static". (Yegappan Lakshmanan, closes #4917)
2019-09-10 21:27:18 +02:00
Bram Moolenaar
b9cdb37176 patch 8.1.1182: some function prototypes are outdated
Problem:    Some function prototypes are outdated.
Solution:   Update function prototypes. (Ken Takata, closes #4267)
2019-04-17 18:24:35 +02:00
Bram Moolenaar
aa5df7e312 patch 8.1.0870: Vim doesn't use the new ConPTY support in Windows 10
Problem:    Vim doesn't use the new ConPTY support in Windows 10.
Solution:   Use ConPTY support, if available. (Nobuhiro Takasaki, closes #3794)
2019-02-03 14:53:10 +01:00
Bram Moolenaar
2a4857a1fc patch 8.1.0845: having job_status() free the job causes problems
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)
2019-01-29 22:29:07 +01:00
Bram Moolenaar
113e10721f patch 8.1.0785: depending on the configuration some functions are unused
Problem:    Depending on the configuration some functions are unused.
Solution:   Add more #ifdefs, remove unused functions. (Dominique Pelle,
            closes #3822)
2019-01-20 15:30:40 +01:00
Bram Moolenaar
f9c3883b11 patch 8.1.0087: v:shell_error is always zero when using terminal for "!cmd"
Problem:    v:shell_error is always zero when using terminal for "!cmd".
Solution:   Use "exitval" of terminal-job. (Ozaki Kiichi, closes #2994)
2018-06-19 19:59:20 +02:00
Bram Moolenaar
0cb8ac71ae patch 8.0.1815: crash with terminal window and with 'lazyredraw' set
Problem:    Still a crash with terminal window and with 'lazyredraw' set.
            (Antoine)
Solution:   Do not wipe out the buffer when updating the screen.
2018-05-11 22:01:51 +02:00
Bram Moolenaar
56bc8e299c patch 8.0.1810: buffer of a terminal only updated in Terminal-Normal mode
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.
2018-05-10 18:05:56 +02:00
Bram Moolenaar
6eddadff13 patch 8.0.1797: terminal window is redrawn too often
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.
2018-05-06 16:40:16 +02:00
Bram Moolenaar
a42d363bac patch 8.0.1711: term_setsize() is not implemented yet
Problem:    Term_setsize() is not implemented yet.
Solution:   Implement it.
2018-04-14 17:05:38 +02:00
Bram Moolenaar
f59c6e8cee patch 8.0.1685: can't set ANSI colors of a terminal window
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)
2018-04-10 15:59:11 +02:00
Bram Moolenaar
135682517b patch 8.0.1609: shell commands in the GUI use a dumb terminal
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.
2018-03-16 20:46:58 +01:00
Bram Moolenaar
c48369c3fc patch 8.0.1598: cannot select text in a terminal with the mouse
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.
2018-03-11 19:30:45 +01:00
Bram Moolenaar
25cdd9c33b patch 8.0.1593: :qall never exits with an active terminal window
Problem:    :qall never exits with an active terminal window.
Solution:   Add a way to kill a job in a terminal window.
2018-03-10 20:28:12 +01:00
Bram Moolenaar
4d8bac8bf5 patch 8.0.1592: terminal windows in a session are not properly restored
Problem:    Terminal windows in a session are not properly restored.
Solution:   Add "terminal" in 'sessionoptions'.  When possible restore the
            command running in a terminal.
2018-03-09 21:33:34 +01:00
Bram Moolenaar
d96ff16511 patch 8.0.1523: cannot write and read terminal screendumps
Problem:    Cannot write and read terminal screendumps.
Solution:   Add term_dumpwrite(), term_dumpread() and term_dumpdiff().
            Also add assert_equalfile().
2018-02-18 22:13:29 +01:00
Bram Moolenaar
a7c54cfcf8 patch 8.0.1362: terminal window colors wrong when using Terminal highlighting
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)
2017-12-01 21:07:20 +01:00
Bram Moolenaar
69fbc9e1da patch 8.0.1108: cannot specify mappings for the terminal window
Problem:    Cannot specify mappings for the terminal window.
Solution:   Add the :tmap command and associated code.  (Jacob Askeland,
            closes #2073)
2017-09-14 20:37:57 +02:00
Bram Moolenaar
3c518400d1 patch 8.0.1076: term_start() does not take callbacks
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.
2017-09-08 20:47:00 +02:00
Bram Moolenaar
3346cc4ffb patch 8.0.1034: sending buffer lines to terminal doesn't work on MS-Windows
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.
2017-09-02 14:54:21 +02:00
Bram Moolenaar
a83e3962ac patch 8.0.0952: has('terminal') does not check existence of dll file
Problem:    MS-Windows: has('terminal') does not check existence of dll file.
Solution:   Check if the winpty dll file can be loaded. (Ken Takata)
2017-08-17 14:39:07 +02:00
Bram Moolenaar
3d9bdfebf1 patch 8.0.0921: terminal window cursor shape not supported in the GUI
Problem:    Terminal window cursor shape not supported in the GUI.
Solution:   Use the terminal window cursor shape in the GUI.
2017-08-12 22:55:58 +02:00
Bram Moolenaar
e41e3b41f9 patch 8.0.0898: can't use the alternate screen in a terminal window
Problem:    Can't use the alternate screen in a terminal window.
Solution:   Initialze the alternate screen. (Yasuhiro Matsumoto, closes
            #1957)  Add term_getaltscreen().
2017-08-11 16:24:50 +02:00
Bram Moolenaar
82b9ca05f4 patch 8.0.0893: cannot get the scroll count of a terminal window
Problem:    Cannot get the scroll count of a terminal window.
Solution:   Add term_getscrolled().
2017-08-08 23:06:46 +02:00
Bram Moolenaar
6d8197485d patch 8.0.0877: using CTRL-\ CTRL-N in terminal is inconsistent
Problem:    Using CTRL-\ CTRL-N in terminal is inconsistent.
Solution:   Stay in Normal mode.
2017-08-06 14:57:49 +02:00
Bram Moolenaar
aaa8a35fbd patch 8.0.0873: in terminal cannot use CTRL-\ CTRL-N to start Visual 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.
2017-08-05 20:17:00 +02:00
Bram Moolenaar
98fd66d311 patch 8.0.0872: no mouse scroll with a terminal window
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.
2017-08-05 19:34:47 +02:00
Bram Moolenaar
7c9aec4ac8 patch 8.0.0846: cannot get the name of the pty of a job
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.
2017-08-03 13:51:25 +02:00
Bram Moolenaar
94053a5125 patch 8.0.0838: buffer hangs around whem terminal window is closed
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.
2017-08-01 21:44:33 +02:00
Bram Moolenaar
b000e328ef patch 8.0.0821: cannot get the title and status of a terminal window
Problem:    Cannot get the title and status of a terminal window.
Solution:   Implement term_gettitle() and term_getstatus().
2017-07-30 19:38:21 +02:00
Bram Moolenaar
97870002d3 patch 8.0.0818: cannot get the cursor position of a terminal
Problem:    Cannot get the cursor position of a terminal.
Solution:   Add term_getcursor().
2017-07-30 18:28:38 +02:00
Bram Moolenaar
423802d1a2 patch 8.0.0813: cannot use a terminal window while the job is running
Problem:    Cannot use Vim commands in a terminal window while the job is
            running.
Solution:   Implement Terminal Normal mode.
2017-07-30 16:52:24 +02:00
Bram Moolenaar
c6df10e5d3 patch 8.0.0804: terminal window functions not yet implemented
Problem:    Terminal window functions not yet implemented.
Solution:   Implement several functions. Add a first test. (Yasuhiro
            Matsumoto, closes #1871)
2017-07-29 20:15:08 +02:00
Bram Moolenaar
63ecddab6d patch 8.0.0798: no highlighting in a terminal window with a finished job
Problem:    No highlighting in a terminal window with a finished job.
Solution:   Highlight the text.
2017-07-28 22:29:35 +02:00