Update runtime files
diff --git a/runtime/compiler/gcc.vim b/runtime/compiler/gcc.vim
index 1af568d..30e5149 100644
--- a/runtime/compiler/gcc.vim
+++ b/runtime/compiler/gcc.vim
@@ -2,6 +2,8 @@
" Compiler: GNU C Compiler
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
" Latest Revision: 2010-10-14
+" changed pattern for entering/leaving directories
+" by Daniel Hahler, 2019 Jul 12
" added line suggested by Anton Lindqvist 2016 Mar 31
if exists("current_compiler")
@@ -27,10 +29,10 @@
\%f:%l:\ %m,
\%f:\\(%*[^\\)]\\):\ %m,
\\"%f\"\\,\ line\ %l%*\\D%c%*[^\ ]\ %m,
- \%D%*\\a[%*\\d]:\ Entering\ directory\ [`']%f',
- \%X%*\\a[%*\\d]:\ Leaving\ directory\ [`']%f',
- \%D%*\\a:\ Entering\ directory\ [`']%f',
- \%X%*\\a:\ Leaving\ directory\ [`']%f',
+ \%D%*\\a[%*\\d]:\ Entering\ directory\ %*[`']%f',
+ \%X%*\\a[%*\\d]:\ Leaving\ directory\ %*[`']%f',
+ \%D%*\\a:\ Entering\ directory\ %*[`']%f',
+ \%X%*\\a:\ Leaving\ directory\ %*[`']%f',
\%DMaking\ %*\\a\ in\ %f
if exists('g:compiler_gcc_ignore_unmatched_lines')
diff --git a/runtime/doc/change.txt b/runtime/doc/change.txt
index baecc92..4c87726 100644
--- a/runtime/doc/change.txt
+++ b/runtime/doc/change.txt
@@ -1,4 +1,4 @@
-*change.txt* For Vim version 8.1. Last change: 2019 May 07
+*change.txt* For Vim version 8.1. Last change: 2019 Jul 04
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1179,9 +1179,9 @@
2. 10 numbered registers "0 to "9
3. The small delete register "-
4. 26 named registers "a to "z or "A to "Z
-5. three read-only registers ":, "., "%
-6. alternate buffer register "#
-7. the expression register "=
+5. Three read-only registers ":, "., "%
+6. Alternate buffer register "#
+7. The expression register "=
8. The selection and drop registers "*, "+ and "~
9. The black hole register "_
10. Last search pattern register "/
diff --git a/runtime/doc/debugger.txt b/runtime/doc/debugger.txt
index 772aac0..47369d6 100644
--- a/runtime/doc/debugger.txt
+++ b/runtime/doc/debugger.txt
@@ -1,4 +1,4 @@
-*debugger.txt* For Vim version 8.1. Last change: 2019 May 12
+*debugger.txt* For Vim version 8.1. Last change: 2019 Jul 06
VIM REFERENCE MANUAL by Gordon Prieur
@@ -6,6 +6,10 @@
Debugger Support Features *debugger-support*
+These features are for integration with a debugger or an Integrated
+Programming Environment (IPE) or Integrated Development Environment (IDE).
+For the debugger running in a Vim terminal window see |terminal-debugger|.
+
1. Debugger Features |debugger-features|
2. Vim Compile Options |debugger-compilation|
3. Integrated Debuggers |debugger-integration|
@@ -14,9 +18,7 @@
==============================================================================
1. Debugger Features *debugger-features*
-The following features are available for an integration with a debugger or
-an Integrated Programming Environment (IPE) or Integrated Development
-Environment (IDE):
+The following features are available:
Alternate Command Input |alt-input|
Debug Signs |debug-signs|
@@ -90,6 +92,9 @@
could be used for displaying other information as well. The functionality is
limited though, for advanced popups see |popup-window|.
+Another way to use the balloon is with the 'balloonexpr' option. This is
+completely user definable.
+
The Balloon Evaluation has some settable parameters too. For Motif the font
list and colors can be set via X resources (XmNballoonEvalFontList,
XmNballoonEvalBackground, and XmNballoonEvalForeground).
@@ -106,9 +111,6 @@
toolbar. The 'ballooneval' option does not need to be set for this. But the
other settings apply.
-Another way to use the balloon is with the 'balloonexpr' option. This is
-completely user definable.
-
==============================================================================
2. Vim Compile Options *debugger-compilation*
diff --git a/runtime/doc/mbyte.txt b/runtime/doc/mbyte.txt
index 7b8c21f..4ed01ac 100644
--- a/runtime/doc/mbyte.txt
+++ b/runtime/doc/mbyte.txt
@@ -1,4 +1,4 @@
-*mbyte.txt* For Vim version 8.1. Last change: 2019 Apr 28
+*mbyte.txt* For Vim version 8.1. Last change: 2019 Jul 04
VIM REFERENCE MANUAL by Bram Moolenaar et al.
@@ -943,11 +943,12 @@
IME many many many times. Because IME with status on is hooking all of your
key inputs, you cannot input 'j', 'k', or almost all of keys to Vim directly.
-This |+multi_byte_ime| feature help this. It reduce times of switch status of
-IME manually. In normal mode, there are almost no need working IME, even
-editing multibyte text. So exiting insert mode with ESC, Vim memorize last
-status of IME and force turn off IME. When re-enter insert mode, Vim revert
-IME status to that memorized automatically.
+The |+multi_byte_ime| feature helps for this. It reduces the number of times
+the IME status has to be switched manually. In Normal mode, there is almost
+no need to use IME, even when editing multibyte text. So when exiting Insert
+mode, Vim memorizes the last status of IME and turns off IME. When
+re-entering Insert mode, Vim sets the IME status to that memorized status
+automatically.
This works on not only insert-normal mode, but also search-command input and
replace mode.
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index e6c9992..ad50bfc 100644
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -1,4 +1,4 @@
-*options.txt* For Vim version 8.1. Last change: 2019 Jun 27
+*options.txt* For Vim version 8.1. Last change: 2019 Jul 06
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1142,8 +1142,10 @@
set bexpr=MyBalloonExpr()
set ballooneval
<
- Also see |balloon_show()|, can be used if the content of the balloon
- is to be fetched asynchronously.
+ Also see |balloon_show()|, it can be used if the content of the balloon
+ is to be fetched asynchronously. In that case evaluating
+ 'balloonexpr' should result in an empty string. If you get a balloon
+ with only "0" you probably didn't return anything from your function.
NOTE: The balloon is displayed only if the cursor is on a text
character. If the result of evaluating 'balloonexpr' is not empty,
@@ -1155,7 +1157,7 @@
This option cannot be set in a modeline when 'modelineexpr' is off.
It is not allowed to change text or jump to another window while
- evaluating 'balloonexpr' |textlock|.
+ evaluating 'balloonexpr', see |textlock|.
To check whether line breaks in the balloon text work use this check: >
if has("balloon_multiline")
diff --git a/runtime/doc/popup.txt b/runtime/doc/popup.txt
index b0397a3..f74a7c2 100644
--- a/runtime/doc/popup.txt
+++ b/runtime/doc/popup.txt
@@ -1,4 +1,4 @@
-*popup.txt* For Vim version 8.1. Last change: 2019 Jul 04
+*popup.txt* For Vim version 8.1. Last change: 2019 Jul 13
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -178,11 +178,11 @@
popup_atcursor({what}, {options}) *popup_atcursor()*
Show the {what} above the cursor, and close it when the cursor
moves. This works like: >
- call popup_create({what}, {
- \ 'pos': 'botleft',
- \ 'line': 'cursor-1',
- \ 'col': 'cursor',
- \ 'moved': 'WORD',
+ call popup_create({what}, *{
+ \ pos: 'botleft',
+ \ line: 'cursor-1',
+ \ col: 'cursor',
+ \ moved: 'WORD',
\ })
< Use {options} to change the properties.
@@ -191,11 +191,11 @@
Show the {what} above the position from 'ballooneval' and
close it when the mouse moves. This works like: >
let pos = screenpos(v:beval_winnr, v:beval_lnum, v:beval_col)
- call popup_create({what}, {
- \ 'pos': 'botleft',
- \ 'line': pos.row - 1,
- \ 'col': pos.col,
- \ 'mousemoved': 'WORD',
+ call popup_create({what}, *{
+ \ pos: 'botleft',
+ \ line: pos.row - 1,
+ \ col: pos.col,
+ \ mousemoved: 'WORD',
\ })
< Use {options} to change the properties.
See |popup_beval_example| for an example use.
@@ -240,18 +240,18 @@
popup_dialog({what}, {options}) *popup_dialog()*
Just like |popup_create()| but with these default options: >
- call popup_create({what}, {
- \ 'pos': 'center',
- \ 'zindex': 200,
- \ 'drag': 1,
- \ 'border': [],
- \ 'padding': [],
+ call popup_create({what}, *{
+ \ pos: 'center',
+ \ zindex: 200,
+ \ drag: 1,
+ \ border: [],
+ \ padding: [],
\})
< Use {options} to change the properties. E.g. add a 'filter'
option with value 'popup_filter_yesno'. Example: >
- call popup_create('do you want to quit (Yes/no)?', {
- \ 'filter': 'popup_filter_yesno',
- \ 'callback': 'QuitCallback',
+ call popup_create('do you want to quit (Yes/no)?', *{
+ \ filter: 'popup_filter_yesno',
+ \ callback: 'QuitCallback',
\ })
< By default the dialog can be dragged, so that text below it
@@ -356,14 +356,14 @@
items with cursorkeys, and close it an item is selected with
Space or Enter. {what} should have multiple lines to make this
useful. This works like: >
- call popup_create({what}, {
- \ 'pos': 'center',
- \ 'zindex': 200,
- \ 'drag': 1,
- \ 'wrap': 0,
- \ 'border': [],
- \ 'padding': [],
- \ 'filter': 'popup_filter_menu',
+ call popup_create({what}, *{
+ \ pos: 'center',
+ \ zindex: 200,
+ \ drag: 1,
+ \ wrap: 0,
+ \ border: [],
+ \ padding: [],
+ \ filter: 'popup_filter_menu',
\ })
< The current line is highlighted with a match using
"PopupSelected", or "PmenuSel" if that is not defined.
@@ -391,18 +391,18 @@
popup_notification({what}, {options}) *popup_notification()*
Show the {what} for 3 seconds at the top of the Vim window.
This works like: >
- call popup_create({what}, {
- \ 'line': 1,
- \ 'col': 10,
- \ 'minwidth': 20,
- \ 'time': 3000,
- \ 'tabpage': -1,
- \ 'zindex': 300,
- \ 'drag': 1,
- \ 'highlight': 'WarningMsg',
- \ 'border': [],
- \ 'close': 'click',
- \ 'padding': [0,1,0,1],
+ call popup_create({what}, *{
+ \ line: 1,
+ \ col: 10,
+ \ minwidth: 20,
+ \ time: 3000,
+ \ tabpage: -1,
+ \ zindex: 300,
+ \ drag: 1,
+ \ highlight: 'WarningMsg',
+ \ border: [],
+ \ close: 'click',
+ \ padding: [0,1,0,1],
\ })
< The PopupNotification highlight group is used instead of
WarningMsg if it is defined.
@@ -732,17 +732,17 @@
endif
endfunc
- call popup_dialog('Continue? y/n', {
- \ 'filter': 'popup_filter_yesno',
- \ 'callback': 'MyDialogHandler',
+ call popup_dialog('Continue? y/n', *{
+ \ filter: 'popup_filter_yesno',
+ \ callback: 'MyDialogHandler',
\ })
<
*popup_menu-shortcut-example*
Extend popup_filter_menu() with shortcut keys: >
- call popup_menu(['Save', 'Cancel', 'Discard'], {
- \ 'filter': 'MyMenuFilter',
- \ 'callback': 'MyMenuHandler',
+ call popup_menu(['Save', 'Cancel', 'Discard'], *{
+ \ filter: 'MyMenuFilter',
+ \ callback: 'MyMenuHandler',
\ })
func MyMenuFilter(id, key)
@@ -781,7 +781,7 @@
endif
call popup_close(s:winid)
endif
- let s:winid = popup_beval(v:beval_text, {'mousemoved': 'word'})
+ let s:winid = popup_beval(v:beval_text, *{mousemoved: 'word'})
let s:last_text = v:beval_text
return ''
endfunc
@@ -812,7 +812,7 @@
endfunc
func ShowPopup(id)
- let s:winid = popup_beval(s:balloonText, {'mousemoved': 'word'})
+ let s:winid = popup_beval(s:balloonText, *{mousemoved: 'word'})
endfunc
<
diff --git a/runtime/doc/tags b/runtime/doc/tags
index 123c1de..25fd332 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -7468,6 +7468,7 @@
listener_flush() eval.txt /*listener_flush()*
listener_remove() eval.txt /*listener_remove()*
lite.vim syntax.txt /*lite.vim*
+literal-Dict eval.txt /*literal-Dict*
literal-string eval.txt /*literal-string*
lnum-variable eval.txt /*lnum-variable*
load-plugins starting.txt /*load-plugins*
@@ -8241,6 +8242,8 @@
popup-window-functions usr_41.txt /*popup-window-functions*
popup.txt popup.txt /*popup.txt*
popup_atcursor() popup.txt /*popup_atcursor()*
+popup_beval() popup.txt /*popup_beval()*
+popup_beval_example popup.txt /*popup_beval_example*
popup_clear() popup.txt /*popup_clear()*
popup_close() popup.txt /*popup_close()*
popup_create() popup.txt /*popup_create()*
@@ -8252,6 +8255,7 @@
popup_getoptions() popup.txt /*popup_getoptions()*
popup_getpos() popup.txt /*popup_getpos()*
popup_hide() popup.txt /*popup_hide()*
+popup_locate() popup.txt /*popup_locate()*
popup_menu() popup.txt /*popup_menu()*
popup_menu-shortcut-example popup.txt /*popup_menu-shortcut-example*
popup_move() popup.txt /*popup_move()*
@@ -8590,6 +8594,7 @@
screenchar() eval.txt /*screenchar()*
screenchars() eval.txt /*screenchars()*
screencol() eval.txt /*screencol()*
+screenpos() eval.txt /*screenpos()*
screenrow() eval.txt /*screenrow()*
screenstring() eval.txt /*screenstring()*
script usr_41.txt /*script*
@@ -8693,8 +8698,10 @@
sign_getplaced() eval.txt /*sign_getplaced()*
sign_jump() eval.txt /*sign_jump()*
sign_place() eval.txt /*sign_place()*
+sign_placelist() eval.txt /*sign_placelist()*
sign_undefine() eval.txt /*sign_undefine()*
sign_unplace() eval.txt /*sign_unplace()*
+sign_unplacelist() eval.txt /*sign_unplacelist()*
signs sign.txt /*signs*
simple-change change.txt /*simple-change*
simplify() eval.txt /*simplify()*
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index be712ae..5ff226b 100644
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt* For Vim version 8.1. Last change: 2019 Jul 04
+*todo.txt* For Vim version 8.1. Last change: 2019 Jul 13
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -38,33 +38,26 @@
*known-bugs*
-------------------- Known bugs and current work -----------------------
-Ongoing work on text properties, see src/textprop.c
-
-Popup windows are being implemented, see |popup-window|.
-
Patch to fix session file when using multiple tabs. (Jason Franklin, 2019 May
20)
Also put :argadd commands at the start for all buffers, so that their order
remains equal? Then %argdel to clean it up. Do try this with 'hidden' set.
-Listener causes extra } to be inserted. (Paul Jolly, #4455)
+Shorten the command used in test Makefile. (Daniel Hahler, #4643)
Refactor: Move common things out of evalfunc.c, it's too big.
-
-Template string: review #4491
-
-Terminal test fails when vim is configured with some features. (Dominique,
-#4597)
+Move function specs out of eval.txt, it's too big.
Popup windows:
+- Default popup_menu padding: only left&right.
+- Add 'previewpopup': open preview in a popupwindow.
+ Values: dict options as a string? "line:20,maxwidth:60,maxheight:20"
- Implement flip option
-- Have a way to scroll to the bottom? (#4577)
+- Have a way to scroll to the bottom, e.g. set 'firstline' to -1? (#4577)
- Why does 'nrformats' leak from the popup window buffer???
+ Happens in Test_simple_popup() at the second screendump.
- Disable commands, feedkeys(), CTRL-W, etc. in a popup window.
Use ERROR_IF_POPUP_WINDOW for more commands.
-- Add 'balloonpopup': instead of showing text, let the callback open a popup
- window and return the window ID. The popup will then be closed when the
- mouse moves, except when it moves inside the popup.
- For the "moved" property also include mouse movement?
- Can the buffer be re-used if it was the last one, to avoid using up lots of
buffer numbers?
@@ -150,6 +143,11 @@
- When 'encoding' is not utf-8, or the job is using another encoding, setup
conversions.
+Error numbers available: E172, E221, E242, E249, E260, E274, E275, E276,
+E278, E279, E281, E290, E291, E292, E361, E362, E366, E396, E450, E451, E452,
+E453, E454, E460, E489, E491, E56, E57, E565, E569, E578, E610, E611, E653,
+E654, E693, E706, E856, E857, E860, E861, E863, E889, E900, E959
+
Sound: support on Mac? Or does libcanberra work there?
Patch to use forward slash for completion even when 'shellslash' is set.
@@ -157,6 +155,8 @@
Patch to add win_splitmove() function. (Andy Massimino, #4561)
+Resolve() works incorrectly under windows. (#4661)
+
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
terminal.c and then CTRL-N twice.
@@ -169,7 +169,7 @@
Adding "10" to 'spellsuggest' causes spell suggestions to become very slow.
(#4087)
-Patch to the code to get sign information. (Yegappan Lakshmanan, #4586)
+Patch for Template string: #4491 Not ready yet. New pull: #4634
":bnext" in a help buffer is supposed to go to the next help buffer, but it
goes to any buffer, and then :bnext skips help buffers, since they are
@@ -227,6 +227,25 @@
Problem with colors in terminal window. (Jason Franklin, 2019 May 12)
+Lifepillar: Updated/cleaned up color schemes:
+https://github.com/lifepillar/vim8-colorschemes.
+
+Include a few color schemes, based on popularity:
+http://www.vim.org/scripts/script_search_results.php?keywords=&script_type=color+scheme&order_by=rating&direction=descending&search=search
+http://vimawesome.com/?q=tag:color-scheme
+Use names that indicate their appearance (Christian Brabandt, 2017 Aug 3)
+- monokai - Xia Crusoe (2017 Aug 4)
+- seoul256 - Christian Brabandt (2017 Aug 3)
+- gruvbox - Christian Brabandt (2017 Aug 3) (simplified version from
+ Lifepillar, 2018 Jan 22, #2573)
+- janah - Marco Hinz (2017 Aug 4)
+- apprentice - Romain Lafourcade (2017 Aug 6) remarks about help file #1964
+Suggested by Hiroki Kokubun:
+- [Iceberg](https://github.com/cocopon/iceberg.vim) (my one)
+- [hybrid](https://github.com/w0ng/vim-hybrid)
+Include solarized color scheme?, it does not support termguicolors.
+- Sanitized version of pablo (Lifepillar, 2017 Nov 21)
+
Bug: "vipgw" does not put cursor back where it belongs. (Jason Franklin, 2019
Mar 5)
@@ -309,6 +328,10 @@
Missing tests for:
- add_termcap_entry()
+Redo only remembers the last change. Could use "{count}g." to redo an older
+change. How does the user know which change? At least have a way to list
+them: ":repeats". Add to history, like search history and command line history.
+
When using exclusive selection and vi" that fails, cursor moves to the left.
Cursor should not move. (#4024)
@@ -791,22 +814,6 @@
clip_x11_convert_selection_cb() is invoked, thus in X library code.
Kazunobu Kuriyama is working on a proper fix. (2017 Jul 25)
-Include a few color schemes, based on popularity:
-http://www.vim.org/scripts/script_search_results.php?keywords=&script_type=color+scheme&order_by=rating&direction=descending&search=search
-http://vimawesome.com/?q=tag:color-scheme
-Use names that indicate their appearance (Christian Brabandt, 2017 Aug 3)
-- monokai - Xia Crusoe (2017 Aug 4)
-- seoul256 - Christian Brabandt (2017 Aug 3)
-- gruvbox - Christian Brabandt (2017 Aug 3) (simplified version from
- Lifepillar, 2018 Jan 22, #2573)
-- janah - Marco Hinz (2017 Aug 4)
-- apprentice - Romain Lafourcade (2017 Aug 6) remarks about help file #1964
-Suggested by Hiroki Kokubun:
-- [Iceberg](https://github.com/cocopon/iceberg.vim) (my one)
-- [hybrid](https://github.com/w0ng/vim-hybrid)
-Include solarized color scheme?, it does not support termguicolors.
-- Sanitized version of pablo (Lifepillar, 2017 Nov 21)
-
Problem with three-piece comment. (Michael Lee, 2017 May 11, #1696)
Creating a partial with an autoload function is confused about the "self"
@@ -1521,10 +1528,6 @@
Patch: On MS-Windows shellescape() may have to triple double quotes.
(Ingo Karkat, 2015 Jan 16)
-Redo only remembers the last change. Could use "{count}g." to redo an older
-change. How does the user know which change? At least have a way to list
-them: ":repeats".
-
Patch for glob(), adding slash to normal files. (Ingo Karkat, 2014 Dec 22)
When entering and leaving the preview window autocommands are triggered, but
diff --git a/runtime/doc/usr_41.txt b/runtime/doc/usr_41.txt
index 0f677e4..9e290dd 100644
--- a/runtime/doc/usr_41.txt
+++ b/runtime/doc/usr_41.txt
@@ -1,4 +1,4 @@
-*usr_41.txt* For Vim version 8.1. Last change: 2019 Jul 04
+*usr_41.txt* For Vim version 8.1. Last change: 2019 Jul 06
VIM USER MANUAL - by Bram Moolenaar
diff --git a/runtime/filetype.vim b/runtime/filetype.vim
index 36a5163..80fa021 100644
--- a/runtime/filetype.vim
+++ b/runtime/filetype.vim
@@ -707,6 +707,9 @@
" HTML (.shtml and .stm for server side)
au BufNewFile,BufRead *.html,*.htm,*.shtml,*.stm call dist#ft#FThtml()
+" Vue.js Single File Component
+au BufNewFile,BufRead *.vue setf vuejs
+
" HTML with Ruby - eRuby
au BufNewFile,BufRead *.erb,*.rhtml setf eruby
diff --git a/runtime/makemenu.vim b/runtime/makemenu.vim
index 3d76b42..7fb1269 100644
--- a/runtime/makemenu.vim
+++ b/runtime/makemenu.vim
@@ -272,6 +272,7 @@
SynMenu HIJK.HTML.HTML\ with\ Ruby\ (eRuby):eruby
SynMenu HIJK.HTML.Cheetah\ HTML\ template:htmlcheetah
SynMenu HIJK.HTML.Django\ HTML\ template:htmldjango
+SynMenu HIJK.HTML.Vue.js\ HTML\ template:vuejs
SynMenu HIJK.HTML.HTML/OS:htmlos
SynMenu HIJK.HTML.XHTML:xhtml
SynMenu HIJK.Host\.conf:hostconf
diff --git a/runtime/pack/dist/opt/termdebug/plugin/termdebug.vim b/runtime/pack/dist/opt/termdebug/plugin/termdebug.vim
index 8c4395c..db44e69 100644
--- a/runtime/pack/dist/opt/termdebug/plugin/termdebug.vim
+++ b/runtime/pack/dist/opt/termdebug/plugin/termdebug.vim
@@ -838,12 +838,12 @@
" if there is any.
func TermDebugBalloonExpr()
if v:beval_winid != s:sourcewin
- return
+ return ''
endif
if !s:stopped
" Only evaluate when stopped, otherwise setting a breakpoint using the
" mouse triggers a balloon.
- return
+ return ''
endif
let s:evalFromBalloonExpr = 1
let s:evalFromBalloonExprResult = ''
diff --git a/runtime/synmenu.vim b/runtime/synmenu.vim
index ec4c48b..e8c9933 100644
--- a/runtime/synmenu.vim
+++ b/runtime/synmenu.vim
@@ -252,48 +252,49 @@
an 50.50.230 &Syntax.HIJK.HTML.HTML\ with\ Ruby\ (eRuby) :cal SetSyn("eruby")<CR>
an 50.50.240 &Syntax.HIJK.HTML.Cheetah\ HTML\ template :cal SetSyn("htmlcheetah")<CR>
an 50.50.250 &Syntax.HIJK.HTML.Django\ HTML\ template :cal SetSyn("htmldjango")<CR>
-an 50.50.260 &Syntax.HIJK.HTML.HTML/OS :cal SetSyn("htmlos")<CR>
-an 50.50.270 &Syntax.HIJK.HTML.XHTML :cal SetSyn("xhtml")<CR>
-an 50.50.280 &Syntax.HIJK.Host\.conf :cal SetSyn("hostconf")<CR>
-an 50.50.290 &Syntax.HIJK.Hosts\ access :cal SetSyn("hostsaccess")<CR>
-an 50.50.300 &Syntax.HIJK.Hyper\ Builder :cal SetSyn("hb")<CR>
-an 50.50.320 &Syntax.HIJK.Icewm\ menu :cal SetSyn("icemenu")<CR>
-an 50.50.330 &Syntax.HIJK.Icon :cal SetSyn("icon")<CR>
-an 50.50.340 &Syntax.HIJK.IDL\Generic\ IDL :cal SetSyn("idl")<CR>
-an 50.50.350 &Syntax.HIJK.IDL\Microsoft\ IDL :cal SetSyn("msidl")<CR>
-an 50.50.360 &Syntax.HIJK.Indent\ profile :cal SetSyn("indent")<CR>
-an 50.50.370 &Syntax.HIJK.Inform :cal SetSyn("inform")<CR>
-an 50.50.380 &Syntax.HIJK.Informix\ 4GL :cal SetSyn("fgl")<CR>
-an 50.50.390 &Syntax.HIJK.Initng :cal SetSyn("initng")<CR>
-an 50.50.400 &Syntax.HIJK.Inittab :cal SetSyn("inittab")<CR>
-an 50.50.410 &Syntax.HIJK.Inno\ setup :cal SetSyn("iss")<CR>
-an 50.50.420 &Syntax.HIJK.Innovation\ Data\ Processing.Upstream\ dat :cal SetSyn("upstreamdat")<CR>
-an 50.50.430 &Syntax.HIJK.Innovation\ Data\ Processing.Upstream\ log :cal SetSyn("upstreamlog")<CR>
-an 50.50.440 &Syntax.HIJK.Innovation\ Data\ Processing.Upstream\ rpt :cal SetSyn("upstreamrpt")<CR>
-an 50.50.450 &Syntax.HIJK.Innovation\ Data\ Processing.Upstream\ Install\ log :cal SetSyn("upstreaminstalllog")<CR>
-an 50.50.460 &Syntax.HIJK.Innovation\ Data\ Processing.Usserver\ log :cal SetSyn("usserverlog")<CR>
-an 50.50.470 &Syntax.HIJK.Innovation\ Data\ Processing.USW2KAgt\ log :cal SetSyn("usw2kagtlog")<CR>
-an 50.50.480 &Syntax.HIJK.InstallShield\ script :cal SetSyn("ishd")<CR>
-an 50.50.490 &Syntax.HIJK.Interactive\ Data\ Lang :cal SetSyn("idlang")<CR>
-an 50.50.500 &Syntax.HIJK.IPfilter :cal SetSyn("ipfilter")<CR>
-an 50.50.520 &Syntax.HIJK.J :cal SetSyn("j")<CR>
-an 50.50.530 &Syntax.HIJK.JAL :cal SetSyn("jal")<CR>
-an 50.50.540 &Syntax.HIJK.JAM :cal SetSyn("jam")<CR>
-an 50.50.550 &Syntax.HIJK.Jargon :cal SetSyn("jargon")<CR>
-an 50.50.560 &Syntax.HIJK.Java.Java :cal SetSyn("java")<CR>
-an 50.50.570 &Syntax.HIJK.Java.JavaCC :cal SetSyn("javacc")<CR>
-an 50.50.580 &Syntax.HIJK.Java.Java\ Server\ Pages :cal SetSyn("jsp")<CR>
-an 50.50.590 &Syntax.HIJK.Java.Java\ Properties :cal SetSyn("jproperties")<CR>
-an 50.50.600 &Syntax.HIJK.JavaScript :cal SetSyn("javascript")<CR>
-an 50.50.610 &Syntax.HIJK.Jess :cal SetSyn("jess")<CR>
-an 50.50.620 &Syntax.HIJK.Jgraph :cal SetSyn("jgraph")<CR>
-an 50.50.630 &Syntax.HIJK.Jovial :cal SetSyn("jovial")<CR>
-an 50.50.640 &Syntax.HIJK.JSON :cal SetSyn("json")<CR>
-an 50.50.660 &Syntax.HIJK.Kconfig :cal SetSyn("kconfig")<CR>
-an 50.50.670 &Syntax.HIJK.KDE\ script :cal SetSyn("kscript")<CR>
-an 50.50.680 &Syntax.HIJK.Kimwitu++ :cal SetSyn("kwt")<CR>
-an 50.50.690 &Syntax.HIJK.Kivy :cal SetSyn("kivy")<CR>
-an 50.50.700 &Syntax.HIJK.KixTart :cal SetSyn("kix")<CR>
+an 50.50.260 &Syntax.HIJK.HTML.Vue.js\ HTML\ template :cal SetSyn("vuejs")<CR>
+an 50.50.270 &Syntax.HIJK.HTML.HTML/OS :cal SetSyn("htmlos")<CR>
+an 50.50.280 &Syntax.HIJK.HTML.XHTML :cal SetSyn("xhtml")<CR>
+an 50.50.290 &Syntax.HIJK.Host\.conf :cal SetSyn("hostconf")<CR>
+an 50.50.300 &Syntax.HIJK.Hosts\ access :cal SetSyn("hostsaccess")<CR>
+an 50.50.310 &Syntax.HIJK.Hyper\ Builder :cal SetSyn("hb")<CR>
+an 50.50.330 &Syntax.HIJK.Icewm\ menu :cal SetSyn("icemenu")<CR>
+an 50.50.340 &Syntax.HIJK.Icon :cal SetSyn("icon")<CR>
+an 50.50.350 &Syntax.HIJK.IDL\Generic\ IDL :cal SetSyn("idl")<CR>
+an 50.50.360 &Syntax.HIJK.IDL\Microsoft\ IDL :cal SetSyn("msidl")<CR>
+an 50.50.370 &Syntax.HIJK.Indent\ profile :cal SetSyn("indent")<CR>
+an 50.50.380 &Syntax.HIJK.Inform :cal SetSyn("inform")<CR>
+an 50.50.390 &Syntax.HIJK.Informix\ 4GL :cal SetSyn("fgl")<CR>
+an 50.50.400 &Syntax.HIJK.Initng :cal SetSyn("initng")<CR>
+an 50.50.410 &Syntax.HIJK.Inittab :cal SetSyn("inittab")<CR>
+an 50.50.420 &Syntax.HIJK.Inno\ setup :cal SetSyn("iss")<CR>
+an 50.50.430 &Syntax.HIJK.Innovation\ Data\ Processing.Upstream\ dat :cal SetSyn("upstreamdat")<CR>
+an 50.50.440 &Syntax.HIJK.Innovation\ Data\ Processing.Upstream\ log :cal SetSyn("upstreamlog")<CR>
+an 50.50.450 &Syntax.HIJK.Innovation\ Data\ Processing.Upstream\ rpt :cal SetSyn("upstreamrpt")<CR>
+an 50.50.460 &Syntax.HIJK.Innovation\ Data\ Processing.Upstream\ Install\ log :cal SetSyn("upstreaminstalllog")<CR>
+an 50.50.470 &Syntax.HIJK.Innovation\ Data\ Processing.Usserver\ log :cal SetSyn("usserverlog")<CR>
+an 50.50.480 &Syntax.HIJK.Innovation\ Data\ Processing.USW2KAgt\ log :cal SetSyn("usw2kagtlog")<CR>
+an 50.50.490 &Syntax.HIJK.InstallShield\ script :cal SetSyn("ishd")<CR>
+an 50.50.500 &Syntax.HIJK.Interactive\ Data\ Lang :cal SetSyn("idlang")<CR>
+an 50.50.510 &Syntax.HIJK.IPfilter :cal SetSyn("ipfilter")<CR>
+an 50.50.530 &Syntax.HIJK.J :cal SetSyn("j")<CR>
+an 50.50.540 &Syntax.HIJK.JAL :cal SetSyn("jal")<CR>
+an 50.50.550 &Syntax.HIJK.JAM :cal SetSyn("jam")<CR>
+an 50.50.560 &Syntax.HIJK.Jargon :cal SetSyn("jargon")<CR>
+an 50.50.570 &Syntax.HIJK.Java.Java :cal SetSyn("java")<CR>
+an 50.50.580 &Syntax.HIJK.Java.JavaCC :cal SetSyn("javacc")<CR>
+an 50.50.590 &Syntax.HIJK.Java.Java\ Server\ Pages :cal SetSyn("jsp")<CR>
+an 50.50.600 &Syntax.HIJK.Java.Java\ Properties :cal SetSyn("jproperties")<CR>
+an 50.50.610 &Syntax.HIJK.JavaScript :cal SetSyn("javascript")<CR>
+an 50.50.620 &Syntax.HIJK.Jess :cal SetSyn("jess")<CR>
+an 50.50.630 &Syntax.HIJK.Jgraph :cal SetSyn("jgraph")<CR>
+an 50.50.640 &Syntax.HIJK.Jovial :cal SetSyn("jovial")<CR>
+an 50.50.650 &Syntax.HIJK.JSON :cal SetSyn("json")<CR>
+an 50.50.670 &Syntax.HIJK.Kconfig :cal SetSyn("kconfig")<CR>
+an 50.50.680 &Syntax.HIJK.KDE\ script :cal SetSyn("kscript")<CR>
+an 50.50.690 &Syntax.HIJK.Kimwitu++ :cal SetSyn("kwt")<CR>
+an 50.50.700 &Syntax.HIJK.Kivy :cal SetSyn("kivy")<CR>
+an 50.50.710 &Syntax.HIJK.KixTart :cal SetSyn("kix")<CR>
an 50.60.100 &Syntax.L.Lace :cal SetSyn("lace")<CR>
an 50.60.110 &Syntax.L.LamdaProlog :cal SetSyn("lprolog")<CR>
an 50.60.120 &Syntax.L.Latte :cal SetSyn("latte")<CR>
diff --git a/runtime/syntax/json.vim b/runtime/syntax/json.vim
index d80af84..e3210a9 100644
--- a/runtime/syntax/json.vim
+++ b/runtime/syntax/json.vim
@@ -1,7 +1,8 @@
" Vim syntax file
" Language: JSON
-" Maintainer: Eli Parra <eli@elzr.com>
-" Last Change: 2014 Aug 23
+" Maintainer: vacancy
+" Previous Maintainer: Eli Parra <eli@elzr.com>
+" Last Change: 2019 Jul 08
" Version: 0.12
if !exists("main_syntax")
@@ -16,8 +17,19 @@
" NOTE that for the concealing to work your conceallevel should be set to 2
+" Syntax: JSON Keywords
+" Separated into a match and region because a region by itself is always greedy
+syn match jsonKeywordMatch /"\([^"]\|\\\"\)\+"[[:blank:]\r\n]*\:/ contains=jsonKeyword
+if has('conceal')
+ syn region jsonKeyword matchgroup=jsonQuote start=/"/ end=/"\ze[[:blank:]\r\n]*\:/ concealends contained
+else
+ syn region jsonKeyword matchgroup=jsonQuote start=/"/ end=/"\ze[[:blank:]\r\n]*\:/ contained
+endif
+
" Syntax: Strings
" Separated into a match and region because a region by itself is always greedy
+" Needs to come after keywords or else a json encoded string will break the
+" syntax
syn match jsonStringMatch /"\([^"]\|\\\"\)\+"\ze[[:blank:]\r\n]*[,}\]]/ contains=jsonString
if has('conceal')
syn region jsonString oneline matchgroup=jsonQuote start=/"/ skip=/\\\\\|\\"/ end=/"/ concealends contains=jsonEscape contained
@@ -28,14 +40,6 @@
" Syntax: JSON does not allow strings with single quotes, unlike JavaScript.
syn region jsonStringSQError oneline start=+'+ skip=+\\\\\|\\"+ end=+'+
-" Syntax: JSON Keywords
-" Separated into a match and region because a region by itself is always greedy
-syn match jsonKeywordMatch /"\([^"]\|\\\"\)\+"[[:blank:]\r\n]*\:/ contains=jsonKeyword
-if has('conceal')
- syn region jsonKeyword matchgroup=jsonQuote start=/"/ end=/"\ze[[:blank:]\r\n]*\:/ concealends contained
-else
- syn region jsonKeyword matchgroup=jsonQuote start=/"/ end=/"\ze[[:blank:]\r\n]*\:/ contained
-endif
" Syntax: Escape sequences
syn match jsonEscape "\\["\\/bfnrt]" contained
diff --git a/runtime/syntax/vuejs.vim b/runtime/syntax/vuejs.vim
new file mode 100644
index 0000000..bad0e26
--- /dev/null
+++ b/runtime/syntax/vuejs.vim
@@ -0,0 +1,14 @@
+" Vim syntax file
+" Language: Vue.js Single File Component
+" Maintainer: Ralph Giles <giles@thaumas.net>
+" URL: https://vuejs.org/v2/guide/single-file-components.html
+" Last Change: 2019 Jul 8
+
+" Quit if a syntax file was already loaded.
+if exists("b:current_syntax")
+ finish
+endif
+
+" We have a collection of html, css and javascript wrapped in
+" tags. The default HTML syntax highlight works well enough.
+runtime! syntax/html.vim