vim-patch:7e6a515ed14e

Update runtime files.
7e6a515ed1

Omit vim9.
This commit is contained in:
Jan Edmund Lazo 2021-05-01 21:56:01 -04:00
parent b1cd67b62e
commit c1dd4e83b4
No known key found for this signature in database
GPG Key ID: 64915E6E9F735B15
21 changed files with 1061 additions and 355 deletions

View File

@ -1,11 +1,11 @@
" Vim Compiler File " Vim Compiler File
" Compiler: ocaml " Compiler: ocaml
" Maintainer: Markus Mottl <markus.mottl@gmail.com> " Maintainer: Markus Mottl <markus.mottl@gmail.com>
" URL: https://github.com/rgrinberg/vim-ocaml " URL: https://github.com/ocaml/vim-ocaml
" Last Change: " Last Change:
" 2020 Mar 28 - Improved error format (Thomas Leonard)
" 2017 Nov 26 - Improved error format (Markus Mottl) " 2017 Nov 26 - Improved error format (Markus Mottl)
" 2013 Aug 27 - Added a new OCaml error format (Markus Mottl) " 2013 Aug 27 - Added a new OCaml error format (Markus Mottl)
" 2013 Jun 30 - Initial version (Marc Weber)
" "
" Marc Weber's comments: " Marc Weber's comments:
" Setting makeprg doesn't make sense, because there is ocamlc, ocamlopt, " Setting makeprg doesn't make sense, because there is ocamlc, ocamlopt,
@ -21,6 +21,7 @@
" "
" So having it here makes people opt-in " So having it here makes people opt-in
if exists("current_compiler") if exists("current_compiler")
finish finish
endif endif
@ -30,6 +31,7 @@ let s:cpo_save = &cpo
set cpo&vim set cpo&vim
CompilerSet errorformat = CompilerSet errorformat =
\%EFile\ \"%f\"\\,\ lines\ %*\\d-%l\\,\ characters\ %c-%*\\d:,
\%EFile\ \"%f\"\\,\ line\ %l\\,\ characters\ %c-%*\\d:, \%EFile\ \"%f\"\\,\ line\ %l\\,\ characters\ %c-%*\\d:,
\%EFile\ \"%f\"\\,\ line\ %l\\,\ characters\ %c-%*\\d\ %.%#, \%EFile\ \"%f\"\\,\ line\ %l\\,\ characters\ %c-%*\\d\ %.%#,
\%EFile\ \"%f\"\\,\ line\ %l\\,\ character\ %c:%m, \%EFile\ \"%f\"\\,\ line\ %l\\,\ character\ %c:%m,

View File

@ -10495,7 +10495,7 @@ text...
:exe[cute] {expr1} .. Executes the string that results from the evaluation :exe[cute] {expr1} .. Executes the string that results from the evaluation
of {expr1} as an Ex command. of {expr1} as an Ex command.
Multiple arguments are concatenated, with a space in Multiple arguments are concatenated, with a space in
between. To avoid the extra space use the "." between. To avoid the extra space use the ".."
operator to concatenate strings into one argument. operator to concatenate strings into one argument.
{expr1} is used as the processed command, command line {expr1} is used as the processed command, command line
editing keys are not recognized. editing keys are not recognized.

View File

@ -159,6 +159,9 @@ When no argument is given to |:help| the file given with the 'helpfile' option
will be opened. Otherwise the specified tag is searched for in all "doc/tags" will be opened. Otherwise the specified tag is searched for in all "doc/tags"
files in the directories specified in the 'runtimepath' option. files in the directories specified in the 'runtimepath' option.
If you would like to open the help in the current window, see this tip:
|help-curwin|.
The initial height of the help window can be set with the 'helpheight' option The initial height of the help window can be set with the 'helpheight' option
(default 20). (default 20).

View File

@ -762,6 +762,9 @@ and the screen is about to be redrawn:
-> Press <Enter> or <Space> to redraw the screen and continue, without that -> Press <Enter> or <Space> to redraw the screen and continue, without that
key being used otherwise. key being used otherwise.
-> Press ':' or any other Normal mode command character to start that command. -> Press ':' or any other Normal mode command character to start that command.
Note that after an external command some special keys, such as the cursor
keys, may not work normally, because the terminal is still set to a state
for executing the external command.
-> Press 'k', <Up>, 'u', 'b' or 'g' to scroll back in the messages. This -> Press 'k', <Up>, 'u', 'b' or 'g' to scroll back in the messages. This
works the same way as at the |more-prompt|. Only works when 'more' is on. works the same way as at the |more-prompt|. Only works when 'more' is on.
-> Pressing 'j', 'f', 'd' or <Down> is ignored when messages scrolled off the -> Pressing 'j', 'f', 'd' or <Down> is ignored when messages scrolled off the

View File

@ -384,15 +384,19 @@ the pattern will not match. This is only useful when debugging Vim.
============================================================================== ==============================================================================
3. Magic */magic* 3. Magic */magic*
Some characters in the pattern are taken literally. They match with the same Some characters in the pattern, such as letters, are taken literally. They
character in the text. When preceded with a backslash however, these match exactly the same character in the text. When preceded with a backslash
characters get a special meaning. however, these characters may get a special meaning. For example, "a" matches
the letter "a", while "\a" matches any alphabetic character.
Other characters have a special meaning without a backslash. They need to be Other characters have a special meaning without a backslash. They need to be
preceded with a backslash to match literally. preceded with a backslash to match literally. For example "." matches any
character while "\." matches a dot.
If a character is taken literally or not depends on the 'magic' option and the If a character is taken literally or not depends on the 'magic' option and the
items mentioned next. items in the pattern mentioned next. The 'magic' option should always be set,
but it can be switched off for Vi compatibility. We mention the effect of
'nomagic' here for completeness, but we recommend against using that.
*/\m* */\M* */\m* */\M*
Use of "\m" makes the pattern after it be interpreted as if 'magic' is set, Use of "\m" makes the pattern after it be interpreted as if 'magic' is set,
ignoring the actual value of the 'magic' option. ignoring the actual value of the 'magic' option.
@ -401,30 +405,28 @@ Use of "\M" makes the pattern after it be interpreted as if 'nomagic' is used.
Use of "\v" means that after it, all ASCII characters except '0'-'9', 'a'-'z', Use of "\v" means that after it, all ASCII characters except '0'-'9', 'a'-'z',
'A'-'Z' and '_' have special meaning: "very magic" 'A'-'Z' and '_' have special meaning: "very magic"
Use of "\V" means that after it, only a backslash and terminating character Use of "\V" means that after it, only a backslash and the terminating
(usually / or ?) have special meaning: "very nomagic" character (usually / or ?) have special meaning: "very nomagic"
Examples: Examples:
after: \v \m \M \V matches ~ after: \v \m \M \V matches ~
'magic' 'nomagic' 'magic' 'nomagic'
$ $ $ \$ matches end-of-line a a a a literal 'a'
. . \. \. matches any character \a \a \a \a any alphabetic character
. . \. \. any character
\. \. . . literal dot
$ $ $ \$ end-of-line
* * \* \* any number of the previous atom * * \* \* any number of the previous atom
~ ~ \~ \~ latest substitute string ~ ~ \~ \~ latest substitute string
() \(\) \(\) \(\) grouping into an atom () \(\) \(\) \(\) group as an atom
| \| \| \| separating alternatives | \| \| \| nothing: separates alternatives
\a \a \a \a alphabetic character
\\ \\ \\ \\ literal backslash \\ \\ \\ \\ literal backslash
\. \. . . literal dot \{ { { { literal curly brace
\{ { { { literal '{'
a a a a literal 'a'
{only Vim supports \m, \M, \v and \V} {only Vim supports \m, \M, \v and \V}
It is recommended to always keep the 'magic' option at the default setting, If you want to you can make a pattern immune to the 'magic' option being set
which is 'magic'. This avoids portability problems. To make a pattern immune or not by putting "\m" or "\M" at the start of the pattern.
to the 'magic' option being set or not, put "\m" or "\M" at the start of the
pattern.
============================================================================== ==============================================================================
4. Overview of pattern items *pattern-overview* 4. Overview of pattern items *pattern-overview*

View File

@ -446,4 +446,28 @@ A slightly more advanced version is used in the |matchparen| plugin.
autocmd InsertEnter * match none autocmd InsertEnter * match none
< <
==============================================================================
Opening help in the current window *help-curwin*
By default, help is displayed in a split window. If you prefer it opens in
the current window, try this custom `:HelpCurwin` command:
>
command -bar -nargs=? -complete=help HelpCurwin execute s:HelpCurwin(<q-args>)
let s:did_open_help = v:false
function s:HelpCurwin(subject) abort
let mods = 'silent noautocmd keepalt'
if !s:did_open_help
execute mods .. ' help'
execute mods .. ' helpclose'
let s:did_open_help = v:true
endif
if !getcompletion(a:subject, 'help')->empty()
execute mods .. ' edit ' .. &helpfile
endif
return 'help ' .. a:subject
endfunction
<
vim:tw=78:ts=8:noet:ft=help:norl: vim:tw=78:ts=8:noet:ft=help:norl:

View File

@ -1,7 +1,7 @@
" Language: Dune buildsystem " Language: Dune buildsystem
" Maintainer: Markus Mottl <markus.mottl@gmail.com> " Maintainer: Markus Mottl <markus.mottl@gmail.com>
" Anton Kochkov <anton.kochkov@gmail.com> " Anton Kochkov <anton.kochkov@gmail.com>
" URL: https://github.com/rgrinberg/vim-ocaml " URL: https://github.com/ocaml/vim-ocaml
" Last Change: " Last Change:
" 2018 Nov 3 - Added commentstring (Markus Mottl) " 2018 Nov 3 - Added commentstring (Markus Mottl)
" 2017 Sep 6 - Initial version (Etienne Millon) " 2017 Sep 6 - Initial version (Etienne Millon)

View File

@ -0,0 +1,19 @@
" Vim ftplugin file
" Language: fstab file
" Maintainer: Radu Dineiu <radu.dineiu@gmail.com>
" URL: https://raw.github.com/rid9/vim-fstab/master/ftplugin/fstab.vim
" Last Change: 2020 Dec 29
" Version: 1.0
"
" Credits:
" Subhaditya Nath <sn03.general@gmail.com>
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
setlocal commentstring=#%s
let b:undo_ftplugin = "setlocal commentstring<"
" vim: ts=8 ft=vim

View File

@ -5,7 +5,7 @@
" Pierre Vittet <pierre-vittet@pvittet.com> " Pierre Vittet <pierre-vittet@pvittet.com>
" Stefano Zacchiroli <zack@bononia.it> " Stefano Zacchiroli <zack@bononia.it>
" Vincent Aravantinos <firstname.name@imag.fr> " Vincent Aravantinos <firstname.name@imag.fr>
" URL: https://github.com/rgrinberg/vim-ocaml " URL: https://github.com/ocaml/vim-ocaml
" Last Change: " Last Change:
" 2013 Oct 27 - Added commentstring (MM) " 2013 Oct 27 - Added commentstring (MM)
" 2013 Jul 26 - load default compiler settings (MM) " 2013 Jul 26 - load default compiler settings (MM)
@ -38,7 +38,8 @@ let s:cposet=&cpoptions
set cpo&vim set cpo&vim
" Comment string " Comment string
setlocal comments= setlocal comments=sr:(*\ ,mb:\ ,ex:*)
setlocal comments^=sr:(**,mb:\ \ ,ex:*)
setlocal commentstring=(*%s*) setlocal commentstring=(*%s*)
" Add mappings, unless the user didn't want this. " Add mappings, unless the user didn't want this.
@ -391,8 +392,8 @@ endfunction
endif endif
endfun endfun
" This variable contain a dictionnary of list. Each element of the dictionnary " This variable contains a dictionary of lists. Each element of the dictionary
" represent an annotation system. An annotation system is a list with: " represents an annotation system. An annotation system is a list with:
" - annotation file name as its key " - annotation file name as its key
" - annotation file path as first element of the contained list " - annotation file path as first element of the contained list
" - build path as second element of the contained list " - build path as second element of the contained list
@ -521,7 +522,7 @@ endfunction
"c. link this stuff with what the user wants "c. link this stuff with what the user wants
" ie. get the expression selected/under the cursor " ie. get the expression selected/under the cursor
let s:ocaml_word_char = '\w|[À-ÿ]|''' let s:ocaml_word_char = '\w|[\xc0-\xff]|'''
"In: the current mode (eg. "visual", "normal", etc.) "In: the current mode (eg. "visual", "normal", etc.)
"Out: the borders of the expression we are looking for the type "Out: the borders of the expression we are looking for the type

View File

@ -0,0 +1,15 @@
" Vim filetype plugin file
" Language: Sexplib
" Maintainer: Markus Mottl <markus.mottl@gmail.com>
" URL: https://github.com/ocaml/vim-ocaml
" Last Change:
" 2017 Apr 12 - First version (MM)
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin=1
" Comment string
setl commentstring=;\ %s
setl comments=:;

13
runtime/indent/dune.vim Normal file
View File

@ -0,0 +1,13 @@
" Vim indent file
" Language: dune
" Maintainers: Markus Mottl <markus.mottl@gmail.com>
" URL: https://github.com/ocaml/vim-ocaml
" Last Change: 2021 Jan 01
if exists("b:did_indent")
finish
endif
let b:did_indent = 1
" dune format-dune-file uses 1 space to indent
setlocal softtabstop=1 shiftwidth=1 expandtab

View File

@ -3,7 +3,7 @@
" Maintainers: Jean-Francois Yuen <jfyuen@happycoders.org> " Maintainers: Jean-Francois Yuen <jfyuen@happycoders.org>
" Mike Leary <leary@nwlink.com> " Mike Leary <leary@nwlink.com>
" Markus Mottl <markus.mottl@gmail.com> " Markus Mottl <markus.mottl@gmail.com>
" URL: http://www.ocaml.info/vim/indent/ocaml.vim " URL: https://github.com/ocaml/vim-ocaml
" Last Change: 2017 Jun 13 " Last Change: 2017 Jun 13
" 2005 Jun 25 - Fixed multiple bugs due to 'else\nreturn ind' working " 2005 Jun 25 - Fixed multiple bugs due to 'else\nreturn ind' working
" 2005 May 09 - Added an option to not indent OCaml-indents specially (MM) " 2005 May 09 - Added an option to not indent OCaml-indents specially (MM)
@ -30,7 +30,8 @@ setlocal nosmartindent
" Comment formatting " Comment formatting
if !exists("no_ocaml_comments") if !exists("no_ocaml_comments")
if (has("comments")) if (has("comments"))
setlocal comments=sr:(*,mb:*,ex:*) setlocal comments=sr:(*\ ,mb:\ ,ex:*)
setlocal comments^=sr:(**,mb:\ \ ,ex:*)
setlocal fo=cqort setlocal fo=cqort
endif endif
endif endif

View File

@ -2,7 +2,7 @@
" Language: Diff (context or unified) " Language: Diff (context or unified)
" Maintainer: Bram Moolenaar <Bram@vim.org> " Maintainer: Bram Moolenaar <Bram@vim.org>
" Translations by Jakson Alves de Aquino. " Translations by Jakson Alves de Aquino.
" Last Change: 2020 Dec 07 " Last Change: 2020 Dec 30
" Quit when a (custom) syntax file was already loaded " Quit when a (custom) syntax file was already loaded
if exists("b:current_syntax") if exists("b:current_syntax")
@ -348,11 +348,16 @@ syn match diffLine "^\d\+\(,\d\+\)\=[cda]\d\+\>.*"
syn match diffFile "^diff\>.*" syn match diffFile "^diff\>.*"
syn match diffFile "^Index: .*" syn match diffFile "^Index: .*"
syn match diffFile "^==== .*" syn match diffFile "^==== .*"
" Old style diff uses *** for old and --- for new.
" Unified diff uses --- for old and +++ for new; names are wrong but it works. if search('^@@ -\S\+ +\S\+ @@', 'nw', '', 100)
syn match diffOldFile "^+++ .*" " unified
syn match diffOldFile "^\*\*\* .*" syn match diffOldFile "^--- .*"
syn match diffNewFile "^--- .*" syn match diffNewFile "^+++ .*"
else
" context / old style
syn match diffOldFile "^\*\*\* .*"
syn match diffNewFile "^--- .*"
endif
" Used by git " Used by git
syn match diffIndexLine "^index \x\x\x\x.*" syn match diffIndexLine "^index \x\x\x\x.*"

View File

@ -1,7 +1,8 @@
" Vim syntax file
" Language: Dune buildsystem " Language: Dune buildsystem
" Maintainer: Markus Mottl <markus.mottl@gmail.com> " Maintainer: Markus Mottl <markus.mottl@gmail.com>
" Anton Kochkov <anton.kochkov@gmail.com> " Anton Kochkov <anton.kochkov@gmail.com>
" URL: https://github.com/rgrinberg/vim-ocaml " URL: https://github.com/ocaml/vim-ocaml
" Last Change: " Last Change:
" 2019 Feb 27 - Add newer keywords to the syntax (Simon Cruanes) " 2019 Feb 27 - Add newer keywords to the syntax (Simon Cruanes)
" 2018 May 8 - Check current_syntax (Kawahara Satoru) " 2018 May 8 - Check current_syntax (Kawahara Satoru)
@ -28,7 +29,7 @@ syn keyword lispKey ppx_runtime_libraries virtual_deps js_of_ocaml link_flags
syn keyword lispKey javascript_files flags ocamlc_flags ocamlopt_flags pps staged_pps syn keyword lispKey javascript_files flags ocamlc_flags ocamlopt_flags pps staged_pps
syn keyword lispKey library_flags c_flags c_library_flags kind package action syn keyword lispKey library_flags c_flags c_library_flags kind package action
syn keyword lispKey deps targets locks fallback syn keyword lispKey deps targets locks fallback
syn keyword lispKey inline_tests tests names syn keyword lispKey inline_tests tests test names
syn keyword lispAtom true false syn keyword lispAtom true false

View File

@ -1,8 +1,8 @@
" Vim syntax file " Vim syntax file
" Language: fstab file " Language: fstab file
" Maintainer: Radu Dineiu <radu.dineiu@gmail.com> " Maintainer: Radu Dineiu <radu.dineiu@gmail.com>
" URL: https://raw.github.com/rid9/vim-fstab/master/fstab.vim " URL: https://raw.github.com/rid9/vim-fstab/master/syntax/fstab.vim
" Last Change: 2020 Aug 06 " Last Change: 2020 Dec 30
" Version: 1.4 " Version: 1.4
" "
" Credits: " Credits:

216
runtime/syntax/gift.vim Normal file
View File

@ -0,0 +1,216 @@
" Vim syntax file
"
" Language: Moodle GIFT (General Import Format Template)
" Maintainer: Selim Temizer (http://selimtemizer.com)
" Creation: November 28, 2020
" Latest Revision: December 21, 2020
" Note: The order of entities in this file is important!
if version < 600
syntax clear
elseif exists("b:current_syntax")
finish
endif
setlocal conceallevel=1
"-----------------------------------------------
" GIFT entities
syn match giftS "\~" contained "GIFT special characters
syn match giftS "=" contained
syn match giftS "#" contained
syn match giftS "{" contained
syn match giftS "}" contained
syn match giftS ":" contained
syn match giftES "\\\~" contained conceal cchar=~ "GIFT escaped special characters
syn match giftES "\\=" contained conceal cchar==
syn match giftES "\\#" contained conceal cchar=#
syn match giftES "\\{" contained conceal cchar={
syn match giftES "\\}" contained conceal cchar=}
syn match giftES "\\:" contained conceal cchar=:
syn match giftEN "\\n" contained conceal cchar=n "GIFT escaped newline
syn match giftFormat "\[html]" contained "GIFT formats
syn match giftFormat "\[plain]" contained
syn match giftFormat "\[moodle]" contained
syn match giftFormat "\[markdown]" contained
"--------------------------------------------------------
" HTML entities
syn match giftH "<" contained "HTML characters that might need to be handled/escaped
syn match giftH ">" contained
syn match giftH "&" contained
syn match giftEH "&lt;" contained conceal cchar=< "HTML escaped characters
syn match giftEH "&gt;" contained conceal cchar=>
syn match giftEH "&amp;" contained conceal cchar=&
syn match giftEH "&nbsp;" contained conceal cchar=_
"-------------------------------------------------------
" Answer components: Feedback and general feedback
syn match giftFB "#\_.\{-}\(\_^\|[^\\]\)\ze\(=\|\~\|#\|####\|}\)" contained contains=giftF "Feedback block
syn match giftF "#\zs\_.\{-}\(\_^\|[^\\]\)\ze\(=\|\~\|#\|####\|}\)" contained contains=@giftCEF "Feedback
syn match giftGFB "####\_.\{-}\(\_^\|[^\\]\)\ze}" contained contains=giftGF "General feedback block
syn match giftGF "####\zs\_.\{-}\(\_^\|[^\\]\)\ze}" contained contains=@giftCEF "General feedback
"------------------------------------------------------
" Answer components: Other components
syn keyword giftTF T TRUE F FALSE contained
syn match giftNum1 "[-+]\=[.0-9]\+" contained "Something matching a number
syn match giftNum2 "[-+]\=[.0-9]\+\s*:\s*[-+]\=[.0-9]\+" contained contains=giftNum2D "Number with error margin
syn match giftNum2D ":" contained "Associated delimiter
syn match giftNum3 "[-+]\=[.0-9]\+\s*\.\.\s*[-+]\=[.0-9]\+" contained contains=giftNum3D "Number as min/max range
syn match giftNum3D "\.\." contained "Associated delimiter
syn match giftWeightB "%-*[0-9]\{1,2}\.\?[0-9]*%" contained contains=giftWeight "Weight block
syn match giftWeight "%\zs-*[0-9]\{1,2}\.\?[0-9]*\ze%" contained "Weight
"-----------------------------------------------------
" Answer choices
syn match giftWrongNum "\~\zs\_.\{-}\(\_^\|[^\\]\)\ze\(####\|}\)" contained contains=@giftCEFF "Wrong numeric choice
syn match giftRightNum "=\zs\_.\{-}\(\_^\|[^\\]\)\ze\(=\|\~\|####\|}\)" contained contains=@giftCEFFW,@giftNums "Right numeric choice
syn match giftWrong "\~\zs\_.\{-}\(\_^\|[^\\]\)\ze\(=\|\~\|####\|}\)" contained contains=@giftCEFFW "Wrong choice
syn match giftRight "=\zs\_.\{-}\(\ze->\|\(\_^\|[^\\]\)\ze\(=\|\~\|####\|}\)\)" contained contains=@giftCEFFW "Right choice
syn match giftMatchB "->\_.\{-}\(\_^\|[^\\]\)\ze\(=\|\~\|####\|}\)" contained contains=giftMatch "Match choice block
syn match giftMatch "->\zs\_.\{-}\(\_^\|[^\\]\)\ze\(=\|\~\|####\|}\)" contained contains=@giftCE "Match choice
"----------------------------------------------------
" Answer
syn match giftAnswer "{\_.\{-}\(\_^\|[^\\]\)}" contained keepend contains=@giftA "General answer
syn match giftAnswer "{}" contained "Minimal answer
syn match giftAnswerNum "{\_[[:space:]]*#\_[^#]\_.\{-}\(\_^\|[^\\]\)}" contained keepend contains=@giftANum "Numeric answer
syn match giftAnswerNumD "{\zs\_[[:space:]]*#" contained "Associated delimiter
"---------------------------------------------------
" Question
" The first pattern matches the last question at the end of the file (in case there is no empty line coming after).
" However, it slows down parsing (and especially scrolling up), therefore it is commented out.
"syn match giftQuestion "[^{[:space:]]\_.\{-}\%$" keepend contains=@giftCEF,giftAnswer,giftAnswerNum
syn match giftQuestion "[^{[:space:]]\_.\{-}\n\(\s*\n\)\+" keepend contains=@giftCEF,giftAnswer,giftAnswerNum
"--------------------------------------------------
" Question name
syn match giftName "::\_.\{-}::" contains=@giftCE,giftNameD "Question name
syn match giftNameD "::" contained "Associated delimiter
"-------------------------------------------------
" Category
syn match giftCategoryB "^\s*\$CATEGORY:.*\n\+" contains=giftCategory "Category block
syn match giftCategory "^\s*\$CATEGORY:\zs.*\ze\n" contained "Category
"------------------------------------------------
" Comments (may need to be the last entity)
syn keyword giftTodo FIXME TODO NOTE FIX XXX contained
syn match giftIdB "\[id:\(\\]\|[^][:cntrl:]]\)\+]" contained contains=giftId "Id block
syn match giftId "\[id:\zs\(\\]\|[^][:cntrl:]]\)\+\ze]" contained "Id
syn match giftTagB "\[tag:\(\\]\|[^]<>`[:cntrl:]]\)\+]" contained contains=giftTag "Tag block
syn match giftTag "\[tag:\zs\(\\]\|[^]<>`[:cntrl:]]\)\+\ze]" contained "Tag
syn match giftComment "^\s*//.*" contains=giftTodo,giftIdB,giftTagB
"-----------------------------------------------
" Clusters
"Comments and entities (to be escaped)
syn cluster giftCE contains=giftComment,giftS,giftES,giftEN,giftH,giftEH
"The above plus format
syn cluster giftCEF contains=@giftCE,giftFormat
"The above plus feedback block
syn cluster giftCEFF contains=@giftCEF,giftFB
"The above plus weight block
syn cluster giftCEFFW contains=@giftCEFF,giftWeightB
"Possible numerical representations
syn cluster giftNums contains=giftNum1,giftNum2,giftNum3
"Possible contents of answers
syn cluster giftA contains=giftComment,giftTF,giftWrong,giftRight,giftMatchB,giftFB,giftGFB
"Possible contents of numerical answers
syn cluster giftANum contains=giftAnswerNumD,giftComment,@giftNums,giftWrongNum,giftRightNum,giftFB,giftGFB
"-----------------------------------------------
let b:current_syntax = "gift"
"-----------------------------------------------
hi Conceal ctermbg=NONE ctermfg=Blue guibg=NONE guifg=Blue
hi Feedback ctermbg=NONE ctermfg=DarkCyan guibg=NONE guifg=DarkCyan
hi GFeedback ctermbg=NONE ctermfg=DarkGreen guibg=NONE guifg=DarkGreen
hi WeightB ctermbg=NONE ctermfg=DarkYellow guibg=NONE guifg=DarkYellow
"-----------------------------------------------
hi def link giftS Error
hi def link giftES Conceal
hi def link giftEN Conceal
hi def link giftFormat LineNr
hi def link giftH Error
hi def link giftEH Conceal
hi def link giftFB PreProc
hi def link giftF Feedback
hi def link giftGFB Title
hi def link giftGF GFeedback
hi def link giftTF Question
hi def link giftNum1 Question
hi def link giftNum2 Question
hi def link giftNum2D Special
hi def link giftNum3 Question
hi def link giftNum3D Special
hi def link giftWeightB WeightB
hi def link giftWeight Identifier
hi def link giftWrongNum Constant
hi def link giftRightNum Question
hi def link giftWrong Constant
hi def link giftRight Question
hi def link giftMatchB ModeMsg
hi def link giftMatch Constant
hi def link giftAnswer MoreMsg
hi def link giftAnswerNum MoreMsg
hi def link giftAnswerNumD Identifier
hi def link giftQuestion Identifier
hi def link giftName PreProc
hi def link giftNameD Directory
hi def link giftCategoryB LineNr
hi def link giftCategory Directory
hi def link giftTodo Todo
hi def link giftIdB LineNr
hi def link giftId Title
hi def link giftTagB LineNr
hi def link giftTag Constant
hi def link giftComment Comment

View File

@ -4,7 +4,7 @@
" Maintainers: Markus Mottl <markus.mottl@gmail.com> " Maintainers: Markus Mottl <markus.mottl@gmail.com>
" Karl-Heinz Sylla <Karl-Heinz.Sylla@gmd.de> " Karl-Heinz Sylla <Karl-Heinz.Sylla@gmd.de>
" Issac Trotts <ijtrotts@ucdavis.edu> " Issac Trotts <ijtrotts@ucdavis.edu>
" URL: https://github.com/rgrinberg/vim-ocaml " URL: https://github.com/ocaml/vim-ocaml
" Last Change: " Last Change:
" 2018 Nov 08 - Improved highlighting of operators (Maëlan) " 2018 Nov 08 - Improved highlighting of operators (Maëlan)
" 2018 Apr 22 - Improved support for PPX (Andrey Popp) " 2018 Apr 22 - Improved support for PPX (Andrey Popp)
@ -18,14 +18,20 @@
" can be distinguished from begin/end, which is used for indentation, " can be distinguished from begin/end, which is used for indentation,
" and folding. (David Baelde) " and folding. (David Baelde)
" quit when a syntax file was already loaded " Quit when a syntax file was already loaded
if exists("b:current_syntax") && b:current_syntax == "ocaml" if exists("b:current_syntax") && b:current_syntax == "ocaml"
finish finish
endif endif
let s:keepcpo = &cpo
set cpo&vim
" ' can be used in OCaml identifiers " ' can be used in OCaml identifiers
setlocal iskeyword+=' setlocal iskeyword+='
" ` is part of the name of polymorphic variants
setlocal iskeyword+=`
" OCaml is case sensitive. " OCaml is case sensitive.
syn case match syn case match
@ -123,7 +129,7 @@ syn region ocamlSig matchgroup=ocamlSigEncl start="\<sig\>" matchgroup=ocamlSi
syn region ocamlModSpec matchgroup=ocamlKeyword start="\<module\>" matchgroup=ocamlModule end="\<\u\(\w\|'\)*\>" contained contains=@ocamlAllErrs,ocamlComment skipwhite skipempty nextgroup=ocamlModTRWith,ocamlMPRestr syn region ocamlModSpec matchgroup=ocamlKeyword start="\<module\>" matchgroup=ocamlModule end="\<\u\(\w\|'\)*\>" contained contains=@ocamlAllErrs,ocamlComment skipwhite skipempty nextgroup=ocamlModTRWith,ocamlMPRestr
" "open" " "open"
syn region ocamlNone matchgroup=ocamlKeyword start="\<open\>" matchgroup=ocamlModule end="\<\u\(\w\|'\)*\( *\. *\u\(\w\|'\)*\)*\>" contains=@ocamlAllErrs,ocamlComment syn match ocamlKeyword "\<open\>" skipwhite skipempty nextgroup=ocamlFullMod
" "include" " "include"
syn match ocamlKeyword "\<include\>" skipwhite skipempty nextgroup=ocamlModParam,ocamlFullMod syn match ocamlKeyword "\<include\>" skipwhite skipempty nextgroup=ocamlModParam,ocamlFullMod
@ -225,7 +231,18 @@ syn match ocamlStar "*"
syn match ocamlAngle "<" syn match ocamlAngle "<"
syn match ocamlAngle ">" syn match ocamlAngle ">"
" Custom indexing operators: " Custom indexing operators:
syn match ocamlIndexingOp "\.[~?!:|&$%=>@^/*+-][~?!.:|&$%<=>@^*/+-]*\(()\|\[]\|{}\)\(<-\)\?" syn region ocamlIndexing matchgroup=ocamlIndexingOp
\ start="\.[~?!:|&$%=>@^/*+-][~?!.:|&$%<=>@^*/+-]*\_s*("
\ end=")\(\_s*<-\)\?"
\ contains=ALLBUT,@ocamlContained,ocamlParenErr
syn region ocamlIndexing matchgroup=ocamlIndexingOp
\ start="\.[~?!:|&$%=>@^/*+-][~?!.:|&$%<=>@^*/+-]*\_s*\["
\ end="]\(\_s*<-\)\?"
\ contains=ALLBUT,@ocamlContained,ocamlBrackErr
syn region ocamlIndexing matchgroup=ocamlIndexingOp
\ start="\.[~?!:|&$%=>@^/*+-][~?!.:|&$%<=>@^*/+-]*\_s*{"
\ end="}\(\_s*<-\)\?"
\ contains=ALLBUT,@ocamlContained,ocamlBraceErr
" Extension operators (has to be declared before regular infix operators): " Extension operators (has to be declared before regular infix operators):
syn match ocamlExtensionOp "#[#~?!.:|&$%<=>@^*/+-]\+" syn match ocamlExtensionOp "#[#~?!.:|&$%<=>@^*/+-]\+"
" Infix and prefix operators: " Infix and prefix operators:
@ -283,7 +300,6 @@ syn sync match ocamlSigSync grouphere ocamlSig "\<sig\>"
syn sync match ocamlSigSync groupthere ocamlSig "\<end\>" syn sync match ocamlSigSync groupthere ocamlSig "\<end\>"
" Define the default highlighting. " Define the default highlighting.
" Only when an item doesn't have highlighting yet
hi def link ocamlBraceErr Error hi def link ocamlBraceErr Error
hi def link ocamlBrackErr Error hi def link ocamlBrackErr Error
@ -308,9 +324,12 @@ hi def link ocamlModPath Include
hi def link ocamlObject Include hi def link ocamlObject Include
hi def link ocamlModule Include hi def link ocamlModule Include
hi def link ocamlModParam1 Include hi def link ocamlModParam1 Include
hi def link ocamlGenMod Include
hi def link ocamlModType Include hi def link ocamlModType Include
hi def link ocamlMPRestr3 Include hi def link ocamlMPRestr3 Include
hi def link ocamlFullMod Include hi def link ocamlFullMod Include
hi def link ocamlFuncWith Include
hi def link ocamlModParam Include
hi def link ocamlModTypeRestr Include hi def link ocamlModTypeRestr Include
hi def link ocamlWith Include hi def link ocamlWith Include
hi def link ocamlMTDef Include hi def link ocamlMTDef Include
@ -326,6 +345,7 @@ hi def link ocamlModPreRHS Keyword
hi def link ocamlMPRestr2 Keyword hi def link ocamlMPRestr2 Keyword
hi def link ocamlKeyword Keyword hi def link ocamlKeyword Keyword
hi def link ocamlMethod Include hi def link ocamlMethod Include
hi def link ocamlArrow Keyword
hi def link ocamlKeyChar Keyword hi def link ocamlKeyChar Keyword
hi def link ocamlAnyVar Keyword hi def link ocamlAnyVar Keyword
hi def link ocamlTopStop Keyword hi def link ocamlTopStop Keyword
@ -367,4 +387,7 @@ hi def link ocamlPpxEncl ocamlEncl
let b:current_syntax = "ocaml" let b:current_syntax = "ocaml"
let &cpo = s:keepcpo
unlet s:keepcpo
" vim: ts=8 " vim: ts=8

38
runtime/syntax/opam.vim Normal file
View File

@ -0,0 +1,38 @@
" Vim syntax file
" Language: OPAM - OCaml package manager
" Maintainer: Markus Mottl <markus.mottl@gmail.com>
" URL: https://github.com/ocaml/vim-ocaml
" Last Change:
" 2020 Dec 31 - Added header (Markus Mottl)
if exists("b:current_syntax")
finish
endif
" need %{vars}%
" env: [[CAML_LD_LIBRARY_PATH = "%{lib}%/stublibs"]]
syn keyword opamKeyword1 remove depends pin-depends depopts conflicts env packages patches version maintainer tags license homepage authors doc install author available name depexts substs synopsis description
syn match opamKeyword2 "\v(bug-reports|post-messages|ocaml-version|opam-version|dev-repo|build-test|build-doc|build)"
syn keyword opamTodo FIXME NOTE NOTES TODO XXX contained
syn match opamComment "#.*$" contains=opamTodo,@Spell
syn match opamOperator ">\|<\|=\|<=\|>="
syn region opamInterpolate start=/%{/ end=/}%/ contained
syn region opamString start=/"/ end=/"/ contains=opamInterpolate
syn region opamSeq start=/\[/ end=/\]/ contains=ALLBUT,opamKeyword1,opamKeyword2
syn region opamExp start=/{/ end=/}/ contains=ALLBUT,opamKeyword1,opamKeyword2
hi link opamKeyword1 Keyword
hi link opamKeyword2 Keyword
hi link opamString String
hi link opamExp Function
hi link opamSeq Statement
hi link opamOperator Operator
hi link opamComment Comment
hi link opamInterpolate Identifier
let b:current_syntax = "opam"
" vim: ts=2 sw=2

View File

@ -0,0 +1,88 @@
" Vim syntax file
" Language: S-expressions as used in Sexplib
" Filenames: *.sexp
" Maintainers: Markus Mottl <markus.mottl@gmail.com>
" URL: https://github.com/ocaml/vim-ocaml
" Last Change: 2020 Dec 31 - Updated header for Vim contribution (MM)
" 2017 Apr 11 - Improved matching of negative numbers (MM)
" 2012 Jun 20 - Fixed a block comment highlighting bug (MM)
" 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") && b:current_syntax == "sexplib"
finish
endif
" Sexplib is case sensitive.
syn case match
" Comments
syn keyword sexplibTodo contained TODO FIXME XXX NOTE
syn region sexplibBlockComment matchgroup=sexplibComment start="#|" matchgroup=sexplibComment end="|#" contains=ALLBUT,sexplibQuotedAtom,sexplibUnquotedAtom,sexplibEncl,sexplibComment
syn match sexplibSexpComment "#;" skipwhite skipempty nextgroup=sexplibQuotedAtomComment,sexplibUnquotedAtomComment,sexplibListComment,sexplibComment
syn region sexplibQuotedAtomComment start=+"+ skip=+\\\\\|\\"+ end=+"+ contained
syn match sexplibUnquotedAtomComment /\([^;()" \t#|]\|#[^;()" \t|]\||[^;()" \t#]\)[^;()" \t]*/ contained
syn region sexplibListComment matchgroup=sexplibComment start="(" matchgroup=sexplibComment end=")" contained contains=ALLBUT,sexplibEncl,sexplibString,sexplibQuotedAtom,sexplibUnquotedAtom,sexplibTodo,sexplibNumber,sexplibFloat
syn match sexplibComment ";.*" contains=sexplibTodo
" Atoms
syn match sexplibUnquotedAtom /\([^;()" \t#|]\|#[^;()" \t|]\||[^;()" \t#]\)[^;()" \t]*/
syn region sexplibQuotedAtom start=+"+ skip=+\\\\\|\\"+ end=+"+
syn match sexplibNumber "-\=\<\d\(_\|\d\)*[l|L|n]\?\>"
syn match sexplibNumber "-\=\<0[x|X]\(\x\|_\)\+[l|L|n]\?\>"
syn match sexplibNumber "-\=\<0[o|O]\(\o\|_\)\+[l|L|n]\?\>"
syn match sexplibNumber "-\=\<0[b|B]\([01]\|_\)\+[l|L|n]\?\>"
syn match sexplibFloat "-\=\<\d\(_\|\d\)*\.\?\(_\|\d\)*\([eE][-+]\=\d\(_\|\d\)*\)\=\>"
" Lists
syn region sexplibEncl transparent matchgroup=sexplibEncl start="(" matchgroup=sexplibEncl end=")" contains=ALLBUT,sexplibParenErr
" Errors
syn match sexplibUnquotedAtomErr /\([^;()" \t#|]\|#[^;()" \t|]\||[^;()" \t#]\)[^;()" \t]*\(#|\||#\)[^;()" \t]*/
syn match sexplibParenErr ")"
" Synchronization
syn sync minlines=50
syn sync maxlines=500
" Define the default highlighting.
" For version 5.7 and earlier: only when not done already
" For version 5.8 and later: only when an item doesn't have highlighting yet
if version >= 508 || !exists("did_sexplib_syntax_inits")
if version < 508
let did_sexplib_syntax_inits = 1
command -nargs=+ HiLink hi link <args>
else
command -nargs=+ HiLink hi def link <args>
endif
HiLink sexplibParenErr Error
HiLink sexplibUnquotedAtomErr Error
HiLink sexplibComment Comment
HiLink sexplibSexpComment Comment
HiLink sexplibQuotedAtomComment Include
HiLink sexplibUnquotedAtomComment Comment
HiLink sexplibBlockComment Comment
HiLink sexplibListComment Comment
HiLink sexplibBoolean Boolean
HiLink sexplibCharacter Character
HiLink sexplibNumber Number
HiLink sexplibFloat Float
HiLink sexplibUnquotedAtom Identifier
HiLink sexplibEncl Identifier
HiLink sexplibQuotedAtom Keyword
HiLink sexplibTodo Todo
HiLink sexplibEncl Keyword
delcommand HiLink
endif
let b:current_syntax = "sexplib"
" vim: ts=8

View File

@ -3,13 +3,16 @@
" Filenames: *.sml *.sig " Filenames: *.sml *.sig
" Maintainers: Markus Mottl <markus.mottl@gmail.com> " Maintainers: Markus Mottl <markus.mottl@gmail.com>
" Fabrizio Zeno Cornelli <zeno@filibusta.crema.unimi.it> " Fabrizio Zeno Cornelli <zeno@filibusta.crema.unimi.it>
" URL: http://www.ocaml.info/vim/syntax/sml.vim " Last Change: 2019 Oct 01 - Only spell check strings & comments (Chuan Wei Foo)
" Last Change: 2006 Oct 23 - Fixed character highlighting bug (MM) " 2015 Aug 31 - Fixed opening of modules (Ramana Kumar)
" 2002 Jun 02 - Fixed small typo (MM) " 2006 Oct 23 - Fixed character highlighting bug (MM)
" 2001 Nov 20 - Fixed small highlighting bug with modules (MM)
" quit when a syntax file was already loaded " quit when a syntax file was already loaded
if exists("b:current_syntax") if exists("b:current_syntax")
" Disable spell checking of syntax.
syn spell notoplevel
finish finish
endif endif
@ -52,7 +55,7 @@ syn region smlEncl transparent matchgroup=smlKeyword start="#\[" matchgroup=sm
" Comments " Comments
syn region smlComment start="(\*" end="\*)" contains=smlComment,smlTodo syn region smlComment start="(\*" end="\*)" contains=smlComment,smlTodo,@Spell
syn keyword smlTodo contained TODO FIXME XXX syn keyword smlTodo contained TODO FIXME XXX
@ -82,7 +85,7 @@ syn region smlSig matchgroup=smlModule start="\<sig\>" matchgroup=smlModule en
syn region smlModSpec matchgroup=smlKeyword start="\<structure\>" matchgroup=smlModule end="\<\u\(\w\|'\)*\>" contained contains=@smlAllErrs,smlComment skipwhite skipempty nextgroup=smlModTRWith,smlMPRestr syn region smlModSpec matchgroup=smlKeyword start="\<structure\>" matchgroup=smlModule end="\<\u\(\w\|'\)*\>" contained contains=@smlAllErrs,smlComment skipwhite skipempty nextgroup=smlModTRWith,smlMPRestr
" "open" " "open"
syn region smlNone matchgroup=smlKeyword start="\<open\>" matchgroup=smlModule end="\<\u\(\w\|'\)*\(\.\u\(\w\|'\)*\)*\>" contains=@smlAllErrs,smlComment syn region smlNone matchgroup=smlKeyword start="\<open\>" matchgroup=smlModule end="\<\w\(\w\|'\)*\(\.\w\(\w\|'\)*\)*\>" contains=@smlAllErrs,smlComment
" "structure" - somewhat complicated stuff ;-) " "structure" - somewhat complicated stuff ;-)
syn region smlModule matchgroup=smlKeyword start="\<\(structure\|functor\)\>" matchgroup=smlModule end="\<\u\(\w\|'\)*\>" contains=@smlAllErrs,smlComment skipwhite skipempty nextgroup=smlPreDef syn region smlModule matchgroup=smlKeyword start="\<\(structure\|functor\)\>" matchgroup=smlModule end="\<\u\(\w\|'\)*\>" contains=@smlAllErrs,smlComment skipwhite skipempty nextgroup=smlPreDef
@ -136,7 +139,7 @@ syn match smlModPath "\u\(\w\|'\)*\."he=e-1
syn match smlCharacter +#"\\""\|#"."\|#"\\\d\d\d"+ syn match smlCharacter +#"\\""\|#"."\|#"\\\d\d\d"+
syn match smlCharErr +#"\\\d\d"\|#"\\\d"+ syn match smlCharErr +#"\\\d\d"\|#"\\\d"+
syn region smlString start=+"+ skip=+\\\\\|\\"+ end=+"+ syn region smlString start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=@Spell
syn match smlFunDef "=>" syn match smlFunDef "=>"
syn match smlRefAssign ":=" syn match smlRefAssign ":="

File diff suppressed because it is too large Load Diff