diff options
Diffstat (limited to 'runtime')
-rw-r--r-- | runtime/doc/eval.txt | 22 | ||||
-rw-r--r-- | runtime/doc/helphelp.txt | 6 | ||||
-rw-r--r-- | runtime/doc/options.txt | 23 | ||||
-rw-r--r-- | runtime/doc/quickfix.txt | 2 | ||||
-rw-r--r-- | runtime/doc/syntax.txt | 20 | ||||
-rw-r--r-- | runtime/doc/windows.txt | 3 | ||||
-rw-r--r-- | runtime/ftplugin/meson.vim | 19 | ||||
-rw-r--r-- | runtime/indent/meson.vim | 180 | ||||
-rw-r--r-- | runtime/indent/sh.vim | 6 | ||||
-rw-r--r-- | runtime/nvim.desktop | 4 | ||||
-rw-r--r-- | runtime/pack/dist/opt/matchit/autoload/matchit.vim | 10 | ||||
-rw-r--r-- | runtime/pack/dist/opt/matchit/doc/matchit.txt | 8 | ||||
-rw-r--r-- | runtime/pack/dist/opt/matchit/plugin/matchit.vim | 16 | ||||
-rw-r--r-- | runtime/syntax/dart.vim | 90 | ||||
-rw-r--r-- | runtime/syntax/dtd.vim | 13 | ||||
-rw-r--r-- | runtime/syntax/meson.vim | 165 |
16 files changed, 542 insertions, 45 deletions
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt index 685a6a52e8..383acbe64f 100644 --- a/runtime/doc/eval.txt +++ b/runtime/doc/eval.txt @@ -3701,8 +3701,8 @@ expandcmd({expr}) *expandcmd()* Expand special items in {expr} like what is done for an Ex command such as `:edit`. This expands special keywords, like with |expand()|, and environment variables, anywhere in - {expr}. Returns the expanded string. - Example: > + {expr}. "~user" and "~/path" are only expanded at the start. + Returns the expanded string. Example: > :echo expandcmd('make %<.o') < extend({expr1}, {expr2} [, {expr3}]) *extend()* @@ -6691,15 +6691,15 @@ prompt_setprompt({buf}, {text}) *prompt_setprompt()* call prompt_setprompt(bufnr(''), 'command: ') pum_getpos() *pum_getpos()* - If the popup menu (see |ins-completion-menu|) is not visible, - returns an empty |Dictionary|, otherwise, returns a - |Dictionary| with the following keys: - height nr of items visible - width screen cells - row top screen row (0 first row) - col leftmost screen column (0 first col) - size total nr of items - scrollbar |TRUE| if visible + If the popup menu (see |ins-completion-menu|) is not visible, + returns an empty |Dictionary|, otherwise, returns a + |Dictionary| with the following keys: + height nr of items visible + width screen cells + row top screen row (0 first row) + col leftmost screen column (0 first col) + size total nr of items + scrollbar |TRUE| if scrollbar is visible The values are the same as in |v:event| during |CompleteChanged|. diff --git a/runtime/doc/helphelp.txt b/runtime/doc/helphelp.txt index ba6dd02a29..182fc1cef5 100644 --- a/runtime/doc/helphelp.txt +++ b/runtime/doc/helphelp.txt @@ -103,7 +103,11 @@ Help on help files *helphelp* current file. See |help-translated|. *:helpc* *:helpclose* -:helpc[lose] Close one help window, if there is one. +:helpc[lose] Close one help window, if there is one. + Vim will try to restore the window layout (including + cursor position) to the same layout it was before + opening the help window initially. This might cause + triggering several autocommands. *:helpg* *:helpgrep* :helpg[rep] {pattern}[@xx] diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt index 9d94b568a4..9695aee15a 100644 --- a/runtime/doc/options.txt +++ b/runtime/doc/options.txt @@ -5243,10 +5243,10 @@ A jump table for the options with a short description can be found at |Q_op|. For Unix the default it "| tee". The stdout of the compiler is saved in a file and echoed to the screen. If the 'shell' option is "csh" or "tcsh" after initializations, the default becomes "|& tee". If the - 'shell' option is "sh", "ksh", "mksh", "pdksh", "zsh" or "bash" the - default becomes "2>&1| tee". This means that stderr is also included. - Before using the 'shell' option a path is removed, thus "/bin/sh" uses - "sh". + 'shell' option is "sh", "ksh", "mksh", "pdksh", "zsh", "zsh-beta", + "bash" or "fish" the default becomes "2>&1| tee". This means that + stderr is also included. Before using the 'shell' option a path is + removed, thus "/bin/sh" uses "sh". The initialization of this option is done after reading the vimrc and the other initializations, so that when the 'shell' option is set there, the 'shellpipe' option changes automatically, unless it was @@ -5286,13 +5286,14 @@ A jump table for the options with a short description can be found at |Q_op|. The name of the temporary file can be represented by "%s" if necessary (the file name is appended automatically if no %s appears in the value of this option). - The default is ">". For Unix, if the 'shell' option is "csh", "tcsh" - or "zsh" during initializations, the default becomes ">&". If the - 'shell' option is "sh", "ksh" or "bash" the default becomes - ">%s 2>&1". This means that stderr is also included. - For Win32, the Unix checks are done and additionally "cmd" is checked - for, which makes the default ">%s 2>&1". Also, the same names with - ".exe" appended are checked for. + The default is ">". For Unix, if the 'shell' option is "csh" or + "tcsh" during initializations, the default becomes ">&". If the + 'shell' option is "sh", "ksh", "mksh", "pdksh", "zsh", + "zsh-beta","bash" or "fish", the default becomes ">%s 2>&1". This + means that stderr is also included. For Win32, the Unix checks are + done and additionally "cmd" is checked for, which makes the default + ">%s 2>&1". Also, the same names with ".exe" appended are checked + for. The initialization of this option is done after reading the vimrc and the other initializations, so that when the 'shell' option is set there, the 'shellredir' option changes automatically unless it was diff --git a/runtime/doc/quickfix.txt b/runtime/doc/quickfix.txt index fab3b11430..a60e3d4b60 100644 --- a/runtime/doc/quickfix.txt +++ b/runtime/doc/quickfix.txt @@ -484,7 +484,7 @@ EXECUTE A COMMAND IN ALL THE BUFFERS IN QUICKFIX OR LOCATION LIST: etc. < When the current file can't be |abandon|ed and the [!] is not present, the command fails. - When an error is detected execution stops. + When going to the next entry fails execution stops. The last buffer (or where an error occurred) becomes the current buffer. {cmd} can contain '|' to concatenate several commands. diff --git a/runtime/doc/syntax.txt b/runtime/doc/syntax.txt index e527ef2158..0fe4893924 100644 --- a/runtime/doc/syntax.txt +++ b/runtime/doc/syntax.txt @@ -1135,6 +1135,26 @@ startup vimrc: > :let filetype_w = "cweb" +DART *dart.vim* *ft-dart-syntax* + +Dart is an object-oriented, typed, class defined, garbage collected language +used for developing mobile, desktop, web, and back-end applications. Dart uses +a C-like syntax derived from C, Java, and JavaScript, with features adopted +from Smalltalk, Python, Ruby, and others. + +More information about the language and its development environment at the +official Dart language website at https://dart.dev + +dart.vim syntax detects and highlights Dart statements, reserved words, +type declarations, storage classes, conditionals, loops, interpolated values, +and comments. There is no support idioms from Flutter or any other Dart +framework. + +Changes, fixes? Submit an issue or pull request via: + +https://github.com/pr3d4t0r/dart-vim-syntax/ + + DESKTOP *desktop.vim* *ft-desktop-syntax* Primary goal of this syntax file is to highlight .desktop and .directory files diff --git a/runtime/doc/windows.txt b/runtime/doc/windows.txt index 35efb1bbce..2de2351e11 100644 --- a/runtime/doc/windows.txt +++ b/runtime/doc/windows.txt @@ -287,6 +287,9 @@ CTRL-W CTRL-Q *CTRL-W_CTRL-Q* :+quit " quit the next window :+2quit " quit the second next window < + When closing a help window, Vim will try to restore the + previous window layout |:helpclose|. + :q[uit]! :{count}q[uit]! Without {count}: Quit the current window. If {count} is diff --git a/runtime/ftplugin/meson.vim b/runtime/ftplugin/meson.vim new file mode 100644 index 0000000000..e432ebf196 --- /dev/null +++ b/runtime/ftplugin/meson.vim @@ -0,0 +1,19 @@ +" Vim filetype plugin file +" Language: meson +" License: VIM License +" Original Author: Laurent Pinchart <laurent.pinchart@ideasonboard.com> +" Last Change: 2018 Nov 27 + +if exists("b:did_ftplugin") | finish | endif +let b:did_ftplugin = 1 +let s:keepcpo= &cpo +set cpo&vim + +setlocal commentstring=#\ %s +setlocal comments=:# + +setlocal shiftwidth=2 +setlocal softtabstop=2 + +let &cpo = s:keepcpo +unlet s:keepcpo diff --git a/runtime/indent/meson.vim b/runtime/indent/meson.vim new file mode 100644 index 0000000000..f116781f74 --- /dev/null +++ b/runtime/indent/meson.vim @@ -0,0 +1,180 @@ +" Vim indent file +" Language: Meson +" License: VIM License +" Maintainer: Nirbheek Chauhan <nirbheek.chauhan@gmail.com> +" Original Authors: David Bustos <bustos@caltech.edu> +" Bram Moolenaar <Bram@vim.org> +" Last Change: 2019 Oct 18 + +" Only load this indent file when no other was loaded. +if exists("b:did_indent") + finish +endif +let b:did_indent = 1 + +" Some preliminary settings +setlocal nolisp " Make sure lisp indenting doesn't supersede us +setlocal autoindent " indentexpr isn't much help otherwise + +setlocal indentexpr=GetMesonIndent(v:lnum) +setlocal indentkeys+==elif,=else,=endforeach,=endif,0) + +" Only define the function once. +if exists("*GetMesonIndent") + finish +endif +let s:keepcpo= &cpo +set cpo&vim + +" Come here when loading the script the first time. + +let s:maxoff = 50 " maximum number of lines to look backwards for () + +function GetMesonIndent(lnum) + echom getline(line(".")) + + " If this line is explicitly joined: If the previous line was also joined, + " line it up with that one, otherwise add two 'shiftwidth' + if getline(a:lnum - 1) =~ '\\$' + if a:lnum > 1 && getline(a:lnum - 2) =~ '\\$' + return indent(a:lnum - 1) + endif + return indent(a:lnum - 1) + (exists("g:mesonindent_continue") ? eval(g:mesonindent_continue) : (shiftwidth() * 2)) + endif + + " If the start of the line is in a string don't change the indent. + if has('syntax_items') + \ && synIDattr(synID(a:lnum, 1, 1), "name") =~ "String$" + return -1 + endif + + " Search backwards for the previous non-empty line. + let plnum = prevnonblank(v:lnum - 1) + + if plnum == 0 + " This is the first non-empty line, use zero indent. + return 0 + endif + + " If the previous line is inside parenthesis, use the indent of the starting + " line. + " Trick: use the non-existing "dummy" variable to break out of the loop when + " going too far back. + call cursor(plnum, 1) + let parlnum = searchpair('(\|{\|\[', '', ')\|}\|\]', 'nbW', + \ "line('.') < " . (plnum - s:maxoff) . " ? dummy :" + \ . " synIDattr(synID(line('.'), col('.'), 1), 'name')" + \ . " =~ '\\(Comment\\|Todo\\|String\\)$'") + if parlnum > 0 + let plindent = indent(parlnum) + let plnumstart = parlnum + else + let plindent = indent(plnum) + let plnumstart = plnum + endif + + + " When inside parenthesis: If at the first line below the parenthesis add + " a 'shiftwidth', otherwise same as previous line. + " i = (a + " + b + " + c) + call cursor(a:lnum, 1) + let p = searchpair('(\|{\|\[', '', ')\|}\|\]', 'bW', + \ "line('.') < " . (a:lnum - s:maxoff) . " ? dummy :" + \ . " synIDattr(synID(line('.'), col('.'), 1), 'name')" + \ . " =~ '\\(Comment\\|Todo\\|String\\)$'") + if p > 0 + if p == plnum + " When the start is inside parenthesis, only indent one 'shiftwidth'. + let pp = searchpair('(\|{\|\[', '', ')\|}\|\]', 'bW', + \ "line('.') < " . (a:lnum - s:maxoff) . " ? dummy :" + \ . " synIDattr(synID(line('.'), col('.'), 1), 'name')" + \ . " =~ '\\(Comment\\|Todo\\|String\\)$'") + if pp > 0 + return indent(plnum) + (exists("g:pyindent_nested_paren") ? eval(g:pyindent_nested_paren) : shiftwidth()) + endif + return indent(plnum) + (exists("g:pyindent_open_paren") ? eval(g:pyindent_open_paren) : shiftwidth()) + endif + if plnumstart == p + return indent(plnum) + endif + return plindent + endif + + + " Get the line and remove a trailing comment. + " Use syntax highlighting attributes when possible. + let pline = getline(plnum) + let pline_len = strlen(pline) + if has('syntax_items') + " If the last character in the line is a comment, do a binary search for + " the start of the comment. synID() is slow, a linear search would take + " too long on a long line. + if synIDattr(synID(plnum, pline_len, 1), "name") =~ "\\(Comment\\|Todo\\)$" + let min = 1 + let max = pline_len + while min < max + let col = (min + max) / 2 + if synIDattr(synID(plnum, col, 1), "name") =~ "\\(Comment\\|Todo\\)$" + let max = col + else + let min = col + 1 + endif + endwhile + let pline = strpart(pline, 0, min - 1) + endif + else + let col = 0 + while col < pline_len + if pline[col] == '#' + let pline = strpart(pline, 0, col) + break + endif + let col = col + 1 + endwhile + endif + + " If the previous line ended the conditional/loop + if getline(plnum) =~ '^\s*\(endif\|endforeach\)\>\s*' + " Maintain indent + return -1 + endif + + " If the previous line ended with a builtin, indent this line + if pline =~ '^\s*\(foreach\|if\|else\|elif\)\>\s*' + return plindent + shiftwidth() + endif + + " If the current line begins with a header keyword, deindent + if getline(a:lnum) =~ '^\s*\(else\|elif\|endif\|endforeach\)' + + " Unless the previous line was a one-liner + if getline(plnumstart) =~ '^\s*\(foreach\|if\)\>\s*' + return plindent + endif + + " Or the user has already dedented + if indent(a:lnum) <= plindent - shiftwidth() + return -1 + endif + + return plindent - shiftwidth() + endif + + " When after a () construct we probably want to go back to the start line. + " a = (b + " + c) + " here + if parlnum > 0 + return plindent + endif + + return -1 + +endfunction + +let &cpo = s:keepcpo +unlet s:keepcpo + +" vim:sw=2 diff --git a/runtime/indent/sh.vim b/runtime/indent/sh.vim index 3df6abbf97..d2fb1ba452 100644 --- a/runtime/indent/sh.vim +++ b/runtime/indent/sh.vim @@ -3,7 +3,7 @@ " Maintainer: Christian Brabandt <cb@256bit.org> " Original Author: Nikolai Weibull <now@bitwi.se> " Previous Maintainer: Peter Aronoff <telemachus@arpinum.org> -" Latest Revision: 2019-07-26 +" Latest Revision: 2019-10-24 " License: Vim (see :h license) " Repository: https://github.com/chrisbra/vim-sh-indent " Changelog: @@ -134,7 +134,7 @@ function! GetShIndent() " TODO: should we do the same for other "end" lines? if curline =~ '^\s*\%(fi\);\?\s*\%(#.*\)\=$' let ind = indent(v:lnum) - let previous_line = searchpair('\<if\>', '', '\<fi\>\zs', 'bnW', 'synIDattr(synID(line("."),col("."), 1),"name") =~? "comment"') + let previous_line = searchpair('\<if\>', '', '\<fi\>\zs', 'bnW', 'synIDattr(synID(line("."),col("."), 1),"name") =~? "comment\\|quote"') if previous_line > 0 let ind = indent(previous_line) endif @@ -195,7 +195,7 @@ endfunction function! s:is_function_definition(line) return a:line =~ '^\s*\<\k\+\>\s*()\s*{' || \ a:line =~ '^\s*{' || - \ a:line =~ '^\s*function\s*\w\S\+\s*\%(()\)\?\s*{' + \ a:line =~ '^\s*function\s*\k\+\s*\%(()\)\?\s*{' endfunction function! s:is_array(line) diff --git a/runtime/nvim.desktop b/runtime/nvim.desktop index d08029d2b0..21bde61314 100644 --- a/runtime/nvim.desktop +++ b/runtime/nvim.desktop @@ -3,6 +3,7 @@ Name=Neovim GenericName=Text Editor GenericName[de]=Texteditor GenericName[sr]=Едитор текста +GenericName[tr]=Metin Düzenleyici Comment=Edit text files Comment[af]=Redigeer tekslêers Comment[am]=የጽሑፍ ፋይሎች ያስተካክሉ @@ -65,7 +66,7 @@ Comment[sv]=Redigera textfiler Comment[ta]=உரை கோப்புகளை தொகுக்கவும் Comment[th]=แก้ไขแฟ้มข้อความ Comment[tk]=Metin faýllary editle -Comment[tr]=Metin dosyalarını düzenle +Comment[tr]=Metin dosyaları düzenle Comment[uk]=Редактор текстових файлів Comment[vi]=Soạn thảo tập tin văn bản Comment[wa]=Asspougnî des fitchîs tecses @@ -76,6 +77,7 @@ Exec=nvim %F Terminal=true Type=Application Keywords=Text;editor; +Keywords[tr]=Metin;düzenleyici; Icon=nvim Categories=Utility;TextEditor; StartupNotify=false diff --git a/runtime/pack/dist/opt/matchit/autoload/matchit.vim b/runtime/pack/dist/opt/matchit/autoload/matchit.vim index abf06d3c4c..f56e9e223d 100644 --- a/runtime/pack/dist/opt/matchit/autoload/matchit.vim +++ b/runtime/pack/dist/opt/matchit/autoload/matchit.vim @@ -1,6 +1,6 @@ " matchit.vim: (global plugin) Extended "%" matching " autload script of matchit plugin, see ../plugin/matchit.vim -" Last Change: 2019 Jan 28 +" Last Change: 2019 Oct 24 let s:last_mps = "" let s:last_words = ":" @@ -211,6 +211,14 @@ function matchit#Match_wrapper(word, forward, mode) range execute "if " . skip . "| let skip = '0' | endif" endif let sp_return = searchpair(ini, mid, fin, flag, skip) + if &selection isnot# 'inclusive' && a:mode == 'v' + " move cursor one pos to the right, because selection is not inclusive + " add virtualedit=onemore, to make it work even when the match ends the " line + if !(col('.') < col('$')-1) + set ve=onemore + endif + norm! l + endif let final_position = "call cursor(" . line(".") . "," . col(".") . ")" " Restore cursor position and original screen. call winrestview(view) diff --git a/runtime/pack/dist/opt/matchit/doc/matchit.txt b/runtime/pack/dist/opt/matchit/doc/matchit.txt index b2b78089a0..8d810d3f57 100644 --- a/runtime/pack/dist/opt/matchit/doc/matchit.txt +++ b/runtime/pack/dist/opt/matchit/doc/matchit.txt @@ -4,7 +4,7 @@ For instructions on installing this file, type `:help matchit-install` inside Vim. -For Vim version 8.1. Last change: 2019 May 05 +For Vim version 8.1. Last change: 2019 Oct 24 VIM REFERENCE MANUAL by Benji Fisher et al @@ -377,6 +377,10 @@ The back reference '\'.d refers to the same thing as '\'.b:match_table[d] in ============================================================================== 5. Known Bugs and Limitations *matchit-bugs* +Repository: https://github.com/chrisbra/matchit/ +Bugs can be reported at the repository (alternatively you can send me a mail). +The latest development snapshot can also be downloaded there. + Just because I know about a bug does not mean that it is on my todo list. I try to respond to reports of bugs that cause real problems. If it does not cause serious problems, or if there is a work-around, a bug may sit there for @@ -388,4 +392,4 @@ try to implement this in a future version. (This is not so easy to arrange as you might think!) ============================================================================== -vim:tw=78:fo=tcq2:ft=help: +vim:tw=78:ts=8:fo=tcq2:ft=help: diff --git a/runtime/pack/dist/opt/matchit/plugin/matchit.vim b/runtime/pack/dist/opt/matchit/plugin/matchit.vim index 84147f1fc8..4d0f4e014a 100644 --- a/runtime/pack/dist/opt/matchit/plugin/matchit.vim +++ b/runtime/pack/dist/opt/matchit/plugin/matchit.vim @@ -1,13 +1,13 @@ " matchit.vim: (global plugin) Extended "%" matching " Maintainer: Christian Brabandt -" Version: 1.15 -" Last Change: 2019 Jan 28 +" Version: 1.16 +" Last Change: 2019 Oct 24 " Repository: https://github.com/chrisbra/matchit " Previous URL:http://www.vim.org/script.php?script_id=39 " Previous Maintainer: Benji Fisher PhD <benji@member.AMS.org> " Documentation: -" The documentation is in a separate file: ../doc/matchit.txt . +" The documentation is in a separate file: ../doc/matchit.txt " Credits: " Vim editor by Bram Moolenaar (Thanks, Bram!) @@ -48,8 +48,8 @@ set cpo&vim nnoremap <silent> <Plug>(MatchitNormalForward) :<C-U>call matchit#Match_wrapper('',1,'n')<CR> nnoremap <silent> <Plug>(MatchitNormalBackward) :<C-U>call matchit#Match_wrapper('',0,'n')<CR> -vnoremap <silent> <Plug>(MatchitVisualForward) :<C-U>call matchit#Match_wrapper('',1,'v')<CR>m'gv`` -vnoremap <silent> <Plug>(MatchitVisualBackward) :<C-U>call matchit#Match_wrapper('',0,'v')<CR>m'gv`` +xnoremap <silent> <Plug>(MatchitVisualForward) :<C-U>call matchit#Match_wrapper('',1,'v')<CR>m'gv`` +xnoremap <silent> <Plug>(MatchitVisualBackward) :<C-U>call matchit#Match_wrapper('',0,'v')<CR>m'gv`` onoremap <silent> <Plug>(MatchitOperationForward) :<C-U>call matchit#Match_wrapper('',1,'o')<CR> onoremap <silent> <Plug>(MatchitOperationBackward) :<C-U>call matchit#Match_wrapper('',0,'o')<CR> @@ -63,8 +63,8 @@ omap <silent> g% <Plug>(MatchitOperationBackward) " Analogues of [{ and ]} using matching patterns: nnoremap <silent> <Plug>(MatchitNormalMultiBackward) :<C-U>call matchit#MultiMatch("bW", "n")<CR> nnoremap <silent> <Plug>(MatchitNormalMultiForward) :<C-U>call matchit#MultiMatch("W", "n")<CR> -vnoremap <silent> <Plug>(MatchitVisualMultiBackward) :<C-U>call matchit#MultiMatch("bW", "n")<CR>m'gv`` -vnoremap <silent> <Plug>(MatchitVisualMultiForward) :<C-U>call matchit#MultiMatch("W", "n")<CR>m'gv`` +xnoremap <silent> <Plug>(MatchitVisualMultiBackward) :<C-U>call matchit#MultiMatch("bW", "n")<CR>m'gv`` +xnoremap <silent> <Plug>(MatchitVisualMultiForward) :<C-U>call matchit#MultiMatch("W", "n")<CR>m'gv`` onoremap <silent> <Plug>(MatchitOperationMultiBackward) :<C-U>call matchit#MultiMatch("bW", "o")<CR> onoremap <silent> <Plug>(MatchitOperationMultiForward) :<C-U>call matchit#MultiMatch("W", "o")<CR> @@ -76,7 +76,7 @@ omap <silent> [% <Plug>(MatchitOperationMultiBackward) omap <silent> ]% <Plug>(MatchitOperationMultiForward) " text object: -vmap <silent> <Plug>(MatchitVisualTextObject) <Plug>(MatchitVisualMultiBackward)o<Plug>(MatchitVisualMultiForward) +xmap <silent> <Plug>(MatchitVisualTextObject) <Plug>(MatchitVisualMultiBackward)o<Plug>(MatchitVisualMultiForward) xmap a% <Plug>(MatchitVisualTextObject) " Call this function to turn on debugging information. Every time the main diff --git a/runtime/syntax/dart.vim b/runtime/syntax/dart.vim new file mode 100644 index 0000000000..d1c2bf2158 --- /dev/null +++ b/runtime/syntax/dart.vim @@ -0,0 +1,90 @@ +" Vim syntax file +" +" Language: Dart +" Maintainer: Eugene 'pr3d4t0r' Ciurana <dart.syntax AT cime.net > +" Source: https://github.com/pr3d4t0r/dart-vim-syntax +" Last Update: 2019 Oct 19 +" +" License: Vim is Charityware. dart.vim syntax is Charityware. +" (c) Copyright 2019 by Eugene Ciurana / pr3d4t0r. Licensed +" under the standard VIM LICENSE - Vim command :help uganda.txt +" for details. +" +" Questions, comments: <dart.syntax AT cime.net> +" https://ciurana.eu/pgp, https://keybase.io/pr3d4t0r +" +" vim: set fileencoding=utf-8: + + +" Quit when a (custom) syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +let s:cpo_save = &cpo +set cpo&vim + + +syn keyword dartCommentTodo contained TODO FIXME XXX TBD +syn match dartLineComment "//.*" contains=dartTodo,@Spell +syn match dartCommentSkip "^[ \t]*\*\($\|[ \t]\+\)" +syn region dartComment start="/\*" end="\*/" contains=@Spell,dartTodo +syn keyword dartReserved assert async await class const export extends external final hide import implements interface library mixin on show super sync yield +syn match dartNumber "-\=\<\d\+L\=\>\|0[xX][0-9a-fA-F]\+\>" + + +syn keyword dartBoolean false true +syn keyword dartBranch break continue +syn keyword dartConditional if else switch +syn keyword dartException catch finally rethrow throw try +syn keyword dartIdentifier abstract covariant deferred dynamic factory Function operator part static this typedef var +syn keyword dartLabel case default +syn keyword dartNull null +syn keyword dartOperator is new +syn keyword dartRepeat for do in while +syn keyword dartStatement return with +syn keyword dartType bool double enum int String StringBuffer void +syn keyword dartTodo contained TODO FIXME XXX + + +syn match dartEscape contained "\\\([4-9]\d\|[0-3]\d\d\|[\"\\'ntbrf]\|u\x\{4\}\)" +syn match dartSpecialError contained "\\." +syn match dartStrInterpol contained "\${[\x, _]*\}" + +syn region dartDQString start=+"+ end=+"+ end=+$+ contains=dartEscape,dartStrInterpol,dartSpecialError,@Spell +syn region dartSQString start=+'+ end=+'+ end=+$+ contains=dartEscape,dartStrInterpol,dartSpecialError,@Spell + +syn match dartBraces "[{}\[\]]" +syn match dartParens "[()]" + + +syn sync fromstart +syn sync maxlines=100 + + +hi def link dartBoolean Boolean +hi def link dartBranch Conditional +hi def link dartComment Comment +hi def link dartConditional Conditional +hi def link dartDQString String +hi def link dartEscape SpecialChar +hi def link dartException Exception +hi def link dartIdentifier Identifier +hi def link dartLabel Label +hi def link dartLineComment Comment +hi def link dartNull Keyword +hi def link dartOperator Operator +hi def link dartRepeat Repeat +hi def link dartReserved Keyword +hi def link dartSQString String +hi def link dartSpecialError Error +hi def link dartStatement Statement +hi def link dartStrInterpol Special +hi def link dartTodo Todo +hi def link dartType Type + + +let b:current_syntax = "dart" +let &cpo = s:cpo_save +unlet s:cpo_save + diff --git a/runtime/syntax/dtd.vim b/runtime/syntax/dtd.vim index ae0bd1288e..ef0592e1d1 100644 --- a/runtime/syntax/dtd.vim +++ b/runtime/syntax/dtd.vim @@ -1,10 +1,11 @@ " Vim syntax file -" Language: DTD (Document Type Definition for XML) -" Maintainer: Johannes Zellner <johannes@zellner.org> -" Author and previous maintainer: -" Daniel Amyot <damyot@site.uottawa.ca> -" Last Change: Tue, 27 Apr 2004 14:54:59 CEST -" Filenames: *.dtd +" Language: DTD (Document Type Definition for XML) +" Maintainer: Christian Brabandt <cb@256bit.org> +" Repository: https://github.com/chrisbra/vim-xml-ftplugin +" Previous Maintainer: Johannes Zellner <johannes@zellner.org> +" Author: Daniel Amyot <damyot@site.uottawa.ca> +" Last Changed: Sept 24, 2019 +" Filenames: *.dtd " " REFERENCES: " http://www.w3.org/TR/html40/ diff --git a/runtime/syntax/meson.vim b/runtime/syntax/meson.vim new file mode 100644 index 0000000000..78de2ab89e --- /dev/null +++ b/runtime/syntax/meson.vim @@ -0,0 +1,165 @@ +" Vim syntax file +" Language: Meson +" License: VIM License +" Maintainer: Nirbheek Chauhan <nirbheek.chauhan@gmail.com> +" Last Change: 2019 Oct 18 +" Credits: Zvezdan Petkovic <zpetkovic@acm.org> +" Neil Schemenauer <nas@meson.ca> +" Dmitry Vasiliev +" +" This version is copied and edited from python.vim +" It's very basic, and doesn't do many things I'd like it to +" For instance, it should show errors for syntax that is valid in +" Python but not in Meson. +" +" Optional highlighting can be controlled using these variables. +" +" let meson_space_error_highlight = 1 +" + +" For version 5.x: Clear all syntax items. +" For version 6.x: Quit when a syntax file was already loaded. +if version < 600 + syntax clear +elseif exists("b:current_syntax") + finish +endif + +" We need nocompatible mode in order to continue lines with backslashes. +" Original setting will be restored. +let s:cpo_save = &cpo +set cpo&vim + +" http://mesonbuild.com/Syntax.html +syn keyword mesonConditional elif else if endif +syn keyword mesonRepeat foreach endforeach +syn keyword mesonOperator and not or + +syn match mesonComment "#.*$" contains=mesonTodo,@Spell +syn keyword mesonTodo FIXME NOTE NOTES TODO XXX contained + +" Strings can either be single quoted or triple counted across multiple lines, +" but always with a ' +syn region mesonString + \ start="\z('\)" end="\z1" skip="\\\\\|\\\z1" + \ contains=mesonEscape,@Spell +syn region mesonString + \ start="\z('''\)" end="\z1" keepend + \ contains=mesonEscape,mesonSpaceError,@Spell + +syn match mesonEscape "\\[abfnrtv'\\]" contained +syn match mesonEscape "\\\o\{1,3}" contained +syn match mesonEscape "\\x\x\{2}" contained +syn match mesonEscape "\%(\\u\x\{4}\|\\U\x\{8}\)" contained +" Meson allows case-insensitive Unicode IDs: http://www.unicode.org/charts/ +syn match mesonEscape "\\N{\a\+\%(\s\a\+\)*}" contained +syn match mesonEscape "\\$" + +" Meson only supports integer numbers +" http://mesonbuild.com/Syntax.html#numbers +syn match mesonNumber "\<\d\+\>" + +" booleans +syn keyword mesonConstant false true + +" Built-in functions +syn keyword mesonBuiltin + \ add_global_arguments + \ add_global_link_arguments + \ add_languages + \ add_project_arguments + \ add_project_link_arguments + \ add_test_setup + \ alias_target + \ assert + \ benchmark + \ both_libraries + \ build_machine + \ build_target + \ configuration_data + \ configure_file + \ custom_target + \ declare_dependency + \ dependency + \ disabler + \ environment + \ error + \ executable + \ files + \ find_library + \ find_program + \ generator + \ get_option + \ get_variable + \ gettext + \ host_machine + \ import + \ include_directories + \ install_data + \ install_headers + \ install_man + \ install_subdir + \ is_disabler + \ is_variable + \ jar + \ join_paths + \ library + \ meson + \ message + \ option + \ project + \ run_command + \ run_target + \ set_variable + \ shared_library + \ shared_module + \ static_library + \ subdir + \ subdir_done + \ subproject + \ target_machine + \ test + \ vcs_tag + \ warning + +if exists("meson_space_error_highlight") + " trailing whitespace + syn match mesonSpaceError display excludenl "\s\+$" + " mixed tabs and spaces + syn match mesonSpaceError display " \+\t" + syn match mesonSpaceError display "\t\+ " +endif + +if version >= 508 || !exists("did_meson_syn_inits") + if version <= 508 + let did_meson_syn_inits = 1 + command -nargs=+ HiLink hi link <args> + else + command -nargs=+ HiLink hi def link <args> + endif + + " The default highlight links. Can be overridden later. + HiLink mesonStatement Statement + HiLink mesonConditional Conditional + HiLink mesonRepeat Repeat + HiLink mesonOperator Operator + HiLink mesonComment Comment + HiLink mesonTodo Todo + HiLink mesonString String + HiLink mesonEscape Special + HiLink mesonNumber Number + HiLink mesonBuiltin Function + HiLink mesonConstant Number + if exists("meson_space_error_highlight") + HiLink mesonSpaceError Error + endif + + delcommand HiLink +endif + +let b:current_syntax = "meson" + +let &cpo = s:cpo_save +unlet s:cpo_save + +" vim:set sw=2 sts=2 ts=8 noet: |