mirror of
https://github.com/macvim-dev/macvim.git
synced 2026-06-07 15:37:14 +02:00
Merge remote-tracking branch 'vim/master'
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -155,7 +155,7 @@ fun! tar#Browse(tarfile)
|
||||
let curlast= line("$")
|
||||
if tarfile =~# '\.\(gz\|tgz\)$'
|
||||
" call Decho("1: exe silent r! gzip -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - ")
|
||||
exe "sil! r! gzip -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - "
|
||||
exe "sil! r! bzip2 -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - "
|
||||
elseif tarfile =~# '\.lrp'
|
||||
" call Decho("2: exe silent r! cat -- ".shellescape(tarfile,1)."|gzip -d -c -|".g:tar_cmd." -".g:tar_browseoptions." - ")
|
||||
exe "sil! r! cat -- ".shellescape(tarfile,1)."|gzip -d -c -|".g:tar_cmd." -".g:tar_browseoptions." - "
|
||||
@@ -292,7 +292,7 @@ fun! tar#Read(fname,mode)
|
||||
exe "sil! r! bzip2 -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
|
||||
elseif tarfile =~# '\.\(gz\|tgz\)$'
|
||||
" call Decho("5: exe silent r! gzip -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd.' -'.g:tar_readoptions.' - '.tar_secure.shellescape(fname,1))
|
||||
exe "sil! r! gzip -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
|
||||
exe "sil! r! bzip2 -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
|
||||
elseif tarfile =~# '\.lrp$'
|
||||
" call Decho("6: exe silent r! cat ".shellescape(tarfile,1)." | gzip -d -c - | ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp)
|
||||
exe "sil! r! cat -- ".shellescape(tarfile,1)." | gzip -d -c - | ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
|
||||
|
||||
@@ -954,6 +954,13 @@ These three can be repeated and mixed. Examples:
|
||||
|
||||
expr8 *expr8*
|
||||
-----
|
||||
This expression is either |expr9| or a sequence of the alternatives below,
|
||||
in any order. E.g., these are all possible:
|
||||
expr9[expr1].name
|
||||
expr9.name[expr1]
|
||||
expr9(expr1, ...)[expr1].name
|
||||
|
||||
|
||||
expr8[expr1] item of String or |List| *expr-[]* *E111*
|
||||
*E909* *subscript*
|
||||
If expr8 is a Number or String this results in a String that contains the
|
||||
@@ -8014,6 +8021,7 @@ swapinfo({fname}) swapinfo()
|
||||
mtime last modification time in seconds
|
||||
inode Optional: INODE number of the file
|
||||
dirty 1 if file was modified, 0 if not
|
||||
Note that "user" and "host" are truncated to at most 39 bytes.
|
||||
In case of failure an "error" item is added with the reason:
|
||||
Cannot open file: file not found or in accessible
|
||||
Cannot read file: cannot read first block
|
||||
|
||||
@@ -638,11 +638,31 @@ By default the following options are set, in accordance with PEP8: >
|
||||
|
||||
setlocal expandtab shiftwidth=4 softtabstop=4 tabstop=8
|
||||
|
||||
To disable this behaviour, set the following variable in your vimrc: >
|
||||
To disable this behavior, set the following variable in your vimrc: >
|
||||
|
||||
let g:python_recommended_style = 0
|
||||
|
||||
|
||||
R MARKDOWN *ft-rmd-plugin*
|
||||
|
||||
By default ftplugin/html.vim is not sourced. If you want it sourced, add to
|
||||
your |vimrc|: >
|
||||
let rmd_include_html = 1
|
||||
|
||||
The 'formatexpr' option is set dynamically with different values for R code
|
||||
and for Markdown code. If you prefer that 'formatexpr' is not set, add to your
|
||||
|vimrc|: >
|
||||
let rmd_dynamic_comments = 0
|
||||
|
||||
|
||||
R RESTRUCTURED TEXT *ft-rrst-plugin*
|
||||
|
||||
The 'formatexpr' option is set dynamically with different values for R code
|
||||
and for ReStructured text. If you prefer that 'formatexpr' is not set, add to
|
||||
your |vimrc|: >
|
||||
let rrst_dynamic_comments = 0
|
||||
|
||||
|
||||
RPM SPEC *ft-spec-plugin*
|
||||
|
||||
Since the text for this plugin is rather long it has been put in a separate
|
||||
|
||||
@@ -168,11 +168,15 @@ vim.eval(str) *python-eval*
|
||||
- a dictionary if the Vim expression evaluates to a Vim dictionary
|
||||
Dictionaries and lists are recursively expanded.
|
||||
Examples: >
|
||||
:" value of the 'textwidth' option
|
||||
:py text_width = vim.eval("&tw")
|
||||
:py str = vim.eval("12+12") # NB result is a string! Use
|
||||
# string.atoi() to convert to
|
||||
# a number.
|
||||
|
||||
:
|
||||
:" contents of the 'a' register
|
||||
:py a_reg = vim.eval("@a")
|
||||
:
|
||||
:" Result is a string! Use string.atoi() to convert to a number.
|
||||
:py str = vim.eval("12+12")
|
||||
:
|
||||
:py tagList = vim.eval('taglist("eval_expr")')
|
||||
< The latter will return a python list of python dicts, for instance:
|
||||
[{'cmd': '/^eval_expr(arg, nextcmd)$/', 'static': 0, 'name': ~
|
||||
|
||||
@@ -978,6 +978,11 @@ Below is an example of indentation with and without this option enabled:
|
||||
paste(x) paste(x)
|
||||
} }
|
||||
<
|
||||
The code will be indented after lines that match the pattern
|
||||
`'\(&\||\|+\|-\|\*\|/\|=\|\~\|%\|->\)\s*$'`. If you want indentation after
|
||||
lines that match a different pattern, you should set the appropriate value of
|
||||
`r_indent_op_pattern` in your |vimrc|.
|
||||
|
||||
|
||||
SHELL *ft-sh-indent*
|
||||
|
||||
|
||||
@@ -1051,13 +1051,13 @@ The function must return the column where the completion starts. It must be a
|
||||
number between zero and the cursor column "col('.')". This involves looking
|
||||
at the characters just before the cursor and including those characters that
|
||||
could be part of the completed item. The text between this column and the
|
||||
cursor column will be replaced with the matches.
|
||||
cursor column will be replaced with the matches. If the returned value is
|
||||
larger than the cursor column, the cursor column is used.
|
||||
|
||||
Special return values:
|
||||
-1 If no completion can be done, the completion will be cancelled with an
|
||||
error message.
|
||||
-2 To cancel silently and stay in completion mode.
|
||||
-3 To cancel silently and leave completion mode.
|
||||
Negative return values:
|
||||
-2 To cancel silently and stay in completion mode.
|
||||
-3 To cancel silently and leave completion mode.
|
||||
Another negative value: completion starts at the cursor column
|
||||
|
||||
On the second invocation the arguments are:
|
||||
a:findstart 0
|
||||
|
||||
+12
-2
@@ -4603,8 +4603,18 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
so far, matches. The matched string is highlighted. If the pattern
|
||||
is invalid or not found, nothing is shown. The screen will be updated
|
||||
often, this is only useful on fast terminals.
|
||||
Also applies to the `:s`, `:g` and `:v` commands.
|
||||
Note that the match will be shown, but the cursor will return to its
|
||||
Also applies to the pattern in commands: >
|
||||
:global
|
||||
:lvimgrep
|
||||
:lvimgrepadd
|
||||
:smagic
|
||||
:snomagic
|
||||
:sort
|
||||
:substitute
|
||||
:vglobal
|
||||
:vimgrep
|
||||
:vimgrepadd
|
||||
< Note that the match will be shown, but the cursor will return to its
|
||||
original position when no match is found and when pressing <Esc>. You
|
||||
still need to finish the search command with <Enter> to move the
|
||||
cursor to the match.
|
||||
|
||||
@@ -1557,8 +1557,8 @@ reduce the number of entries. Load the plugin with: >
|
||||
packadd cfilter
|
||||
|
||||
Then you can use these command: >
|
||||
:Cfilter[!] {pat}
|
||||
:Lfilter[!] {pat}
|
||||
:Cfilter[!] /{pat}/
|
||||
:Lfilter[!] /{pat}/
|
||||
|
||||
:Cfilter creates a new quickfix list from entries matching {pat} in the
|
||||
current quickfix list. Both the file name and the text of the entries are
|
||||
|
||||
+43
-1
@@ -1265,7 +1265,7 @@ doxygen_javadoc_autobrief 1 Set to 0 to disable javadoc autobrief
|
||||
doxygen_end_punctuation '[.]' Set to regexp match for the ending
|
||||
punctuation of brief
|
||||
|
||||
There are also some hilight groups worth mentioning as they can be useful in
|
||||
There are also some highlight groups worth mentioning as they can be useful in
|
||||
configuration.
|
||||
|
||||
Highlight Effect ~
|
||||
@@ -2641,6 +2641,48 @@ Any combination of these three variables is legal, but might highlight more
|
||||
commands than are actually available to you by the game.
|
||||
|
||||
|
||||
R *r.vim* *ft-r-syntax*
|
||||
|
||||
The parsing of R code for syntax highlight starts 40 lines backwards, but you
|
||||
can set a different value in your |vimrc|. Example: >
|
||||
let r_syntax_minlines = 60
|
||||
|
||||
You can also turn off syntax highlighting of ROxygen: >
|
||||
let r_syntax_hl_roxygen = 0
|
||||
|
||||
enable folding of code delimited by parentheses, square brackets and curly
|
||||
braces: >
|
||||
let r_syntax_folding = 1
|
||||
|
||||
and highlight as functions all keywords followed by an opening parenthesis: >
|
||||
let r_syntax_fun_pattern = 1
|
||||
|
||||
|
||||
R MARKDOWN *rmd.vim* *ft-rmd-syntax*
|
||||
|
||||
To disable syntax highlight of YAML header, add to your |vimrc|: >
|
||||
let rmd_syn_hl_yaml = 0
|
||||
|
||||
To disable syntax highlighting of citation keys: >
|
||||
let rmd_syn_hl_citations = 0
|
||||
|
||||
To highlight R code in knitr chunk headers: >
|
||||
let rmd_syn_hl_chunk = 1
|
||||
|
||||
By default, chunks of R code will be highlighted following the rules of R
|
||||
language. If you want proper syntax highlighting of chunks of other languages,
|
||||
you should add them to either `markdown_fenced_languages` or
|
||||
`rmd_fenced_languages`. For example to properly highlight both R and Python,
|
||||
you may add this to your |vimrc|: >
|
||||
let rmd_fenced_languages = ['r', 'python']
|
||||
|
||||
|
||||
R RESTRUCTURED TEXT *rrst.vim* *ft-rrst-syntax*
|
||||
|
||||
To highlight R code in knitr chunk headers, add to your |vimrc|: >
|
||||
let rrst_syn_hl_chunk = 1
|
||||
|
||||
|
||||
READLINE *readline.vim* *ft-readline-syntax*
|
||||
|
||||
The readline library is primarily used by the BASH shell, which adds quite a
|
||||
|
||||
@@ -243,7 +243,7 @@ REORDERING TAB PAGES:
|
||||
Move the current tab page to after tab page N. Use zero to
|
||||
make the current tab page the first one. N is counted before
|
||||
the move, thus if the second tab is the current one,
|
||||
`:tabmove 1`` and `:tabmove 2` have no effect.
|
||||
`:tabmove 1` and `:tabmove 2` have no effect.
|
||||
Without N the tab page is made the last one. >
|
||||
:.tabmove " do nothing
|
||||
:-tabmove " move the tab page to the left
|
||||
|
||||
@@ -6331,8 +6331,13 @@ ft-python-plugin filetype.txt /*ft-python-plugin*
|
||||
ft-python-syntax syntax.txt /*ft-python-syntax*
|
||||
ft-quake-syntax syntax.txt /*ft-quake-syntax*
|
||||
ft-r-indent indent.txt /*ft-r-indent*
|
||||
ft-r-syntax syntax.txt /*ft-r-syntax*
|
||||
ft-readline-syntax syntax.txt /*ft-readline-syntax*
|
||||
ft-rexx-syntax syntax.txt /*ft-rexx-syntax*
|
||||
ft-rmd-plugin filetype.txt /*ft-rmd-plugin*
|
||||
ft-rmd-syntax syntax.txt /*ft-rmd-syntax*
|
||||
ft-rrst-plugin filetype.txt /*ft-rrst-plugin*
|
||||
ft-rrst-syntax syntax.txt /*ft-rrst-syntax*
|
||||
ft-rst-syntax syntax.txt /*ft-rst-syntax*
|
||||
ft-ruby-omni insert.txt /*ft-ruby-omni*
|
||||
ft-ruby-syntax syntax.txt /*ft-ruby-syntax*
|
||||
@@ -8300,6 +8305,7 @@ quotes.txt quotes.txt /*quotes.txt*
|
||||
quotestar gui.txt /*quotestar*
|
||||
quote~ change.txt /*quote~*
|
||||
r change.txt /*r*
|
||||
r.vim syntax.txt /*r.vim*
|
||||
range() eval.txt /*range()*
|
||||
raw-terminal-mode term.txt /*raw-terminal-mode*
|
||||
rcp pi_netrw.txt /*rcp*
|
||||
@@ -8364,8 +8370,10 @@ right-justify change.txt /*right-justify*
|
||||
rileft rileft.txt /*rileft*
|
||||
rileft.txt rileft.txt /*rileft.txt*
|
||||
riscos os_risc.txt /*riscos*
|
||||
rmd.vim syntax.txt /*rmd.vim*
|
||||
rot13 change.txt /*rot13*
|
||||
round() eval.txt /*round()*
|
||||
rrst.vim syntax.txt /*rrst.vim*
|
||||
rst.vim syntax.txt /*rst.vim*
|
||||
rsync pi_netrw.txt /*rsync*
|
||||
ruby if_ruby.txt /*ruby*
|
||||
|
||||
@@ -228,6 +228,10 @@ Syntax ~
|
||||
|
||||
If you want to use more options use the |term_start()|
|
||||
function.
|
||||
If you want to split the window vertically, use: >
|
||||
:vertical terminal
|
||||
< Or short: >
|
||||
:vert ter
|
||||
|
||||
When the buffer associated with the terminal is forcibly unloaded or wiped out
|
||||
the job is killed, similar to calling `job_stop(job, "kill")` .
|
||||
|
||||
+72
-42
@@ -38,6 +38,15 @@ browser use: https://github.com/vim/vim/issues/1234
|
||||
*known-bugs*
|
||||
-------------------- Known bugs and current work -----------------------
|
||||
|
||||
'incsearch' with :s: (#3321)
|
||||
- :/foo/s//<Esc> changes last search pattern. Also E486.
|
||||
- :s/foo using CTRL-G moves to another line, should not happen, or use the
|
||||
correct line (it uses the last but one line) (Lifepillar, Aug 18, #3345)
|
||||
- Also support range: :/foo/,/bar/delete
|
||||
- :%s/foo should take the first match below the cursor line, unless there
|
||||
isn't one?
|
||||
Then :%s?foo should take the first match above the cursor line.
|
||||
|
||||
Prompt buffer:
|
||||
- Add a command line history.
|
||||
- delay next prompt until plugin gives OK?
|
||||
@@ -50,11 +59,16 @@ Terminal debugger:
|
||||
initializing mzscheme avoid the problem, thus it's not some #ifdef.
|
||||
|
||||
Terminal emulator window:
|
||||
- GUI: When using ":set go+=!" a system() call causes the hit-enter prompt.
|
||||
(#3327)
|
||||
- When the job in the terminal doesn't use mouse events, let the scroll wheel
|
||||
scroll the scrollback, like a terminal does at the shell prompt. #2490
|
||||
And use modeless selection. #2962
|
||||
- Allow for specifying the directory, with ++cwd={dir}.
|
||||
- With a vertical split only one window is updated. (Linwei, 2018 Jun 2,
|
||||
#2977)
|
||||
- Add a way to make ":term cmd" run "cmd" in a shell, instead of executing it
|
||||
directly. Perhaps ":term ++shell cmd". (#3340)
|
||||
- When pasting should call vterm_keyboard_start_paste(), e.g. when using
|
||||
K_MIDDLEMOUSE, calling insert_reg().
|
||||
- Users expect parsing the :term argument like a shell does, also support
|
||||
@@ -74,35 +88,12 @@ Terminal emulator window:
|
||||
- When 'encoding' is not utf-8, or the job is using another encoding, setup
|
||||
conversions.
|
||||
|
||||
Patch to support ":tag <tagkind> <tagname". (emmrk, 2018 May 7, #2871)
|
||||
|
||||
Patch to parse ":line" in tags file and use it for search. (Daniel Hahler,
|
||||
#2546) Fixes #1057. Missing a test.
|
||||
|
||||
Problem with quickfix giving E42 when filtering the error list.
|
||||
(Nobuhiro Takasaki, 2018 Aug 1, #3270)
|
||||
Patch with test from Yegappan, Aug 2.
|
||||
|
||||
Patch to add variable name after "scope add". (Eddie Lebow, 2018 Feb 7, #2620)
|
||||
Maybe not needed?
|
||||
|
||||
Patch in issue 3268, fix suggestion window appearing on wrong screen.
|
||||
Also from Ken Takata, 2018 Aug 2.
|
||||
|
||||
Patch for Lua support. (Kazunobu Kuriyama, 2018 May 26)
|
||||
|
||||
Patch to use NGETTEXT() in many more places. (Sergey Alyoshin, 2018 May 25)
|
||||
Updated patch May 27.
|
||||
|
||||
Patch to add winlayout() function. (Yegappan Lakshmanan, 2018 Jan 4)
|
||||
|
||||
Patch to fix profiling condition lines. (Ozaki Kiichi,, 2017 Dec 26, #2499)
|
||||
|
||||
Issue #686: apply 'F' in 'shortmess' to more messages. Also #3221.
|
||||
Patch on #3221 from Christian. Does it work now?
|
||||
|
||||
Patch to include a cfilter plugin to filter quickfix/location lists.
|
||||
(Yegappan Lakshmanan, 2018 May 12)
|
||||
Not possible to have a comment in between line continuation. Use |\":
|
||||
let array = [
|
||||
\ item,
|
||||
|\" comment
|
||||
\ item,
|
||||
\ ]
|
||||
|
||||
Does not build with MinGW out of the box:
|
||||
- _stat64 is not defined, need to use "struct stat" in vim.h
|
||||
@@ -111,9 +102,6 @@ Does not build with MinGW out of the box:
|
||||
Crash when mixing matchadd and substitute()? (Max Christian Pohle, 2018 May
|
||||
13, #2910) Can't reproduce?
|
||||
|
||||
On Win32 when not in the console and t_Co >= 256, allow using 'tgc'.
|
||||
(Nobuhiro Takasaki, #2833) Also check t_Co.
|
||||
|
||||
Errors found with random data:
|
||||
heap-buffer-overflow in alist_add (#2472)
|
||||
|
||||
@@ -121,7 +109,15 @@ Improve fallback for menu translations, to avoid having to create lots of
|
||||
files that source the actual file. E.g. menu_da_de -> menu_da
|
||||
Include part of #3242?
|
||||
|
||||
Inlcude Chinese-Taiwan translations. (bystar, #3261)
|
||||
Using ":file" in quickfix window during an autocommand doesn't work.
|
||||
(Jason Franklin, 2018 May 23) Allow for using it when there is no argument.
|
||||
Patch should now work. (Jason Franklin, 2018 Aug 12)
|
||||
|
||||
Include Chinese-Taiwan translations. (bystar, #3261)
|
||||
|
||||
Screendump test fails even though characters are the same.
|
||||
Some attribute difference that isn't included in the screenshot?
|
||||
(Elimar Riesebieter, 2018 Aug 21)
|
||||
|
||||
Completion mixes results from the current buffer with tags and other files.
|
||||
Happens when typing CTRL-N while still search for results. E.g., type "b_" in
|
||||
@@ -129,8 +125,10 @@ terminal.c and then CTRL-N twice.
|
||||
Should do current file first and not split it up when more results are found.
|
||||
(Also #1890)
|
||||
|
||||
Using mouse for inputlist() doesn't work after patch 8.0.1756. (Dominique
|
||||
Pelle, 2018 Jul 22, #3239) Also see 8.0.0722. Check both console and GUI.
|
||||
Patch to support VTP better. (Nobuhiro Takasaki, 2018 Aug 19, #3347)
|
||||
|
||||
Patch with improvement for ccomplete: #3350
|
||||
Try it out. Perhaps write a test?
|
||||
|
||||
More warnings from static analysis:
|
||||
https://lgtm.com/projects/g/vim/vim/alerts/?mode=list
|
||||
@@ -138,12 +136,12 @@ https://lgtm.com/projects/g/vim/vim/alerts/?mode=list
|
||||
Pasting foo} causes Vim to behave weird. (John Little, 2018 Jun 17)
|
||||
Related to bracketed paste. I cannot reproduce it.
|
||||
|
||||
Using ":file" in quickfix window during an autocommand doesn't work.
|
||||
(Jason Franklin, 2018 May 23) Allow for using it when there is no argument.
|
||||
|
||||
Patch in pull request #2967: Allow white space in sign text. (Ben Jackson)
|
||||
Test fails in AppVeyor.
|
||||
|
||||
Patch to add script line number to script ID. (ichizok, Ozaki Kiichi, 2018 Aug
|
||||
24, #3362)
|
||||
|
||||
Removing flags from 'cpoptions' breaks the Winbar buttons in termdebug.
|
||||
(Dominique Pelle, 2018 Jul 16)
|
||||
|
||||
@@ -186,6 +184,10 @@ Delete the src/main.aap file?
|
||||
matchaddpos() gets slow with many matches. Proposal by Rick Howe, 2018 Jul
|
||||
19.
|
||||
|
||||
Patch to support ":tag <tagkind> <tagname>". (emmrk, 2018 May 7, #2871)
|
||||
Use something like ":tag {kind}/{tagname}".
|
||||
Not ready to include.
|
||||
|
||||
home_replace() uses $HOME instead of "homedir". (Cesar Martins, 2018 Aug 9)
|
||||
|
||||
Adjust windows installer explanation of behavior. (scootergrisen, #3310)
|
||||
@@ -193,6 +195,17 @@ Adjust windows installer explanation of behavior. (scootergrisen, #3310)
|
||||
Set g:actual_curbuf when evaluating 'statusline', not just with an expression.
|
||||
(Daniel Hahler, 2018 Aug 8, #3299)
|
||||
|
||||
Difference between two regexp engines: #3373
|
||||
|
||||
When the last line wraps, selecting with the mouse below that line only
|
||||
includes the first screen line. (2018 Aug 23, #3368)
|
||||
|
||||
Refactored HTML indent file. (Michael Lee, #1821)
|
||||
|
||||
Patch to add getregpoint() and setreg() with an option to set "".
|
||||
(Andy Massimino, 2018 Aug 24, #3370)
|
||||
Better name?
|
||||
|
||||
Script generated by :mksession does not work well if there are windows with
|
||||
modified buffers
|
||||
change "silent only" into "silent only!"
|
||||
@@ -209,6 +222,12 @@ Compiler warnings (geeknik, 2017 Oct 26):
|
||||
Win32 console: <F11> and <F12> typed in Insert mode don't result in normal
|
||||
characters. (#3246)
|
||||
|
||||
Height of quickfix window is not retained with vertical splits. (Lifepillar,
|
||||
2018 Aug 24, #2998)
|
||||
|
||||
Window size is wrong when using quickfix window. (Lifepillar, 2018 Aug 24,
|
||||
#2999)
|
||||
|
||||
Tests failing for "make testgui" with GTK:
|
||||
- Test_setbufvar_options()
|
||||
- Test_exit_callback_interval()
|
||||
@@ -224,6 +243,7 @@ On Win32 it stops showing, because showState is already ShS_SHOWING.
|
||||
balloon_show() does not work properly in the terminal. (Ben Jackson, 2017 Dec
|
||||
20, #2481)
|
||||
Also see #2352, want better control over balloon, perhaps set the position.
|
||||
Should also be possible to add highlighting, like in the status line?
|
||||
|
||||
Try out background make plugin:
|
||||
https://github.com/AndrewVos/vim-make-background
|
||||
@@ -239,9 +259,14 @@ used for git temp files.
|
||||
|
||||
Cursor in wrong position when line wraps. (#2540)
|
||||
|
||||
Patch to parse ":line" in tags file and use it for search. (Daniel Hahler,
|
||||
#2546) Fixes #1057. Missing a test.
|
||||
|
||||
Make {skip} argument of searchpair() consistent with other places where we
|
||||
pass an expression to evaluate. Allow passing zero for "never skip".
|
||||
|
||||
The 'scrolloff' option is global, make it global-local. #3195
|
||||
|
||||
Add an option similar to 'lazyredraw' to skip redrawing while executing a
|
||||
script or function.
|
||||
|
||||
@@ -281,6 +306,9 @@ How to test that it works well for all Vim users?
|
||||
|
||||
Alternative manpager.vim. (Enno, 2018 Jan 5, #2529)
|
||||
|
||||
Delete all the speficic stuff for the Borland compiler? (#3374)
|
||||
Patch in #3377 (Thomas Dziedzic)
|
||||
|
||||
Does setting 'cursorline' cause syntax highlighting to slow down? Perhaps is
|
||||
mess up the cache? (Mike Lee Williams, 2018 Jan 27, #2539)
|
||||
Also: 'foldtext' is evaluated too often. (Daniel Hahler, #2773)
|
||||
@@ -320,7 +348,8 @@ sequence of these commands. (Andy Stewart, 2018 Mar 16)
|
||||
ch_sendraw() with long string does not try to read in between, which may cause
|
||||
a deadlock if the reading side is waiting for the write to finish. (Nate
|
||||
Bosch, 2018 Jan 13, #2548)
|
||||
Perhaps just make chunks of 1024 bytes? Make the write non-blocking?
|
||||
Perhaps just make chunks of 1024 bytes?
|
||||
Probably better: Make the write non-blocking
|
||||
Also a problem on MS-Windows: #2828.
|
||||
|
||||
Add Makefiles to the runtime/spell directory tree, since nobody uses Aap.
|
||||
@@ -388,6 +417,8 @@ No profile information for function that executes ":quit". (Daniel Hahler,
|
||||
|
||||
A function on a dictionary is not profiled. (ZyX, 2010 Dec 25)
|
||||
|
||||
Add script number to profile? (#3330 breaks tests).
|
||||
|
||||
A function defined locally and lambda's are not easily recognized.
|
||||
Mention where they were defined somewhere.
|
||||
|
||||
@@ -486,8 +517,6 @@ It can replace the BeOS code, which is likely not used anymore.
|
||||
Now on github: #1856. Updated Oct 2017
|
||||
Got permission to include this under the Vim license.
|
||||
|
||||
Refactored HTML indent file. (Michael Lee, #1821)
|
||||
|
||||
Test_writefile_fails_conversion failure on Solaris because if different iconv
|
||||
behavior. Skip when "uname" returns "SunOS"? (Pavel Heimlich, #1872)
|
||||
|
||||
@@ -566,7 +595,7 @@ Profile of a dict function is lost when the dict is deleted. Would it be
|
||||
possible to collect this? (Daniel Hahler, #2350)
|
||||
|
||||
Add `:filter` support for various commands (Marcin Szamotulski, 2017 Nov 12
|
||||
#2322) Now in #2327?
|
||||
#2322) Patch now in #2856.
|
||||
|
||||
When checking if a bufref is valid, also check the buffer number, to catch the
|
||||
case of :bwipe followed by :new.
|
||||
@@ -751,6 +780,7 @@ receiving Vim? Or make an exception for #, it's not useful remotely.
|
||||
vertical split. (Haldean Brown, 2017 Mar 1)
|
||||
|
||||
Use ADDR_OTHER instead of ADDR_LINES for many more commands.
|
||||
E.g. all the location list commands use a count.
|
||||
Add tests for using number larger than number of lines in buffer.
|
||||
|
||||
Might be useful to have isreadonly(), like we have islocked().
|
||||
|
||||
@@ -284,6 +284,7 @@ If you really don't want to see this message, you can add the 'A' flag to the
|
||||
'shortmess' option. But it's very unusual that you need this.
|
||||
|
||||
For remarks about encryption and the swap file, see |:recover-crypt|.
|
||||
For programatic access to the swap file, see |swapinfo()|.
|
||||
|
||||
==============================================================================
|
||||
*11.4* Further reading
|
||||
|
||||
@@ -809,6 +809,7 @@ Buffers, windows and the argument list:
|
||||
getwininfo() get a list with window information
|
||||
getchangelist() get a list of change list entries
|
||||
getjumplist() get a list of jump list entries
|
||||
swapinfo() information about a swap file
|
||||
|
||||
Command line: *command-line-functions*
|
||||
getcmdline() get the current command line
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: Haskell
|
||||
" Maintainer: Daniel Campoverde <alx@sillybytes.net>
|
||||
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
|
||||
" Latest Revision: 2008-07-09
|
||||
" Latest Revision: 2018-08-27
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
@@ -15,6 +16,7 @@ let b:undo_ftplugin = "setl com< cms< fo<"
|
||||
|
||||
setlocal comments=s1fl:{-,mb:-,ex:-},:-- commentstring=--\ %s
|
||||
setlocal formatoptions-=t formatoptions+=croql
|
||||
setlocal omnifunc=haskellcomplete#Complete
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
+21
-12
@@ -2,7 +2,7 @@
|
||||
" Language: R Markdown file
|
||||
" Maintainer: Jakson Alves de Aquino <jalvesaq@gmail.com>
|
||||
" Homepage: https://github.com/jalvesaq/R-Vim-runtime
|
||||
" Last Change: Mon Jun 06, 2016 09:41PM
|
||||
" Last Change: Sun Jul 22, 2018 06:51PM
|
||||
" Original work by Alex Zvoleff (adjusted from R help for rmd by Michel Kuhlmann)
|
||||
|
||||
" Only do this when not yet done for this buffer
|
||||
@@ -10,19 +10,12 @@ if exists("b:did_ftplugin")
|
||||
finish
|
||||
endif
|
||||
|
||||
runtime! ftplugin/html.vim ftplugin/html_*.vim ftplugin/html/*.vim
|
||||
|
||||
" Nvim-R plugin needs this
|
||||
if exists("*CompleteR")
|
||||
if &omnifunc == "CompleteR"
|
||||
let b:rplugin_nonr_omnifunc = ""
|
||||
else
|
||||
let b:rplugin_nonr_omnifunc = &omnifunc
|
||||
endif
|
||||
set omnifunc=CompleteR
|
||||
if exists('g:rmd_include_html') && g:rmd_include_html
|
||||
runtime! ftplugin/html.vim ftplugin/html_*.vim ftplugin/html/*.vim
|
||||
endif
|
||||
|
||||
setlocal comments=fb:*,fb:-,fb:+,n:> commentstring=>\ %s
|
||||
setlocal comments=fb:*,fb:-,fb:+,n:>
|
||||
setlocal commentstring=#\ %s
|
||||
setlocal formatoptions+=tcqln
|
||||
setlocal formatlistpat=^\\s*\\d\\+\\.\\s\\+\\\|^\\s*[-*+]\\s\\+
|
||||
setlocal iskeyword=@,48-57,_,.
|
||||
@@ -30,6 +23,22 @@ setlocal iskeyword=@,48-57,_,.
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
function! FormatRmd()
|
||||
if search("^[ \t]*```[ ]*{r", "bncW") > search("^[ \t]*```$", "bncW")
|
||||
setlocal comments=:#',:###,:##,:#
|
||||
else
|
||||
setlocal comments=fb:*,fb:-,fb:+,n:>
|
||||
endif
|
||||
return 1
|
||||
endfunction
|
||||
|
||||
" If you do not want 'comments' dynamically defined, put in your vimrc:
|
||||
" let g:rmd_dynamic_comments = 0
|
||||
if !exists("g:rmd_dynamic_comments") || (exists("g:rmd_dynamic_comments") && g:rmd_dynamic_comments == 1)
|
||||
setlocal formatexpr=FormatRmd()
|
||||
endif
|
||||
|
||||
|
||||
" Enables pandoc if it is installed
|
||||
unlet! b:did_ftplugin
|
||||
runtime ftplugin/pandoc.vim
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
" Language: reStructuredText documentation format with R code
|
||||
" Maintainer: Jakson Alves de Aquino <jalvesaq@gmail.com>
|
||||
" Homepage: https://github.com/jalvesaq/R-Vim-runtime
|
||||
" Last Change: Tue Apr 07, 2015 04:38PM
|
||||
" Last Change: Wed Nov 01, 2017 10:47PM
|
||||
" Original work by Alex Zvoleff
|
||||
|
||||
" Only do this when not yet done for this buffer
|
||||
@@ -16,11 +16,27 @@ let b:did_ftplugin = 1
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
setlocal comments=fb:*,fb:-,fb:+,n:> commentstring=>\ %s
|
||||
setlocal comments=fb:*,fb:-,fb:+,n:>
|
||||
setlocal commentstring=#\ %s
|
||||
setlocal formatoptions+=tcqln
|
||||
setlocal formatlistpat=^\\s*\\d\\+\\.\\s\\+\\\|^\\s*[-*+]\\s\\+
|
||||
setlocal iskeyword=@,48-57,_,.
|
||||
|
||||
function! FormatRrst()
|
||||
if search('^\.\. {r', "bncW") > search('^\.\. \.\.$', "bncW")
|
||||
setlocal comments=:#',:###,:##,:#
|
||||
else
|
||||
setlocal comments=fb:*,fb:-,fb:+,n:>
|
||||
endif
|
||||
return 1
|
||||
endfunction
|
||||
|
||||
" If you do not want 'comments' dynamically defined, put in your vimrc:
|
||||
" let g:rrst_dynamic_comments = 0
|
||||
if !exists("g:rrst_dynamic_comments") || (exists("g:rrst_dynamic_comments") && g:rrst_dynamic_comments == 1)
|
||||
setlocal formatexpr=FormatRrst()
|
||||
endif
|
||||
|
||||
if has("gui_win32") && !exists("b:browsefilter")
|
||||
let b:browsefilter = "R Source Files (*.R *.Rnw *.Rd *.Rmd *.Rrst)\t*.R;*.Rnw;*.Rd;*.Rmd;*.Rrst\n" .
|
||||
\ "All Files (*.*)\t*.*\n"
|
||||
|
||||
@@ -3,9 +3,6 @@
|
||||
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
|
||||
" Latest Revision: 2011-07-08
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
setlocal indentexpr=GetDTDIndent()
|
||||
setlocal indentkeys=!^F,o,O,>
|
||||
setlocal nosmartindent
|
||||
@@ -14,6 +11,9 @@ if exists("*GetDTDIndent")
|
||||
finish
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
" TODO: Needs to be adjusted to stop at [, <, and ].
|
||||
let s:token_pattern = '^[^[:space:]]\+'
|
||||
|
||||
|
||||
@@ -663,7 +663,7 @@ func! s:CSSIndent()
|
||||
else
|
||||
let cur_hasfield = curtext =~ '^\s*[a-zA-Z0-9-]\+:'
|
||||
let prev_unfinished = s:CssUnfinished(prev_text)
|
||||
if !cur_hasfield && (prev_hasfield || prev_unfinished)
|
||||
if prev_unfinished
|
||||
" Continuation line has extra indent if the previous line was not a
|
||||
" continuation line.
|
||||
let extra = shiftwidth()
|
||||
@@ -716,9 +716,13 @@ func! s:CSSIndent()
|
||||
endfunc "}}}
|
||||
|
||||
" Inside <style>: Whether a line is unfinished.
|
||||
" tag:
|
||||
" tag: blah
|
||||
" tag: blah &&
|
||||
" tag: blah ||
|
||||
func! s:CssUnfinished(text)
|
||||
"{{{
|
||||
return a:text =~ '\s\(||\|&&\|:\)\s*$'
|
||||
return a:text =~ '\(||\|&&\|:\|\k\)\s*$'
|
||||
endfunc "}}}
|
||||
|
||||
" Search back for the first unfinished line above "lnum".
|
||||
|
||||
+19
-18
@@ -2,7 +2,7 @@
|
||||
" Language: R
|
||||
" Author: Jakson Alves de Aquino <jalvesaq@gmail.com>
|
||||
" Homepage: https://github.com/jalvesaq/R-Vim-runtime
|
||||
" Last Change: Thu Feb 18, 2016 06:32AM
|
||||
" Last Change: Sun Aug 19, 2018 09:13PM
|
||||
|
||||
|
||||
" Only load this indent file when no other was loaded.
|
||||
@@ -19,22 +19,16 @@ if exists("*GetRIndent")
|
||||
finish
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
" Options to make the indentation more similar to Emacs/ESS:
|
||||
if !exists("g:r_indent_align_args")
|
||||
let g:r_indent_align_args = 1
|
||||
endif
|
||||
if !exists("g:r_indent_ess_comments")
|
||||
let g:r_indent_ess_comments = 0
|
||||
endif
|
||||
if !exists("g:r_indent_comment_column")
|
||||
let g:r_indent_comment_column = 40
|
||||
endif
|
||||
if ! exists("g:r_indent_ess_compatible")
|
||||
let g:r_indent_ess_compatible = 0
|
||||
endif
|
||||
if ! exists("g:r_indent_op_pattern")
|
||||
let g:r_indent_op_pattern = '\(&\||\|+\|-\|\*\|/\|=\|\~\|%\|->\)\s*$'
|
||||
endif
|
||||
let g:r_indent_align_args = get(g:, 'r_indent_align_args', 1)
|
||||
let g:r_indent_ess_comments = get(g:, 'r_indent_ess_comments', 0)
|
||||
let g:r_indent_comment_column = get(g:, 'r_indent_comment_column', 40)
|
||||
let g:r_indent_ess_compatible = get(g:, 'r_indent_ess_compatible', 0)
|
||||
let g:r_indent_op_pattern = get(g:, 'r_indent_op_pattern',
|
||||
\ '\(&\||\|+\|-\|\*\|/\|=\|\~\|%\|->\)\s*$')
|
||||
|
||||
function s:RDelete_quotes(line)
|
||||
let i = 0
|
||||
@@ -231,7 +225,7 @@ function GetRIndent()
|
||||
|
||||
let cline = SanitizeRLine(cline)
|
||||
|
||||
if cline =~ '^\s*}' || cline =~ '^\s*}\s*)$'
|
||||
if cline =~ '^\s*}'
|
||||
let indline = s:Get_matching_brace(clnum, '{', '}', 1)
|
||||
if indline > 0 && indline != clnum
|
||||
let iline = SanitizeRLine(getline(indline))
|
||||
@@ -244,6 +238,11 @@ function GetRIndent()
|
||||
endif
|
||||
endif
|
||||
|
||||
if cline =~ '^\s*)$'
|
||||
let indline = s:Get_matching_brace(clnum, '(', ')', 1)
|
||||
return indent(indline)
|
||||
endif
|
||||
|
||||
" Find the first non blank line above the current line
|
||||
let lnum = s:Get_prev_line(clnum)
|
||||
" Hit the start of the file, use zero indent.
|
||||
@@ -515,7 +514,9 @@ function GetRIndent()
|
||||
endwhile
|
||||
|
||||
return ind
|
||||
|
||||
endfunction
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
" vim: sw=2
|
||||
|
||||
+22
-3
@@ -2,7 +2,7 @@
|
||||
" Language: Rmd
|
||||
" Author: Jakson Alves de Aquino <jalvesaq@gmail.com>
|
||||
" Homepage: https://github.com/jalvesaq/R-Vim-runtime
|
||||
" Last Change: Tue Apr 07, 2015 04:38PM
|
||||
" Last Change: Sun Aug 19, 2018 09:14PM
|
||||
|
||||
|
||||
" Only load this indent file when no other was loaded.
|
||||
@@ -20,7 +20,10 @@ if exists("*GetRmdIndent")
|
||||
finish
|
||||
endif
|
||||
|
||||
function GetMdIndent()
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
function s:GetMdIndent()
|
||||
let pline = getline(v:lnum - 1)
|
||||
let cline = getline(v:lnum)
|
||||
if prevnonblank(v:lnum - 1) < v:lnum - 1 || cline =~ '^\s*[-\+\*]\s' || cline =~ '^\s*\d\+\.\s\+'
|
||||
@@ -33,15 +36,31 @@ function GetMdIndent()
|
||||
return indent(prevnonblank(v:lnum - 1))
|
||||
endfunction
|
||||
|
||||
function s:GetYamlIndent()
|
||||
let pline = getline(v:lnum - 1)
|
||||
if pline =~ ':\s*$'
|
||||
return indent(v:lnum) + &sw
|
||||
elseif pline =~ '^\s*- '
|
||||
return indent(v:lnum) + 2
|
||||
endif
|
||||
return indent(prevnonblank(v:lnum - 1))
|
||||
endfunction
|
||||
|
||||
function GetRmdIndent()
|
||||
if getline(".") =~ '^[ \t]*```{r .*}$' || getline(".") =~ '^[ \t]*```$'
|
||||
return 0
|
||||
endif
|
||||
if search('^[ \t]*```{r', "bncW") > search('^[ \t]*```$', "bncW")
|
||||
return s:RIndent()
|
||||
elseif v:lnum > 1 && search('^---$', "bnW") == 1 &&
|
||||
\ (search('^---$', "nW") > v:lnum || search('^...$', "nW") > v:lnum)
|
||||
return s:GetYamlIndent()
|
||||
else
|
||||
return GetMdIndent()
|
||||
return s:GetMdIndent()
|
||||
endif
|
||||
endfunction
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
" vim: sw=2
|
||||
|
||||
@@ -21,7 +21,7 @@ else
|
||||
let s:TeXIndent = function(substitute(&indentexpr, "()", "", ""))
|
||||
endif
|
||||
|
||||
unlet b:did_indent
|
||||
unlet! b:did_indent
|
||||
runtime indent/r.vim
|
||||
let s:RIndent = function(substitute(&indentexpr, "()", "", ""))
|
||||
let b:did_indent = 1
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
" Menu Translations: Danish / Dansk
|
||||
" Menu Translations: Danish
|
||||
" Maintainer: scootergrisen
|
||||
" Last Change: 2018 Jun 23
|
||||
" Last Change: 2018 Aug 17
|
||||
|
||||
" Quit when menu translations have already been done.
|
||||
if exists("did_menu_trans")
|
||||
@@ -43,7 +43,7 @@ menut &Save<Tab>:w Gem<Tab>:w
|
||||
menut Save\ &As\.\.\.<Tab>:sav Gem\ som\.\.\.<Tab>:sav
|
||||
" -SEP2-
|
||||
menut Split\ &Diff\ with\.\.\. Opdel\ diff\ med\.\.\.
|
||||
menut Split\ Patched\ &By\.\.\. Opdel\ "patchet\ af"\.\.\.
|
||||
menut Split\ Patched\ &By\.\.\. Opdel\ patchet\ af\.\.\.
|
||||
" -SEP3-
|
||||
menut &Print Udskriv
|
||||
" -SEP4-
|
||||
@@ -79,7 +79,7 @@ menut Question Spørgsmål
|
||||
" Edit
|
||||
|
||||
menut Toggle\ Pattern\ &Highlight<Tab>:set\ hls! Fremhævning\ af\ mønster\ til/fra<Tab>:set\ hls!
|
||||
menut Toggle\ &Ignoring\ Case<Tab>:set\ ic! Ignorerer\ "forskel\ på\ store\ og\ små\ bogstaver"\ til/fra<Tab>:set\ ic!
|
||||
menut Toggle\ &Ignoring\ Case<Tab>:set\ ic! Ignorerer\ forskel\ på\ store\ og\ små\ bogstaver\ til/fra<Tab>:set\ ic!
|
||||
menut Toggle\ &Showing\ Matched\ Pairs<Tab>:set\ sm! Viser\ matchende\ par\ til/fra<Tab>:set\ sm!
|
||||
|
||||
menut &Context\ lines Kontekstlinjer
|
||||
@@ -117,20 +117,20 @@ menut Toggle\ Tab\ &expanding<Tab>:set\ et! Udvidelse\ af\ tabulator\ til/fra<Ta
|
||||
menut Toggle\ &Auto\ Indenting<Tab>:set\ ai! Automatisk\ indrykning\ til/fra<Tab>:set\ ai!
|
||||
menut Toggle\ &C-Style\ Indenting<Tab>:set\ cin! Indrykning\ i\ &C-stil\ til/fra<Tab>:set\ cin!
|
||||
" -SEP2-
|
||||
menut &Shiftwidth "Shiftwidth"
|
||||
" menut &Shiftwidth.2<Tab>:set\ sw=2\ sw?<CR> "Shiftwidth".2<Tab>:set\ sw=2\ sw?<CR>
|
||||
" menut &Shiftwidth.3<Tab>:set\ sw=3\ sw?<CR> "Shiftwidth".3<Tab>:set\ sw=3\ sw?<CR>
|
||||
" menut &Shiftwidth.4<Tab>:set\ sw=4\ sw?<CR> "Shiftwidth".4<Tab>:set\ sw=4\ sw?<CR>
|
||||
" menut &Shiftwidth.5<Tab>:set\ sw=5\ sw?<CR> "Shiftwidth".5<Tab>:set\ sw=5\ sw?<CR>
|
||||
" menut &Shiftwidth.6<Tab>:set\ sw=6\ sw?<CR> "Shiftwidth".6<Tab>:set\ sw=6\ sw?<CR>
|
||||
" menut &Shiftwidth.8<Tab>:set\ sw=8\ sw?<CR> "Shiftwidth".8<Tab>:set\ sw=8\ sw?<CR>
|
||||
menut &Shiftwidth Shiftwidth
|
||||
" menut &Shiftwidth.2<Tab>:set\ sw=2\ sw?<CR> Shiftwidth.2<Tab>:set\ sw=2\ sw?<CR>
|
||||
" menut &Shiftwidth.3<Tab>:set\ sw=3\ sw?<CR> Shiftwidth.3<Tab>:set\ sw=3\ sw?<CR>
|
||||
" menut &Shiftwidth.4<Tab>:set\ sw=4\ sw?<CR> Shiftwidth.4<Tab>:set\ sw=4\ sw?<CR>
|
||||
" menut &Shiftwidth.5<Tab>:set\ sw=5\ sw?<CR> Shiftwidth.5<Tab>:set\ sw=5\ sw?<CR>
|
||||
" menut &Shiftwidth.6<Tab>:set\ sw=6\ sw?<CR> Shiftwidth.6<Tab>:set\ sw=6\ sw?<CR>
|
||||
" menut &Shiftwidth.8<Tab>:set\ sw=8\ sw?<CR> Shiftwidth.8<Tab>:set\ sw=8\ sw?<CR>
|
||||
menut Soft\ &Tabstop Blødt\ tabulatorstop
|
||||
" menut Soft\ &Tabstop.2<Tab>:set\ sts=2\ sts? Blødt\ "Tabstop".2<Tab>:set\ sts=2\ sts?
|
||||
" menut Soft\ &Tabstop.3<Tab>:set\ sts=3\ sts? Blødt\ "Tabstop".3<Tab>:set\ sts=3\ sts?
|
||||
" menut Soft\ &Tabstop.4<Tab>:set\ sts=4\ sts? Blødt\ "Tabstop".4<Tab>:set\ sts=4\ sts?
|
||||
" menut Soft\ &Tabstop.5<Tab>:set\ sts=5\ sts? Blødt\ "Tabstop".5<Tab>:set\ sts=5\ sts?
|
||||
" menut Soft\ &Tabstop.6<Tab>:set\ sts=6\ sts? Blødt\ "Tabstop".6<Tab>:set\ sts=6\ sts?
|
||||
" menut Soft\ &Tabstop.8<Tab>:set\ sts=8\ sts? Blødt\ "Tabstop".8<Tab>:set\ sts=8\ sts?
|
||||
" menut Soft\ &Tabstop.2<Tab>:set\ sts=2\ sts? Blødt\ Tabstop.2<Tab>:set\ sts=2\ sts?
|
||||
" menut Soft\ &Tabstop.3<Tab>:set\ sts=3\ sts? Blødt\ Tabstop.3<Tab>:set\ sts=3\ sts?
|
||||
" menut Soft\ &Tabstop.4<Tab>:set\ sts=4\ sts? Blødt\ Tabstop.4<Tab>:set\ sts=4\ sts?
|
||||
" menut Soft\ &Tabstop.5<Tab>:set\ sts=5\ sts? Blødt\ Tabstop.5<Tab>:set\ sts=5\ sts?
|
||||
" menut Soft\ &Tabstop.6<Tab>:set\ sts=6\ sts? Blødt\ Tabstop.6<Tab>:set\ sts=6\ sts?
|
||||
" menut Soft\ &Tabstop.8<Tab>:set\ sts=8\ sts? Blødt\ Tabstop.8<Tab>:set\ sts=8\ sts?
|
||||
menut Te&xt\ Width\.\.\. Tekstbredde\.\.\.
|
||||
menut &File\ Format\.\.\. Filformat\.\.\.
|
||||
|
||||
@@ -168,11 +168,11 @@ menut None Intet
|
||||
" menut arabic arabisk
|
||||
" menut armenian-eastern armensk\ (østlig)
|
||||
" menut armenian-western armensk\ (vestlig)
|
||||
" menut belarusian-jcuken hviderussisk"\ [belarusian-jcuken]"
|
||||
" menut belarusian-jcuken hviderussisk\ [belarusian-jcuken]
|
||||
" menut czech tjekkisk
|
||||
" menut greek græsk
|
||||
" menut hebrew hebraisk
|
||||
" menut hebrewp hebraisk"\ [hebrewp]"
|
||||
" menut hebrewp hebraisk\ [hebrewp]
|
||||
" menut magyar ungarsk
|
||||
" menut persian persisk
|
||||
" menut serbian serbisk
|
||||
@@ -362,8 +362,10 @@ if has("toolbar")
|
||||
endif
|
||||
|
||||
let g:menutrans_set_lang_to = "Sæt sprog til"
|
||||
let g:menutrans_spell_change_ARG_to = 'Ændr "%s" til'
|
||||
let g:menutrans_spell_add_ARG_to_word_list = 'Tilføj "%s" til ordliste'
|
||||
|
||||
" stavegenvejsmenu pop op ting
|
||||
let g:menutrans_spell_change_ARG_to = 'Ændr\ "%s"\ til'
|
||||
let g:menutrans_spell_add_ARG_to_word_list = 'Tilføj\ "%s"\ til\ ordliste'
|
||||
let g:menutrans_spell_ignore_ARG = 'Ignorer "%s"'
|
||||
|
||||
let &cpo = s:keepcpo
|
||||
|
||||
@@ -404,6 +404,8 @@ func! s:SetupColorSchemes() abort
|
||||
let s:did_setup_color_schemes = 1
|
||||
|
||||
let n = globpath(&runtimepath, "colors/*.vim", 1, 1)
|
||||
let n += globpath(&runtimepath, "pack/*/start/*/colors/*.vim", 1, 1)
|
||||
let n += globpath(&runtimepath, "pack/*/opt/*/colors/*.vim", 1, 1)
|
||||
|
||||
" Ignore case for VMS and windows, sort on name
|
||||
let names = sort(map(n, 'substitute(v:val, "\\c.*[/\\\\:\\]]\\([^/\\\\:]*\\)\\.vim", "\\1", "")'), 1)
|
||||
|
||||
+30
-11
@@ -1,15 +1,17 @@
|
||||
" cfilter.vim: Plugin to filter entries from a quickfix/location list
|
||||
" Last Change: May 12, 2018
|
||||
" Maintainer: Yegappan Lakshmanan (yegappan AT yahoo DOT com)
|
||||
" Version: 1.0
|
||||
" Last Change: Aug 23, 2018
|
||||
" Maintainer: Yegappan Lakshmanan (yegappan AT yahoo DOT com)
|
||||
" Version: 1.1
|
||||
"
|
||||
" Commands to filter the quickfix list:
|
||||
" :Cfilter[!] {pat}
|
||||
" :Cfilter[!] /{pat}/
|
||||
" Create a new quickfix list from entries matching {pat} in the current
|
||||
" quickfix list. Both the file name and the text of the entries are
|
||||
" matched against {pat}. If ! is supplied, then entries not matching
|
||||
" {pat} are used.
|
||||
" :Lfilter[!] {pat}
|
||||
" {pat} are used. The pattern can be optionally enclosed using one of
|
||||
" the following characters: ', ", /. If the pattern is empty, then the
|
||||
" last used search pattern is used.
|
||||
" :Lfilter[!] /{pat}/
|
||||
" Same as :Cfilter but operates on the current location list.
|
||||
"
|
||||
if exists("loaded_cfilter")
|
||||
@@ -17,7 +19,7 @@ if exists("loaded_cfilter")
|
||||
endif
|
||||
let loaded_cfilter = 1
|
||||
|
||||
func s:Qf_filter(qf, pat, bang)
|
||||
func s:Qf_filter(qf, searchpat, bang)
|
||||
if a:qf
|
||||
let Xgetlist = function('getqflist')
|
||||
let Xsetlist = function('setqflist')
|
||||
@@ -28,14 +30,31 @@ func s:Qf_filter(qf, pat, bang)
|
||||
let cmd = ':Lfilter' . a:bang
|
||||
endif
|
||||
|
||||
if a:bang == '!'
|
||||
let cond = 'v:val.text !~# a:pat && bufname(v:val.bufnr) !~# a:pat'
|
||||
let firstchar = a:searchpat[0]
|
||||
let lastchar = a:searchpat[-1:]
|
||||
if firstchar == lastchar &&
|
||||
\ (firstchar == '/' || firstchar == '"' || firstchar == "'")
|
||||
let pat = a:searchpat[1:-2]
|
||||
if pat == ''
|
||||
" Use the last search pattern
|
||||
let pat = @/
|
||||
endif
|
||||
else
|
||||
let cond = 'v:val.text =~# a:pat || bufname(v:val.bufnr) =~# a:pat'
|
||||
let pat = a:searchpat
|
||||
endif
|
||||
|
||||
if pat == ''
|
||||
return
|
||||
endif
|
||||
|
||||
if a:bang == '!'
|
||||
let cond = 'v:val.text !~# pat && bufname(v:val.bufnr) !~# pat'
|
||||
else
|
||||
let cond = 'v:val.text =~# pat || bufname(v:val.bufnr) =~# pat'
|
||||
endif
|
||||
|
||||
let items = filter(Xgetlist(), cond)
|
||||
let title = cmd . ' ' . a:pat
|
||||
let title = cmd . ' /' . pat . '/'
|
||||
call Xsetlist([], ' ', {'title' : title, 'items' : items})
|
||||
endfunc
|
||||
|
||||
|
||||
+17
-15
@@ -5,7 +5,7 @@
|
||||
" Tom Payne <tom@tompayne.org>
|
||||
" Contributor: Johannes Ranke <jranke@uni-bremen.de>
|
||||
" Homepage: https://github.com/jalvesaq/R-Vim-runtime
|
||||
" Last Change: Sat Apr 08, 2017 07:01PM
|
||||
" Last Change: Wed Aug 01, 2018 10:10PM
|
||||
" Filenames: *.R *.r *.Rhistory *.Rt
|
||||
"
|
||||
" NOTE: The highlighting of R functions might be defined in
|
||||
@@ -43,15 +43,17 @@ endif
|
||||
if exists("g:r_syntax_folding") && g:r_syntax_folding
|
||||
setlocal foldmethod=syntax
|
||||
endif
|
||||
if !exists("g:r_syntax_hl_roxygen")
|
||||
let g:r_syntax_hl_roxygen = 1
|
||||
endif
|
||||
|
||||
let g:r_syntax_hl_roxygen = get(g:, 'r_syntax_hl_roxygen', 1)
|
||||
|
||||
syn case match
|
||||
|
||||
" Comment
|
||||
syn match rCommentTodo contained "\(BUG\|FIXME\|NOTE\|TODO\):"
|
||||
syn match rComment contains=@Spell,rCommentTodo,rOBlock "#.*"
|
||||
syn match rTodoParen contained "\(BUG\|FIXME\|NOTE\|TODO\)\s*(.\{-})\s*:" contains=rTodoKeyw,rTodoInfo transparent
|
||||
syn keyword rTodoKeyw BUG FIXME NOTE TODO contained
|
||||
syn match rTodoInfo "(\zs.\{-}\ze)" contained
|
||||
syn match rComment contains=@Spell,rCommentTodo,rTodoParen,rOBlock "#.*"
|
||||
|
||||
" Roxygen
|
||||
if g:r_syntax_hl_roxygen
|
||||
@@ -65,7 +67,7 @@ if g:r_syntax_hl_roxygen
|
||||
|
||||
" First we match all roxygen blocks as containing only a title. In case an
|
||||
" empty roxygen line ending the title or a tag is found, this will be
|
||||
" overriden later by the definitions of rOBlock.
|
||||
" overridden later by the definitions of rOBlock.
|
||||
syn match rOTitleBlock "\%^\(\s*#\{1,2}' .*\n\)\{1,}" contains=rOCommentKey,rOTitleTag
|
||||
syn match rOTitleBlock "^\s*\n\(\s*#\{1,2}' .*\n\)\{1,}" contains=rOCommentKey,rOTitleTag
|
||||
|
||||
@@ -91,7 +93,7 @@ if g:r_syntax_hl_roxygen
|
||||
syn match rOTitle "^\s*\n\(\s*#\{1,2}' .*\n\)\{-1,}\s*#\{1,2}'\s*$" contained contains=rOCommentKey,rOTitleTag
|
||||
syn match rOTitleTag contained "@title"
|
||||
|
||||
syn match rOCommentKey "#\{1,2}'" contained
|
||||
syn match rOCommentKey "^\s*#\{1,2}'" contained
|
||||
syn region rOExamples start="^#\{1,2}' @examples.*"rs=e+1,hs=e+1 end="^\(#\{1,2}' @.*\)\@=" end="^\(#\{1,2}'\)\@!" contained contains=rOTag fold
|
||||
|
||||
" rOTag list generated from the lists in
|
||||
@@ -256,6 +258,7 @@ if exists("g:r_syntax_folding")
|
||||
syn region rRegion matchgroup=Delimiter start=/(/ matchgroup=Delimiter end=/)/ transparent contains=ALLBUT,rError,rBraceError,rCurlyError fold
|
||||
syn region rRegion matchgroup=Delimiter start=/{/ matchgroup=Delimiter end=/}/ transparent contains=ALLBUT,rError,rBraceError,rParenError fold
|
||||
syn region rRegion matchgroup=Delimiter start=/\[/ matchgroup=Delimiter end=/]/ transparent contains=ALLBUT,rError,rCurlyError,rParenError fold
|
||||
syn region rSection matchgroup=Title start=/^#.*[-=#]\{4,}/ end=/^#.*[-=#]\{4,}/ms=s-2,me=s-1 transparent contains=ALL fold
|
||||
else
|
||||
syn region rRegion matchgroup=Delimiter start=/(/ matchgroup=Delimiter end=/)/ transparent contains=ALLBUT,rError,rBraceError,rCurlyError
|
||||
syn region rRegion matchgroup=Delimiter start=/{/ matchgroup=Delimiter end=/}/ transparent contains=ALLBUT,rError,rBraceError,rParenError
|
||||
@@ -282,13 +285,8 @@ endif
|
||||
if g:r_syntax_fun_pattern == 1
|
||||
syn match rFunction '[0-9a-zA-Z_\.]\+\s*\ze('
|
||||
else
|
||||
if !exists("g:R_hi_fun")
|
||||
let g:R_hi_fun = 1
|
||||
endif
|
||||
if g:R_hi_fun
|
||||
" Nvim-R:
|
||||
runtime R/functions.vim
|
||||
endif
|
||||
" Nvim-R:
|
||||
runtime R/functions.vim
|
||||
endif
|
||||
|
||||
syn match rDollar display contained "\$"
|
||||
@@ -311,7 +309,7 @@ syn keyword rType array category character complex double function integer list
|
||||
|
||||
" Name of object with spaces
|
||||
if &filetype != "rmd" && &filetype != "rrst"
|
||||
syn region rNameWSpace start="`" end="`"
|
||||
syn region rNameWSpace start="`" end="`" contains=rSpaceFun
|
||||
endif
|
||||
|
||||
if &filetype == "rhelp"
|
||||
@@ -331,7 +329,10 @@ hi def link rAssign Statement
|
||||
hi def link rBoolean Boolean
|
||||
hi def link rBraceError Error
|
||||
hi def link rComment Comment
|
||||
hi def link rTodoParen Comment
|
||||
hi def link rTodoInfo SpecialComment
|
||||
hi def link rCommentTodo Todo
|
||||
hi def link rTodoKeyw Todo
|
||||
hi def link rComplex Number
|
||||
hi def link rConditional Conditional
|
||||
hi def link rConstant Constant
|
||||
@@ -341,6 +342,7 @@ hi def link rDollar SpecialChar
|
||||
hi def link rError Error
|
||||
hi def link rFloat Float
|
||||
hi def link rFunction Function
|
||||
hi def link rSpaceFun Function
|
||||
hi def link rHelpIdent Identifier
|
||||
hi def link rhPreProc PreProc
|
||||
hi def link rhSection PreCondit
|
||||
|
||||
+85
-90
@@ -1,123 +1,118 @@
|
||||
" markdown Text with R statements
|
||||
" Language: markdown with R code chunks
|
||||
" Homepage: https://github.com/jalvesaq/R-Vim-runtime
|
||||
" Last Change: Sat Jan 28, 2017 10:06PM
|
||||
"
|
||||
" CONFIGURATION:
|
||||
" To highlight chunk headers as R code, put in your vimrc (e.g. .config/nvim/init.vim):
|
||||
" let rmd_syn_hl_chunk = 1
|
||||
" Last Change: Sat Aug 25, 2018 03:44PM
|
||||
"
|
||||
" For highlighting pandoc extensions to markdown like citations and TeX and
|
||||
" many other advanced features like folding of markdown sections, it is
|
||||
" recommended to install the vim-pandoc filetype plugin as well as the
|
||||
" vim-pandoc-syntax filetype plugin from https://github.com/vim-pandoc.
|
||||
"
|
||||
" TODO:
|
||||
" - Provide highlighting for rmarkdown parameters in yaml header
|
||||
|
||||
|
||||
if exists("b:current_syntax")
|
||||
finish
|
||||
endif
|
||||
|
||||
" load all of pandoc info, e.g. from
|
||||
" Configuration if not using pandoc syntax:
|
||||
" Add syntax highlighting of YAML header
|
||||
let g:rmd_syn_hl_yaml = get(g:, 'rmd_syn_hl_yaml', 1)
|
||||
" Add syntax highlighting of citation keys
|
||||
let g:rmd_syn_hl_citations = get(g:, 'rmd_syn_hl_citations', 1)
|
||||
" Highlight the header of the chunk of R code
|
||||
let g:rmd_syn_hl_chunk = get(g:, 'g:rmd_syn_hl_chunk', 0)
|
||||
|
||||
" Pandoc-syntax has more features, but it is slower.
|
||||
" https://github.com/vim-pandoc/vim-pandoc-syntax
|
||||
let g:pandoc#syntax#codeblocks#embeds#langs = get(g:, 'pandoc#syntax#codeblocks#embeds#langs', ['r'])
|
||||
runtime syntax/pandoc.vim
|
||||
if exists("b:current_syntax")
|
||||
let rmdIsPandoc = 1
|
||||
unlet b:current_syntax
|
||||
else
|
||||
let rmdIsPandoc = 0
|
||||
runtime syntax/markdown.vim
|
||||
if exists("b:current_syntax")
|
||||
unlet b:current_syntax
|
||||
endif
|
||||
|
||||
" load all of the yaml syntax highlighting rules into @yaml
|
||||
syntax include @yaml syntax/yaml.vim
|
||||
if exists("b:current_syntax")
|
||||
unlet b:current_syntax
|
||||
endif
|
||||
|
||||
" highlight yaml block commonly used for front matter
|
||||
syntax region rmdYamlBlock matchgroup=rmdYamlBlockDelim start="^---" matchgroup=rmdYamlBlockDelim end="^---" contains=@yaml keepend fold
|
||||
" Fix recognition of R code
|
||||
syn region pandocDelimitedCodeBlock_r start=/^```{r\>.*}$/ end=/^```$/ contained containedin=pandocDelimitedCodeBlock contains=@R
|
||||
syn region rmdrInline matchgroup=rmdInlineDelim start="`r " end="`" contains=@R containedin=pandocLaTeXRegion,yamlFlowString keepend
|
||||
hi def link rmdInlineDelim Delimiter
|
||||
let b:current_syntax = "rmd"
|
||||
finish
|
||||
endif
|
||||
|
||||
if !exists("g:rmd_syn_langs")
|
||||
let g:rmd_syn_langs = ["r"]
|
||||
else
|
||||
let s:hasr = 0
|
||||
for s:lng in g:rmd_syn_langs
|
||||
if s:lng == "r"
|
||||
let s:hasr = 1
|
||||
endif
|
||||
endfor
|
||||
if s:hasr == 0
|
||||
let g:rmd_syn_langs += ["r"]
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
" R chunks will not be highlighted by syntax/markdown because their headers
|
||||
" follow a non standard pattern: "```{lang" instead of "^```lang".
|
||||
" Make a copy of g:markdown_fenced_languages to highlight the chunks later:
|
||||
if exists('g:markdown_fenced_languages')
|
||||
if !exists('g:rmd_fenced_languages')
|
||||
let g:rmd_fenced_languages = deepcopy(g:markdown_fenced_languages)
|
||||
let g:markdown_fenced_languages = []
|
||||
endif
|
||||
else
|
||||
let g:rmd_fenced_languages = ['r']
|
||||
endif
|
||||
|
||||
for s:lng in g:rmd_syn_langs
|
||||
exe 'syntax include @' . toupper(s:lng) . ' syntax/'. s:lng . '.vim'
|
||||
if exists("b:current_syntax")
|
||||
unlet b:current_syntax
|
||||
endif
|
||||
exe 'syntax region rmd' . toupper(s:lng) . 'Chunk start="^[ \t]*``` *{\(' . s:lng . '\|r.*engine\s*=\s*["' . "']" . s:lng . "['" . '"]\).*}$" end="^[ \t]*```$" contains=@' . toupper(s:lng) . ',rmd' . toupper(s:lng) . 'ChunkDelim keepend fold'
|
||||
runtime syntax/markdown.vim
|
||||
|
||||
if exists("g:rmd_syn_hl_chunk") && s:lng == "r"
|
||||
" highlight R code inside chunk header
|
||||
syntax match rmdRChunkDelim "^[ \t]*```{r" contained
|
||||
syntax match rmdRChunkDelim "}$" contained
|
||||
" Now highlight chunks:
|
||||
for s:type in g:rmd_fenced_languages
|
||||
if s:type =~ '='
|
||||
let s:lng = substitute(s:type, '=.*', '')
|
||||
let s:nm = substitute(s:type, '.*=', '')
|
||||
else
|
||||
exe 'syntax match rmd' . toupper(s:lng) . 'ChunkDelim "^[ \t]*```{\(' . s:lng . '\|r.*engine\s*=\s*["' . "']" . s:lng . "['" . '"]\).*}$" contained'
|
||||
let s:lng = s:type
|
||||
let s:nm = s:type
|
||||
endif
|
||||
exe 'syntax match rmd' . toupper(s:lng) . 'ChunkDelim "^[ \t]*```$" contained'
|
||||
unlet! b:current_syntax
|
||||
exe 'syn include @Rmd'.s:nm.' syntax/'.s:lng.'.vim'
|
||||
if g:rmd_syn_hl_chunk
|
||||
exe 'syn region rmd'.s:nm.'ChunkDelim matchgroup=rmdCodeDelim start="^\s*```\s*{\s*'.s:nm.'\>" matchgroup=rmdCodeDelim end="}$" keepend containedin=rmd'.s:nm.'Chunk contains=@Rmd'.s:nm
|
||||
exe 'syn region rmd'.s:nm.'Chunk start="^\s*```\s*{\s*'.s:nm.'\>.*$" matchgroup=rmdCodeDelim end="^\s*```\ze\s*$" keepend contains=rmd'.s:nm.'ChunkDelim,@Rmd'.s:nm
|
||||
else
|
||||
exe 'syn region rmd'.s:nm.'Chunk matchgroup=rmdCodeDelim start="^\s*```\s*{\s*'.s:nm.'\>.*$" matchgroup=rmdCodeDelim end="^\s*```\ze\s*$" keepend contains=@Rmd'.s:nm
|
||||
endif
|
||||
exe 'syn region rmd'.s:nm.'Inline matchgroup=rmdInlineDelim start="`'.s:nm.' " end="`" contains=@Rmd'.s:nm.' keepend'
|
||||
endfor
|
||||
unlet! s:type
|
||||
|
||||
hi def link rmdInlineDelim Delimiter
|
||||
hi def link rmdCodeDelim Delimiter
|
||||
|
||||
" also match and syntax highlight in-line R code
|
||||
syntax region rmdrInline matchgroup=rmdInlineDelim start="`r " end="`" contains=@R containedin=pandocLaTeXRegion,yamlFlowString keepend
|
||||
" I was not able to highlight rmdrInline inside a pandocLaTeXCommand, although
|
||||
" highlighting works within pandocLaTeXRegion and yamlFlowString.
|
||||
syntax cluster texMathZoneGroup add=rmdrInline
|
||||
|
||||
" match slidify special marker
|
||||
syntax match rmdSlidifySpecial "\*\*\*"
|
||||
|
||||
|
||||
if rmdIsPandoc == 0
|
||||
syn match rmdBlockQuote /^\s*>.*\n\(.*\n\@<!\n\)*/ skipnl
|
||||
" LaTeX
|
||||
syntax include @LaTeX syntax/tex.vim
|
||||
if exists("b:current_syntax")
|
||||
unlet b:current_syntax
|
||||
endif
|
||||
" Inline
|
||||
syntax match rmdLaTeXInlDelim "\$"
|
||||
syntax match rmdLaTeXInlDelim "\\\$"
|
||||
syn region texMathZoneX matchgroup=Delimiter start="\$" skip="\\\\\|\\\$" matchgroup=Delimiter end="\$" end="%stopzone\>" contains=@texMathZoneGroup
|
||||
" Region
|
||||
syntax match rmdLaTeXRegDelim "\$\$" contained
|
||||
syntax match rmdLaTeXRegDelim "\$\$latex$" contained
|
||||
syntax match rmdLaTeXSt "\\[a-zA-Z]\+"
|
||||
syntax region rmdLaTeXRegion start="^\$\$" skip="\\\$" end="\$\$$" contains=@LaTeX,rmdLaTeXRegDelim keepend
|
||||
syntax region rmdLaTeXRegion2 start="^\\\[" end="\\\]" contains=@LaTeX,rmdLaTeXRegDelim keepend
|
||||
hi def link rmdBlockQuote Comment
|
||||
hi def link rmdLaTeXSt Statement
|
||||
hi def link rmdLaTeXInlDelim Special
|
||||
hi def link rmdLaTeXRegDelim Special
|
||||
" You don't need this if either your markdown/syntax.vim already highlights
|
||||
" the YAML header or you are writing standard markdown
|
||||
if g:rmd_syn_hl_yaml
|
||||
" Minimum highlighting of yaml header
|
||||
syn match rmdYamlFieldTtl /^\s*\zs\w*\ze:/ contained
|
||||
syn match rmdYamlFieldTtl /^\s*-\s*\zs\w*\ze:/ contained
|
||||
syn region yamlFlowString matchgroup=yamlFlowStringDelimiter start='"' skip='\\"' end='"' contains=yamlEscape,rmdrInline contained
|
||||
syn region yamlFlowString matchgroup=yamlFlowStringDelimiter start="'" skip="''" end="'" contains=yamlSingleEscape,rmdrInline contained
|
||||
syn match yamlEscape contained '\\\%([\\"abefnrtv\^0_ NLP\n]\|x\x\x\|u\x\{4}\|U\x\{8}\)'
|
||||
syn match yamlSingleEscape contained "''"
|
||||
syn region pandocYAMLHeader matchgroup=rmdYamlBlockDelim start=/\%(\%^\|\_^\s*\n\)\@<=\_^-\{3}\ze\n.\+/ end=/^\([-.]\)\1\{2}$/ keepend contains=rmdYamlFieldTtl,yamlFlowString
|
||||
hi def link rmdYamlBlockDelim Delimiter
|
||||
hi def link rmdYamlFieldTtl Identifier
|
||||
hi def link yamlFlowString String
|
||||
endif
|
||||
|
||||
for s:lng in g:rmd_syn_langs
|
||||
exe 'syn sync match rmd' . toupper(s:lng) . 'SyncChunk grouphere rmd' . toupper(s:lng) . 'Chunk /^[ \t]*``` *{\(' . s:lng . '\|r.*engine\s*=\s*["' . "']" . s:lng . "['" . '"]\)/'
|
||||
endfor
|
||||
|
||||
hi def link rmdYamlBlockDelim Delim
|
||||
for s:lng in g:rmd_syn_langs
|
||||
exe 'hi def link rmd' . toupper(s:lng) . 'ChunkDelim Special'
|
||||
endfor
|
||||
hi def link rmdInlineDelim Special
|
||||
hi def link rmdSlidifySpecial Special
|
||||
" You don't need this if either your markdown/syntax.vim already highlights
|
||||
" citations or you are writing standard markdown
|
||||
if g:rmd_syn_hl_citations
|
||||
" From vim-pandoc-syntax
|
||||
" parenthetical citations
|
||||
syn match pandocPCite /\^\@<!\[[^\[\]]\{-}-\{0,1}@[[:alnum:]_][[:alnum:]à-öø-ÿÀ-ÖØ-ß_:.#$%&\-+?<>~\/]*.\{-}\]/ contains=pandocEmphasis,pandocStrong,pandocLatex,pandocCiteKey,@Spell,pandocAmpersandEscape display
|
||||
" in-text citations with location
|
||||
syn match pandocICite /@[[:alnum:]_][[:alnum:]à-öø-ÿÀ-ÖØ-ß_:.#$%&\-+?<>~\/]*\s\[.\{-1,}\]/ contains=pandocCiteKey,@Spell display
|
||||
" cite keys
|
||||
syn match pandocCiteKey /\(-\=@[[:alnum:]_][[:alnum:]à-öø-ÿÀ-ÖØ-ß_:.#$%&\-+?<>~\/]*\)/ containedin=pandocPCite,pandocICite contains=@NoSpell display
|
||||
syn match pandocCiteAnchor /[-@]/ contained containedin=pandocCiteKey display
|
||||
syn match pandocCiteLocator /[\[\]]/ contained containedin=pandocPCite,pandocICite
|
||||
hi def link pandocPCite Operator
|
||||
hi def link pandocICite Operator
|
||||
hi def link pandocCiteKey Label
|
||||
hi def link pandocCiteAnchor Operator
|
||||
hi def link pandocCiteLocator Operator
|
||||
endif
|
||||
|
||||
let b:current_syntax = "rmd"
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
" vim: ts=8 sw=2
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim syntax file
|
||||
" Language: R noweb Files
|
||||
" Maintainer: Johannes Ranke <jranke@uni-bremen.de>
|
||||
" Last Change: Sat Feb 06, 2016 06:47AM
|
||||
" Last Change: Thu Apr 05, 2018 11:06PM
|
||||
" Version: 0.9.1
|
||||
" Remarks: - This file is inspired by the proposal of
|
||||
" Fernando Henrique Ferraz Pereira da Rosa <feferraz@ime.usp.br>
|
||||
@@ -16,7 +16,7 @@ syn case match
|
||||
|
||||
" Extension of Tex clusters {{{1
|
||||
runtime syntax/tex.vim
|
||||
unlet b:current_syntax
|
||||
unlet! b:current_syntax
|
||||
|
||||
syn cluster texMatchGroup add=@rnoweb
|
||||
syn cluster texMathMatchGroup add=rnowebSexpr
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
" Language: reST with R code chunks
|
||||
" Maintainer: Alex Zvoleff, azvoleff@mail.sdsu.edu
|
||||
" Homepage: https://github.com/jalvesaq/R-Vim-runtime
|
||||
" Last Change: Tue Jun 28, 2016 08:53AM
|
||||
" Last Change: Thu Apr 05, 2018 11:06PM
|
||||
"
|
||||
" CONFIGURATION:
|
||||
" To highlight chunk headers as R code, put in your vimrc:
|
||||
@@ -14,7 +14,7 @@ endif
|
||||
|
||||
" load all of the rst info
|
||||
runtime syntax/rst.vim
|
||||
unlet b:current_syntax
|
||||
unlet! b:current_syntax
|
||||
|
||||
" load all of the r syntax highlighting rules into @R
|
||||
syntax include @R syntax/r.vim
|
||||
|
||||
+57
-13
@@ -1,8 +1,9 @@
|
||||
" Vim syntax file
|
||||
" Language: sudoers(5) configuration files
|
||||
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
|
||||
" Latest Revision: 2018-07-19
|
||||
" Latest Revision: 2018-08-18
|
||||
" Recent Changes: Support for #include and #includedir.
|
||||
" Added many new options (Samuel D. Leslie)
|
||||
|
||||
if exists("b:current_syntax")
|
||||
finish
|
||||
@@ -152,77 +153,120 @@ syn match sudoersDefaultTypeGreaterThan contained '>' nextgroup=@sudoersUser s
|
||||
" TODO: could also deal with special characters here
|
||||
syn match sudoersBooleanParameter contained '!' nextgroup=sudoersBooleanParameter skipwhite skipnl
|
||||
syn keyword sudoersBooleanParameter contained skipwhite skipnl
|
||||
\ always_query_group_plugin
|
||||
\ always_set_home
|
||||
\ authenticate
|
||||
\ closefrom_override
|
||||
\ compress_io
|
||||
\ env_editor
|
||||
\ env_reset
|
||||
\ exec_background
|
||||
\ fast_glob
|
||||
\ fqdn
|
||||
\ ignore_audit_errors
|
||||
\ ignore_dot
|
||||
\ ignore_iolog_errors
|
||||
\ ignore_local_sudoers
|
||||
\ ignore_logfile_errors
|
||||
\ ignore_unknown_defaults
|
||||
\ insults
|
||||
\ log_host
|
||||
\ log_input
|
||||
\ log_output
|
||||
\ log_year
|
||||
\ long_otp_prompt
|
||||
\ mail_all_cmnds
|
||||
\ mail_always
|
||||
\ mail_badpass
|
||||
\ mail_no_host
|
||||
\ mail_no_perms
|
||||
\ mail_no_user
|
||||
\ match_group_by_gid
|
||||
\ netgroup_tuple
|
||||
\ noexec
|
||||
\ path_info
|
||||
\ pam_session
|
||||
\ pam_setcred
|
||||
\ passprompt_override
|
||||
\ path_info
|
||||
\ preserve_groups
|
||||
\ pwfeedback
|
||||
\ requiretty
|
||||
\ root_sudo
|
||||
\ rootpw
|
||||
\ runaspw
|
||||
\ set_home
|
||||
\ set_logname
|
||||
\ set_utmp
|
||||
\ setenv
|
||||
\ shell_noargs
|
||||
\ stay_setuid
|
||||
\ sudoedit_checkdir
|
||||
\ sudoedit_fellow
|
||||
\ syslog_pid
|
||||
\ targetpw
|
||||
\ tty_tickets
|
||||
\ umask_override
|
||||
\ use_netgroups
|
||||
\ use_pty
|
||||
\ user_command_timeouts
|
||||
\ utmp_runas
|
||||
\ visiblepw
|
||||
|
||||
syn keyword sudoersIntegerParameter contained
|
||||
\ nextgroup=sudoersIntegerParameterEquals
|
||||
\ skipwhite skipnl
|
||||
\ closefrom
|
||||
\ passwd_tries
|
||||
\ command_timeout
|
||||
\ loglinelen
|
||||
\ maxseq
|
||||
\ passwd_timeout
|
||||
\ passwd_tries
|
||||
\ syslog_maxlen
|
||||
\ timestamp_timeout
|
||||
\ umask
|
||||
|
||||
syn keyword sudoersStringParameter contained
|
||||
\ nextgroup=sudoersStringParameterEquals
|
||||
\ skipwhite skipnl
|
||||
\ askpass
|
||||
\ badpass_message
|
||||
\ editor
|
||||
\ mailsub
|
||||
\ noexec_file
|
||||
\ passprompt
|
||||
\ runas_default
|
||||
\ syslog_badpri
|
||||
\ syslog_goodpri
|
||||
\ sudoers_locale
|
||||
\ timestampdir
|
||||
\ timestampowner
|
||||
\ askpass
|
||||
\ env_file
|
||||
\ exempt_group
|
||||
\ fdexec
|
||||
\ group_plugin
|
||||
\ iolog_dir
|
||||
\ iolog_file
|
||||
\ iolog_flush
|
||||
\ iolog_group
|
||||
\ iolog_mode
|
||||
\ iolog_user
|
||||
\ lecture
|
||||
\ lecture_file
|
||||
\ lecture_status_dir
|
||||
\ listpw
|
||||
\ logfile
|
||||
\ mailerflags
|
||||
\ mailerpath
|
||||
\ mailfrom
|
||||
\ mailsub
|
||||
\ mailto
|
||||
\ noexec_file
|
||||
\ pam_login_service
|
||||
\ pam_service
|
||||
\ passprompt
|
||||
\ restricted_env_file
|
||||
\ role
|
||||
\ runas_default
|
||||
\ secure_path
|
||||
\ sudoers_locale
|
||||
\ syslog
|
||||
\ syslog_badpri
|
||||
\ syslog_goodpri
|
||||
\ timestamp_type
|
||||
\ timestampdir
|
||||
\ timestampowner
|
||||
\ type
|
||||
\ verifypw
|
||||
|
||||
syn keyword sudoersListParameter contained
|
||||
|
||||
+1
-1
@@ -12588,7 +12588,7 @@ ex_folddo(exarg_T *eap)
|
||||
int
|
||||
is_loclist_cmd(int cmdidx)
|
||||
{
|
||||
if (cmdidx < 0 || cmdidx > CMD_SIZE)
|
||||
if (cmdidx < 0 || cmdidx >= CMD_SIZE)
|
||||
return FALSE;
|
||||
return cmdnames[cmdidx].cmd_name[0] == 'l';
|
||||
}
|
||||
|
||||
+19
-3
@@ -285,6 +285,7 @@ do_incsearch_highlighting(int firstc, incsearch_state_T *is_state,
|
||||
char_u *dummy;
|
||||
exarg_T ea;
|
||||
pos_T save_cursor;
|
||||
int use_last_pat;
|
||||
|
||||
*skiplen = 0;
|
||||
*patlen = ccline.cmdlen;
|
||||
@@ -361,10 +362,25 @@ do_incsearch_highlighting(int firstc, incsearch_state_T *is_state,
|
||||
delim = (delim_optional && vim_isIDc(*p)) ? ' ' : *p++;
|
||||
end = skip_regexp(p, delim, p_magic, NULL);
|
||||
|
||||
if (end == p && *end != delim)
|
||||
return FALSE;
|
||||
// found a non-empty pattern or //
|
||||
use_last_pat = end == p && *end == delim;
|
||||
|
||||
if (end == p && !use_last_pat)
|
||||
return FALSE;
|
||||
|
||||
// Don't do 'hlsearch' highlighting if the pattern matches everything.
|
||||
if (!use_last_pat)
|
||||
{
|
||||
char c = *end;
|
||||
int empty;
|
||||
|
||||
*end = NUL;
|
||||
empty = empty_pattern(p);
|
||||
*end = c;
|
||||
if (empty)
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
// found a non-empty pattern or //
|
||||
*skiplen = (int)(p - ccline.cmdbuff);
|
||||
*patlen = (int)(end - p);
|
||||
|
||||
|
||||
+1
-1
@@ -958,7 +958,7 @@ drawBalloon(BalloonEval *beval)
|
||||
screen = gtk_widget_get_screen(beval->target);
|
||||
gtk_window_set_screen(GTK_WINDOW(beval->balloonShell), screen);
|
||||
# endif
|
||||
gui_gtk_get_screen_geom_of_win(beval->balloonShell,
|
||||
gui_gtk_get_screen_geom_of_win(beval->target,
|
||||
&screen_x, &screen_y, &screen_w, &screen_h);
|
||||
# if !GTK_CHECK_VERSION(3,0,0)
|
||||
gtk_widget_ensure_style(beval->balloonShell);
|
||||
|
||||
+7
-4
@@ -2065,10 +2065,13 @@ get_b0_dict(char_u *fname, dict_T *d)
|
||||
else
|
||||
{
|
||||
/* we have swap information */
|
||||
dict_add_string(d, "version", vim_strsave(b0.b0_version));
|
||||
dict_add_string(d, "user", vim_strsave(b0.b0_uname));
|
||||
dict_add_string(d, "host", vim_strsave(b0.b0_hname));
|
||||
dict_add_string(d, "fname", vim_strsave(b0.b0_fname));
|
||||
dict_add_string(d, "version", vim_strnsave(b0.b0_version, 10));
|
||||
dict_add_string(d, "user",
|
||||
vim_strnsave(b0.b0_uname, B0_UNAME_SIZE));
|
||||
dict_add_string(d, "host",
|
||||
vim_strnsave(b0.b0_hname, B0_HNAME_SIZE));
|
||||
dict_add_string(d, "fname",
|
||||
vim_strnsave(b0.b0_fname, B0_FNAME_SIZE_ORG));
|
||||
|
||||
dict_add_number(d, "pid", char_to_long(b0.b0_pid));
|
||||
dict_add_number(d, "mtime", char_to_long(b0.b0_mtime));
|
||||
|
||||
+6
-6
@@ -3754,18 +3754,18 @@ prompt_for_number(int *mouse_used)
|
||||
else
|
||||
MSG_PUTS(_("Type number and <Enter> (empty cancels): "));
|
||||
|
||||
/* Set the state such that text can be selected/copied/pasted and we still
|
||||
* get mouse events. */
|
||||
// Set the state such that text can be selected/copied/pasted and we still
|
||||
// get mouse events. redraw_after_callback() will not redraw if cmdline_row
|
||||
// is zero.
|
||||
save_cmdline_row = cmdline_row;
|
||||
cmdline_row = 0;
|
||||
save_State = State;
|
||||
State = ASKMORE; /* prevents a screen update when using a timer */
|
||||
State = CMDLINE;
|
||||
#ifdef FEAT_MOUSE
|
||||
/* May show different mouse shape. */
|
||||
// May show different mouse shape.
|
||||
setmouse();
|
||||
#endif
|
||||
|
||||
|
||||
i = get_number(TRUE, mouse_used);
|
||||
if (KeyTyped)
|
||||
{
|
||||
@@ -3780,7 +3780,7 @@ prompt_for_number(int *mouse_used)
|
||||
cmdline_row = save_cmdline_row;
|
||||
State = save_State;
|
||||
#ifdef FEAT_MOUSE
|
||||
/* May need to restore mouse shape. */
|
||||
// May need to restore mouse shape.
|
||||
setmouse();
|
||||
#endif
|
||||
|
||||
|
||||
@@ -3670,6 +3670,13 @@ mch_setmouse(int on)
|
||||
# endif
|
||||
int xterm_mouse_vers;
|
||||
|
||||
# if defined(FEAT_X11) && defined(FEAT_XCLIPBOARD)
|
||||
if (!on)
|
||||
// Make sure not tracing mouse movements. Important when a button-down
|
||||
// was received but no release yet.
|
||||
stop_xterm_trace();
|
||||
# endif
|
||||
|
||||
if (on == mouse_ison
|
||||
# ifdef FEAT_BEVAL_TERM
|
||||
&& p_bevalterm == bevalterm_ison
|
||||
|
||||
+4
-2
@@ -4046,6 +4046,7 @@ ResizeConBufAndWindow(
|
||||
CONSOLE_SCREEN_BUFFER_INFO csbi; /* hold current console buffer info */
|
||||
SMALL_RECT srWindowRect; /* hold the new console size */
|
||||
COORD coordScreen;
|
||||
static int resized = FALSE;
|
||||
|
||||
#ifdef MCH_WRITE_DUMP
|
||||
if (fdDump)
|
||||
@@ -4091,8 +4092,8 @@ ResizeConBufAndWindow(
|
||||
coordScreen.X = xSize;
|
||||
coordScreen.Y = ySize;
|
||||
|
||||
// In the new console call API in reverse order
|
||||
if (!vtp_working)
|
||||
// In the new console call API, only the first time in reverse order
|
||||
if (!vtp_working || resized)
|
||||
{
|
||||
ResizeWindow(hConsole, srWindowRect);
|
||||
ResizeConBuf(hConsole, coordScreen);
|
||||
@@ -4101,6 +4102,7 @@ ResizeConBufAndWindow(
|
||||
{
|
||||
ResizeConBuf(hConsole, coordScreen);
|
||||
ResizeWindow(hConsole, srWindowRect);
|
||||
resized = TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+3
-1
@@ -65,8 +65,10 @@ extern void memmove(char *, char *, int);
|
||||
# endif
|
||||
# endif
|
||||
#endif
|
||||
/* used inside of FD_ZERO macro: */
|
||||
#ifndef __BIONIC__ // Android's libc #defines bzero to memset.
|
||||
// used inside of FD_ZERO macro
|
||||
extern void bzero(void *, size_t);
|
||||
#endif
|
||||
#ifdef HAVE_SETSID
|
||||
extern pid_t setsid(void);
|
||||
#endif
|
||||
|
||||
+96
-86
@@ -6,8 +6,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Vim 8.1\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-06-08 22:09+0200\n"
|
||||
"PO-Revision-Date: 2018-06-23 23:30+0200\n"
|
||||
"POT-Creation-Date: 2018-07-18 21:20+0200\n"
|
||||
"PO-Revision-Date: 2018-08-17 00:15+0200\n"
|
||||
"Last-Translator: scootergrisen\n"
|
||||
"Language-Team: Danish\n"
|
||||
"Language: da\n"
|
||||
@@ -184,10 +184,10 @@ msgid "All"
|
||||
msgstr "Alt"
|
||||
|
||||
msgid "Bot"
|
||||
msgstr "Ned"
|
||||
msgstr "Nederst"
|
||||
|
||||
msgid "Top"
|
||||
msgstr "Øve"
|
||||
msgstr "Øverst"
|
||||
|
||||
msgid ""
|
||||
"\n"
|
||||
@@ -565,7 +565,8 @@ msgid "E115: Missing quote: %s"
|
||||
msgstr "E115: Manglende citationstegn: %s"
|
||||
|
||||
msgid "Not enough memory to set references, garbage collection aborted!"
|
||||
msgstr "Ikke nok hukommelse til at sætte referencer, affaldsindsamling afbrudt!"
|
||||
msgstr ""
|
||||
"Ikke nok hukommelse til at sætte referencer, affaldsindsamling afbrudt!"
|
||||
|
||||
msgid "E724: variable nested too deep for displaying"
|
||||
msgstr "E724: variabel indlejret for dybt til at blive vist"
|
||||
@@ -1415,6 +1416,9 @@ msgstr "E784: Kan ikke lukke sidste fanebladsside"
|
||||
msgid "Already only one tab page"
|
||||
msgstr "Allerede kun én fanebladsside"
|
||||
|
||||
msgid "Edit File in new tab page"
|
||||
msgstr "Rediger fil i ny fanebladsside"
|
||||
|
||||
msgid "Edit File in new window"
|
||||
msgstr "Rediger fil i nyt vindue"
|
||||
|
||||
@@ -1645,7 +1649,7 @@ msgid ""
|
||||
"# %s History (newest to oldest):\n"
|
||||
msgstr ""
|
||||
"\n"
|
||||
"# %s Historik (nyeste til ældste):\n"
|
||||
"# %s historik (nyeste til ældste):\n"
|
||||
|
||||
msgid "Command Line"
|
||||
msgstr "Kommandolinje"
|
||||
@@ -1672,7 +1676,7 @@ msgid "E812: Autocommands changed buffer or buffer name"
|
||||
msgstr "E812: Autokommandoer ændrede buffer eller buffernavn"
|
||||
|
||||
msgid "Illegal file name"
|
||||
msgstr "Ulovlig filnavn"
|
||||
msgstr "Ulovligt filnavn"
|
||||
|
||||
msgid "is a directory"
|
||||
msgstr "er en mappe"
|
||||
@@ -1957,7 +1961,8 @@ msgstr "Se \":help W12\" for mere info."
|
||||
|
||||
#, c-format
|
||||
msgid "W11: Warning: File \"%s\" has changed since editing started"
|
||||
msgstr "W11: Advarsel: Filen \"%s\" er blevet ændret siden redigeringen startede"
|
||||
msgstr ""
|
||||
"W11: Advarsel: Filen \"%s\" er blevet ændret siden redigeringen startede"
|
||||
|
||||
msgid "See \":help W11\" for more info."
|
||||
msgstr "Se \":help W11\" for mere info."
|
||||
@@ -1965,8 +1970,8 @@ msgstr "Se \":help W11\" for mere info."
|
||||
#, c-format
|
||||
msgid "W16: Warning: Mode of file \"%s\" has changed since editing started"
|
||||
msgstr ""
|
||||
"W16: Advarsel: Tilstanden af filen \"%s\" er blevet ændret siden redigeringen "
|
||||
"startede"
|
||||
"W16: Advarsel: Tilstanden af filen \"%s\" er blevet ændret siden "
|
||||
"redigeringen startede"
|
||||
|
||||
msgid "See \":help W16\" for more info."
|
||||
msgstr "Se \":help W16\" for mere info."
|
||||
@@ -2025,10 +2030,10 @@ msgstr "E216: Ingen sådan gruppe eller hændelse: %s"
|
||||
|
||||
msgid ""
|
||||
"\n"
|
||||
"--- Auto-Commands ---"
|
||||
"--- Autocommands ---"
|
||||
msgstr ""
|
||||
"\n"
|
||||
"--- Auto-kommandoer ---"
|
||||
"--- Autokommandoer ---"
|
||||
|
||||
#, c-format
|
||||
msgid "E680: <buffer=%d>: invalid buffer number "
|
||||
@@ -2044,8 +2049,8 @@ msgid "E218: autocommand nesting too deep"
|
||||
msgstr "E218: autokommando indlejret for dyb"
|
||||
|
||||
#, c-format
|
||||
msgid "%s Auto commands for \"%s\""
|
||||
msgstr "%s Auto-kommandoer for \"%s\""
|
||||
msgid "%s Autocommands for \"%s\""
|
||||
msgstr "%s Autokommandoer for \"%s\""
|
||||
|
||||
#, c-format
|
||||
msgid "Executing %s"
|
||||
@@ -2291,10 +2296,10 @@ msgstr "&Fortryd"
|
||||
msgid "Open tab..."
|
||||
msgstr "Åbn faneblad..."
|
||||
|
||||
msgid "Find string (use '\\\\' to find a '\\')"
|
||||
msgid "Find string (use '\\\\' to find a '\\')"
|
||||
msgstr "Find streng (brug '\\\\' til at finde et '\\')"
|
||||
|
||||
msgid "Find & Replace (use '\\\\' to find a '\\')"
|
||||
msgid "Find & Replace (use '\\\\' to find a '\\')"
|
||||
msgstr "Find og erstat (brug '\\\\' til at finde et '\\')"
|
||||
|
||||
msgid "Not Used"
|
||||
@@ -2878,7 +2883,8 @@ msgstr "Affald efter tilvalgsargument"
|
||||
|
||||
msgid "Too many \"+command\", \"-c command\" or \"--cmd command\" arguments"
|
||||
msgstr ""
|
||||
"For mange \"+kommando\"-, \"-c kommando\"- eller \"--cmd kommando\"-argumenter"
|
||||
"For mange \"+kommando\"-, \"-c kommando\"- eller \"--cmd kommando\"-"
|
||||
"argumenter"
|
||||
|
||||
msgid "Invalid argument for"
|
||||
msgstr "Ugyldigt argument for"
|
||||
@@ -2931,7 +2937,7 @@ msgstr ""
|
||||
"\n"
|
||||
"Mere info med: \"vim -h\"\n"
|
||||
|
||||
msgid "[file ..] edit specified file(s)"
|
||||
msgid "[file ..] edit specified file(s)"
|
||||
msgstr "[fil ..] rediger angivne fil(er)"
|
||||
|
||||
msgid "- read text from stdin"
|
||||
@@ -2946,11 +2952,11 @@ msgstr "-q [fejlfil] rediger fil med første fejl"
|
||||
msgid ""
|
||||
"\n"
|
||||
"\n"
|
||||
"usage:"
|
||||
"Usage:"
|
||||
msgstr ""
|
||||
"\n"
|
||||
"\n"
|
||||
"anvendelse:"
|
||||
"Anvendelse:"
|
||||
|
||||
msgid " vim [arguments] "
|
||||
msgstr " vim [argumenter] "
|
||||
@@ -3063,8 +3069,8 @@ msgstr "-f\t\t\tBrug ikke newcli til at åbne vindue"
|
||||
msgid "-dev <device>\t\tUse <device> for I/O"
|
||||
msgstr "-dev <enhed>\t\tBrug <enhed> til I/O"
|
||||
|
||||
msgid "-A\t\t\tstart in Arabic mode"
|
||||
msgstr "-A\t\t\tstart i arabisk tilstand"
|
||||
msgid "-A\t\t\tStart in Arabic mode"
|
||||
msgstr "-A\t\t\tStart i arabisk tilstand"
|
||||
|
||||
msgid "-H\t\t\tStart in Hebrew mode"
|
||||
msgstr "-H\t\t\tStart i hebraisk tilstand"
|
||||
@@ -3113,7 +3119,8 @@ msgid "-c <command>\t\tExecute <command> after loading the first file"
|
||||
msgstr "-c <kommando>\tUdfør <kommando> efter indlæsning af den første fil"
|
||||
|
||||
msgid "-S <session>\t\tSource file <session> after loading the first file"
|
||||
msgstr "-S <session>\t\tSource filen <session> efter indlæsning af den første fil"
|
||||
msgstr ""
|
||||
"-S <session>\t\tSource filen <session> efter indlæsning af den første fil"
|
||||
|
||||
msgid "-s <scriptin>\tRead Normal mode commands from file <scriptin>"
|
||||
msgstr "-s <scriptind>\tLæs normal tilstand-kommandoer fra filen <scriptind>"
|
||||
@@ -3180,7 +3187,8 @@ msgid "-i <viminfo>\t\tUse <viminfo> instead of .viminfo"
|
||||
msgstr "-i <viminfo>\t\tBrug <viminfo> i stedet for .viminfo"
|
||||
|
||||
msgid "--clean\t\t'nocompatible', Vim defaults, no plugins, no viminfo"
|
||||
msgstr "--clean\t\t'nocompatible', Vim-standarder, ingen plugins, ingen viminfo"
|
||||
msgstr ""
|
||||
"--clean\t\t'nocompatible', Vim-standarder, ingen plugins, ingen viminfo"
|
||||
|
||||
msgid "-h or --help\tPrint Help (this message) and exit"
|
||||
msgstr "-h eller --help\tUdskriv hjælp (denne meddelelse) og afslut"
|
||||
@@ -3486,21 +3494,22 @@ msgid ""
|
||||
"If you entered a new crypt key but did not write the text file,"
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Hvis du indtastede en ny crypt-nøgle men ikke skrev tekstfilen,"
|
||||
"Hvis du indtastede en ny krypteringsnøgle men ikke skrev tekstfilen,"
|
||||
|
||||
msgid ""
|
||||
"\n"
|
||||
"enter the new crypt key."
|
||||
msgstr ""
|
||||
"\n"
|
||||
"så indtast den nye crypt-nøgle."
|
||||
"så indtast den nye krypteringsnøgle."
|
||||
|
||||
msgid ""
|
||||
"\n"
|
||||
"If you wrote the text file after changing the crypt key press enter"
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Hvis du skrev tekstfilen efter crypt-nøglen blev ændret, så tryk på enter"
|
||||
"Hvis du skrev tekstfilen efter krypteringsnøglen blev ændret, så tryk på "
|
||||
"enter"
|
||||
|
||||
msgid ""
|
||||
"\n"
|
||||
@@ -3547,8 +3556,7 @@ msgstr "E311: Gendannelse afbrudt"
|
||||
msgid ""
|
||||
"E312: Errors detected while recovering; look for lines starting with ???"
|
||||
msgstr ""
|
||||
"E312: Fejl registreret ved gendannelse; kig efter linjer som begynder med "
|
||||
"???"
|
||||
"E312: Fejl registreret ved gendannelse; kig efter linjer som begynder med ???"
|
||||
|
||||
msgid "See \":help E312\" for more information."
|
||||
msgstr "Se \":help E312\" for mere information."
|
||||
@@ -3580,16 +3588,16 @@ msgstr ""
|
||||
"\n"
|
||||
|
||||
msgid "Using crypt key from swap file for the text file.\n"
|
||||
msgstr "Bruger crypt-nøglen fra swap-filen til tekstfilen.\n"
|
||||
msgstr "Bruger krypteringsnøglen fra swap-filen til tekstfilen.\n"
|
||||
|
||||
msgid "Swap files found:"
|
||||
msgstr "Swap-filer fundet:"
|
||||
|
||||
msgid " In current directory:\n"
|
||||
msgstr " I nuværende mappe:\n"
|
||||
msgstr " I nuværende mappe:\n"
|
||||
|
||||
msgid " Using specified name:\n"
|
||||
msgstr " Bruger angivne navn:\n"
|
||||
msgstr " Bruger angivne navn:\n"
|
||||
|
||||
msgid " In directory "
|
||||
msgstr " I mappe "
|
||||
@@ -3598,13 +3606,13 @@ msgid " -- none --\n"
|
||||
msgstr " -- ingen --\n"
|
||||
|
||||
msgid " owned by: "
|
||||
msgstr " ejet af: "
|
||||
msgstr " ejet af: "
|
||||
|
||||
msgid " dated: "
|
||||
msgstr " dateret: "
|
||||
msgstr " dateret: "
|
||||
|
||||
msgid " dated: "
|
||||
msgstr " dateret: "
|
||||
msgstr " dateret: "
|
||||
|
||||
msgid " [from Vim version 3.0]"
|
||||
msgstr " [fra Vim version 3.0]"
|
||||
@@ -3613,14 +3621,14 @@ msgid " [does not look like a Vim swap file]"
|
||||
msgstr " [ligner ikke en Vim swap-fil]"
|
||||
|
||||
msgid " file name: "
|
||||
msgstr " filnavn: "
|
||||
msgstr " filnavn: "
|
||||
|
||||
msgid ""
|
||||
"\n"
|
||||
" modified: "
|
||||
msgstr ""
|
||||
"\n"
|
||||
" ændret: "
|
||||
" ændret: "
|
||||
|
||||
msgid "YES"
|
||||
msgstr "JA"
|
||||
@@ -3633,7 +3641,7 @@ msgid ""
|
||||
" user name: "
|
||||
msgstr ""
|
||||
"\n"
|
||||
" brugernavn: "
|
||||
" brugernavn: "
|
||||
|
||||
msgid " host name: "
|
||||
msgstr " værtsnavn: "
|
||||
@@ -3650,7 +3658,7 @@ msgid ""
|
||||
" process ID: "
|
||||
msgstr ""
|
||||
"\n"
|
||||
" proces-ID: "
|
||||
" proces-ID: "
|
||||
|
||||
msgid " (still running)"
|
||||
msgstr " (kører stadig)"
|
||||
@@ -3758,9 +3766,11 @@ msgid ""
|
||||
" file when making changes. Quit, or continue with caution.\n"
|
||||
msgstr ""
|
||||
"\n"
|
||||
"(1) Et andet program redigere muligvis den samme fil. Hvis det er tilfældet,\n"
|
||||
"(1) Et andet program redigere muligvis den samme fil. Hvis det er "
|
||||
"tilfældet,\n"
|
||||
" så pas på ikke at ende med to forskellige instanser af den samme\n"
|
||||
" fil når der foretages ændringer. Afslut, eller fortsæt med forsigtighed.\n"
|
||||
" fil når der foretages ændringer. Afslut, eller fortsæt med "
|
||||
"forsigtighed.\n"
|
||||
|
||||
msgid "(2) An edit session for this file crashed.\n"
|
||||
msgstr "(2) En redigeringssession for filen holdt op med at virke.\n"
|
||||
@@ -4059,7 +4069,8 @@ msgstr "E347: Ikke flere fil \"%s\" fundet i path"
|
||||
|
||||
#, c-format
|
||||
msgid "E668: Wrong access mode for NetBeans connection info file: \"%s\""
|
||||
msgstr "E668: Forkert adgangstilstand for NetBeans-forbindelsens info-fil: \"%s\""
|
||||
msgstr ""
|
||||
"E668: Forkert adgangstilstand for NetBeans-forbindelsens info-fil: \"%s\""
|
||||
|
||||
#, c-format
|
||||
msgid "E658: NetBeans connection lost for buffer %ld"
|
||||
@@ -4214,8 +4225,8 @@ msgid ""
|
||||
"Selected %s%ld of %ld Lines; %lld of %lld Words; %lld of %lld Chars; %lld of "
|
||||
"%lld Bytes"
|
||||
msgstr ""
|
||||
"Markerede %s%ld af %ld linje; %lld af %lld ord; %lld af %lld tegn; %lld af %"
|
||||
"lld byte"
|
||||
"Markerede %s%ld af %ld linje; %lld af %lld ord; %lld af %lld tegn; %lld af "
|
||||
"%lld byte"
|
||||
|
||||
#, c-format
|
||||
msgid "Col %s of %s; Line %ld of %ld; Word %lld of %lld; Byte %lld of %lld"
|
||||
@@ -4226,8 +4237,8 @@ msgid ""
|
||||
"Col %s of %s; Line %ld of %ld; Word %lld of %lld; Char %lld of %lld; Byte "
|
||||
"%lld of %lld"
|
||||
msgstr ""
|
||||
"Kol %s af %s; Linje %ld af %ld; Ord %lld af %lld; Tegn %lld af %lld; Byte %"
|
||||
"lld af %lld"
|
||||
"Kol %s af %s; Linje %ld af %ld; Ord %lld af %lld; Tegn %lld af %lld; Byte "
|
||||
"%lld af %lld"
|
||||
|
||||
#, c-format
|
||||
msgid "(+%lld for BOM)"
|
||||
@@ -4746,8 +4757,8 @@ msgstr "E55: Ikke-matchet %s)"
|
||||
msgid "E66: \\z( not allowed here"
|
||||
msgstr "E66: \\z( ikke tilladt her"
|
||||
|
||||
msgid "E67: \\z1 et al. not allowed here"
|
||||
msgstr "E67: \\z1 og andre ikke tilladt her"
|
||||
msgid "E67: \\z1 - \\z9 not allowed here"
|
||||
msgstr "E67: \\z1 - \\z9 ikke tilladt her"
|
||||
|
||||
#, c-format
|
||||
msgid "E69: Missing ] after %s%%["
|
||||
@@ -4757,6 +4768,9 @@ msgstr "E69: Manglende ] efter %s%%["
|
||||
msgid "E70: Empty %s%%[]"
|
||||
msgstr "E70: Tom %s%%[]"
|
||||
|
||||
msgid "E956: Cannot use pattern recursively"
|
||||
msgstr "E956: Kan ikke bruge mønster rekursivt"
|
||||
|
||||
msgid "E65: Illegal back reference"
|
||||
msgstr "E65: Ulovlig tilbage-reference"
|
||||
|
||||
@@ -4859,8 +4873,8 @@ msgstr "E869: (NFA) Ukendt operator '\\@%c'"
|
||||
msgid "E870: (NFA regexp) Error reading repetition limits"
|
||||
msgstr "E870: (NFA regexp) Fejl ved læsning af gentagelsesgrænser"
|
||||
|
||||
msgid "E871: (NFA regexp) Can't have a multi follow a multi !"
|
||||
msgstr "E871: (NFA regexp) En multi må ikke efterfølges af en multi !"
|
||||
msgid "E871: (NFA regexp) Can't have a multi follow a multi"
|
||||
msgstr "E871: (NFA regexp) En multi må ikke efterfølges af en multi"
|
||||
|
||||
msgid "E872: (NFA regexp) Too many '('"
|
||||
msgstr "E872: (NFA regexp) For mange '('"
|
||||
@@ -4871,8 +4885,11 @@ msgstr "E879: (NFA regexp) For mange \\z("
|
||||
msgid "E873: (NFA regexp) proper termination error"
|
||||
msgstr "E873: (NFA regexp) fejl ved korrekt terminering"
|
||||
|
||||
msgid "E874: (NFA) Could not pop the stack !"
|
||||
msgstr "E874: (NFA) Kunne ikke pop'e stakken !"
|
||||
msgid "Could not open temporary log file for writing, displaying on stderr... "
|
||||
msgstr "Kunne ikke åbne midlertidig logfil til skrivning, viser på stderr... "
|
||||
|
||||
msgid "E874: (NFA) Could not pop the stack!"
|
||||
msgstr "E874: (NFA) Kunne ikke pop'e stakken!"
|
||||
|
||||
msgid ""
|
||||
"E875: (NFA regexp) (While converting from postfix to NFA), too many states "
|
||||
@@ -4887,17 +4904,6 @@ msgstr "E876: (NFA regexp) Ikke nok plads til at lagre hele NFA'en "
|
||||
msgid "E878: (NFA) Could not allocate memory for branch traversal!"
|
||||
msgstr "E878: (NFA) Kunne ikke allokere hukommelse til gennemgang af gren!"
|
||||
|
||||
msgid ""
|
||||
"Could not open temporary log file for writing, displaying on stderr ... "
|
||||
msgstr "Kunne ikke åbne midlertidig logfil til skrivning, viser på stderr ... "
|
||||
|
||||
#, c-format
|
||||
msgid "(NFA) COULD NOT OPEN %s !"
|
||||
msgstr "(NFA) KUNNE IKKE ÅBNE %s !"
|
||||
|
||||
msgid "Could not open temporary log file for writing "
|
||||
msgstr "Kunne ikke åbne midlertidig logfil til skrivning "
|
||||
|
||||
msgid " VREPLACE"
|
||||
msgstr " VERSTAT"
|
||||
|
||||
@@ -5008,6 +5014,7 @@ msgstr "E389: Kunne ikke finde mønster"
|
||||
msgid "Substitute "
|
||||
msgstr "Erstatning "
|
||||
|
||||
# scootergrisen: find ud af om "Søgemønster" skal være med stort eller lille
|
||||
#, c-format
|
||||
msgid ""
|
||||
"\n"
|
||||
@@ -5023,11 +5030,13 @@ msgstr "E756: Stavekontrol er ikke aktiveret"
|
||||
|
||||
#, c-format
|
||||
msgid "Warning: Cannot find word list \"%s_%s.spl\" or \"%s_ascii.spl\""
|
||||
msgstr "Advarsel: Kan ikke finde ordlisten \"%s_%s.spl\" eller \"%s_ascii.spl\""
|
||||
msgstr ""
|
||||
"Advarsel: Kan ikke finde ordlisten \"%s_%s.spl\" eller \"%s_ascii.spl\""
|
||||
|
||||
#, c-format
|
||||
msgid "Warning: Cannot find word list \"%s.%s.spl\" or \"%s.ascii.spl\""
|
||||
msgstr "Advarsel: Kan ikke finde ordlisten \"%s.%s.spl\" eller \"%s.ascii.spl\""
|
||||
msgstr ""
|
||||
"Advarsel: Kan ikke finde ordlisten \"%s.%s.spl\" eller \"%s.ascii.spl\""
|
||||
|
||||
msgid "E797: SpellFileMissing autocommand deleted buffer"
|
||||
msgstr "E797: SpellFileMissing-autokommando slettede buffer"
|
||||
@@ -5115,8 +5124,8 @@ msgid "E782: error while reading .sug file: %s"
|
||||
msgstr "E782: fejl ved læsning af .sug-fil: %s"
|
||||
|
||||
#, c-format
|
||||
msgid "Reading affix file %s ..."
|
||||
msgstr "Læser affix-filen %s ..."
|
||||
msgid "Reading affix file %s..."
|
||||
msgstr "Læser affix-filen %s..."
|
||||
|
||||
#, c-format
|
||||
msgid "Conversion failure for word in %s line %d: %s"
|
||||
@@ -5251,8 +5260,8 @@ msgid "%s value differs from what is used in another .aff file"
|
||||
msgstr "%s-værdi er ikke den samme som bruges i en anden .aff-fil"
|
||||
|
||||
#, c-format
|
||||
msgid "Reading dictionary file %s ..."
|
||||
msgstr "Læser ordbogsfilen %s ..."
|
||||
msgid "Reading dictionary file %s..."
|
||||
msgstr "Læser ordbogsfilen %s..."
|
||||
|
||||
#, c-format
|
||||
msgid "E760: No word count in %s"
|
||||
@@ -5279,8 +5288,8 @@ msgid "Ignored %d word(s) with non-ASCII characters in %s"
|
||||
msgstr "Ignorerede %d ord med ikke-ASCII-tegn i %s"
|
||||
|
||||
#, c-format
|
||||
msgid "Reading word file %s ..."
|
||||
msgstr "Læser ordfilen %s ..."
|
||||
msgid "Reading word file %s..."
|
||||
msgstr "Læser ordfilen %s..."
|
||||
|
||||
#, c-format
|
||||
msgid "Duplicate /encoding= line ignored in %s line %d: %s"
|
||||
@@ -5336,8 +5345,8 @@ msgid "Total number of words: %d"
|
||||
msgstr "Samlet antal ord: %d"
|
||||
|
||||
#, c-format
|
||||
msgid "Writing suggestion file %s ..."
|
||||
msgstr "Skriver forslagsfilen %s ..."
|
||||
msgid "Writing suggestion file %s..."
|
||||
msgstr "Skriver forslagsfilen %s..."
|
||||
|
||||
#, c-format
|
||||
msgid "Estimated runtime memory use: %d bytes"
|
||||
@@ -5358,8 +5367,8 @@ msgid "Warning: both compounding and NOBREAK specified"
|
||||
msgstr "Advarsel: både compounding og NOBREAK angivet"
|
||||
|
||||
#, c-format
|
||||
msgid "Writing spell file %s ..."
|
||||
msgstr "Skriver spell-filen %s ..."
|
||||
msgid "Writing spell file %s..."
|
||||
msgstr "Skriver spell-filen %s..."
|
||||
|
||||
msgid "Done!"
|
||||
msgstr "Færdig!"
|
||||
@@ -5386,10 +5395,10 @@ msgid "No Syntax items defined for this buffer"
|
||||
msgstr "Ingen syntakspunkter defineret for denne buffer"
|
||||
|
||||
msgid "syntax conceal on"
|
||||
msgstr "syntax conceal on"
|
||||
msgstr "syntax conceal til"
|
||||
|
||||
msgid "syntax conceal off"
|
||||
msgstr "syntax conceal off"
|
||||
msgstr "syntax conceal fra"
|
||||
|
||||
#, c-format
|
||||
msgid "E390: Illegal argument: %s"
|
||||
@@ -5981,7 +5990,8 @@ msgstr "E129: Funktionsnavn kræves"
|
||||
|
||||
#, c-format
|
||||
msgid "E128: Function name must start with a capital or \"s:\": %s"
|
||||
msgstr "E128: Funktionsnavnet skal begynde med et stort bogstav eller \"s:\": %s"
|
||||
msgstr ""
|
||||
"E128: Funktionsnavnet skal begynde med et stort bogstav eller \"s:\": %s"
|
||||
|
||||
#, c-format
|
||||
msgid "E884: Function name cannot contain a colon: %s"
|
||||
@@ -6032,6 +6042,10 @@ msgstr "E133: :return ikke i en funktion"
|
||||
msgid "E107: Missing parentheses: %s"
|
||||
msgstr "E107: Manglende parenteser: %s"
|
||||
|
||||
#, c-format
|
||||
msgid "%s (%s, compiled %s)"
|
||||
msgstr "%s (%s, kompileret %s)"
|
||||
|
||||
msgid ""
|
||||
"\n"
|
||||
"MS-Windows 64-bit GUI version"
|
||||
@@ -6264,7 +6278,7 @@ msgid "type :help version8<Enter> for version info"
|
||||
msgstr "skriv :help version8<Enter> for versionsinfo"
|
||||
|
||||
msgid "Running in Vi compatible mode"
|
||||
msgstr "Kører i Vi-kompatibel-tilstand"
|
||||
msgstr "Kører i Vi-kompatibel tilstand"
|
||||
|
||||
msgid "type :set nocp<Enter> for Vim defaults"
|
||||
msgstr "skriv :set nocp<Enter> for Vim-standarder"
|
||||
@@ -6410,8 +6424,7 @@ msgstr "E11: Ugyldig i kommandolinjevindue; <CR> udfører, CTRL-C afslutter"
|
||||
|
||||
msgid "E12: Command not allowed from exrc/vimrc in current dir or tag search"
|
||||
msgstr ""
|
||||
"E12: Kommando ikke tilladt fra exrc/vimrc i nuværende mappe- eller "
|
||||
"tagsøgning"
|
||||
"E12: Kommando ikke tilladt fra exrc/vimrc i nuværende mappe- eller tagsøgning"
|
||||
|
||||
msgid "E171: Missing :endif"
|
||||
msgstr "E171: Manglende :endif"
|
||||
@@ -6530,9 +6543,7 @@ msgid "E26: Hebrew cannot be used: Not enabled at compile time\n"
|
||||
msgstr "E26: Hebraisk kan ikke bruges: Ikke aktiveret ved kompileringstid\n"
|
||||
|
||||
msgid "E27: Farsi cannot be used: Not enabled at compile time\n"
|
||||
msgstr ""
|
||||
"E27: Persisk kan ikke bruges: Ikke aktiveret ved kompileringstid\n"
|
||||
"\n"
|
||||
msgstr "E27: Persisk kan ikke bruges: Ikke aktiveret ved kompileringstid\n"
|
||||
|
||||
msgid "E800: Arabic cannot be used: Not enabled at compile time\n"
|
||||
msgstr "E800: Arabisk kan ikke bruges: Ikke aktiveret ved kompileringstid\n"
|
||||
@@ -6852,8 +6863,7 @@ msgstr "ventede 3-tuple som imp.find_module() resultat, men fik %s"
|
||||
#, c-format
|
||||
msgid "expected 3-tuple as imp.find_module() result, but got tuple of size %d"
|
||||
msgstr ""
|
||||
"ventede 3-tuple som imp.find_module() resultat, men fik tuple af størrelse %"
|
||||
"d"
|
||||
"ventede 3-tuple som imp.find_module() resultat, men fik tuple af størrelse %d"
|
||||
|
||||
msgid "internal error: imp.find_module returned tuple with NULL"
|
||||
msgstr "intern fejl: imp.find_module returnerede tuple med NULL"
|
||||
|
||||
+79
-66
@@ -5996,6 +5996,83 @@ qf_get_properties(win_T *wp, dict_T *what, dict_T *retdict)
|
||||
return status;
|
||||
}
|
||||
|
||||
/*
|
||||
* Add a new quickfix entry to list at 'qf_idx' in the stack 'qi' from the
|
||||
* items in the dict 'd'.
|
||||
*/
|
||||
static int
|
||||
qf_add_entry_from_dict(
|
||||
qf_info_T *qi,
|
||||
int qf_idx,
|
||||
dict_T *d,
|
||||
int first_entry)
|
||||
{
|
||||
static int did_bufnr_emsg;
|
||||
char_u *filename, *module, *pattern, *text, *type;
|
||||
int bufnum, valid, status, col, vcol, nr;
|
||||
long lnum;
|
||||
|
||||
if (first_entry)
|
||||
did_bufnr_emsg = FALSE;
|
||||
|
||||
filename = get_dict_string(d, (char_u *)"filename", TRUE);
|
||||
module = get_dict_string(d, (char_u *)"module", TRUE);
|
||||
bufnum = (int)get_dict_number(d, (char_u *)"bufnr");
|
||||
lnum = (int)get_dict_number(d, (char_u *)"lnum");
|
||||
col = (int)get_dict_number(d, (char_u *)"col");
|
||||
vcol = (int)get_dict_number(d, (char_u *)"vcol");
|
||||
nr = (int)get_dict_number(d, (char_u *)"nr");
|
||||
type = get_dict_string(d, (char_u *)"type", TRUE);
|
||||
pattern = get_dict_string(d, (char_u *)"pattern", TRUE);
|
||||
text = get_dict_string(d, (char_u *)"text", TRUE);
|
||||
if (text == NULL)
|
||||
text = vim_strsave((char_u *)"");
|
||||
|
||||
valid = TRUE;
|
||||
if ((filename == NULL && bufnum == 0) || (lnum == 0 && pattern == NULL))
|
||||
valid = FALSE;
|
||||
|
||||
// Mark entries with non-existing buffer number as not valid. Give the
|
||||
// error message only once.
|
||||
if (bufnum != 0 && (buflist_findnr(bufnum) == NULL))
|
||||
{
|
||||
if (!did_bufnr_emsg)
|
||||
{
|
||||
did_bufnr_emsg = TRUE;
|
||||
EMSGN(_("E92: Buffer %ld not found"), bufnum);
|
||||
}
|
||||
valid = FALSE;
|
||||
bufnum = 0;
|
||||
}
|
||||
|
||||
// If the 'valid' field is present it overrules the detected value.
|
||||
if ((dict_find(d, (char_u *)"valid", -1)) != NULL)
|
||||
valid = (int)get_dict_number(d, (char_u *)"valid");
|
||||
|
||||
status = qf_add_entry(qi,
|
||||
qf_idx,
|
||||
NULL, // dir
|
||||
filename,
|
||||
module,
|
||||
bufnum,
|
||||
text,
|
||||
lnum,
|
||||
col,
|
||||
vcol, // vis_col
|
||||
pattern, // search pattern
|
||||
nr,
|
||||
type == NULL ? NUL : *type,
|
||||
valid);
|
||||
|
||||
vim_free(filename);
|
||||
vim_free(module);
|
||||
vim_free(pattern);
|
||||
vim_free(text);
|
||||
vim_free(type);
|
||||
|
||||
return status;
|
||||
}
|
||||
|
||||
/*
|
||||
* Add list of entries to quickfix/location list. Each list entry is
|
||||
* a dictionary with item information.
|
||||
@@ -6010,15 +6087,8 @@ qf_add_entries(
|
||||
{
|
||||
listitem_T *li;
|
||||
dict_T *d;
|
||||
char_u *filename, *module, *pattern, *text, *type;
|
||||
int bufnum;
|
||||
long lnum;
|
||||
int col, nr;
|
||||
int vcol;
|
||||
qfline_T *old_last = NULL;
|
||||
int valid, status;
|
||||
int retval = OK;
|
||||
int did_bufnr_emsg = FALSE;
|
||||
|
||||
if (action == ' ' || qf_idx == qi->qf_listcount)
|
||||
{
|
||||
@@ -6044,66 +6114,9 @@ qf_add_entries(
|
||||
if (d == NULL)
|
||||
continue;
|
||||
|
||||
filename = get_dict_string(d, (char_u *)"filename", TRUE);
|
||||
module = get_dict_string(d, (char_u *)"module", TRUE);
|
||||
bufnum = (int)get_dict_number(d, (char_u *)"bufnr");
|
||||
lnum = (int)get_dict_number(d, (char_u *)"lnum");
|
||||
col = (int)get_dict_number(d, (char_u *)"col");
|
||||
vcol = (int)get_dict_number(d, (char_u *)"vcol");
|
||||
nr = (int)get_dict_number(d, (char_u *)"nr");
|
||||
type = get_dict_string(d, (char_u *)"type", TRUE);
|
||||
pattern = get_dict_string(d, (char_u *)"pattern", TRUE);
|
||||
text = get_dict_string(d, (char_u *)"text", TRUE);
|
||||
if (text == NULL)
|
||||
text = vim_strsave((char_u *)"");
|
||||
|
||||
valid = TRUE;
|
||||
if ((filename == NULL && bufnum == 0) || (lnum == 0 && pattern == NULL))
|
||||
valid = FALSE;
|
||||
|
||||
/* Mark entries with non-existing buffer number as not valid. Give the
|
||||
* error message only once. */
|
||||
if (bufnum != 0 && (buflist_findnr(bufnum) == NULL))
|
||||
{
|
||||
if (!did_bufnr_emsg)
|
||||
{
|
||||
did_bufnr_emsg = TRUE;
|
||||
EMSGN(_("E92: Buffer %ld not found"), bufnum);
|
||||
}
|
||||
valid = FALSE;
|
||||
bufnum = 0;
|
||||
}
|
||||
|
||||
/* If the 'valid' field is present it overrules the detected value. */
|
||||
if ((dict_find(d, (char_u *)"valid", -1)) != NULL)
|
||||
valid = (int)get_dict_number(d, (char_u *)"valid");
|
||||
|
||||
status = qf_add_entry(qi,
|
||||
qf_idx,
|
||||
NULL, /* dir */
|
||||
filename,
|
||||
module,
|
||||
bufnum,
|
||||
text,
|
||||
lnum,
|
||||
col,
|
||||
vcol, /* vis_col */
|
||||
pattern, /* search pattern */
|
||||
nr,
|
||||
type == NULL ? NUL : *type,
|
||||
valid);
|
||||
|
||||
vim_free(filename);
|
||||
vim_free(module);
|
||||
vim_free(pattern);
|
||||
vim_free(text);
|
||||
vim_free(type);
|
||||
|
||||
if (status == FAIL)
|
||||
{
|
||||
retval = FAIL;
|
||||
retval = qf_add_entry_from_dict(qi, qf_idx, d, li == list->lv_first);
|
||||
if (retval == FAIL)
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (qi->qf_lists[qf_idx].qf_index == 0)
|
||||
|
||||
+18
-13
@@ -447,32 +447,37 @@ redraw_after_callback(int call_update_screen)
|
||||
++redrawing_for_callback;
|
||||
|
||||
if (State == HITRETURN || State == ASKMORE)
|
||||
; /* do nothing */
|
||||
; // do nothing
|
||||
else if (State & CMDLINE)
|
||||
{
|
||||
/* Redrawing only works when the screen didn't scroll. Don't clear
|
||||
* wildmenu entries. */
|
||||
if (msg_scrolled == 0
|
||||
// Don't redraw when in prompt_for_number().
|
||||
if (cmdline_row > 0)
|
||||
{
|
||||
// Redrawing only works when the screen didn't scroll. Don't clear
|
||||
// wildmenu entries.
|
||||
if (msg_scrolled == 0
|
||||
#ifdef FEAT_WILDMENU
|
||||
&& wild_menu_showing == 0
|
||||
&& wild_menu_showing == 0
|
||||
#endif
|
||||
&& call_update_screen)
|
||||
update_screen(0);
|
||||
/* Redraw in the same position, so that the user can continue
|
||||
* editing the command. */
|
||||
redrawcmdline_ex(FALSE);
|
||||
&& call_update_screen)
|
||||
update_screen(0);
|
||||
|
||||
// Redraw in the same position, so that the user can continue
|
||||
// editing the command.
|
||||
redrawcmdline_ex(FALSE);
|
||||
}
|
||||
}
|
||||
else if (State & (NORMAL | INSERT | TERMINAL))
|
||||
{
|
||||
/* keep the command line if possible */
|
||||
// keep the command line if possible
|
||||
update_screen(VALID_NO_UPDATE);
|
||||
setcursor();
|
||||
}
|
||||
cursor_on();
|
||||
#ifdef FEAT_GUI
|
||||
if (gui.in_use && !gui_mch_is_blink_off())
|
||||
/* Don't update the cursor when it is blinking and off to avoid
|
||||
* flicker. */
|
||||
// Don't update the cursor when it is blinking and off to avoid
|
||||
// flicker.
|
||||
out_flush_cursor(FALSE, FALSE);
|
||||
else
|
||||
#endif
|
||||
|
||||
+2
-2
@@ -3944,9 +3944,9 @@ f_term_dumpwrite(typval_T *argvars, typval_T *rettv UNUSED)
|
||||
c = (c == NUL) ? ' ' : c;
|
||||
pc = (pc == NUL) ? ' ' : pc;
|
||||
}
|
||||
if (cell.chars[i] != prev_cell.chars[i])
|
||||
if (c != pc)
|
||||
same_chars = FALSE;
|
||||
if (cell.chars[i] == NUL || prev_cell.chars[i] == NUL)
|
||||
if (c == NUL || pc == NUL)
|
||||
break;
|
||||
}
|
||||
same_attr = vtermAttr2hl(cell.attrs)
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
|f+0&#ffff4012|o|o+0&#ffffff0| |1| @64
|
||||
|f+0&#ffff4012|o|o+0&#ffffff0| |2| @64
|
||||
|f+0&#ffff4012|o|o+0&#ffffff0| |3| @64
|
||||
|f+1&&|o|o+0&&| |4| @64
|
||||
|f+0&#ffff4012|o|o+0&#ffffff0| |5| @64
|
||||
|f+0&#ffff4012|o|o+0&#ffffff0| |6| @64
|
||||
|f+0&#ffff4012|o|o+0&#ffffff0| |7| @64
|
||||
|f+0&#ffff4012|o|o+0&#ffffff0| |8| @64
|
||||
|/|f|o> @66
|
||||
@@ -0,0 +1,9 @@
|
||||
|f+0&#ffffff0|o@1| |1| @64
|
||||
|f|o@1| |2| @64
|
||||
|f|o+1&&|o+0&&| |3| @64
|
||||
|f|o@1| |4| @64
|
||||
|f|o@1| |5| @64
|
||||
|f|o@1| |6| @64
|
||||
|f|o@1| |7| @64
|
||||
|f|o@1| |8| @64
|
||||
|/|\|v> @66
|
||||
@@ -0,0 +1,9 @@
|
||||
|f+0&#ffffff0|o@1| |3| @64
|
||||
|f+8&&|o@1| |4| @64
|
||||
|f+0&&|o@1| |5| @64
|
||||
|f|o@1| |6| @64
|
||||
|f|o@1| |7| @64
|
||||
|f|o@1| |8| @64
|
||||
|f|o@1| |9| @64
|
||||
|f|o@1| |1|0| @63
|
||||
|:|6|,|7|s|/|\|v> @61
|
||||
@@ -1,20 +1,20 @@
|
||||
>/+0#0000e05#ffffff0|*| |c|o|m@1|e|n|t| |l|i|n|e| |a|t| |t|h|e| |t|o|p| |*|/| +0#0000000&@45
|
||||
| @1|i+0#00e0003&|n|t| +0#0000000&@69
|
||||
@2|i+0#00e0003&|n|t| +0#0000000&@69
|
||||
|m|a|i|n|(|i+0#00e0003&|n|t| +0#0000000&|a|r|g|c|,| |c+0#00e0003&|h|a|r| +0#0000000&|*@1|a|r|g|v|)|/+0#0000e05&@1| |a|n|o|t|h|e|r| |c|o|m@1|e|n|t| +0#0000000&@29
|
||||
|{| @73
|
||||
|#+0#e000e06&|i|f| |0| +0#0000000&@69
|
||||
| +0#0000e05&@2|i|n|t| @2|n|o|t|_|u|s|e|d|;| +0#0000000&@56
|
||||
|#+0#e000e06&|e|l|s|e| +0#0000000&@69
|
||||
| @2|i+0#00e0003&|n|t| +0#0000000&@2|u|s|e|d|;| @60
|
||||
@3|i+0#00e0003&|n|t| +0#0000000&@2|u|s|e|d|;| @60
|
||||
|#+0#e000e06&|e|n|d|i|f| +0#0000000&@68
|
||||
| @2|p|r|i|n|t|f|(|"+0#e000002&|J|u|s|t| |a|n| |e|x|a|m|p|l|e| |p|i|e|c|e| |o|f| |C| |c|o|d|e|\+0#e000e06&|n|"+0#e000002&|)+0#0000000&|;| @27
|
||||
| @2|r+0#af5f00255&|e|t|u|r|n| +0#0000000&|0+0#e000002&|x|0|f@1|;+0#0000000&| @58
|
||||
@3|p|r|i|n|t|f|(|"+0#e000002&|J|u|s|t| |a|n| |e|x|a|m|p|l|e| |p|i|e|c|e| |o|f| |C| |c|o|d|e|\+0#e000e06&|n|"+0#e000002&|)+0#0000000&|;| @27
|
||||
@3|r+0#af5f00255&|e|t|u|r|n| +0#0000000&|0+0#e000002&|x|0|f@1|;+0#0000000&| @58
|
||||
|}| @73
|
||||
| @2|s+0#00e0003&|t|a|t|i|c| +0#0000000&|v+0#00e0003&|o|i|d| +0#0000000&@60
|
||||
@3|s+0#00e0003&|t|a|t|i|c| +0#0000000&|v+0#00e0003&|o|i|d| +0#0000000&@60
|
||||
|m|y|F|u|n|c|t|i|o|n|(|c+0#00e0003&|o|n|s|t| +0#0000000&|d+0#00e0003&|o|u|b|l|e| +0#0000000&|c|o|u|n|t|,| |s+0#00e0003&|t|r|u|c|t| +0#0000000&|n|o|t|h|i|n|g|,| |l+0#00e0003&|o|n|g| +0#0000000&|t|h|e|r|e|)| |{| @14
|
||||
| @1|/+0#0000e05&@1| |1+0#e000002&|2|3|:+0#0000e05&| |n|o|t|h|i|n|g| |t|o| |r|e|a|d| |h|e|r|e| +0#0000000&@44
|
||||
| @1|f+0#af5f00255&|o|r| +0#0000000&|(|i+0#00e0003&|n|t| +0#0000000&|i| |=| |0+0#e000002&|;+0#0000000&| |i| |<| |c|o|u|n|t|;| |+@1|i|)| |{| @39
|
||||
| @3|b+0#af5f00255&|r|e|a|k|;+0#0000000&| @64
|
||||
| @1|}| @71
|
||||
@2|/+0#0000e05&@1| |1+0#e000002&|2|3|:+0#0000e05&| |n|o|t|h|i|n|g| |t|o| |r|e|a|d| |h|e|r|e| +0#0000000&@44
|
||||
@2|f+0#af5f00255&|o|r| +0#0000000&|(|i+0#00e0003&|n|t| +0#0000000&|i| |=| |0+0#e000002&|;+0#0000000&| |i| |<| |c|o|u|n|t|;| |+@1|i|)| |{| @39
|
||||
@4|b+0#af5f00255&|r|e|a|k|;+0#0000000&| @64
|
||||
@2|}| @71
|
||||
|}| @73
|
||||
|"|X|t|e|s|t|.|c|"| |1|9|L|,| |3|6|4|C| @37|1|,|1| @10|A|l@1|
|
||||
|
||||
@@ -259,7 +259,12 @@ endfunc
|
||||
" Test ":cs add {dir}" (add the {dir}/cscope.out database)
|
||||
func Test_cscope_add_dir()
|
||||
call mkdir('Xcscopedir', 'p')
|
||||
call system('cscope -bk -fXcscopedir/cscope.out ../memfile_test.c')
|
||||
|
||||
" Cscope doesn't handle symlinks, so this needs to be resolved in case a
|
||||
" shadow directory is being used.
|
||||
let memfile = resolve('../memfile_test.c')
|
||||
call system('cscope -bk -fXcscopedir/cscope.out ' . memfile)
|
||||
|
||||
cs add Xcscopedir
|
||||
let a = execute('cscope show')
|
||||
let lines = split(a, "\n", 1)
|
||||
|
||||
@@ -311,5 +311,86 @@ endfunc
|
||||
|
||||
endif " has('terminal')
|
||||
|
||||
" Test :mkview with a file argument.
|
||||
func Test_mkview_file()
|
||||
" Create a view with line number and a fold.
|
||||
help :mkview
|
||||
set number
|
||||
norm! V}zf
|
||||
let pos = getpos('.')
|
||||
let linefoldclosed1 = foldclosed('.')
|
||||
mkview! Xview
|
||||
set nonumber
|
||||
norm! zrj
|
||||
" We can close the help window, as mkview with a file name should
|
||||
" generate a command to edit the file.
|
||||
helpclose
|
||||
|
||||
source Xview
|
||||
call assert_equal(1, &number)
|
||||
call assert_match('\*:mkview\*$', getline('.'))
|
||||
call assert_equal(pos, getpos('.'))
|
||||
call assert_equal(linefoldclosed1, foldclosed('.'))
|
||||
|
||||
" Creating a view again with the same file name should fail (file
|
||||
" already exists). But with a !, the previous view should be
|
||||
" overwritten without error.
|
||||
help :loadview
|
||||
call assert_fails('mkview Xview', 'E189:')
|
||||
call assert_match('\*:loadview\*$', getline('.'))
|
||||
mkview! Xview
|
||||
call assert_match('\*:loadview\*$', getline('.'))
|
||||
|
||||
call delete('Xview')
|
||||
bwipe
|
||||
endfunc
|
||||
|
||||
" Test :mkview and :loadview with a custom 'viewdir'.
|
||||
func Test_mkview_loadview_with_viewdir()
|
||||
set viewdir=Xviewdir
|
||||
|
||||
help :mkview
|
||||
set number
|
||||
norm! V}zf
|
||||
let pos = getpos('.')
|
||||
let linefoldclosed1 = foldclosed('.')
|
||||
mkview 1
|
||||
set nonumber
|
||||
norm! zrj
|
||||
|
||||
loadview 1
|
||||
|
||||
" The directory Xviewdir/ should have been created and the view
|
||||
" should be stored in that directory.
|
||||
call assert_equal('Xviewdir/' .
|
||||
\ substitute(
|
||||
\ substitute(
|
||||
\ expand('%:p'), '/', '=+', 'g'), ':', '=-', 'g') . '=1.vim',
|
||||
\ glob('Xviewdir/*'))
|
||||
call assert_equal(1, &number)
|
||||
call assert_match('\*:mkview\*$', getline('.'))
|
||||
call assert_equal(pos, getpos('.'))
|
||||
call assert_equal(linefoldclosed1, foldclosed('.'))
|
||||
|
||||
call delete('Xviewdir', 'rf')
|
||||
set viewdir&
|
||||
helpclose
|
||||
endfunc
|
||||
|
||||
func Test_mkview_no_file_name()
|
||||
new
|
||||
" :mkview or :mkview {nr} should fail in a unnamed buffer.
|
||||
call assert_fails('mkview', 'E32:')
|
||||
call assert_fails('mkview 1', 'E32:')
|
||||
|
||||
" :mkview {file} should succeed in a unnamed buffer.
|
||||
mkview Xview
|
||||
help
|
||||
source Xview
|
||||
call assert_equal('', bufname('%'))
|
||||
|
||||
call delete('Xview')
|
||||
%bwipe
|
||||
endfunc
|
||||
|
||||
" vim: shiftwidth=2 sts=2 expandtab
|
||||
|
||||
@@ -1806,11 +1806,6 @@ fun! Test_normal33_g_cmd2()
|
||||
call assert_equal(15, col('.'))
|
||||
call assert_equal('l', getreg(0))
|
||||
|
||||
" Test for g Ctrl-G
|
||||
set ff=unix
|
||||
let a=execute(":norm! g\<c-g>")
|
||||
call assert_match('Col 15 of 43; Line 2 of 2; Word 2 of 2; Byte 16 of 45', a)
|
||||
|
||||
" Test for gI
|
||||
norm! gIfoo
|
||||
call assert_equal(['', 'fooabcdefghijk lmno0123456789AMNOPQRSTUVWXYZ'], getline(1,'$'))
|
||||
@@ -1829,6 +1824,81 @@ fun! Test_normal33_g_cmd2()
|
||||
bw!
|
||||
endfunc
|
||||
|
||||
func! Test_g_ctrl_g()
|
||||
new
|
||||
|
||||
let a = execute(":norm! g\<c-g>")
|
||||
call assert_equal("\n--No lines in buffer--", a)
|
||||
|
||||
call setline(1, ['first line', 'second line'])
|
||||
|
||||
" Test g CTRL-g with dos, mac and unix file type.
|
||||
norm! gojll
|
||||
set ff=dos
|
||||
let a = execute(":norm! g\<c-g>")
|
||||
call assert_equal("\nCol 3 of 11; Line 2 of 2; Word 3 of 4; Byte 15 of 25", a)
|
||||
|
||||
set ff=mac
|
||||
let a = execute(":norm! g\<c-g>")
|
||||
call assert_equal("\nCol 3 of 11; Line 2 of 2; Word 3 of 4; Byte 14 of 23", a)
|
||||
|
||||
set ff=unix
|
||||
let a = execute(":norm! g\<c-g>")
|
||||
call assert_equal("\nCol 3 of 11; Line 2 of 2; Word 3 of 4; Byte 14 of 23", a)
|
||||
|
||||
" Test g CTRL-g in visual mode (v)
|
||||
let a = execute(":norm! gojllvlg\<c-g>")
|
||||
call assert_equal("\nSelected 1 of 2 Lines; 1 of 4 Words; 2 of 23 Bytes", a)
|
||||
|
||||
" Test g CTRL-g in visual mode (CTRL-V) with end col > start col
|
||||
let a = execute(":norm! \<Esc>gojll\<C-V>kllg\<c-g>")
|
||||
call assert_equal("\nSelected 3 Cols; 2 of 2 Lines; 2 of 4 Words; 6 of 23 Bytes", a)
|
||||
|
||||
" Test g_CTRL-g in visual mode (CTRL-V) with end col < start col
|
||||
let a = execute(":norm! \<Esc>goll\<C-V>jhhg\<c-g>")
|
||||
call assert_equal("\nSelected 3 Cols; 2 of 2 Lines; 2 of 4 Words; 6 of 23 Bytes", a)
|
||||
|
||||
" Test g CTRL-g in visual mode (CTRL-V) with end_vcol being MAXCOL
|
||||
let a = execute(":norm! \<Esc>gojll\<C-V>k$g\<c-g>")
|
||||
call assert_equal("\nSelected 2 of 2 Lines; 4 of 4 Words; 17 of 23 Bytes", a)
|
||||
|
||||
" There should be one byte less with noeol
|
||||
set bin noeol
|
||||
let a = execute(":norm! \<Esc>gog\<c-g>")
|
||||
call assert_equal("\nCol 1 of 10; Line 1 of 2; Word 1 of 4; Char 1 of 23; Byte 1 of 22", a)
|
||||
set bin & eol&
|
||||
|
||||
if has('multi_byte')
|
||||
call setline(1, ['Français', '日本語'])
|
||||
|
||||
let a = execute(":norm! \<Esc>gojlg\<c-g>")
|
||||
call assert_equal("\nCol 4-3 of 9-6; Line 2 of 2; Word 2 of 2; Char 11 of 13; Byte 16 of 20", a)
|
||||
|
||||
let a = execute(":norm! \<Esc>gojvlg\<c-g>")
|
||||
call assert_equal("\nSelected 1 of 2 Lines; 1 of 2 Words; 2 of 13 Chars; 6 of 20 Bytes", a)
|
||||
|
||||
let a = execute(":norm! \<Esc>goll\<c-v>jlg\<c-g>")
|
||||
call assert_equal("\nSelected 4 Cols; 2 of 2 Lines; 2 of 2 Words; 6 of 13 Chars; 11 of 20 Bytes", a)
|
||||
|
||||
set fenc=utf8 bomb
|
||||
let a = execute(":norm! \<Esc>gojlg\<c-g>")
|
||||
call assert_equal("\nCol 4-3 of 9-6; Line 2 of 2; Word 2 of 2; Char 11 of 13; Byte 16 of 20(+3 for BOM)", a)
|
||||
|
||||
set fenc=utf16 bomb
|
||||
let a = execute(":norm! g\<c-g>")
|
||||
call assert_equal("\nCol 4-3 of 9-6; Line 2 of 2; Word 2 of 2; Char 11 of 13; Byte 16 of 20(+2 for BOM)", a)
|
||||
|
||||
set fenc=utf32 bomb
|
||||
let a = execute(":norm! g\<c-g>")
|
||||
call assert_equal("\nCol 4-3 of 9-6; Line 2 of 2; Word 2 of 2; Char 11 of 13; Byte 16 of 20(+4 for BOM)", a)
|
||||
|
||||
set fenc& bomb&
|
||||
endif
|
||||
|
||||
set ff&
|
||||
bwipe!
|
||||
endfunc
|
||||
|
||||
fun! Test_normal34_g_cmd3()
|
||||
if !has("multi_byte")
|
||||
return
|
||||
|
||||
@@ -350,55 +350,57 @@ func Test_backupskip()
|
||||
endfunc
|
||||
|
||||
func Test_copy_winopt()
|
||||
set hidden
|
||||
set hidden
|
||||
|
||||
" Test copy option from current buffer in window
|
||||
split
|
||||
enew
|
||||
setlocal numberwidth=5
|
||||
wincmd w
|
||||
call assert_equal(4,&numberwidth)
|
||||
bnext
|
||||
call assert_equal(5,&numberwidth)
|
||||
bw!
|
||||
call assert_equal(4,&numberwidth)
|
||||
" Test copy option from current buffer in window
|
||||
split
|
||||
enew
|
||||
setlocal numberwidth=5
|
||||
wincmd w
|
||||
call assert_equal(4,&numberwidth)
|
||||
bnext
|
||||
call assert_equal(5,&numberwidth)
|
||||
bw!
|
||||
call assert_equal(4,&numberwidth)
|
||||
|
||||
" Test copy value from window that used to be display the buffer
|
||||
split
|
||||
enew
|
||||
setlocal numberwidth=6
|
||||
bnext
|
||||
wincmd w
|
||||
call assert_equal(4,&numberwidth)
|
||||
bnext
|
||||
call assert_equal(6,&numberwidth)
|
||||
bw!
|
||||
" Test copy value from window that used to be display the buffer
|
||||
split
|
||||
enew
|
||||
setlocal numberwidth=6
|
||||
bnext
|
||||
wincmd w
|
||||
call assert_equal(4,&numberwidth)
|
||||
bnext
|
||||
call assert_equal(6,&numberwidth)
|
||||
bw!
|
||||
|
||||
" Test that if buffer is current, don't use the stale cached value
|
||||
" from the last time the buffer was displayed.
|
||||
split
|
||||
enew
|
||||
setlocal numberwidth=7
|
||||
bnext
|
||||
bnext
|
||||
setlocal numberwidth=8
|
||||
wincmd w
|
||||
call assert_equal(4,&numberwidth)
|
||||
bnext
|
||||
call assert_equal(8,&numberwidth)
|
||||
bw!
|
||||
" Test that if buffer is current, don't use the stale cached value
|
||||
" from the last time the buffer was displayed.
|
||||
split
|
||||
enew
|
||||
setlocal numberwidth=7
|
||||
bnext
|
||||
bnext
|
||||
setlocal numberwidth=8
|
||||
wincmd w
|
||||
call assert_equal(4,&numberwidth)
|
||||
bnext
|
||||
call assert_equal(8,&numberwidth)
|
||||
bw!
|
||||
|
||||
" Test value is not copied if window already has seen the buffer
|
||||
enew
|
||||
split
|
||||
setlocal numberwidth=9
|
||||
bnext
|
||||
setlocal numberwidth=10
|
||||
wincmd w
|
||||
call assert_equal(4,&numberwidth)
|
||||
bnext
|
||||
call assert_equal(4,&numberwidth)
|
||||
bw!
|
||||
" Test value is not copied if window already has seen the buffer
|
||||
enew
|
||||
split
|
||||
setlocal numberwidth=9
|
||||
bnext
|
||||
setlocal numberwidth=10
|
||||
wincmd w
|
||||
call assert_equal(4,&numberwidth)
|
||||
bnext
|
||||
call assert_equal(4,&numberwidth)
|
||||
bw!
|
||||
|
||||
set hidden&
|
||||
endfunc
|
||||
|
||||
func Test_shortmess_F()
|
||||
|
||||
@@ -813,6 +813,41 @@ func Test_incsearch_scrolling()
|
||||
call delete('Xscript')
|
||||
endfunc
|
||||
|
||||
func Test_incsearch_search_dump()
|
||||
if !exists('+incsearch')
|
||||
return
|
||||
endif
|
||||
if !CanRunVimInTerminal()
|
||||
return
|
||||
endif
|
||||
call writefile([
|
||||
\ 'set incsearch hlsearch scrolloff=0',
|
||||
\ 'for n in range(1, 8)',
|
||||
\ ' call setline(n, "foo " . n)',
|
||||
\ 'endfor',
|
||||
\ '3',
|
||||
\ ], 'Xis_search_script')
|
||||
let buf = RunVimInTerminal('-S Xis_search_script', {'rows': 9, 'cols': 70})
|
||||
" Give Vim a chance to redraw to get rid of the spaces in line 2 caused by
|
||||
" the 'ambiwidth' check.
|
||||
sleep 100m
|
||||
|
||||
" Need to send one key at a time to force a redraw.
|
||||
call term_sendkeys(buf, '/fo')
|
||||
sleep 100m
|
||||
call VerifyScreenDump(buf, 'Test_incsearch_search_01', {})
|
||||
call term_sendkeys(buf, "\<Esc>")
|
||||
sleep 100m
|
||||
|
||||
call term_sendkeys(buf, '/\v')
|
||||
sleep 100m
|
||||
call VerifyScreenDump(buf, 'Test_incsearch_search_02', {})
|
||||
call term_sendkeys(buf, "\<Esc>")
|
||||
|
||||
call StopVimInTerminal(buf)
|
||||
call delete('Xis_search_script')
|
||||
endfunc
|
||||
|
||||
func Test_incsearch_substitute()
|
||||
if !exists('+incsearch')
|
||||
return
|
||||
@@ -913,12 +948,20 @@ func Test_incsearch_substitute_dump()
|
||||
call VerifyScreenDump(buf, 'Test_incsearch_substitute_08', {})
|
||||
call term_sendkeys(buf, "\<Esc>")
|
||||
|
||||
" Only \v handled as empty pattern, does not move cursor
|
||||
call term_sendkeys(buf, '3G4G')
|
||||
call term_sendkeys(buf, ":nohlsearch\<CR>")
|
||||
call term_sendkeys(buf, ':6,7s/\v')
|
||||
sleep 100m
|
||||
call VerifyScreenDump(buf, 'Test_incsearch_substitute_09', {})
|
||||
call term_sendkeys(buf, "\<Esc>")
|
||||
|
||||
call StopVimInTerminal(buf)
|
||||
call delete('Xis_subst_script')
|
||||
endfunc
|
||||
|
||||
" Similar to Test_incsearch_substitute_dump() for :sort
|
||||
func Test_incsearch_ssort_dump()
|
||||
func Test_incsearch_sort_dump()
|
||||
if !exists('+incsearch')
|
||||
return
|
||||
endif
|
||||
|
||||
@@ -142,18 +142,30 @@ func Test_getftype()
|
||||
|
||||
if !has("gui_macvim")
|
||||
for cdevfile in systemlist('find /dev -type c -maxdepth 2 2>/dev/null')
|
||||
call assert_equal('cdev', getftype(cdevfile))
|
||||
let type = getftype(cdevfile)
|
||||
" ignore empty result, can happen if the file disappeared
|
||||
if type != ''
|
||||
call assert_equal('cdev', type)
|
||||
endif
|
||||
endfor
|
||||
endif
|
||||
|
||||
for bdevfile in systemlist('find /dev -type b -maxdepth 2 2>/dev/null')
|
||||
call assert_equal('bdev', getftype(bdevfile))
|
||||
let type = getftype(bdevfile)
|
||||
" ignore empty result, can happen if the file disappeared
|
||||
if type != ''
|
||||
call assert_equal('bdev', type)
|
||||
endif
|
||||
endfor
|
||||
|
||||
" The /run/ directory typically contains socket files.
|
||||
" If it does not, test won't fail but will not test socket files.
|
||||
for socketfile in systemlist('find /run -type s -maxdepth 2 2>/dev/null')
|
||||
call assert_equal('socket', getftype(socketfile))
|
||||
let type = getftype(socketfile)
|
||||
" ignore empty result, can happen if the file disappeared
|
||||
if type != ''
|
||||
call assert_equal('socket', type)
|
||||
endif
|
||||
endfor
|
||||
|
||||
" TODO: file type 'other' is not tested. How can we test it?
|
||||
|
||||
@@ -105,9 +105,13 @@ func Test_swapinfo()
|
||||
let fname = trim(execute('swapname'))
|
||||
call assert_match('Xswapinfo', fname)
|
||||
let info = swapinfo(fname)
|
||||
call assert_match('8\.', info.version)
|
||||
|
||||
let ver = printf('VIM %d.%d', v:version / 100, v:version % 100)
|
||||
call assert_equal(ver, info.version)
|
||||
|
||||
call assert_match('\w', info.user)
|
||||
call assert_equal(hostname(), info.host)
|
||||
" host name is truncated to 39 bytes in the swap file
|
||||
call assert_equal(hostname()[:38], info.host)
|
||||
call assert_match('Xswapinfo', info.fname)
|
||||
call assert_match(0, info.dirty)
|
||||
call assert_equal(getpid(), info.pid)
|
||||
|
||||
@@ -809,6 +809,40 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
332,
|
||||
/**/
|
||||
331,
|
||||
/**/
|
||||
330,
|
||||
/**/
|
||||
329,
|
||||
/**/
|
||||
328,
|
||||
/**/
|
||||
327,
|
||||
/**/
|
||||
326,
|
||||
/**/
|
||||
325,
|
||||
/**/
|
||||
324,
|
||||
/**/
|
||||
323,
|
||||
/**/
|
||||
322,
|
||||
/**/
|
||||
321,
|
||||
/**/
|
||||
320,
|
||||
/**/
|
||||
319,
|
||||
/**/
|
||||
318,
|
||||
/**/
|
||||
317,
|
||||
/**/
|
||||
316,
|
||||
/**/
|
||||
315,
|
||||
/**/
|
||||
|
||||
Reference in New Issue
Block a user