| Commit message (Collapse) | Author | Age |
... | |
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: :filter does not work for many commands. Can only get matching
messages.
Solution: Make :filter work for :command, :map, :list, :number and :print.
Make ":filter!" show non-matching lines.
https://github.com/vim/vim/commit/d29459baa61819e59961804ed258efac5733ec70
|
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: Adding pattern to ":oldfiles" is not a generic solution.
Solution: Add the ":filter /pat/ cmd" command modifier. Only works for some
commands right now.
https://github.com/vim/vim/commit/7b668e83d0635d082b7ec90d7d2aa30a9d7d8928
|
| |
| |
| |
| |
| |
| |
| | |
Problem: ":oldfiles" output is a very long list.
Solution: Add a pattern argument. (Coot, closes vim/vim#575)
https://github.com/vim/vim/commit/e11d61a3b1cdedf3144de697a2b38af62c3a78d8
|
| | |
|
| | |
|
|/
|
| |
Does not work currently.
|
|
|
|
|
|
|
| |
Problem: Tab commands do not handle count correctly. (Ken Hamada)
Solution: Add ADDR_TABS_RELATIVE. (Hirohito Higashi)
https://github.com/vim/vim/commit/2f72c70657129c16e6b0e413752a775c804f02f8
|
|
|
|
|
|
|
| |
Problem: There is no way to get a list of the error lists.
Solution: Add ":chistory" and ":lhistory".
https://github.com/vim/vim/commit/f6acffbe83e622542d9fdf3066f51933e46e4954
|
|
|
|
|
|
|
| |
Problem: Viminfo does not merge file marks properly.
Solution: Use a timestamp. Add the :clearjumps command.
https://github.com/vim/vim/commit/2d35899721da0e9359a9fe1059554f8c4ea7f0c1
|
|
|
|
|
|
|
|
| |
Problem: ":lb" is interpreted as ":lbottom" while the documentation says it
means ":lbuffer".
Solution: Adjust the order of the commands. (haya14busa, closes vim/vim#1093)
https://github.com/vim/vim/commit/ebdd90ac282909c0bfcd6e83e70505abbbd5a38d
|
|
|
|
|
|
|
| |
Problem: There is a :cbottom command but no :lbottom command.
Solution: Add :lbottom. (Yegappan Lakshmanan)
https://github.com/vim/vim/commit/537ef08408c50e0c4104d57f74993b3b0ed9560d
|
|
|
|
|
|
|
| |
Problem: Cannot easily scroll the quickfix window.
Solution: Add ":cbottom".
https://github.com/vim/vim/commit/dcb170018642ec144cd87d9d9fe076575b8d1263
|
|
|
|
|
|
|
| |
Problem: Count for ":messages" depends on number of lines.
Solution: Add ADDR_OTHER address type.
https://github.com/vim/vim/commit/5d91646599a7b74310845e30a2a52ff197dc0ed7
|
|
|
|
|
|
|
|
|
| |
Problem: It is not possible to only see part of the message history. It is
not possible to clear messages.
Solution: Add a count to ":messages" and a clear argument. (Yasuhiro
Matsumoto)
https://github.com/vim/vim/commit/451f849fd6282a4facd4f0f58af62837443fb5a6
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Eliminate/isolate static/global variables
- Remove special-case parameter from buflist_new()
- Remove special-case ECMD_RESERVED_BUFNR
- To determine when u_undo_and_forget() should be done, check
b_changedtick instead of a heuristic.
- use mb_string2cells() instead of strlen() to measure the :sub patterns
- call ml_close() before buf_clear_file(). Avoids leaks caught by ASan.
Original patch by:
Robin Elrharbi-Fleury (Robinhola)
Audrey Rayé (Adrey06)
Philémon Hullot (DesbyP)
Aymeric Collange (aym7)
Clément Guyomard (Clement0)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Originally implemented by
* Clement0
* DesbyP
* aym7
* Adrey06
* Robinhola
in #4811. Major reworkings and bug
fixes by
* bfredl
Most tests suggested by ZyX-l, suggestions for improvements by oni-link.
|
|\ |
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
Problem: Cannot load packages early.
Solution: Add the ":packloadall" command.
https://github.com/vim/vim/commit/2d8f56acb32428d0f965d42dd13b27100b46fa15
|
| |
| |
| |
| |
| |
| |
| | |
Problem: No error message when :packadd does not find anything.
Solution: Add an error message. (Hirohito Higashi)
https://github.com/vim/vim/commit/be82c254862e475a582c0717455e1db6bf96b0d0
|
| |
| |
| |
| |
| |
| |
| | |
Problem: ":loadplugin" is not optimal, some people find it confusing.
Solution: Only use ":packadd" with an optional "!".
https://github.com/vim/vim/commit/f3654827368e6204608036353a0360e9e7c21e02
|
| |
| |
| |
| |
| |
| |
| | |
Problem: Cannot add a pack direcory without loading a plugin.
Solution: Add the :packadd command.
https://github.com/vim/vim/commit/91715873d19a1859c08eeded7848113596e2f2bd
|
|/
|
|
|
|
|
| |
Problem: It is not easy to use a set of plugins and their dependencies.
Solution: Add packages, ":loadopt", 'packpath'.
https://github.com/vim/vim/commit/f6fee0e2d4341c0c2f5339c1268e5877fafd07cf
|
|
|
|
|
|
|
|
| |
Problem: ":argadd" without argument is supposed to add the current buffer
name to the arglist.
Solution: Make it work as documented. (Coot, closes vim/vim#577)
https://github.com/vim/vim/commit/2faa29f896252073b53f387406109e331fbbe5f8
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
New ex commands: 'tcd', 'tchdir'
Changed Vimscript functions: 'haslocaldir', 'getcwd'
The ex-commands ':tcd' and ':tchdir' are the tab-local equivalents of
':lcd' and ':lchdir'. There are no new Vimscript functions introduced,
instead the functions 'haslocaldir' and 'getcwd' take in optional
arguments. See the documentation for details
Since there is now different levels of local directory a simple boolean
at source level is no longer sufficient; a new enumeration type is used
for the scope-level from now on.
The documentation has been accommodated for these new commands and
functional tests have been written to test the feature.
|
|
|
|
| |
We don't support it.
|
|
|
|
|
|
|
|
| |
Problem: It's a bit clumsy to execute a command on a list of matches.
Solution: Add the ":ldo", ":lfdo", ":cdo" and ":cfdo" commands. (Yegappan
Lakshmanan)
https://github.com/vim/vim/commit/aa23b379421aa214e6543b06c974594a25799b09
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
As can be seen in [1], the ifdefs are leftovers from Vim, where tons of
features are optional. This is not the case in Nvim, so the macros are
of little use. Besides, ex_ni is already used in a bunch of places,
just not consistently.
The ex_language macro was left untouched as the inclusion of
``:language'' actually is determined at compile time, unlike the other
commands which _always_ print "this command is not available in this
version".
[1]: https://github.com/vim/vim/blob/master/src/ex_docmd.c#L18-L497
Reviewed-by: Justin M. Keyes <justinkz@gmail.com>
|
|
|
|
|
|
|
|
| |
Problem: The buffer list can be very long.
Solution: Add an argument to ":ls" to specify the type of buffer to list.
(Marcin Szamotulski)
https://github.com/vim/vim/commit/d51cb706a4e3ae99555bc214a64c83603c701139
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
From the documentation itself:
:[range]o[pen] Works like |:visual|: end Ex mode.
{Vi: start editing in open mode}
...
Vim does not support open mode, since it's not really useful. For
those situations where ":open" would start open mode Vim will leave Ex
mode, which allows executing the same commands, but updates the whole
screen instead of only one line.
Part of the reason behind this is to make removing vi_diff.txt easier,
although it's also because :open is not too useful.
Helped-by: @fdinoff
Helped-by: @dsummersl
Helped-by: @mhinz
Helped-by: @justinmk
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There's no way this isn't some long-running joke:
"Just as ':print'. Was apparently added to Vi for
people that keep the shift key pressed too long..."
Note: A user command can overrule this command.
Regarding ':X': the command has been removed for a while, but the
documentation must have been missed, so remove it here.
Reviewed-by: Justin M. Keyes <justinkz@gmail.com>
Helped-by: @jusga
|
|
|
|
|
|
|
|
| |
This also removes the 't' flag from 'guioptions'.
Side effect: :term[inal] -> :te[rminal]
Closes #3003.
|
|
|
|
|
|
|
|
|
|
| |
The "*" flag in 'cpoptions' makes the command :* execute the contents of
a register. Removed because
1. the same functionality exists as :@
2. it hides :* as a useful command-line shortcut for :'<,'>
3. unlike :@ it cannot be used with the * register
Helped-by: Michael Reed <m.reed@mykolab.com>
|
|
|
|
|
|
|
|
| |
Problem: ":0argedit foo" puts the new argument in the second place
instead of the first.
Solution: Adjust the range type. (Ingo Karkat)
https://code.google.com/p/vim/source/detail?name=v7-4-588
|
|
|
|
|
|
|
| |
Problem: Range for :bdelete does not work. (Ronald Schild)
Solution: Also allow unloaded buffers.
https://code.google.com/p/vim/source/detail?name=v7-4-585
|
|
|
|
|
|
|
| |
Problem: :argdo, :bufdo, :windo and :tabdo don't take a range.
Solution: Support the range. (Marcin Szamotulski)
https://code.google.com/p/vim/source/detail?r=v7-4-566
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: Ranges for arguments, buffers, tabs, etc. are not checked to
be valid but limited to the maximum. This can cause the
wrong
thing to happen.
Solution: Give an error for an invalid value. (Marcin Szamotulski)
Use windows range for ":wincmd".
https://code.google.com/p/vim/source/detail?r=v7-4-565
|
|
|
|
|
|
|
|
|
|
| |
Problem: Using a range for window and buffer commands has a few
problems.
Cannot specify the type of range for a user command.
Solution: Add the -addr argument for user commands. Fix problems.
(Marcin Szamotulski
https://code.google.com/p/vim/source/detail?name=v7-4-542
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Specify different kinds of counts for commands.
Updated ex commands generator scripts.
Includes fixes to comments from patch 7.4.531
Original message:
Problem: Many commands take a count or range that is not using line
numbers.
Solution: For each command specify what kind of count it uses. For
windows, buffers and arguments have "$" and "." have a
relevant
meaning. (Marcin Szamotulski)
https://code.google.com/p/vim/source/detail?r=v7-4-530
https://code.google.com/p/vim/source/detail?r=v7-4-531
Add legacy tests for 7.4.530
https://code.google.com/p/vim/source/detail?r=1e6d87a36dcdca231721dde8cbbc26610fb3df27
|
|
|
|
|
| |
Reviewed-by: Michael Reed <m.reed@mykolab.com>, Daniel Hahler <github@thequod.de>
Helped-by: Daniel Hahler <github@thequod.de>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit integrates libvterm with Neovim and implements a terminal emulator
with nvim buffers as the display mechanism. Terminal buffers can be created
using any of the following methods:
- Opening a file with name following the "term://[${cwd}//[${pid}:]]${cmd}"
URI pattern where:
- cwd is the working directory of the process
- pid is the process id. This is just for use in session files where a pid
would have been assigned to the saved buffer title.
- cmd is the command to run
- Invoking the `:terminal` ex command
- Invoking the `termopen` function which returns a job id for automating the
terminal window.
Some extra changes were also implemented to adapt with terminal buffers. Here's
an overview:
- The `main` function now sets a BufReadCmd autocmd to intercept the term:// URI
and spawn the terminal buffer instead of reading the file.
- terminal buffers behave as if the following local buffer options were set:
- `nomodifiable`
- `swapfile`
- `undolevels=-1`
- `bufhidden=hide`
- All commands that delete buffers(`:bun`, `:bd` and `:bw`) behave the same for
terminal buffers, but only work when bang is passed(eg: `:bwipeout!`)
- A new "terminal" mode was added. A consequence is that a new set of mapping
commands were implemented with the "t" prefix(tmap, tunmap, tnoremap...)
- The `edit` function(which enters insert mode) will actually enter terminal
mode if the current buffer is a terminal
- The `put` operator was adapted to send data to the terminal instead of
modifying the buffer directly.
- A window being resized will also trigger a terminal resize if the window
displays the terminal.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Removed term.c, term.h and term_defs.h
- Tests for T_* values were removed. screen.c was simplified as a
consequence(the best strategy for drawing is implemented in the UI layer)
- Redraw functions now call ui.c functions directly. Updates are flushed with
`ui_flush()`
- Removed all termcap options(they now return empty strings for compatibility)
- &term/&ttybuiltin options return a constant value(nvim)
- &t_Co is still available, but it mirrors t_colors directly
- Remove cursor tracking from screen.c and the `screen_start` function. Now the
UI is expected to maintain cursor state across any call, and reset it when
resized.
- Remove unused code
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Remove abstract_ui global, now it is always active
- Remove some terminal handling code
- Remove unused functions
- Remove HAVE_TGETENT/TERMINFO/TERMIOS/IOCTL #ifdefs
- Remove tgetent/terminfo from version.c
- Remove curses/terminfo dependencies
- Only start/stop termcap when starting/exiting the program
- msg_use_printf will return true if there are no attached UIs(
messages will be written to stdout)
- Remove `ex_winpos`(implement `:winpos` with `ex_ni`)
|
|
|
|
|
|
|
|
| |
Problem: ":lu" is an abbreviation for ":lua", but it should be ":lunmap".
(ZyX)
Solution: Move "lunmap" to above "lua".
https://code.google.com/p/vim/source/detail?r=e90bef2240c8d187da6e8d8fa5007ec5afc12284
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- restores behavior equivalent to Vim compiled without FEAT_MZSCHEME, etc.
(avoids spurious "E492: Not an editor command: EOF") for code such as:
```vim
if 0
perl << EOF
end
EOF
endif
```
see :help script-here
- fixes #1308
- fixes https://github.com/junegunn/vim-plug/issues/111
|
|
|
|
|
|
|
|
| |
Problem: Not all commands that edit another buffer support the +cmd
argument.
Solution: Add the +cmd argument to relevant commands. (Marcin Szamotulski)
https://code.google.com/p/vim/source/detail?r=v7-4-450
|
|
|
|
|
|
|
| |
Problem: Can't easily close the help window. (Chris Gaal)
Solution: Add ":helpclose". (Christian Brabandt)
https://code.google.com/p/vim/source/detail?r=v7-4-449
|
| |
|