summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2013-02-06 17:34:04 +0100
committerBram Moolenaar <Bram@vim.org>2013-02-06 17:34:04 +0100
commitfa13eef3c9edc81c07a47124c2c893a4bb253e58 (patch)
tree34863b7aafda94a1b74fff4de73ef799e0fbe77c
parent309379fc989a4f3337c9cf3361ab6eb9a456c626 (diff)
downloadvim-git-fa13eef3c9edc81c07a47124c2c893a4bb253e58.tar.gz
Updated runtime files.
-rw-r--r--runtime/autoload/clojurecomplete.vim20
-rw-r--r--runtime/doc/diff.txt2
-rw-r--r--runtime/doc/gui_w16.txt2
-rw-r--r--runtime/doc/gui_w32.txt2
-rw-r--r--runtime/doc/if_mzsch.txt2
-rw-r--r--runtime/doc/if_pyth.txt4
-rw-r--r--runtime/doc/indent.txt100
-rw-r--r--runtime/doc/index.txt20
-rw-r--r--runtime/doc/tags10
-rw-r--r--runtime/doc/todo.txt43
-rw-r--r--runtime/doc/usr_toc.txt2
-rw-r--r--runtime/filetype.vim6
-rw-r--r--runtime/ftplugin/clojure.vim79
-rw-r--r--runtime/indent/clojure.vim398
-rw-r--r--runtime/syntax/cl.vim4
-rw-r--r--runtime/syntax/clojure.vim134
-rw-r--r--runtime/syntax/help.vim9
17 files changed, 802 insertions, 35 deletions
diff --git a/runtime/autoload/clojurecomplete.vim b/runtime/autoload/clojurecomplete.vim
new file mode 100644
index 000000000..704ea074c
--- /dev/null
+++ b/runtime/autoload/clojurecomplete.vim
@@ -0,0 +1,20 @@
+" Vim completion script
+" Language: Clojure
+" Maintainer: Sung Pae <self@sungpae.com>
+" URL: https://github.com/guns/vim-clojure-static
+" License: Same as Vim
+" Last Change: 05 February 2013
+
+" Special forms and public vars in clojure.core
+" Generated from https://github.com/guns/vim-clojure-static/blob/vim-release-002/vim_clojure_static.clj
+" Clojure 1.5.0-RC6
+let s:words = ["*","*'","*1","*2","*3","*agent*","*allow-unresolved-vars*","*assert*","*clojure-version*","*command-line-args*","*compile-files*","*compile-path*","*compiler-options*","*data-readers*","*default-data-reader-fn*","*e","*err*","*file*","*flush-on-newline*","*fn-loader*","*in*","*math-context*","*ns*","*out*","*print-dup*","*print-length*","*print-level*","*print-meta*","*print-readably*","*read-eval*","*read-whitelist*","*source-path*","*unchecked-math*","*use-context-classloader*","*verbose-defrecords*","*warn-on-reflection*","+","+'","-","-'","->","->>","->ArrayChunk","->Vec","->VecNode","->VecSeq","-cache-protocol-fn","-reset-methods",".","..","/","<","<=","=","==",">",">=","EMPTY-NODE","accessor","aclone","add-classpath","add-watch","agent","agent-error","agent-errors","aget","alength","alias","all-ns","alter","alter-meta!","alter-var-root","amap","ancestors","and","apply","areduce","array-map","as->","aset","aset-boolean","aset-byte","aset-char","aset-double","aset-float","aset-int","aset-long","aset-short","assert","assoc!","assoc","assoc-in","associative?","atom","await","await-for","await1","bases","bean","bigdec","bigint","biginteger","binding","bit-and","bit-and-not","bit-clear","bit-flip","bit-not","bit-or","bit-set","bit-shift-left","bit-shift-right","bit-test","bit-xor","boolean","boolean-array","booleans","bound-fn","bound-fn*","bound?","butlast","byte","byte-array","bytes","case","cast","catch","char","char-array","char-escape-string","char-name-string","char?","chars","chunk","chunk-append","chunk-buffer","chunk-cons","chunk-first","chunk-next","chunk-rest","chunked-seq?","class","class?","clear-agent-errors","clojure-version","coll?","comment","commute","comp","comparator","compare","compare-and-set!","compile","complement","concat","cond","cond->","cond->>","condp","conj!","conj","cons","constantly","construct-proxy","contains?","count","counted?","create-ns","create-struct","cycle","dec","dec'","decimal?","declare","def","default-data-readers","definline","definterface","defmacro","defmethod","defmulti","defn","defn-","defonce","defprotocol","defrecord","defstruct","deftype","delay","delay?","deliver","denominator","deref","derive","descendants","destructure","disj!","disj","dissoc!","dissoc","distinct","distinct?","do","doall","dorun","doseq","dosync","dotimes","doto","double","double-array","doubles","drop","drop-last","drop-while","empty","empty?","ensure","enumeration-seq","error-handler","error-mode","eval","even?","every-pred","every?","ex-data","ex-info","extend","extend-protocol","extend-type","extenders","extends?","false?","ffirst","file-seq","filter","filterv","finally","find","find-keyword","find-ns","find-protocol-impl","find-protocol-method","find-var","first","flatten","float","float-array","float?","floats","flush","fn","fn","fn?","fnext","fnil","for","force","format","frequencies","future","future-call","future-cancel","future-cancelled?","future-done?","future?","gen-class","gen-interface","gensym","get","get-in","get-method","get-proxy-class","get-thread-bindings","get-validator","group-by","hash","hash-combine","hash-map","hash-set","identical?","identity","if","if-let","if-not","ifn?","import","in-ns","inc","inc'","init-proxy","instance?","int","int-array","integer?","interleave","intern","interpose","into","into-array","ints","io!","isa?","iterate","iterator-seq","juxt","keep","keep-indexed","key","keys","keyword","keyword?","last","lazy-cat","lazy-seq","let","let","letfn","line-seq","list","list*","list?","load","load-file","load-reader","load-string","loaded-libs","locking","long","long-array","longs","loop","loop","macroexpand","macroexpand-1","make-array","make-hierarchy","map","map-indexed","map?","mapcat","mapv","max","max-key","memfn","memoize","merge","merge-with","meta","method-sig","methods","min","min-key","mod","monitor-enter","monitor-exit","munge","name","namespace","namespace-munge","neg?","new","newline","next","nfirst","nil?","nnext","not","not-any?","not-empty","not-every?","not=","ns","ns-aliases","ns-imports","ns-interns","ns-map","ns-name","ns-publics","ns-refers","ns-resolve","ns-unalias","ns-unmap","nth","nthnext","nthrest","num","number?","numerator","object-array","odd?","or","parents","partial","partition","partition-all","partition-by","pcalls","peek","persistent!","pmap","pop!","pop","pop-thread-bindings","pos?","pr","pr-str","prefer-method","prefers","primitives-classnames","print","print-ctor","print-dup","print-method","print-simple","print-str","printf","println","println-str","prn","prn-str","promise","proxy","proxy-call-with-super","proxy-mappings","proxy-name","proxy-super","push-thread-bindings","pvalues","quot","quote","rand","rand-int","rand-nth","range","ratio?","rational?","rationalize","re-find","re-groups","re-matcher","re-matches","re-pattern","re-seq","read","read-line","read-string","realized?","recur","reduce","reduce-kv","reduced","reduced?","reductions","ref","ref-history-count","ref-max-history","ref-min-history","ref-set","refer","refer-clojure","reify","release-pending-sends","rem","remove","remove-all-methods","remove-method","remove-ns","remove-watch","repeat","repeatedly","replace","replicate","require","reset!","reset-meta!","resolve","rest","restart-agent","resultset-seq","reverse","reversible?","rseq","rsubseq","satisfies?","second","select-keys","send","send-off","send-via","seq","seq?","seque","sequence","sequential?","set!","set","set-agent-send-executor!","set-agent-send-off-executor!","set-error-handler!","set-error-mode!","set-validator!","set?","short","short-array","shorts","shuffle","shutdown-agents","slurp","some","some->","some->>","some-fn","sort","sort-by","sorted-map","sorted-map-by","sorted-set","sorted-set-by","sorted?","special-symbol?","spit","split-at","split-with","str","string?","struct","struct-map","subs","subseq","subvec","supers","swap!","symbol","symbol?","sync","take","take-last","take-nth","take-while","test","the-ns","thread-bound?","throw","time","to-array","to-array-2d","trampoline","transient","tree-seq","true?","try","type","unchecked-add","unchecked-add-int","unchecked-byte","unchecked-char","unchecked-dec","unchecked-dec-int","unchecked-divide-int","unchecked-double","unchecked-float","unchecked-inc","unchecked-inc-int","unchecked-int","unchecked-long","unchecked-multiply","unchecked-multiply-int","unchecked-negate","unchecked-negate-int","unchecked-remainder-int","unchecked-short","unchecked-subtract","unchecked-subtract-int","underive","unquote","unquote-splicing","update-in","update-proxy","use","val","vals","var","var-get","var-set","var?","vary-meta","vec","vector","vector-of","vector?","when","when-first","when-let","when-not","while","with-bindings","with-bindings*","with-in-str","with-loading-context","with-local-vars","with-meta","with-open","with-out-str","with-precision","with-redefs","with-redefs-fn","xml-seq","zero?","zipmap"]
+
+" Simple word completion omnifunc
+function! clojurecomplete#Complete(findstart, base)
+ if a:findstart
+ return searchpos('\<', 'bnW', line('.'))[1] - 1
+ else
+ return { 'words': filter(copy(s:words), 'v:val =~ "\\V\\^' . a:base . '"') }
+ endif
+endfunction
diff --git a/runtime/doc/diff.txt b/runtime/doc/diff.txt
index 036dc5e13..a51138ab9 100644
--- a/runtime/doc/diff.txt
+++ b/runtime/doc/diff.txt
@@ -220,7 +220,7 @@ The diffs are highlighted with these groups:
that parts in the middle that are still the
same are highlighted anyway. Only "iwhite" of
'diffopt' is used here.
-|hl-DiffDelete| DiffDelete Deleted lines. Also called filler lines,
+|hl-DiffDelete| DiffDelete Deleted lines. Also called filler lines,
because they don't really exist in this
buffer.
diff --git a/runtime/doc/gui_w16.txt b/runtime/doc/gui_w16.txt
index a98f0d039..5b1ca64ab 100644
--- a/runtime/doc/gui_w16.txt
+++ b/runtime/doc/gui_w16.txt
@@ -16,7 +16,7 @@ Vim's Graphical User Interface *gui-w16* *win16-gui*
Other relevant documentation:
|gui.txt| For generic items of the GUI.
-|os_msdos.txt| For items common to DOS and Windows.
+|os_msdos.txt| For items common to DOS and Windows.
|gui_w32.txt| Some items here are also applicable to the Win16 version.
{Vi does not have a Windows GUI}
diff --git a/runtime/doc/gui_w32.txt b/runtime/doc/gui_w32.txt
index 2958282d0..ee8049cbd 100644
--- a/runtime/doc/gui_w32.txt
+++ b/runtime/doc/gui_w32.txt
@@ -17,7 +17,7 @@ Vim's Win32 Graphical User Interface *gui-w32* *win32-gui*
Other relevant documentation:
|gui.txt| For generic items of the GUI.
-|os_win32.txt| For Win32 specific items.
+|os_win32.txt| For Win32 specific items.
{Vi does not have a Windows GUI}
diff --git a/runtime/doc/if_mzsch.txt b/runtime/doc/if_mzsch.txt
index f9b87f7fb..b7a35c267 100644
--- a/runtime/doc/if_mzsch.txt
+++ b/runtime/doc/if_mzsch.txt
@@ -1,4 +1,4 @@
-*if_mzsch.txt* For Vim version 7.3. Last change: 2010 Feb 11
+*if_mzsch.txt* For Vim version 7.3. Last change: 2012 Dec 17
VIM REFERENCE MANUAL by Sergey Khorev
diff --git a/runtime/doc/if_pyth.txt b/runtime/doc/if_pyth.txt
index 23b6b38ab..575002319 100644
--- a/runtime/doc/if_pyth.txt
+++ b/runtime/doc/if_pyth.txt
@@ -1,4 +1,4 @@
-*if_pyth.txt* For Vim version 7.3. Last change: 2013 Jan 30
+*if_pyth.txt* For Vim version 7.3. Last change: 2013 Feb 03
VIM REFERENCE MANUAL by Paul Moore
@@ -385,7 +385,7 @@ sure edit "gvim.exe" and search for "python\d*.dll\c".
*:py3* *:python3*
The |:py3| and |:python3| commands work similar to |:python|. A simple check
-if the `:py3` command is wrong: >
+if the `:py3` command is working: >
:py3 print("Hello")
< *:py3file*
The |:py3file| command works similar to |:pyfile|.
diff --git a/runtime/doc/indent.txt b/runtime/doc/indent.txt
index 6a43896c0..022e21252 100644
--- a/runtime/doc/indent.txt
+++ b/runtime/doc/indent.txt
@@ -577,6 +577,106 @@ $VIMRUNTIME/indent directory for examples.
REMARKS ABOUT SPECIFIC INDENT FILES ~
+CLOJURE *ft-clojure-indent* *clojure-indent*
+
+Clojure indentation differs somewhat from traditional Lisps, due in part to
+the use of square and curly brackets, and otherwise by community convention.
+These conventions are not always universally followed, so the Clojure indent
+script offers a few configurable options, listed below.
+
+If the current vim does not include searchpairpos(), the indent script falls
+back to normal 'lisp' indenting, and the following options are ignored.
+
+ *g:clojure_maxlines*
+
+Set maximum scan distance of searchpairpos(). Larger values trade performance
+for correctness when dealing with very long forms. A value of 0 will scan
+without limits.
+>
+ " Default
+ let g:clojure_maxlines = 100
+<
+
+ *g:clojure_fuzzy_indent*
+ *g:clojure_fuzzy_indent_patterns*
+ *g:clojure_fuzzy_indent_blacklist*
+
+The 'lispwords' option is a list of comma-separated words that mark special
+forms whose subforms must be indented with two spaces.
+
+For example:
+>
+ (defn bad []
+ "Incorrect indentation")
+
+ (defn good []
+ "Correct indentation")
+<
+If you would like to specify 'lispwords' with a |pattern| instead, you can use
+the fuzzy indent feature:
+>
+ " Default
+ let g:clojure_fuzzy_indent = 1
+ let g:clojure_fuzzy_indent_patterns = ['^with', '^def', '^let']
+ let g:clojure_fuzzy_indent_blacklist =
+ \ ['-fn$', '\v^with-%(meta|out-str|loading-context)$']
+
+ " Legacy comma-delimited string version; the list format above is
+ " recommended. Note that patterns are implicitly anchored with ^ and $
+ let g:clojure_fuzzy_indent_patterns = 'with.*,def.*,let.*'
+<
+|g:clojure_fuzzy_indent_patterns| and |g:clojure_fuzzy_indent_blacklist| are
+|Lists| of patterns that will be matched against the unquoted, unqualified
+symbol at the head of a list. This means that a pattern like "^foo" will match
+all these candidates: "foobar", "my.ns/foobar", and "#'foobar".
+
+Each candidate word is tested for special treatment in this order:
+
+ 1. Return true if word is literally in 'lispwords'
+ 2. Return false if word matches a pattern in
+ |g:clojure_fuzzy_indent_blacklist|
+ 3. Return true if word matches a pattern in
+ |g:clojure_fuzzy_indent_patterns|
+ 4. Return false and indent normally otherwise
+
+ *g:clojure_special_indent_words*
+
+Some forms in Clojure are indented so that every subform is indented only two
+spaces, regardless of 'lispwords'. If you have a custom construct that should
+be indented in this idiosyncratic fashion, you can add your symbols to the
+default list below.
+>
+ " Default
+ let g:clojure_special_indent_words =
+ \ 'deftype,defrecord,reify,proxy,extend-type,extend-protocol,letfn'
+<
+
+ *g:clojure_align_multiline_strings*
+
+Align subsequent lines in multiline strings to the column after the opening
+quote, instead of the same column.
+
+For example:
+>
+ (def default
+ "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do
+ eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut
+ enim ad minim veniam, quis nostrud exercitation ullamco laboris
+ nisi ut aliquip ex ea commodo consequat.")
+
+ (def aligned
+ "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do
+ eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut
+ enim ad minim veniam, quis nostrud exercitation ullamco laboris
+ nisi ut aliquip ex ea commodo consequat.")
+<
+This option is off by default.
+>
+ " Default
+ let g:clojure_align_multiline_strings = 0
+<
+
+
FORTRAN *ft-fortran-indent*
Block if, select case, where, and forall constructs are indented. So are
diff --git a/runtime/doc/index.txt b/runtime/doc/index.txt
index 423e7b9ac..57ca2fd79 100644
--- a/runtime/doc/index.txt
+++ b/runtime/doc/index.txt
@@ -94,8 +94,8 @@ tag char action in Insert mode ~
|i_CTRL-Z| CTRL-Z when 'insertmode' set: suspend Vim
|i_<Esc>| <Esc> end insert mode (unless 'insertmode' set)
|i_CTRL-[| CTRL-[ same as <Esc>
-|i_CTRL-\_CTRL-N| CTRL-\ CTRL-N go to Normal mode
-|i_CTRL-\_CTRL-G| CTRL-\ CTRL-G go to mode specified with 'insertmode'
+|i_CTRL-\_CTRL-N| CTRL-\ CTRL-N go to Normal mode
+|i_CTRL-\_CTRL-G| CTRL-\ CTRL-G go to mode specified with 'insertmode'
CTRL-\ a - z reserved for extensions
CTRL-\ others not used
|i_CTRL-]| CTRL-] trigger abbreviation
@@ -141,7 +141,7 @@ tag char action in Insert mode ~
|i_<ScrollWheelUp>| <ScrollWheelUp> move window three lines up
|i_<S-ScrollWheelUp>| <S-ScrollWheelUp> move window one page up
|i_<ScrollWheelLeft>| <ScrollWheelLeft> move window six columns left
-|i_<S-ScrollWheelLeft>| <S-ScrollWheelLeft> move window one page left
+|i_<S-ScrollWheelLeft>| <S-ScrollWheelLeft> move window one page left
|i_<ScrollWheelRight>| <ScrollWheelRight> move window six columns right
|i_<S-ScrollWheelRight>| <S-ScrollWheelRight> move window one page right
@@ -212,8 +212,8 @@ tag char note action in Normal mode ~
|CTRL-Y| CTRL-Y scroll N lines downwards
|CTRL-Z| CTRL-Z suspend program (or start new shell)
CTRL-[ <Esc> not used
-|CTRL-\_CTRL-N| CTRL-\ CTRL-N go to Normal mode (no-op)
-|CTRL-\_CTRL-G| CTRL-\ CTRL-G go to mode specified with 'insertmode'
+|CTRL-\_CTRL-N| CTRL-\ CTRL-N go to Normal mode (no-op)
+|CTRL-\_CTRL-G| CTRL-\ CTRL-G go to mode specified with 'insertmode'
CTRL-\ a - z reserved for extensions
CTRL-\ others not used
|CTRL-]| CTRL-] :ta to ident under cursor
@@ -431,7 +431,7 @@ tag char note action in Normal mode ~
|<Insert>| <Insert> 2 same as "i"
|<Left>| <Left> 1 same as "h"
|<LeftMouse>| <LeftMouse> 1 move cursor to the mouse click position
-|<MiddleMouse>| <MiddleMouse> 2 same as "gP" at the mouse click position
+|<MiddleMouse>| <MiddleMouse> 2 same as "gP" at the mouse click position
|<PageDown>| <PageDown> same as CTRL-F
|<PageUp>| <PageUp> same as CTRL-B
|<Right>| <Right> 1 same as "l"
@@ -640,7 +640,7 @@ tag char note action in Normal mode ~
|[s| [s 1 move to the previous misspelled word
|[z| [z 1 move to start of open fold
|[{| [{ 1 cursor N times back to unmatched '{'
-|[<MiddleMouse> [<MiddleMouse> 2 same as "[p"
+|[<MiddleMouse>| [<MiddleMouse> 2 same as "[p"
|]_CTRL-D| ] CTRL-D jump to first #define found in current and
included files matching the word under the
@@ -680,7 +680,7 @@ tag char note action in Normal mode ~
|]s| ]s 1 move to next misspelled word
|]z| ]z 1 move to end of open fold
|]}| ]} 1 cursor N times forward to unmatched '}'
-|]<MiddleMouse> ]<MiddleMouse> 2 same as "]p"
+|]<MiddleMouse>| ]<MiddleMouse> 2 same as "]p"
==============================================================================
2.4 Commands starting with 'g' *g*
@@ -1011,8 +1011,8 @@ tag command action in Command-line editing mode ~
CTRL-Z not used (reserved for suspend)
|c_<Esc>| <Esc> abandon command-line without executing it
|c_<Esc>| CTRL-[ same as <Esc>
-|c_CTRL-\_CTRL-N| CTRL-\ CTRL-N go to Normal mode, abandon command-line
-|c_CTRL-\_CTRL-G| CTRL-\ CTRL-G go to mode specified with 'insertmode',
+|c_CTRL-\_CTRL-N| CTRL-\ CTRL-N go to Normal mode, abandon command-line
+|c_CTRL-\_CTRL-G| CTRL-\ CTRL-G go to mode specified with 'insertmode',
abandon command-line
CTRL-\ a - d reserved for extensions
|c_CTRL-\_e| CTRL-\ e {expr} replace the command line with the result of
diff --git a/runtime/doc/tags b/runtime/doc/tags
index 5af1e18a0..da079b286 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -5032,6 +5032,7 @@ clipboard-exclude options.txt /*clipboard-exclude*
clipboard-html options.txt /*clipboard-html*
clipboard-unnamed options.txt /*clipboard-unnamed*
clipboard-unnamedplus options.txt /*clipboard-unnamedplus*
+clojure-indent indent.txt /*clojure-indent*
cmdarg-variable eval.txt /*cmdarg-variable*
cmdbang-variable eval.txt /*cmdbang-variable*
cmdline-arguments vi_diff.txt /*cmdline-arguments*
@@ -5653,6 +5654,7 @@ ft-ch-syntax syntax.txt /*ft-ch-syntax*
ft-changelog-plugin filetype.txt /*ft-changelog-plugin*
ft-changelog-syntax syntax.txt /*ft-changelog-syntax*
ft-chill-syntax syntax.txt /*ft-chill-syntax*
+ft-clojure-indent indent.txt /*ft-clojure-indent*
ft-cobol-syntax syntax.txt /*ft-cobol-syntax*
ft-coldfusion-syntax syntax.txt /*ft-coldfusion-syntax*
ft-csh-syntax syntax.txt /*ft-csh-syntax*
@@ -5817,6 +5819,12 @@ g:ada_space_errors ft_ada.txt /*g:ada_space_errors*
g:ada_standard_types ft_ada.txt /*g:ada_standard_types*
g:ada_with_gnat_project_files ft_ada.txt /*g:ada_with_gnat_project_files*
g:ada_withuse_ordinary ft_ada.txt /*g:ada_withuse_ordinary*
+g:clojure_align_multiline_strings indent.txt /*g:clojure_align_multiline_strings*
+g:clojure_fuzzy_indent indent.txt /*g:clojure_fuzzy_indent*
+g:clojure_fuzzy_indent_blacklist indent.txt /*g:clojure_fuzzy_indent_blacklist*
+g:clojure_fuzzy_indent_patterns indent.txt /*g:clojure_fuzzy_indent_patterns*
+g:clojure_maxlines indent.txt /*g:clojure_maxlines*
+g:clojure_special_indent_words indent.txt /*g:clojure_special_indent_words*
g:colors_name options.txt /*g:colors_name*
g:decada ft_ada.txt /*g:decada*
g:decada.Error_Format ft_ada.txt /*g:decada.Error_Format*
@@ -6150,6 +6158,7 @@ gui_w16.txt gui_w16.txt /*gui_w16.txt*
gui_w32.txt gui_w32.txt /*gui_w32.txt*
gui_x11.txt gui_x11.txt /*gui_x11.txt*
guifontwide_gtk2 options.txt /*guifontwide_gtk2*
+guifontwide_win_mbyte options.txt /*guifontwide_win_mbyte*
guioptions_a options.txt /*guioptions_a*
guu change.txt /*guu*
gv visual.txt /*gv*
@@ -6796,6 +6805,7 @@ mzscheme-buffer if_mzsch.txt /*mzscheme-buffer*
mzscheme-commands if_mzsch.txt /*mzscheme-commands*
mzscheme-dynamic if_mzsch.txt /*mzscheme-dynamic*
mzscheme-examples if_mzsch.txt /*mzscheme-examples*
+mzscheme-funcref if_mzsch.txt /*mzscheme-funcref*
mzscheme-mzeval if_mzsch.txt /*mzscheme-mzeval*
mzscheme-sandbox if_mzsch.txt /*mzscheme-sandbox*
mzscheme-threads if_mzsch.txt /*mzscheme-threads*
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index a4737ac96..50c011178 100644
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt* For Vim version 7.3. Last change: 2013 Jan 30
+*todo.txt* For Vim version 7.3. Last change: 2013 Feb 06
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -34,6 +34,12 @@ not be repeated below, unless there is extra information.
*known-bugs*
-------------------- Known bugs and current work -----------------------
+Substitute with confirmation and then "q" does not replace anything.
+(John McGowan)
+
+Download counter for scripts no longer incremented?
+Looks like it.
+
Several syntax file match "^\s*" which may get underlined if that's in the
highlight group. Add a "\zs" after it?
@@ -43,24 +49,33 @@ Discussion about canonicalization of Hebrew. (Ron Aaron, 2011 April 10)
Checking runtime scripts: Thilo Six, 2012 Jun 6.
+Patch for doc indenting. (Ken Takata, Feb 4)
+
GTK: problem with 'L' in 'guioptions' changing the window width.
(Aaron Cornelius, 2012 Feb 6)
+Configure change to detect Lua 5.2. (lilydjwg, 2013 Jan 31)
+
Javascript file where indent gets stuck on: GalaxyMaster, 2012 May 3.
-The CompleteDone autocommand needs some info passed to it:
-- The word that was selected (empty if abandoned complete)
-- Type of completion: tag, omnifunc, user func.
+Patch to avoid warnings in Perl code. (Christian Brabandt, 2013 Jan 30)
-Patch for mzscheme. (Sergey Khorev, 2012 Nov 19)
-Updated patch 2013 Jan 28.
+The " mark is not updated for lines inserted above it. (Roland Eggner, 2013
+Feb 5)
-Patch to fix :s command with confirm and typing "a". (Christian Brabandt, 2012
-Oct 28)
+Look into patch to add 'linenumber' option. (Nazri Ramliy, 2013 Feb 4)
-/[^\n] does match at a line break. Expected to do the same as /.
-Patch by Christian Brabandt, 2012 Dec 1.
-Test files in archive in another message.
+Another patch for Python threads, 2 and 3. (Ken Takata, 2013 Jan 31)
+Does this really work?
+
+Patch for 'relativenumber' being reset unexpectedly. (Christian Brabandt, 2013
+Feb 1) Tests Feb 2.
+
+Patch to avoid useless compare. (Hayaki Saito, 2013 Feb 2)
+
+The CompleteDone autocommand needs some info passed to it:
+- The word that was selected (empty if abandoned complete)
+- Type of completion: tag, omnifunc, user func.
Patch to make multibyte input work on Win32 console when codepage differs from
'encoding'. (Ken Takata, 2012 Sep 29)
@@ -74,6 +89,8 @@ It's possible to define an input() function that overrides the built-in one.
(ZyX, 2012 Sep 28)
Patch to add sha256() function. (Tyru, 2013 Jan 8)
+Test by Higashi, 2013 Feb 2.
+All together (tyru, 2013 Feb 5)
Patch to make pyeval() print error messages. (ZyX, 2013 Jan 12)
@@ -90,7 +107,8 @@ Patch for Win32 clipboard under Cygwin. (Frodak Baksik, Feb 15)
Problem parsing expression with function(). (Andy Wokula, 2012 Nov 22)
Patch by Christian Brabandt, Nov 22. Tests in another patch, Nov 23.
-Patch to add default value to getbufvar() et al. (Hirohito Higashi, 2013 Jan 1)
+Patch to add default value to getbufvar() et al. (Shougo Matsushita, Hirohito
+Higashi, 2013 Jan 1)
Problem caused by patch 7.3.638: window->open does not update window
correctly. Issue 91.
@@ -406,6 +424,7 @@ When a buffer-local mapping is used, but a global mapping starts with the same
characters, Vim currently waits for the next typed character to find out if
the global mapping matches. It is probably better to let the local mapping
win and not wait. (discussion with Andy Wokula, 2013 Jan 30)
+Patch by Michael Henry, 2013 Jan 30.
When doing "redir => s:foo" in a script and then "redir END" somewhere else
(e.g. in a function) it can't find s:foo.
diff --git a/runtime/doc/usr_toc.txt b/runtime/doc/usr_toc.txt
index 5d360d511..f0bb24ef6 100644
--- a/runtime/doc/usr_toc.txt
+++ b/runtime/doc/usr_toc.txt
@@ -248,7 +248,7 @@ Subjects that can be read independently.
|28.7| Folding by syntax
|28.8| Folding by expression
|28.9| Folding unchanged lines
- |28.10| Which fold method to use?
+ |28.10| Which fold method to use?
|usr_29.txt| Moving through programs
|29.1| Using tags
diff --git a/runtime/filetype.vim b/runtime/filetype.vim
index 221c0cafc..08270f170 100644
--- a/runtime/filetype.vim
+++ b/runtime/filetype.vim
@@ -1,7 +1,7 @@
" Vim support file to detect file types
"
" Maintainer: Bram Moolenaar <Bram@vim.org>
-" Last Change: 2012 Nov 28
+" Last Change: 2013 Jan 31
" Listen very carefully, I will say this only once
if exists("did_load_filetypes")
@@ -489,6 +489,9 @@ au BufNewFile,BufRead *.prg
\ setf clipper |
\ endif
+" Clojure
+au BufNewFile,BufRead *.clj,*.cljs setf clojure
+
" Cmake
au BufNewFile,BufRead CMakeLists.txt,*.cmake,*.cmake.in setf cmake
@@ -744,6 +747,7 @@ au BufNewFile,BufRead *.ged,lltxxxxx.txt setf gedcom
" Git
au BufNewFile,BufRead *.git/COMMIT_EDITMSG setf gitcommit
+au BufNewFile,BufRead *.git/MERGE_MSG setf gitcommit
au BufNewFile,BufRead *.git/config,.gitconfig,.gitmodules setf gitconfig
au BufNewFile,BufRead *.git/modules/**/COMMIT_EDITMSG setf gitcommit
au BufNewFile,BufRead *.git/modules/**/config setf gitconfig
diff --git a/runtime/ftplugin/clojure.vim b/runtime/ftplugin/clojure.vim
new file mode 100644
index 000000000..91aba80f1
--- /dev/null
+++ b/runtime/ftplugin/clojure.vim
@@ -0,0 +1,79 @@
+" Vim filetype plugin file
+" Language: Clojure
+" Author: Meikel Brandmeyer <mb@kotka.de>
+"
+" Maintainer: Sung Pae <self@sungpae.com>
+" URL: https://github.com/guns/vim-clojure-static
+" License: Same as Vim
+" Last Change: 30 January 2013
+
+" Only do this when not done yet for this buffer
+if exists("b:did_ftplugin")
+ finish
+endif
+let b:did_ftplugin = 1
+
+let s:cpo_save = &cpo
+set cpo&vim
+
+let b:undo_ftplugin = 'setlocal define< formatoptions< comments< commentstring<'
+
+" There will be false positives, but this is better than missing the whole set
+" of user-defined def* definitions.
+setlocal define=\\v[(/]def(ault)@!\\S*
+
+" Remove 't' from 'formatoptions' to avoid auto-wrapping code. The '+=croql'
+" is standard ftplugin boilerplate, although it is arguably intrusive.
+setlocal formatoptions-=t formatoptions+=croql
+
+" Lisp comments are routinely nested (e.g. ;;; SECTION HEADING)
+setlocal comments=n:;
+setlocal commentstring=;\ %s
+
+" Provide insert mode completions for special forms and clojure.core. As
+" 'omnifunc' is set by popular Clojure REPL client plugins, we also set
+" 'completefunc' so that the user has some form of completion available when
+" 'omnifunc' is set and no REPL connection exists.
+for s:setting in ['omnifunc', 'completefunc']
+ if exists('&' . s:setting) && empty(eval('&' . s:setting))
+ execute 'setlocal ' . s:setting . '=clojurecomplete#Complete'
+ let b:undo_ftplugin .= ' | setlocal ' . s:setting . '<'
+ endif
+endfor
+
+" Take all directories of the CLOJURE_SOURCE_DIRS environment variable
+" and add them to the path option.
+"
+" This is a legacy option for VimClojure users.
+if exists('$CLOJURE_SOURCE_DIRS')
+ for s:dir in split($CLOJURE_SOURCE_DIRS, (has("win32") || has("win64")) ? ';' : ':')
+ let s:dir = fnameescape(s:dir)
+ " Whitespace escaping for Windows
+ let s:dir = substitute(s:dir, '\', '\\\\', 'g')
+ let s:dir = substitute(s:dir, '\ ', '\\ ', 'g')
+ execute "setlocal path+=" . s:dir . "/**"
+ endfor
+ let b:undo_ftplugin .= ' | setlocal path<'
+endif
+
+" Skip brackets in ignored syntax regions when using the % command
+if exists('loaded_matchit')
+ let b:match_words = &matchpairs
+ let b:match_skip = 's:comment\|string\|regex\|character'
+ let b:undo_ftplugin .= ' | unlet! b:match_words b:match_skip'
+endif
+
+" Win32 can filter files in the browse dialog
+if has("gui_win32") && !exists("b:browsefilter")
+ let b:browsefilter = "Clojure Source Files (*.clj)\t*.clj\n" .
+ \ "ClojureScript Source Files (*.cljs)\t*.cljs\n" .
+ \ "Java Source Files (*.java)\t*.java\n" .
+ \ "All Files (*.*)\t*.*\n"
+ let b:undo_ftplugin .= ' | unlet! b:browsefilter'
+endif
+
+let &cpo = s:cpo_save
+
+unlet! s:cpo_save s:setting s:dir
+
+" vim:sts=4 sw=4 et:
diff --git a/runtime/indent/clojure.vim b/runtime/indent/clojure.vim
new file mode 100644
index 000000000..9a00fb325
--- /dev/null
+++ b/runtime/indent/clojure.vim
@@ -0,0 +1,398 @@
+" Vim indent file
+" Language: Clojure
+" Author: Meikel Brandmeyer <mb@kotka.de>
+" URL: http://kotka.de/projects/clojure/vimclojure.html
+"
+" Maintainer: Sung Pae <self@sungpae.com>
+" URL: https://github.com/guns/vim-clojure-static
+" License: Same as Vim
+" Last Change: 30 January 2013
+
+" Only load this indent file when no other was loaded.
+if exists("b:did_indent")
+ finish
+endif
+let b:did_indent = 1
+
+let s:save_cpo = &cpo
+set cpo&vim
+
+let b:undo_indent = 'setlocal autoindent< smartindent< lispwords< expandtab< softtabstop< shiftwidth< indentexpr< indentkeys<'
+
+setlocal noautoindent nosmartindent
+setlocal softtabstop=2 shiftwidth=2 expandtab
+setlocal indentkeys=!,o,O
+
+if exists("*searchpairpos")
+
+ if !exists('g:clojure_maxlines')
+ let g:clojure_maxlines = 100
+ endif
+
+ if !exists('g:clojure_fuzzy_indent')
+ let g:clojure_fuzzy_indent = 1
+ endif
+
+ if !exists('g:clojure_fuzzy_indent_patterns')
+ let g:clojure_fuzzy_indent_patterns = ['^with', '^def', '^let']
+ endif
+
+ if !exists('g:clojure_fuzzy_indent_blacklist')
+ let g:clojure_fuzzy_indent_blacklist = ['-fn$', '\v^with-%(meta|out-str|loading-context)$']
+ endif
+
+ if !exists('g:clojure_special_indent_words')
+ let g:clojure_special_indent_words = 'deftype,defrecord,reify,proxy,extend-type,extend-protocol,letfn'
+ endif
+
+ if !exists('g:clojure_align_multiline_strings')
+ let g:clojure_align_multiline_strings = 0
+ endif
+
+ function! s:SynIdName()
+ return synIDattr(synID(line("."), col("."), 0), "name")
+ endfunction
+
+ function! s:CurrentChar()
+ return getline('.')[col('.')-1]
+ endfunction
+
+ function! s:CurrentWord()
+ return getline('.')[col('.')-1 : searchpos('\v>', 'n', line('.'))[1]-2]
+ endfunction
+
+ function! s:IsParen()
+ return s:CurrentChar() =~ '\v[\(\)\[\]\{\}]' &&
+ \ s:SynIdName() !~? '\vstring|comment'
+ endfunction
+
+ " Returns 1 if string matches a pattern in 'patterns', which may be a
+ " list of patterns, or a comma-delimited string of implicitly anchored
+ " patterns.
+ function! s:MatchesOne(patterns, string)
+ let list = type(a:patterns) == type([])
+ \ ? a:patterns
+ \ : map(split(a:patterns, ','), '"^" . v:val . "$"')
+ for pat in list
+ if a:string =~ pat | return 1 | endif
+ endfor
+ endfunction
+
+ function! s:SavePosition()
+ let [ _b, l, c, _o ] = getpos(".")
+ let b = bufnr("%")
+ return [b, l, c]
+ endfunction
+
+ function! s:RestorePosition(value)
+ let [b, l, c] = a:value
+ if bufnr("%") != b
+ execute b "buffer!"
+ endif
+ call setpos(".", [0, l, c, 0])
+ endfunction
+
+ function! s:MatchPairs(open, close, stopat)
+ " Stop only on vector and map [ resp. {. Ignore the ones in strings and
+ " comments.
+ if a:stopat == 0
+ let stopat = max([line(".") - g:clojure_maxlines, 0])
+ else
+ let stopat = a:stopat
+ endif
+
+ let pos = searchpairpos(a:open, '', a:close, 'bWn', "!s:IsParen()", stopat)
+ return [pos[0], virtcol(pos)]
+ endfunction
+
+ function! s:ClojureCheckForStringWorker()
+ " Check whether there is the last character of the previous line is
+ " highlighted as a string. If so, we check whether it's a ". In this
+ " case we have to check also the previous character. The " might be the
+ " closing one. In case the we are still in the string, we search for the
+ " opening ". If this is not found we take the indent of the line.
+ let nb = prevnonblank(v:lnum - 1)
+
+ if nb == 0
+ return -1
+ endif
+
+ call cursor(nb, 0)
+ call cursor(0, col("$") - 1)
+ if s:SynIdName() !~? "string"
+ return -1
+ endif
+
+ " This will not work for a " in the first column...
+ if s:CurrentChar() == '"'
+ call cursor(0, col("$") - 2)
+ if s:SynIdName() !~? "string"
+ return -1
+ endif
+ if s:CurrentChar() != '\\'
+ return -1
+ endif
+ call cursor(0, col("$") - 1)
+ endif
+
+ let p = searchpos('\(^\|[^\\]\)\zs"', 'bW')
+
+ if p != [0, 0]
+ return p[1] - 1
+ endif
+
+ return indent(".")
+ endfunction
+
+ function! s:CheckForString()
+ let pos = s:SavePosition()
+ try
+ let val = s:ClojureCheckForStringWorker()
+ finally
+ call s:RestorePosition(pos)
+ endtry
+ return val
+ endfunction
+
+ function! s:ClojureIsMethodSpecialCaseWorker(position)
+ " Find the next enclosing form.
+ call search('\S', 'Wb')
+
+ " Special case: we are at a '(('.
+ if s:CurrentChar() == '('
+ return 0
+ endif
+ call cursor(a:position)
+
+ let nextParen = s:MatchPairs('(', ')', 0)
+
+ " Special case: we are now at toplevel.
+ if nextParen == [0, 0]
+ return 0
+ endif
+ call cursor(nextParen)
+
+ call search('\S', 'W')
+ if g:clojure_special_indent_words =~ '\<' . s:CurrentWord() . '\>'
+ return 1
+ endif
+
+ return 0
+ endfunction
+
+ function! s:IsMethodSpecialCase(position)
+ let pos = s:SavePosition()
+ try
+ let val = s:ClojureIsMethodSpecialCaseWorker(a:position)
+ finally
+ call s:RestorePosition(pos)
+ endtry
+ return val
+ endfunction
+
+ function! GetClojureIndent()
+ " Get rid of special case.
+ if line(".") == 1
+ return 0
+ endif
+
+ " We have to apply some heuristics here to figure out, whether to use
+ " normal lisp indenting or not.
+ let i = s:CheckForString()
+ if i > -1
+ return i + !!g:clojure_align_multiline_strings
+ endif
+
+ call cursor(0, 1)
+
+ " Find the next enclosing [ or {. We can limit the second search
+ " to the line, where the [ was found. If no [ was there this is
+ " zero and we search for an enclosing {.
+ let paren = s:MatchPairs('(', ')', 0)
+ let bracket = s:MatchPairs('\[', '\]', paren[0])
+ let curly = s:MatchPairs('{', '}', bracket[0])
+
+ " In case the curly brace is on a line later then the [ or - in
+ " case they are on the same line - in a higher column, we take the
+ " curly indent.
+ if curly[0] > bracket[0] || curly[1] > bracket[1]
+ if curly[0] > paren[0] || curly[1] > paren[1]
+ return curly[1]
+ endif
+ endif
+
+ " If the curly was not chosen, we take the bracket indent - if
+ " there was one.
+ if bracket[0] > paren[0] || bracket[1] > paren[1]
+ return bracket[1]
+ endif
+
+ " There are neither { nor [ nor (, ie. we are at the toplevel.
+ if paren == [0, 0]
+ return 0
+ endif
+
+ " Now we have to reimplement lispindent. This is surprisingly easy, as
+ " soon as one has access to syntax items.
+ "
+ " - Check whether we are in a special position after a word in
+ " g:clojure_special_indent_words. These are special cases.
+ " - Get the next keyword after the (.
+ " - If its first character is also a (, we have another sexp and align
+ " one column to the right of the unmatched (.
+ " - In case it is in lispwords, we indent the next line to the column of
+ " the ( + sw.
+ " - If not, we check whether it is last word in the line. In that case
+ " we again use ( + sw for indent.
+ " - In any other case we use the column of the end of the word + 2.
+ call cursor(paren)
+
+ if s:IsMethodSpecialCase(paren)
+ return paren[1] + &shiftwidth - 1
+ endif
+
+ " In case we are at the last character, we use the paren position.
+ if col("$") - 1 == paren[1]
+ return paren[1]
+ endif
+
+ " In case after the paren is a whitespace, we search for the next word.
+ normal! l
+ if s:CurrentChar() == ' '
+ normal! w
+ endif
+
+ " If we moved to another line, there is no word after the (. We
+ " use the ( position for indent.
+ if line(".") > paren[0]
+ return paren[1]
+ endif
+
+ " We still have to check, whether the keyword starts with a (, [ or {.
+ " In that case we use the ( position for indent.
+ let w = s:CurrentWord()
+ if stridx('([{', w[0]) > -1
+ return paren[1]
+ endif
+
+ " Test words without namespace qualifiers and leading reader macro
+ " metacharacters.
+ "
+ " e.g. clojure.core/defn and #'defn should both indent like defn.
+ let ww = substitute(w, "\\v%(.*/|[#'`~@^,]*)(.*)", '\1', '')
+
+ if &lispwords =~ '\V\<' . ww . '\>'
+ return paren[1] + &shiftwidth - 1
+ endif
+
+ if g:clojure_fuzzy_indent
+ \ && !s:MatchesOne(g:clojure_fuzzy_indent_blacklist, ww)
+ \ && s:MatchesOne(g:clojure_fuzzy_indent_patterns, ww)
+ return paren[1] + &shiftwidth - 1
+ endif
+
+ normal! W
+ if paren[0] < line(".")
+ return paren[1] + &shiftwidth - 1
+ endif
+
+ normal! ge
+ return virtcol(".") + 1
+ endfunction
+
+ setlocal indentexpr=GetClojureIndent()
+
+else
+
+ " In case we have searchpairpos not available we fall back to
+ " normal lisp indenting.
+ setlocal indentexpr=
+ setlocal lisp
+ let b:undo_indent .= '| setlocal lisp<'
+
+endif
+
+" Specially indented symbols from clojure.core and clojure.test.
+"
+" Clojure symbols are indented in the defn style when they:
+"
+" * Define vars and anonymous functions
+" * Create new lexical scopes or scopes with altered environments
+" * Create conditional branches from a predicate function or value
+"
+" The arglists for these functions are generally in the form of [x & body];
+" Functions that accept a flat list of forms do not treat the first argument
+" specially and hence are not indented specially.
+
+" Definitions
+setlocal lispwords=
+setlocal lispwords+=bound-fn
+setlocal lispwords+=def
+setlocal lispwords+=definline
+setlocal lispwords+=definterface
+setlocal lispwords+=defmacro
+setlocal lispwords+=defmethod
+setlocal lispwords+=defmulti
+setlocal lispwords+=defn
+setlocal lispwords+=defn-
+setlocal lispwords+=defonce
+setlocal lispwords+=defprotocol
+setlocal lispwords+=defrecord
+setlocal lispwords+=defstruct
+setlocal lispwords+=deftest " clojure.test
+setlocal lispwords+=deftest- " clojure.test
+setlocal lispwords+=deftype
+setlocal lispwords+=extend
+setlocal lispwords+=extend-protocol
+setlocal lispwords+=extend-type
+setlocal lispwords+=fn
+setlocal lispwords+=ns
+setlocal lispwords+=proxy
+setlocal lispwords+=reify
+setlocal lispwords+=set-test " clojure.test
+
+" Binding forms
+setlocal lispwords+=as->
+setlocal lispwords+=binding
+setlocal lispwords+=doall
+setlocal lispwords+=dorun
+setlocal lispwords+=doseq
+setlocal lispwords+=dotimes
+setlocal lispwords+=doto
+setlocal lispwords+=for
+setlocal lispwords+=if-let
+setlocal lispwords+=let
+setlocal lispwords+=letfn
+setlocal lispwords+=locking
+setlocal lispwords+=loop
+setlocal lispwords+=testing " clojure.test
+setlocal lispwords+=when-first
+setlocal lispwords+=when-let
+setlocal lispwords+=with-bindings
+setlocal lispwords+=with-in-str
+setlocal lispwords+=with-local-vars
+setlocal lispwords+=with-open
+setlocal lispwords+=with-precision
+setlocal lispwords+=with-redefs
+setlocal lispwords+=with-redefs-fn
+setlocal lispwords+=with-test " clojure.test
+
+" Conditional branching
+setlocal lispwords+=case
+setlocal lispwords+=cond->
+setlocal lispwords+=cond->>
+setlocal lispwords+=condp
+setlocal lispwords+=if
+setlocal lispwords+=if-not
+setlocal lispwords+=when
+setlocal lispwords+=when-not
+setlocal lispwords+=while
+
+" Exception handling
+setlocal lispwords+=catch
+setlocal lispwords+=try " For aesthetics when enclosing single line
+
+let &cpo = s:save_cpo
+unlet! s:save_cpo
+
+" vim:sts=4 sw=4 et:
diff --git a/runtime/syntax/cl.vim b/runtime/syntax/cl.vim
index ccea2ee5c..82660db74 100644
--- a/runtime/syntax/cl.vim
+++ b/runtime/syntax/cl.vim
@@ -17,9 +17,9 @@ elseif exists("b:current_syntax")
endif
if version >= 600
- setlocal iskeyword=@,48-57,_,-,
+ setlocal iskeyword=@,48-57,_,-
else
- set iskeyword=@,48-57,_,-,
+ set iskeyword=@,48-57,_,-
endif
syn case ignore
diff --git a/runtime/syntax/clojure.vim b/runtime/syntax/clojure.vim
new file mode 100644
index 000000000..3108148ff
--- /dev/null
+++ b/runtime/syntax/clojure.vim
@@ -0,0 +1,134 @@
+" Vim syntax file
+" Language: Clojure
+" Authors: Toralf Wittner <toralf.wittner@gmail.com>
+" modified by Meikel Brandmeyer <mb@kotka.de>
+" URL: http://kotka.de/projects/clojure/vimclojure.html
+"
+" Maintainer: Sung Pae <self@sungpae.com>
+" URL: https://github.com/guns/vim-clojure-static
+" License: Same as Vim
+" Last Change: 05 February 2013
+
+if version < 600
+ syntax clear
+elseif exists("b:current_syntax")
+ finish
+endif
+
+setlocal iskeyword+=?,-,*,!,+,/,=,<,>,.,:,$
+
+" Generated from https://github.com/guns/vim-clojure-static/blob/vim-release-002/vim_clojure_static.clj
+" Clojure 1.5.0-RC6
+syntax keyword clojureConstant nil
+syntax keyword clojureBoolean false true
+syntax keyword clojureSpecial . catch clojure.core/fn clojure.core/let clojure.core/loop def do finally fn if let loop monitor-enter monitor-exit new quote recur set! throw try var
+syntax keyword clojureException catch finally throw try
+syntax keyword clojureCond case clojure.core/case clojure.core/cond clojure.core/cond-> clojure.core/cond->> clojure.core/condp clojure.core/if-let clojure.core/if-not clojure.core/when clojure.core/when-first clojure.core/when-let clojure.core/when-not cond cond-> cond->> condp if-let if-not when when-first when-let when-not
+syntax keyword clojureRepeat clojure.core/doall clojure.core/dorun clojure.core/doseq clojure.core/dotimes clojure.core/while doall dorun doseq dotimes while
+syntax keyword clojureDefine clojure.core/definline clojure.core/definterface clojure.core/defmacro clojure.core/defmethod clojure.core/defmulti clojure.core/defn clojure.core/defn- clojure.core/defonce clojure.core/defprotocol clojure.core/defrecord clojure.core/defstruct clojure.core/deftype definline definterface defmacro defmethod defmulti defn defn- defonce defprotocol defrecord defstruct deftype
+syntax keyword clojureMacro -> ->> .. amap and areduce as-> assert binding bound-fn clojure.core/-> clojure.core/->> clojure.core/.. clojure.core/amap clojure.core/and clojure.core/areduce clojure.core/as-> clojure.core/assert clojure.core/binding clojure.core/bound-fn clojure.core/comment clojure.core/declare clojure.core/delay clojure.core/dosync clojure.core/doto clojure.core/extend-protocol clojure.core/extend-type clojure.core/for clojure.core/future clojure.core/gen-class clojure.core/gen-interface clojure.core/import clojure.core/io! clojure.core/lazy-cat clojure.core/lazy-seq clojure.core/letfn clojure.core/locking clojure.core/memfn clojure.core/ns clojure.core/or clojure.core/proxy clojure.core/proxy-super clojure.core/pvalues clojure.core/refer-clojure clojure.core/reify clojure.core/some-> clojure.core/some->> clojure.core/sync clojure.core/time clojure.core/with-bindings clojure.core/with-in-str clojure.core/with-loading-context clojure.core/with-local-vars clojure.core/with-open clojure.core/with-out-str clojure.core/with-precision clojure.core/with-redefs comment declare delay dosync doto extend-protocol extend-type for future gen-class gen-interface import io! lazy-cat lazy-seq letfn locking memfn ns or proxy proxy-super pvalues refer-clojure reify some-> some->> sync time with-bindings with-in-str with-loading-context with-local-vars with-open with-out-str with-precision with-redefs
+syntax keyword clojureFunc * *' + +' - -' ->ArrayChunk ->Vec ->VecNode ->VecSeq -cache-protocol-fn -reset-methods / < <= = == > >= accessor aclone add-classpath add-watch agent agent-error agent-errors aget alength alias all-ns alter alter-meta! alter-var-root ancestors apply array-map aset aset-boolean aset-byte aset-char aset-double aset-float aset-int aset-long aset-short assoc assoc! assoc-in associative? atom await await-for await1 bases bean bigdec bigint biginteger bit-and bit-and-not bit-clear bit-flip bit-not bit-or bit-set bit-shift-left bit-shift-right bit-test bit-xor boolean boolean-array booleans bound-fn* bound? butlast byte byte-array bytes cast char char-array char? chars chunk chunk-append chunk-buffer chunk-cons chunk-first chunk-next chunk-rest chunked-seq? class class? clear-agent-errors clojure-version clojure.core/* clojure.core/*' clojure.core/+ clojure.core/+' clojure.core/- clojure.core/-' clojure.core/->ArrayChunk clojure.core/->Vec clojure.core/->VecNode clojure.core/->VecSeq clojure.core/-cache-protocol-fn clojure.core/-reset-methods clojure.core// clojure.core/< clojure.core/<= clojure.core/= clojure.core/== clojure.core/> clojure.core/>= clojure.core/accessor clojure.core/aclone clojure.core/add-classpath clojure.core/add-watch clojure.core/agent clojure.core/agent-error clojure.core/agent-errors clojure.core/aget clojure.core/alength clojure.core/alias clojure.core/all-ns clojure.core/alter clojure.core/alter-meta! clojure.core/alter-var-root clojure.core/ancestors clojure.core/apply clojure.core/array-map clojure.core/aset clojure.core/aset-boolean clojure.core/aset-byte clojure.core/aset-char clojure.core/aset-double clojure.core/aset-float clojure.core/aset-int clojure.core/aset-long clojure.core/aset-short clojure.core/assoc clojure.core/assoc! clojure.core/assoc-in clojure.core/associative? clojure.core/atom clojure.core/await clojure.core/await-for clojure.core/await1 clojure.core/bases clojure.core/bean clojure.core/bigdec clojure.core/bigint clojure.core/biginteger clojure.core/bit-and clojure.core/bit-and-not clojure.core/bit-clear clojure.core/bit-flip clojure.core/bit-not clojure.core/bit-or clojure.core/bit-set clojure.core/bit-shift-left clojure.core/bit-shift-right clojure.core/bit-test clojure.core/bit-xor clojure.core/boolean clojure.core/boolean-array clojure.core/booleans clojure.core/bound-fn* clojure.core/bound? clojure.core/butlast clojure.core/byte clojure.core/byte-array clojure.core/bytes clojure.core/cast clojure.core/char clojure.core/char-array clojure.core/char? clojure.core/chars clojure.core/chunk clojure.core/chunk-append clojure.core/chunk-buffer clojure.core/chunk-cons clojure.core/chunk-first clojure.core/chunk-next clojure.core/chunk-rest clojure.core/chunked-seq? clojure.core/class clojure.core/class? clojure.core/clear-agent-errors clojure.core/clojure-version clojure.core/coll? clojure.core/commute clojure.core/comp clojure.core/comparator clojure.core/compare clojure.core/compare-and-set! clojure.core/compile clojure.core/complement clojure.core/concat clojure.core/conj clojure.core/conj! clojure.core/cons clojure.core/constantly clojure.core/construct-proxy clojure.core/contains? clojure.core/count clojure.core/counted? clojure.core/create-ns clojure.core/create-struct clojure.core/cycle clojure.core/dec clojure.core/dec' clojure.core/decimal? clojure.core/delay? clojure.core/deliver clojure.core/denominator clojure.core/deref clojure.core/derive clojure.core/descendants clojure.core/destructure clojure.core/disj clojure.core/disj! clojure.core/dissoc clojure.core/dissoc! clojure.core/distinct clojure.core/distinct? clojure.core/double clojure.core/double-array clojure.core/doubles clojure.core/drop clojure.core/drop-last clojure.core/drop-while clojure.core/empty clojure.core/empty? clojure.core/ensure clojure.core/enumeration-seq clojure.core/error-handler clojure.core/error-mode clojure.core/eval clojure.core/even? clojure.core/every-pred clojure.core/every? clojure.core/ex-data clojure.core/ex-info clojure.core/extend clojure.core/extenders clojure.core/extends? clojure.core/false? clojure.core/ffirst clojure.core/file-seq clojure.core/filter clojure.core/filterv clojure.core/find clojure.core/find-keyword clojure.core/find-ns clojure.core/find-protocol-impl clojure.core/find-protocol-method clojure.core/find-var clojure.core/first clojure.core/flatten clojure.core/float clojure.core/float-array clojure.core/float? clojure.core/floats clojure.core/flush clojure.core/fn? clojure.core/fnext clojure.core/fnil clojure.core/force clojure.core/format clojure.core/frequencies clojure.core/future-call clojure.core/future-cancel clojure.core/future-cancelled? clojure.core/future-done? clojure.core/future? clojure.core/gensym clojure.core/get clojure.core/get-in clojure.core/get-method clojure.core/get-proxy-class clojure.core/get-thread-bindings clojure.core/get-validator clojure.core/group-by clojure.core/hash clojure.core/hash-combine clojure.core/hash-map clojure.core/hash-set clojure.core/identical? clojure.core/identity clojure.core/ifn? clojure.core/in-ns clojure.core/inc clojure.core/inc' clojure.core/init-proxy clojure.core/instance? clojure.core/int clojure.core/int-array clojure.core/integer? clojure.core/interleave clojure.core/intern clojure.core/interpose clojure.core/into clojure.core/into-array clojure.core/ints clojure.core/isa? clojure.core/iterate clojure.core/iterator-seq clojure.core/juxt clojure.core/keep clojure.core/keep-indexed clojure.core/key clojure.core/keys clojure.core/keyword clojure.core/keyword? clojure.core/last clojure.core/line-seq clojure.core/list clojure.core/list* clojure.core/list? clojure.core/load clojure.core/load-file clojure.core/load-reader clojure.core/load-string clojure.core/loaded-libs clojure.core/long clojure.core/long-array clojure.core/longs clojure.core/macroexpand clojure.core/macroexpand-1 clojure.core/make-array clojure.core/make-hierarchy clojure.core/map clojure.core/map-indexed clojure.core/map? clojure.core/mapcat clojure.core/mapv clojure.core/max clojure.core/max-key clojure.core/memoize clojure.core/merge clojure.core/merge-with clojure.core/meta clojure.core/method-sig clojure.core/methods clojure.core/min clojure.core/min-key clojure.core/mod clojure.core/munge clojure.core/name clojure.core/namespace clojure.core/namespace-munge clojure.core/neg? clojure.core/newline clojure.core/next clojure.core/nfirst clojure.core/nil? clojure.core/nnext clojure.core/not clojure.core/not-any? clojure.core/not-empty clojure.core/not-every? clojure.core/not= clojure.core/ns-aliases clojure.core/ns-imports clojure.core/ns-interns clojure.core/ns-map clojure.core/ns-name clojure.core/ns-publics clojure.core/ns-refers clojure.core/ns-resolve clojure.core/ns-unalias clojure.core/ns-unmap clojure.core/nth clojure.core/nthnext clojure.core/nthrest clojure.core/num clojure.core/number? clojure.core/numerator clojure.core/object-array clojure.core/odd? clojure.core/parents clojure.core/partial clojure.core/partition clojure.core/partition-all clojure.core/partition-by clojure.core/pcalls clojure.core/peek clojure.core/persistent! clojure.core/pmap clojure.core/pop clojure.core/pop! clojure.core/pop-thread-bindings clojure.core/pos? clojure.core/pr clojure.core/pr-str clojure.core/prefer-method clojure.core/prefers clojure.core/print clojure.core/print-ctor clojure.core/print-simple clojure.core/print-str clojure.core/printf clojure.core/println clojure.core/println-str clojure.core/prn clojure.core/prn-str clojure.core/promise clojure.core/proxy-call-with-super clojure.core/proxy-mappings clojure.core/proxy-name clojure.core/push-thread-bindings clojure.core/quot clojure.core/rand clojure.core/rand-int clojure.core/rand-nth clojure.core/range clojure.core/ratio? clojure.core/rational? clojure.core/rationalize clojure.core/re-find clojure.core/re-groups clojure.core/re-matcher clojure.core/re-matches clojure.core/re-pattern clojure.core/re-seq clojure.core/read clojure.core/read-line clojure.core/read-string clojure.core/realized? clojure.core/reduce clojure.core/reduce-kv clojure.core/reduced clojure.core/reduced? clojure.core/reductions clojure.core/ref clojure.core/ref-history-count clojure.core/ref-max-history clojure.core/ref-min-history clojure.core/ref-set clojure.core/refer clojure.core/release-pending-sends clojure.core/rem clojure.core/remove clojure.core/remove-all-methods clojure.core/remove-method clojure.core/remove-ns clojure.core/remove-watch clojure.core/repeat clojure.core/repeatedly clojure.core/replace clojure.core/replicate clojure.core/require clojure.core/reset! clojure.core/reset-meta! clojure.core/resolve clojure.core/rest clojure.core/restart-agent clojure.core/resultset-seq clojure.core/reverse clojure.core/reversible? clojure.core/rseq clojure.core/rsubseq clojure.core/satisfies? clojure.core/second clojure.core/select-keys clojure.core/send clojure.core/send-off clojure.core/send-via clojure.core/seq clojure.core/seq? clojure.core/seque clojure.core/sequence clojure.core/sequential? clojure.core/set clojure.core/set-agent-send-executor! clojure.core/set-agent-send-off-executor! clojure.core/set-error-handler! clojure.core/set-error-mode! clojure.core/set-validator! clojure.core/set? clojure.core/short clojure.core/short-array clojure.core/shorts clojure.core/shuffle clojure.core/shutdown-agents clojure.core/slurp clojure.core/some clojure.core/some-fn clojure.core/sort clojure.core/sort-by clojure.core/sorted-map clojure.core/sorted-map-by clojure.core/sorted-set clojure.core/sorted-set-by clojure.core/sorted? clojure.core/special-symbol? clojure.core/spit clojure.core/split-at clojure.core/split-with clojure.core/str clojure.core/string? clojure.core/struct clojure.core/struct-map clojure.core/subs clojure.core/subseq clojure.core/subvec clojure.core/supers clojure.core/swap! clojure.core/symbol clojure.core/symbol? clojure.core/take clojure.core/take-last clojure.core/take-nth clojure.core/take-while clojure.core/test clojure.core/the-ns clojure.core/thread-bound? clojure.core/to-array clojure.core/to-array-2d clojure.core/trampoline clojure.core/transient clojure.core/tree-seq clojure.core/true? clojure.core/type clojure.core/unchecked-add clojure.core/unchecked-add-int clojure.core/unchecked-byte clojure.core/unchecked-char clojure.core/unchecked-dec clojure.core/unchecked-dec-int clojure.core/unchecked-divide-int clojure.core/unchecked-double clojure.core/unchecked-float clojure.core/unchecked-inc clojure.core/unchecked-inc-int clojure.core/unchecked-int clojure.core/unchecked-long clojure.core/unchecked-multiply clojure.core/unchecked-multiply-int clojure.core/unchecked-negate clojure.core/unchecked-negate-int clojure.core/unchecked-remainder-int clojure.core/unchecked-short clojure.core/unchecked-subtract clojure.core/unchecked-subtract-int clojure.core/underive clojure.core/update-in clojure.core/update-proxy clojure.core/use clojure.core/val clojure.core/vals clojure.core/var-get clojure.core/var-set clojure.core/var? clojure.core/vary-meta clojure.core/vec clojure.core/vector clojure.core/vector-of clojure.core/vector? clojure.core/with-bindings* clojure.core/with-meta clojure.core/with-redefs-fn clojure.core/xml-seq clojure.core/zero? clojure.core/zipmap coll? commute comp comparator compare compare-and-set! compile complement concat conj conj! cons constantly construct-proxy contains? count counted? create-ns create-struct cycle dec dec' decimal? delay? deliver denominator deref derive descendants destructure disj disj! dissoc dissoc! distinct distinct? double double-array doubles drop drop-last drop-while empty empty? ensure enumeration-seq error-handler error-mode eval even? every-pred every? ex-data ex-info extend extenders extends? false? ffirst file-seq filter filterv find find-keyword find-ns find-protocol-impl find-protocol-method find-var first flatten float float-array float? floats flush fn? fnext fnil force format frequencies future-call future-cancel future-cancelled? future-done? future? gensym get get-in get-method get-proxy-class get-thread-bindings get-validator group-by hash hash-combine hash-map hash-set identical? identity ifn? in-ns inc inc' init-proxy instance? int int-array integer? interleave intern interpose into into-array ints isa? iterate iterator-seq juxt keep keep-indexed key keys keyword keyword? last line-seq list list* list? load load-file load-reader load-string loaded-libs long long-array longs macroexpand macroexpand-1 make-array make-hierarchy map map-indexed map? mapcat mapv max max-key memoize merge merge-with meta method-sig methods min min-key mod munge name namespace namespace-munge neg? newline next nfirst nil? nnext not not-any? not-empty not-every? not= ns-aliases ns-imports ns-interns ns-map ns-name ns-publics ns-refers ns-resolve ns-unalias ns-unmap nth nthnext nthrest num number? numerator object-array odd? parents partial partition partition-all partition-by pcalls peek persistent! pmap pop pop! pop-thread-bindings pos? pr pr-str prefer-method prefers print print-ctor print-simple print-str printf println println-str prn prn-str promise proxy-call-with-super proxy-mappings proxy-name push-thread-bindings quot rand rand-int rand-nth range ratio? rational? rationalize re-find re-groups re-matcher re-matches re-pattern re-seq read read-line read-string realized? reduce reduce-kv reduced reduced? reductions ref ref-history-count ref-max-history ref-min-history ref-set refer release-pending-sends rem remove remove-all-methods remove-method remove-ns remove-watch repeat repeatedly replace replicate require reset! reset-meta! resolve rest restart-agent resultset-seq reverse reversible? rseq rsubseq satisfies? second select-keys send send-off send-via seq seq? seque sequence sequential? set set-agent-send-executor! set-agent-send-off-executor! set-error-handler! set-error-mode! set-validator! set? short short-array shorts shuffle shutdown-agents slurp some some-fn sort sort-by sorted-map sorted-map-by sorted-set sorted-set-by sorted? special-symbol? spit split-at split-with str string? struct struct-map subs subseq subvec supers swap! symbol symbol? take take-last take-nth take-while test the-ns thread-bound? to-array to-array-2d trampoline transient tree-seq true? type unchecked-add unchecked-add-int unchecked-byte unchecked-char unchecked-dec unchecked-dec-int unchecked-divide-int unchecked-double unchecked-float unchecked-inc unchecked-inc-int unchecked-int unchecked-long unchecked-multiply unchecked-multiply-int unchecked-negate unchecked-negate-int unchecked-remainder-int unchecked-short unchecked-subtract unchecked-subtract-int underive update-in update-proxy use val vals var-get var-set var? vary-meta vec vector vector-of vector? with-bindings* with-meta with-redefs-fn xml-seq zero? zipmap
+syntax keyword clojureVariable *1 *2 *3 *agent* *allow-unresolved-vars* *assert* *clojure-version* *command-line-args* *compile-files* *compile-path* *compiler-options* *data-readers* *default-data-reader-fn* *e *err* *file* *flush-on-newline* *fn-loader* *in* *math-context* *ns* *out* *print-dup* *print-length* *print-level* *print-meta* *print-readably* *read-eval* *read-whitelist* *source-path* *unchecked-math* *use-context-classloader* *verbose-defrecords* *warn-on-reflection* EMPTY-NODE char-escape-string char-name-string clojure.core/*1 clojure.core/*2 clojure.core/*3 clojure.core/*agent* clojure.core/*allow-unresolved-vars* clojure.core/*assert* clojure.core/*clojure-version* clojure.core/*command-line-args* clojure.core/*compile-files* clojure.core/*compile-path* clojure.core/*compiler-options* clojure.core/*data-readers* clojure.core/*default-data-reader-fn* clojure.core/*e clojure.core/*err* clojure.core/*file* clojure.core/*flush-on-newline* clojure.core/*fn-loader* clojure.core/*in* clojure.core/*math-context* clojure.core/*ns* clojure.core/*out* clojure.core/*print-dup* clojure.core/*print-length* clojure.core/*print-level* clojure.core/*print-meta* clojure.core/*print-readably* clojure.core/*read-eval* clojure.core/*read-whitelist* clojure.core/*source-path* clojure.core/*unchecked-math* clojure.core/*use-context-classloader* clojure.core/*verbose-defrecords* clojure.core/*warn-on-reflection* clojure.core/EMPTY-NODE clojure.core/char-escape-string clojure.core/char-name-string clojure.core/default-data-readers clojure.core/primitives-classnames clojure.core/print-dup clojure.core/print-method clojure.core/unquote clojure.core/unquote-splicing default-data-readers primitives-classnames print-dup print-method unquote unquote-splicing
+
+" Keywords are symbols:
+" static Pattern symbolPat = Pattern.compile("[:]?([\\D&&[^/]].*/)?([\\D&&[^/]][^/]*)");
+" But they:
+" * Must not end in a : or /
+" * Must not have two adjacent colons except at the beginning
+" * Must not contain any reader metacharacters except for ' and #
+syntax match clojureKeyword "\v:{1,2}%([^ \n\r\t()\[\]{}";@^`~\\%/]+/)*[^ \n\r\t()\[\]{}";@^`~\\%/]+:@<!"
+
+syntax region clojureString start=/L\="/ skip=/\\\\\|\\"/ end=/"/
+
+syntax match clojureCharacter "\\."
+syntax match clojureCharacter "\\o[0-7]\{3\}"
+syntax match clojureCharacter "\\u[0-9]\{4\}"
+syntax match clojureCharacter "\\space"
+syntax match clojureCharacter "\\tab"
+syntax match clojureCharacter "\\newline"
+syntax match clojureCharacter "\\return"
+syntax match clojureCharacter "\\backspace"
+syntax match clojureCharacter "\\formfeed"
+
+let s:radixChars = "0123456789abcdefghijklmnopqrstuvwxyz"
+for s:radix in range(2, 36)
+ execute 'syntax match clojureNumber "\c\<-\?' . s:radix . 'r[' . strpart(s:radixChars, 0, s:radix) . ']\+\>"'
+endfor
+unlet! s:radixChars s:radix
+
+syntax match clojureNumber "\<-\=[0-9]\+\(\.[0-9]*\)\=\(M\|\([eE][-+]\?[0-9]\+\)\)\?\>"
+syntax match clojureNumber "\<-\=[0-9]\+N\?\>"
+syntax match clojureNumber "\<-\=0x[0-9a-fA-F]\+\>"
+syntax match clojureNumber "\<-\=[0-9]\+/[0-9]\+\>"
+
+syntax match clojureVarArg "&"
+
+syntax match clojureQuote "'"
+syntax match clojureQuote "`"
+syntax match clojureUnquote "\~"
+syntax match clojureUnquote "\~@"
+syntax match clojureMeta "\^"
+syntax match clojureDeref "@"
+syntax match clojureAnonArg "%\(\d\|&\)\?"
+syntax match clojureDispatch "\v#[\^\'\=\<]?"
+
+syntax region clojureRegexp start=/L\=\#"/ skip=/\\\\\|\\"/ end=/"/
+
+syntax match clojureComment ";.*$" contains=clojureTodo,@Spell
+syntax match clojureComment "#!.*$"
+syntax match clojureComment "#_"
+
+syntax keyword clojureTodo contained FIXME XXX TODO FIXME: XXX: TODO:
+
+syntax region clojureSexp matchgroup=clojureParen start="(" matchgroup=clojureParen end=")" contains=TOP,@Spell
+syntax region clojureVector matchgroup=clojureParen start="\[" matchgroup=clojureParen end="\]" contains=TOP,@Spell
+syntax region clojureMap matchgroup=clojureParen start="{" matchgroup=clojureParen end="}" contains=TOP,@Spell
+
+" Highlight superfluous closing parens, brackets and braces.
+syntax match clojureError "]\|}\|)"
+
+syntax sync fromstart
+
+if version >= 600
+ command -nargs=+ HiLink highlight default link <args>
+else
+ command -nargs=+ HiLink highlight link <args>
+endif
+
+HiLink clojureConstant Constant
+HiLink clojureBoolean Boolean
+HiLink clojureCharacter Character
+HiLink clojureKeyword Keyword
+HiLink clojureNumber Number
+HiLink clojureString String
+HiLink clojureRegexp Constant
+
+HiLink clojureVariable Identifier
+HiLink clojureCond Conditional
+HiLink clojureDefine Define
+HiLink clojureException Exception
+HiLink clojureFunc Function
+HiLink clojureMacro Macro
+HiLink clojureRepeat Repeat
+
+HiLink clojureSpecial Special
+HiLink clojureVarArg Special
+HiLink clojureQuote SpecialChar
+HiLink clojureUnquote SpecialChar
+HiLink clojureMeta SpecialChar
+HiLink clojureDeref SpecialChar
+HiLink clojureAnonArg SpecialChar
+HiLink clojureDispatch SpecialChar
+
+HiLink clojureComment Comment
+HiLink clojureTodo Todo
+
+HiLink clojureError Error
+
+HiLink clojureParen Delimiter
+
+delcommand HiLink
+
+let b:current_syntax = "clojure"
+
+" vim:sts=4 sw=4 et:
diff --git a/runtime/syntax/help.vim b/runtime/syntax/help.vim
index af97543c3..adbd2a7a5 100644
--- a/runtime/syntax/help.vim
+++ b/runtime/syntax/help.vim
@@ -25,10 +25,12 @@ else
syn match helpHyperTextEntry "\*[#-)!+-~]\+\*$" contains=helpStar
endif
if has("conceal")
- syn match helpBar contained "[|`]" conceal
+ syn match helpBar contained "|" conceal
+ syn match helpBacktick contained "`" conceal
syn match helpStar contained "\*" conceal
else
- syn match helpBar contained "[|`]"
+ syn match helpBar contained "|"
+ syn match helpBacktick contained "`"
syn match helpStar contained "\*"
endif
syn match helpNormal "|.*====*|"
@@ -38,7 +40,7 @@ syn match helpVim "Vim version [0-9.a-z]\+"
syn match helpVim "VIM REFERENCE.*"
syn match helpOption "'[a-z]\{2,\}'"
syn match helpOption "'t_..'"
-syn match helpCommand "`[^` ]*`"hs=s+1,he=e-1 contains=helpBar
+syn match helpCommand "`[^` ]*`"hs=s+1,he=e-1 contains=helpBacktick
syn match helpHeader "\s*\zs.\{-}\ze\s\=\~$" nextgroup=helpIgnore
syn match helpGraphic ".* \ze`$" nextgroup=helpIgnore
if has("conceal")
@@ -150,6 +152,7 @@ syn sync minlines=40
hi def link helpIgnore Ignore
hi def link helpHyperTextJump Subtitle
hi def link helpBar Ignore
+hi def link helpBacktick Ignore
hi def link helpStar Ignore
hi def link helpHyperTextEntry String
hi def link helpHeadline Statement