With -count, if the first argument is a number, it is made available
with <count>. Problem is, there is always a default count it is impossible
to tell whether the user set it.
Since v:count and v:count1 still work with 'keywordprg', -count is
unnecessary. But 'keywordprg' still calls ':Man' with a count prefixed.
So it must still accept a count in the line number position, but not consume
the first argument. This is done with -range.
Fixes#5202.
Regression from #5168. Also changed the Man command's nargs to '+' so
that man#open_page does not need to handle 0 arguments, because that
will never occur.
- Use the default buffer text provided by before_each (avoids extra steps and
makes the tests more consistent with each other)
- Indent
- Adjust help doc
- Smart autocomplete. It's automatically sorted, filtered for duplicates
and even formats the candidates based on what is needed. For example,
`:Man 1 printf<TAB>` will show the pages that are in section 1m as
'page(sect)' to let you know they are in a more specific section.
- Instead of trying to unset $MANPAGER we use the -P flag to set the
pager to cat
- Always use the section arg '-s', it makes the code much simpler
(see comment in s:man-args).
- A manpage name starting with '-' is invalid. It's fine for sections
because of the use of '-s'.
- The tagstack is an actual stack now, makes it much simpler.
- By using v:count and v:count1, the plugin can explicitly check whether
the user set a count, instead of relying on a default value (0) that
is actually a real manpage section.
- Extraction of a manpage reference is much more simple. No giant long
complicated regexes. Now, the plugin lets `man` handle the actual
validation. We merely extract the section and page. Syntax regexes are
a bit more specific though to prevent highlighting everything.
- Multilingual support in the syntax file. Removed the cruft that was only
relevent to vim. Also simplified and improved many of the regexes.
- Using shellescape when sending the page and sect as arguments
- In general, the code flow is much more obvious.
- man#get_page has been split up into smaller functions with explicit
responsibilties
- ':help' behavior in opening splits and manpages
- Comments explaining anything that needs explaining and isn't
immediately obvious.
- If a manpage has already been loaded but if it were to reloaded at the
current width which is the same as the width at which it was loaded at
previously, it is not reloaded.
- Use substitute to remove the backspaced instead of `col -b`, as the
latter doesn't work with other languages.
- Open paths to manpages
- It uses cWORD instead of cword to get the manpage under the cursor, this
helps with files that do not have (,) in iskeyword. It also means the
plugin does not set iskeyword locally anymore.
- <Plug>(Man) mapping for easy remapping
- Switched to single quotes wherever possible.
- Updated docs in $VIMRUNTIME/doc/filetype.txt (still need to update
user-manual)
- Always call tolower on section name. See comment in
s:extract_page_and_sect_fpage
- Formatting/consistency cleanup
- Automatically map q to ':q<CR>' when invoked as $MANPAGER
- It also fully supports being used as $MANPAGER. Setting the name and
stuff automatically.
- Split up the setlocals into multiple lines for easier readability
- Better detection of errors by redirecting stderr to /dev/null. If an
error occured, stdout will be empty.
- Functions return [sect, page] not [page, sect]. Makes more sense with
how man takes the arguments as sect and then page.
- Pretty prints errors on a single line.
- If no section is given, automatically finds the correct section for
the buffer name. It also gets the correct page. See the comment in
s:get_page
- If $MANWIDTH is not set, do not assign directly to $MANWIDTH because
then $MANWIDTH will always stay set to the same value as we only use
winwidth(0) when the global $MANWIDTH is empty. Instead we set it
locally for the command.
- Maintainer notes on all files.
Problem: The justify plugin has to be copied or sourced to be used.
Solution: Turn it into a package.
2946d0236d
Justification for changes that do not carry over
- `Filelist` does not exist in neovim
- neovim does not have a `README.txt` in `runtime/macros`
vim-patch:7.4.2011
Problem: It is not easy to get a list of command arguments.
Solution: Add getcompletion(). (Yegappan Lakshmanan)
aa4d73235b
vim-patch:7.4.2012
Problem: Test for getcompletion() does not pass on all systems.
Solution: Only test what is supported.
0d3e24be56
vim-patch:7.4.2066
Problem: getcompletion() not well tested.
Solution: Add more testing.
c1fb763184
Problem: The shellmenu plugin has to be copied or sourced to be used.
Solution: Turn it into a package.
fead3ac9a3
Justification for changes that do not carry over
- `Filelist` does not exist in neovim
- neovim does not have a `README.txt` in `runtime/macros`
Problem: The swapmous plugin has to be copied or sourced to be used.
Solution: Turn it into the swapmouse package.
e101204906
Justification for changes that do not carry over
- `Filelist` does not exist in neovim
- neovim does not have a `README.txt` in `runtime/macros`
Problem: Sticky type checking is more annoying than useful.
Solution: Remove the error for changing a variable type.
f6f32c38bf
Note: There are a bunch of other changes to eval.txt that I believe are
N/A and not related to this patch.
Updated runtime files.
03413f4416
Ignore changes to
* doc/Makefile, doc/help.txt: Related to Vim's version8 documentation
* doc/gui_x11.txt, doc/todo.txt, doc/vim.1, gvim.desktop, vim.desktop:
Irrelevant to Neovim
* doc/quickref.txt, doc/options.txt: As of yet unported 'emoji'
* doc/tags, syntax/vim.vim: Generated at build time
Updated runtime files.
7db8f6f4f8
Ignore changes to
* doc/tags: Generated at build time
* doc/channel.txt, doc/todo.txt: Irrelevant to Neovim
* pack/dist/opt/matchit/doc/matchit.txt: matchit is enabled by default,
so description of how to enable isn't needed.
Problem: The matchit plugin needs to be copied to be used.
Solution: Put the matchit plugin in an optional package.
aedfcbe1e6
Ignore changes to
* Filelist, src/Makefile: Irrelevant to NeoVim
* runtime/vimrc_example.vim, runtime/macros/*, runtime/pack/*: matchit
is enabled by default in Neovim.
Updated runtime files.
4f3f668c84
Ignore changes to
* doc/channel.txt: Channel related docs
* doc/tags: Generated at build time
* doc/todo.txt: Irrelevant to Neovim
Updated runtime files.
77cdfd1038
Ignore changes to:
* doc/channel.txt, doc/eval.txt: Channel related docs
* doc/options.txt: GUI related docs
* doc/tags: Generated at build time
* doc/todo.txt: Irrelevant for Neovim
Update runtime files.
5f148ec0b5
Ignore changes to
* doc/channel.txt, doc/eval.txt: Channel related docs
* doc/tags: Generated at build time
* doc/todo.txt: Irrelevant to Neovim
Update runtime files.
328da0dcb7
Ignore changes to
* doc/channel.txt, doc/eval.txt: Channel related docs
* doc/tags: Generated at build time
* doc/todo.txt: Irrelevant to Neovim
Updated runtime files
dae8d21dd2
Ignore changes to
* doc/eval.txt: Channel related docs
* doc/help.txt, doc/index.txt, doc/os_390.txt: Removal of obsolete features, which
already happened in Neovim
* doc/tags: Generated at build time
* doc/todo.txt, doc/version5.txt: Irrelevant to Neovim
This was more trouble than it is worth:
- remove_directory fails if doc/ is not owned by the user
- some devs build in-tree, then deleting doc/ breaks the build
- `make install` isn't affected by the stale files at all: the tags are
built before install-time
So, reverting this change means only that devs who use a build/
directory will need to delete build/runtime/doc/ on the occasion that we
rename a doc file.
If a help file is renamed, stale help files in the build workspace will
cause duplicate tags (which causes the build to fail). To avoid this,
always delete build/runtime/doc/ before building helptags.
Tighten our jargon, avoid mentioning "msgpack" everywhere we mention the
RPC API. Prefer "RPC API" when speaking about the remote API.
Though it's conceivable that we may one day support some protocol other
than msgpack, that isn't relevant to most of our discussion of the API,
including this document.
The file name msgpack_rpc.txt is preserved to avoid totally breaking
URLs.
Problem: Can only get the directory of the current window.
Solution: Add window and tab arguments to getcwd() and haslocaldir().
(Thinca, Hirohito Higashi)
c970330676
Updated runtime files.
e0fa3742ea
Ignore changes to
* doc/channel.txt: Channel related docs
* doc/netbeans.txt, doc/os_dos.txt, doc/todo.txt: Not relevant to Neovim
* doc/tags: Generated at build time
Update runtime files.
38a55639d6
Ignore changes to
* doc/channel.txt, doc/eval.txt, doc/various.txt: Channel related docs
* doc/tags: Generated at build time
* doc/todo.txt, doc/vi_diff.txt: Not relevant to neovim
Updated runtime files.
cbebd4879c
Ignore changes to
* doc/channel.txt, doc/eval.txt: Channel related docs
* doc/tags: Generated at build time
* doc/todo.txt: Not relevant to Neovim
* ftplugin/man.vim: Change already present in autoload/man.vim
Update runtime files.
681baaf4a4
Ignore changes to
* doc/channel.txt, doc/eval.txt, doc/usr_41.txt: Channel related docs
* doc/tags: Generated at build time
* doc/todo.txt: Not relevant to Neovim
Updated runtime files and translations.
5e9b2fa9bb
Ignore changes to
* doc/tags: generated at build time
* doc/develop.txt, doc/todo.txt, doc/netbeans.txt, doc/vim-ja.UTF-8.1,
doc/xxd-ja.UTF-8.1, lang/menu_*: Not applicable to Neovim
* doc/editing.txt: Crypt related
* doc/change.txt, doc/insert.txt, doc/various.txt: Removal of ex_extra
tags, which already happened in Neovim
* doc/vim-ja.UTF-8.1, doc/xxd-ja.UTF-8.1
This avoids the issue of nvim started daemons causing mountpoints to be
unmountable. This is currently the only place in runtime/ where this
calling convention occurred.
Signed-off-by: Aleksa Sarai <cyphar@cyphar.com>
Update a few runtime files.
705ada1aff
Ignored changes to
* doc/eval.txt, all json related documentation
* doc/if_mzsch.txt
* doc/tags, generated at build time
Update runtime files
13d5aeef56
Ignored changes to
* doc/develop.txt, since they were all in the "Coding Style"
section, which is completely different between Vim and Neovim.
* doc/tags, doc/todo.txt
* syntax/vim.vim, generated at build time
Specify that the ${GENERATED_HELP_TAGS} "command" (output) depends on
`helptags` so that it always regenerates the doc/ tags. (cmake "targets"
always run, whereas "commands" are contingent on their dependencies. But
we don't define doc/ dependencies because they are circular.)
Problem: 'langmap' applies to the first character typed in Select mode.
(David Watson)
Solution: Check for SELECTMODE. (Christian Brabandt, closes#572)
Add the 'x' flag to feedkeys().
25281634cd
Update help files.
85084ef1e9
Ignored changes to:
* doc/editing.txt related to encryption
* doc/eval.txt related to perleval()
* doc/if_mzsch.txt
* doc/tags
* doc/todo.txt