]> git.ipfire.org Git - thirdparty/vim.git/commitdiff
Update runtime files.
authorBram Moolenaar <Bram@vim.org>
Mon, 25 Jan 2021 20:14:57 +0000 (21:14 +0100)
committerBram Moolenaar <Bram@vim.org>
Mon, 25 Jan 2021 20:14:57 +0000 (21:14 +0100)
32 files changed:
.github/CODEOWNERS
runtime/compiler/fbc.vim [new file with mode: 0644]
runtime/compiler/tidy.vim
runtime/doc/change.txt
runtime/doc/eval.txt
runtime/doc/filetype.txt
runtime/doc/popup.txt
runtime/doc/syntax.txt
runtime/doc/tags
runtime/doc/todo.txt
runtime/doc/vi_diff.txt
runtime/doc/vim9.txt
runtime/filetype.vim
runtime/ftplugin/ada.vim
runtime/ftplugin/basic.vim [new file with mode: 0644]
runtime/ftplugin/bzl.vim
runtime/ftplugin/framescript.vim
runtime/ftplugin/freebasic.vim [new file with mode: 0644]
runtime/ftplugin/hamster.vim
runtime/ftplugin/ocaml.vim
runtime/ftplugin/tidy.vim [new file with mode: 0644]
runtime/ftplugin/vim.vim
runtime/indent/fortran.vim
runtime/indent/testdir/vim.in
runtime/indent/testdir/vim.ok
runtime/indent/vim.vim
runtime/indent/yaml.vim
runtime/syntax/basic.vim
runtime/syntax/tidy.vim
runtime/tutor/tutor.ko
runtime/tutor/tutor.ko.euc
runtime/tutor/tutor.ko.utf-8

index 970cc942dcf552ce2361c1dec0eb04ad22e8dcb6..02d6986289ba0b56d99b3855cd4e1f0fec85413d 100644 (file)
@@ -31,6 +31,7 @@ runtime/compiler/dartdevc.vim         @dkearns
 runtime/compiler/dartdoc.vim           @dkearns
 runtime/compiler/dartfmt.vim           @dkearns
 runtime/compiler/eruby.vim             @dkearns
+runtime/compiler/fbc.vim               @dkearns
 runtime/compiler/gawk.vim              @dkearns
 runtime/compiler/gjs.vim               @dkearns
 runtime/compiler/haml.vim              @tpope
@@ -66,12 +67,14 @@ runtime/doc/pi_tar.txt                      @cecamp
 runtime/doc/pi_vimball.txt             @cecamp
 runtime/doc/pi_zip.txt                 @cecamp
 runtime/ftplugin/awk.vim               @dkearns
+runtime/ftplugin/basic.vim             @dkearns
 runtime/ftplugin/bst.vim               @tpope
 runtime/ftplugin/cfg.vim               @chrisbra
 runtime/ftplugin/css.vim               @dkearns
 runtime/ftplugin/cucumber.vim          @tpope
 runtime/ftplugin/eiffel.vim            @dkearns
 runtime/ftplugin/eruby.vim             @tpope @dkearns
+runtime/ftplugin/freebasic.vim         @dkearns
 runtime/ftplugin/git.vim               @tpope
 runtime/ftplugin/gitcommit.vim         @tpope
 runtime/ftplugin/gitconfig.vim         @tpope
@@ -93,6 +96,7 @@ runtime/ftplugin/ruby.vim             @tpope @dkearns
 runtime/ftplugin/sass.vim              @tpope
 runtime/ftplugin/scss.vim              @tpope
 runtime/ftplugin/spec.vim              @ignatenkobrain
+runtime/ftplugin/tidy.vim              @dkearns
 runtime/ftplugin/tmux.vim              @ericpruitt
 runtime/ftplugin/typescript.vim                @dkearns
 runtime/ftplugin/typescriptreact.vim   @dkearns
@@ -127,6 +131,7 @@ runtime/syntax/amiga.vim            @cecamp
 runtime/syntax/asm.vim                 @dkearns
 runtime/syntax/asmh8300.vim            @dkearns
 runtime/syntax/awk.vim                 @dkearns
+runtime/syntax/basic.vim               @dkearns
 runtime/syntax/bst.vim                 @tpope
 runtime/syntax/cabal.vim               @coot
 runtime/syntax/cabalconfig.vim         @coot
diff --git a/runtime/compiler/fbc.vim b/runtime/compiler/fbc.vim
new file mode 100644 (file)
index 0000000..1c29392
--- /dev/null
@@ -0,0 +1,27 @@
+" Vim compiler file
+" Compiler:    FreeBASIC Compiler
+" Maintainer:  Doug Kearns <dougkearns@gmail.com>
+" Last Change: 2015 Jan 10
+
+if exists("current_compiler")
+  finish
+endif
+let current_compiler = "fbc"
+
+if exists(":CompilerSet") != 2         " older Vim always used :setlocal
+  command -nargs=* CompilerSet setlocal <args>
+endif
+
+let s:cpo_save = &cpo
+set cpo&vim
+
+CompilerSet makeprg=fbc
+CompilerSet errorformat=%-G%.%#Too\ many\ errors\\,\ exiting,
+                      \%f(%l)\ %tarning\ %n(%\\d%\\+):\ %m,
+                       \%E%f(%l)\ error\ %n:\ %m,
+                      \%-Z%p^,
+                      \%-C%.%#,
+                      \%-G%.%#
+
+let &cpo = s:cpo_save
+unlet s:cpo_save
index 75be8b83d9108b1665272e46322faf088a5b4951..3f8e68ebf227840bb376ac9b949210a9499702de 100644 (file)
@@ -1,7 +1,7 @@
 " Vim compiler file
 " Compiler:    HTML Tidy
 " Maintainer:  Doug Kearns <dougkearns@gmail.com>
-" Last Change: 2016 Apr 21
+" Last Change: 2020 Sep 4
 
 if exists("current_compiler")
   finish
@@ -12,8 +12,15 @@ if exists(":CompilerSet") != 2               " older Vim always used :setlocal
   command -nargs=* CompilerSet setlocal <args>
 endif
 
-CompilerSet makeprg=tidy\ -quiet\ -errors\ --gnu-emacs\ yes\ %:S
+let s:cpo_save = &cpo
+set cpo&vim
 
-" foo.html:8:1: Warning: inserting missing 'foobar' element
-" foo.html:9:2: Error: <foobar> is not recognized!
-CompilerSet errorformat=%f:%l:%c:\ %trror:%m,%f:%l:%c:\ %tarning:%m,%-G%.%#
+CompilerSet makeprg=tidy\ -quiet\ -errors\ --gnu-emacs\ yes
+CompilerSet errorformat=%f:%l:%c:\ %trror:\ %m,
+                      \%f:%l:%c:\ %tarning:\ %m,
+                      \%f:%l:%c:\ %tnfo:\ %m,
+                      \%f:%l:%c:\ %m,
+                      \%-G%.%#
+
+let &cpo = s:cpo_save
+unlet s:cpo_save
index bf425dda51a278dc11d7a97e3d7a579809c1b701..7db3ffc41fff5bb62fabfbe82e67174033fa9360 100644 (file)
@@ -1,4 +1,4 @@
-*change.txt*    For Vim version 8.2.  Last change: 2020 Nov 21
+*change.txt*    For Vim version 8.2.  Last change: 2021 Jan 21
 
 
                  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -1631,24 +1631,31 @@ default setting is "tcq".  You can separate the option letters with commas for
 readability.
 
 letter  meaning when present in 'formatoptions'    ~
-
+                                                       *fo-t*
 t      Auto-wrap text using textwidth
+                                                       *fo-c*
 c      Auto-wrap comments using textwidth, inserting the current comment
        leader automatically.
+                                                       *fo-r*
 r      Automatically insert the current comment leader after hitting
        <Enter> in Insert mode.
+                                                       *fo-o*
 o      Automatically insert the current comment leader after hitting 'o' or
        'O' in Normal mode.
+                                                       *fo-q*
 q      Allow formatting of comments with "gq".
        Note that formatting will not change blank lines or lines containing
        only the comment leader.  A new paragraph starts after such a line,
        or when the comment leader changes.
+                                                       *fo-w*
 w      Trailing white space indicates a paragraph continues in the next line.
        A line that ends in a non-white character ends a paragraph.
+                                                       *fo-a*
 a      Automatic formatting of paragraphs.  Every time text is inserted or
        deleted the paragraph will be reformatted.  See |auto-format|.
        When the 'c' flag is present this only happens for recognized
        comments.
+                                                       *fo-n*
 n      When formatting text, recognize numbered lists.  This actually uses
        the 'formatlistpat' option, thus any kind of list can be used.  The
        indent of the text after the number is used for the next line.  The
@@ -1659,6 +1666,7 @@ n When formatting text, recognize numbered lists.  This actually uses
                1. the first item
                   wraps
                2. the second item
+<                                                      *fo-2*
 2      When formatting text, use the indent of the second line of a paragraph
        for the rest of the paragraph, instead of the indent of the first
        line.  This supports paragraphs in which the first line has a
@@ -1668,36 +1676,46 @@ n       When formatting text, recognize numbered lists.  This actually uses
                second line of the same paragraph
                third line.
 <      This also works inside comments, ignoring the comment leader.
+                                                       *fo-v*
 v      Vi-compatible auto-wrapping in insert mode: Only break a line at a
        blank that you have entered during the current insert command.  (Note:
        this is not 100% Vi compatible.  Vi has some "unexpected features" or
        bugs in this area.  It uses the screen column instead of the line
        column.)
+                                                       *fo-b*
 b      Like 'v', but only auto-wrap if you enter a blank at or before
        the wrap margin.  If the line was longer than 'textwidth' when you
        started the insert, or you do not enter a blank in the insert before
        reaching 'textwidth', Vim does not perform auto-wrapping.
+                                                       *fo-l*
 l      Long lines are not broken in insert mode: When a line was longer than
        'textwidth' when the insert command started, Vim does not
        automatically format it.
+                                                       *fo-m*
 m      Also break at a multibyte character above 255.  This is useful for
        Asian text where every character is a word on its own.
+                                                       *fo-M*
 M      When joining lines, don't insert a space before or after a multibyte
        character.  Overrules the 'B' flag.
+                                                       *fo-B*
 B      When joining lines, don't insert a space between two multibyte
        characters.  Overruled by the 'M' flag.
+                                                       *fo-1*
 1      Don't break a line after a one-letter word.  It's broken before it
        instead (if possible).
+                                                       *fo-]*
 ]      Respect textwidth rigorously. With this flag set, no line can be
        longer than textwidth, unless line-break-prohibition rules make this
        impossible.  Mainly for CJK scripts and works only if 'encoding' is
        "utf-8".
+                                                       *fo-j*
 j      Where it makes sense, remove a comment leader when joining lines.  For
        example, joining:
                int i;   // the index ~
                         // in the list ~
        Becomes:
                int i;   // the index in the list ~
+                                                       *fo-p*
 p      Don't break lines at single spaces that follow periods.  This is
        intended to complement 'joinspaces' and |cpo-J|, for prose with
        sentences separated by two spaces.  For example, with 'textwidth' set
index dd5bc939d3338e8554f02ed648dbe53059aa5839..edf5fc8cc3b4ad01888e0bacd37aa44503c3c265 100644 (file)
@@ -1,4 +1,4 @@
-*eval.txt*     For Vim version 8.2.  Last change: 2021 Jan 21
+*eval.txt*     For Vim version 8.2.  Last change: 2021 Jan 22
 
 
                  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -2085,7 +2085,7 @@ v:null            An empty String. Used to put "null" in JSON.  See
                                        *v:numbermax* *numbermax-variable*
 v:numbermax    Maximum value of a number.
 
-                                       *v:numbermix* *numbermix-variable*
+                                       *v:numbermin* *numbermin-variable*
 v:numbermin    Minimum value of a number (negative)
 
                                        *v:numbersize* *numbersize-variable*
index d3a4bde8b0a38a7f446558461d4c326d742c3ddf..6a23b2fdb840d2523919a83f0a931fbccfdb9c6a 100644 (file)
@@ -1,4 +1,4 @@
-*filetype.txt*  For Vim version 8.2.  Last change: 2020 Sep 28
+*filetype.txt*  For Vim version 8.2.  Last change: 2021 Jan 21
 
 
                  VIM REFERENCE MANUAL    by Bram Moolenaar
index 005b57f0d08cdd7ada190a31b0362f71d885b8ed..6d70cecd5478a1045bd516ccb12c67b83e601c21 100644 (file)
@@ -1,4 +1,4 @@
-*popup.txt*  For Vim version 8.2.  Last change: 2020 Nov 07
+*popup.txt*  For Vim version 8.2.  Last change: 2021 Jan 21
 
 
                  VIM REFERENCE MANUAL    by Bram Moolenaar
index a2a12b0cf077f7b1c62c3077258846b54bda4301..6a9498067112dbee337c7f906b4a6c7bdcc8e410 100644 (file)
@@ -1,4 +1,4 @@
-*syntax.txt*   For Vim version 8.2.  Last change: 2020 Dec 17
+*syntax.txt*   For Vim version 8.2.  Last change: 2021 Jan 21
 
 
                  VIM REFERENCE MANUAL    by Bram Moolenaar
index 24cdded5aa2ce5589b1e1a47c1a8f8d57bf92913..83ccca299e02243a326c62c4f94992058bd2cd69 100644 (file)
@@ -6431,7 +6431,26 @@ fname_new-variable       eval.txt        /*fname_new-variable*
 fname_out-variable     eval.txt        /*fname_out-variable*
 fnameescape()  eval.txt        /*fnameescape()*
 fnamemodify()  eval.txt        /*fnamemodify()*
+fo-1   change.txt      /*fo-1*
+fo-2   change.txt      /*fo-2*
+fo-B   change.txt      /*fo-B*
+fo-M   change.txt      /*fo-M*
+fo-]   change.txt      /*fo-]*
+fo-a   change.txt      /*fo-a*
+fo-b   change.txt      /*fo-b*
+fo-c   change.txt      /*fo-c*
+fo-j   change.txt      /*fo-j*
+fo-l   change.txt      /*fo-l*
+fo-m   change.txt      /*fo-m*
+fo-n   change.txt      /*fo-n*
+fo-o   change.txt      /*fo-o*
+fo-p   change.txt      /*fo-p*
+fo-q   change.txt      /*fo-q*
+fo-r   change.txt      /*fo-r*
+fo-t   change.txt      /*fo-t*
 fo-table       change.txt      /*fo-table*
+fo-v   change.txt      /*fo-v*
+fo-w   change.txt      /*fo-w*
 fold-behavior  fold.txt        /*fold-behavior*
 fold-colors    fold.txt        /*fold-colors*
 fold-commands  fold.txt        /*fold-commands*
@@ -8271,6 +8290,8 @@ null      vim9.txt        /*null*
 null-variable  eval.txt        /*null-variable*
 number_relativenumber  options.txt     /*number_relativenumber*
 numbered-function      eval.txt        /*numbered-function*
+numbermax-variable     eval.txt        /*numbermax-variable*
+numbermin-variable     eval.txt        /*numbermin-variable*
 numbersize-variable    eval.txt        /*numbersize-variable*
 o      insert.txt      /*o*
 o_CTRL-V       motion.txt      /*o_CTRL-V*
@@ -9847,6 +9868,8 @@ v:mouse_win       eval.txt        /*v:mouse_win*
 v:mouse_winid  eval.txt        /*v:mouse_winid*
 v:none eval.txt        /*v:none*
 v:null eval.txt        /*v:null*
+v:numbermax    eval.txt        /*v:numbermax*
+v:numbermin    eval.txt        /*v:numbermin*
 v:numbersize   eval.txt        /*v:numbersize*
 v:oldfiles     eval.txt        /*v:oldfiles*
 v:operator     eval.txt        /*v:operator*
@@ -10089,6 +10112,7 @@ vim8    version8.txt    /*vim8*
 vim9   vim9.txt        /*vim9*
 vim9-classes   vim9.txt        /*vim9-classes*
 vim9-const     vim9.txt        /*vim9-const*
+vim9-curly     vim9.txt        /*vim9-curly*
 vim9-declaration       vim9.txt        /*vim9-declaration*
 vim9-declarations      usr_46.txt      /*vim9-declarations*
 vim9-differences       vim9.txt        /*vim9-differences*
index 75133f78bc92d30b6cf2011e0467187fd9182999..efff0929d72c4dcad24ab139352f1f654ae33585 100644 (file)
@@ -1,4 +1,4 @@
-*todo.txt*      For Vim version 8.2.  Last change: 2021 Jan 17
+*todo.txt*      For Vim version 8.2.  Last change: 2021 Jan 25
 
 
                  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -41,6 +41,7 @@ browser use: https://github.com/vim/vim/issues/1234
 test_autocmd failure in Windows: Something wrong with system()?
 
 Vim9 - Make everything work:
+- Add a test for profiling with nested function calls and lambda.
 - Expand `=expr` in :next, :argedit, :argadd, :argdelete, :drop
 - Expand `=expr` in :vimgrep, :vimgrepadd, :lvimgrep, :lvimgrepadd
 - Expand `=expr` in :mkspell
@@ -50,7 +51,7 @@ Vim9 - Make everything work:
 - Using a script variable inside a :def function doesn't work if the variable
   is inside a block, see Test_nested_function().  Should it work?
 - give error for variable name:
-      let p = function('NoSuchFunc')
+      var p = function('NoSuchFunc')
 - Make closures work better:
   - Create closure in a loop.  Need to make a list of them.
 - If a :def function is called with a function reference, compile it to get
@@ -58,20 +59,16 @@ Vim9 - Make everything work:
        def Filter(x: string, Cond: func(string): bool)
        Filter(x, (v) => v =~ '^b')
 - Make inline function work, to be used as a funcref:
-       let Ref = (arg: type): type => {
+       var Ref = (arg: type): type => {
            statement
            return expr
        }
-       let Ref = (arg: type) => {
+       var Ref = (arg: type) => {
            statement
            statement
        }
-- Does this work already: can use func as reference:
-       def SomeFunc() ...
-       map(list, SomeFunc)
 - For builtin functions using tv_get_string*() use check_for_string() to be
   more strict about the argument type.
-- Possible memory leaks in test_vim9_func
 - Implement :lockvar and :unlockvar.  How about local variables?  Perhaps only
   allow this for global variables.  Use :final or :const otherwise.
 - Allow function names that will be script-local to start with lower case
@@ -86,10 +83,10 @@ Vim9 - Make everything work:
 - Need the equivalent of get_lval() and set_var_lval() to implement assignment
   to nested list and dict members.
     - Assignment to dict doesn't work:
-         let ret: dict<string> = #{}
+         var ret: dict<string> = #{}
          ret[i] = string(i)
     - Appending to dict item doesn't work:
-       let d[i] ..= value
+       var d[i] ..= value
 - Using ".." at script level doesn't convert arguments to a string.
 - Compile replacement of :s command: s/pat/\=expr/
 - Compile redir to local variable: var_redir_start().
@@ -144,7 +141,6 @@ Also for Vim9:
 - Make debugging work - at least per function.  Need to recompile a function
   to step through it line-by-line?  Evaluate the stack and variables on the
   stack?
-- Make profiling work - Add ISN_PROFILE instructions after every line?
 - List commands when 'verbose' is set or :verbose is used.
 
 Further Vim9 improvements, possibly after launch:
@@ -187,6 +183,10 @@ Popup windows:
 - Figure out the size and position better if wrapping inserts indent
 
 Text properties:
+- Popup attached to text property stays visible when text is no longer
+  visible. (#7736)
+- Popup attached to text property stays visible when text is deleted with
+  "cc". (#7737)  "C" works OK.
 - :goto does not go to the right place when text properties are present.
   (#5930)
 - "cc" does not call inserted_bytes(). (Axel Forsman, #5763)
@@ -282,7 +282,7 @@ Patch to implement the vimtutor with a plugin: #6414
 Was originally written by Felipe Morales.
 
 Adding "10" to 'spellsuggest' causes spell suggestions to become very slow.
-(#4087)
+(#4087)  Did patch 8.2.2379 help?
 
 Patch to find Python dll using registry key. (#7540)
 
index 0fb29e49463c0cbe70721b34520f184f0a9424d6..89ef4bb71e5c0e0b1a05f96669a5ddede22474f1 100644 (file)
@@ -1,4 +1,4 @@
-*vi_diff.txt*   For Vim version 8.2.  Last change: 2020 Aug 15
+*vi_diff.txt*   For Vim version 8.2.  Last change: 2021 Jan 21
 
 
                  VIM REFERENCE MANUAL    by Bram Moolenaar
index 93c3ddd2f93c7bb0d4381e4ef4aa7edeb9678f76..7246ff87a6966d32d032eaebafecb221ba48eb12 100644 (file)
@@ -1,4 +1,4 @@
-*vim9.txt*     For Vim version 8.2.  Last change: 2021 Jan 15
+*vim9.txt*     For Vim version 8.2.  Last change: 2021 Jan 23
 
 
                  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -403,10 +403,16 @@ Additionally, a lambda can contain statements in {}: >
            }
 NOT IMPLEMENTED YET
 
+                                                       *vim9-curly*
 To avoid the "{" of a dictionary literal to be recognized as a statement block
 wrap it in parenthesis: >
        var Lambda = (arg) => ({key: 42})
 
+Also when confused with the start of a command block: >
+       ({
+           key: value
+        })->method()
+
 
 Automatic line continuation ~
 
@@ -841,6 +847,9 @@ prefix and they do not need to exist (they can be deleted any time).
                        Note that for command line completion of {func} you
                        can prepend "s:" to find script-local functions.
 
+:disa[ssemble]! {func} Like `:disassemble` but with the instructions used for
+                       profiling.
+
 Limitations ~
 
 Local variables will not be visible to string evaluation.  For example: >
index 897ac80ebc20ed4e831657f5cdb1d0ed53aa6909..e4910e37193b2e1d14c010e9ac806ad28b46271f 100644 (file)
@@ -1,7 +1,7 @@
 " Vim support file to detect file types
 "
 " Maintainer:  Bram Moolenaar <Bram@vim.org>
-" Last Change: 2020 Dec 24
+" Last Change: 2021 Jan 21
 
 " Listen very carefully, I will say this only once
 if exists("did_load_filetypes")
index 0809e7b206bd652d6b4b308f1911601da3190bde..a0621e1d130a9171ce53860553fc3dc0a2386400 100644 (file)
@@ -159,40 +159,41 @@ if exists("g:ada_abbrev")
 endif
 
 " Section: Commands, Mapping, Menus {{{1
-"
-call ada#Map_Popup (
-   \ 'Tag.List',
-   \  'l',
-   \ 'call ada#List_Tag ()')
-call ada#Map_Popup (
-   \'Tag.Jump',
-   \'j',
-   \'call ada#Jump_Tag ()')
-call ada#Map_Menu (
-   \'Tag.Create File',
-   \':AdaTagFile',
-   \'call ada#Create_Tags (''file'')')
-call ada#Map_Menu (
-   \'Tag.Create Dir',
-   \':AdaTagDir',
-   \'call ada#Create_Tags (''dir'')')
-
-call ada#Map_Menu (
-   \'Highlight.Toggle Space Errors',
-   \ ':AdaSpaces',
-   \'call ada#Switch_Syntax_Option (''space_errors'')')
-call ada#Map_Menu (
-   \'Highlight.Toggle Lines Errors',
-   \ ':AdaLines',
-   \'call ada#Switch_Syntax_Option (''line_errors'')')
-call ada#Map_Menu (
-   \'Highlight.Toggle Rainbow Color',
-   \ ':AdaRainbow',
-   \'call ada#Switch_Syntax_Option (''rainbow_color'')')
-call ada#Map_Menu (
-   \'Highlight.Toggle Standard Types',
-   \ ':AdaTypes',
-   \'call ada#Switch_Syntax_Option (''standard_types'')')
+if !exists(':AdaTagFile')
+  call ada#Map_Popup (
+     \ 'Tag.List',
+     \  'l',
+     \ 'call ada#List_Tag ()')
+  call ada#Map_Popup (
+     \'Tag.Jump',
+     \'j',
+     \'call ada#Jump_Tag ()')
+  call ada#Map_Menu (
+     \'Tag.Create File',
+     \':AdaTagFile',
+     \'call ada#Create_Tags (''file'')')
+  call ada#Map_Menu (
+     \'Tag.Create Dir',
+     \':AdaTagDir',
+     \'call ada#Create_Tags (''dir'')')
+
+  call ada#Map_Menu (
+     \'Highlight.Toggle Space Errors',
+     \ ':AdaSpaces',
+     \'call ada#Switch_Syntax_Option (''space_errors'')')
+  call ada#Map_Menu (
+     \'Highlight.Toggle Lines Errors',
+     \ ':AdaLines',
+     \'call ada#Switch_Syntax_Option (''line_errors'')')
+  call ada#Map_Menu (
+     \'Highlight.Toggle Rainbow Color',
+     \ ':AdaRainbow',
+     \'call ada#Switch_Syntax_Option (''rainbow_color'')')
+  call ada#Map_Menu (
+     \'Highlight.Toggle Standard Types',
+     \ ':AdaTypes',
+     \'call ada#Switch_Syntax_Option (''standard_types'')')
+endif
 
 " 1}}}
 " Reset cpoptions
diff --git a/runtime/ftplugin/basic.vim b/runtime/ftplugin/basic.vim
new file mode 100644 (file)
index 0000000..c6ec254
--- /dev/null
@@ -0,0 +1,27 @@
+" Vim filetype plugin file
+" Language:    BASIC
+" Maintainer:  Doug Kearns <dougkearns@gmail.com>
+" Last Change: 2015 Jan 10
+
+if exists("b:did_ftplugin")
+  finish
+endif
+let b:did_ftplugin = 1
+
+let s:cpo_save = &cpo
+set cpo&vim
+
+setlocal comments=:REM,:'
+setlocal commentstring='\ %s
+setlocal formatoptions-=t formatoptions+=croql
+
+if (has("gui_win32") || has("gui_gtk")) && !exists("b:browsefilter")
+  let b:browsefilter = "BASIC Source Files (*.bas)\t*.bas\n" .
+                    \ "All Files (*.*)\t*.*\n"
+endif
+
+let b:undo_ftplugin = "setl fo< com< cms< sua<" .
+                   \ " | unlet! b:browsefilter"
+
+let &cpo = s:cpo_save
+unlet s:cpo_save
index 0296b0c0b8ecd2673010f71c95923dacaacc959c..8ab876e9d6dcb6ea041c2771e3cb484d7a6e709a 100644 (file)
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:    Bazel (http://bazel.io)
 " Maintainer:  David Barnett (https://github.com/google/vim-ft-bzl)
-" Last Change: 2015 Aug 11
+" Last Change: 2021 Jan 19
 
 ""
 " @section Introduction, intro
@@ -51,6 +51,8 @@ if get(g:, 'ft_bzl_fold', 0)
 endif
 
 if exists('*BzlFoldText')
+  let &cpo = s:save_cpo
+  unlet s:save_cpo
   finish
 endif
 
index 48fe0ace7c2076fa4b6f2fcb849a10b739960f80..66802cad0d8cb06f739e14673892bf63135a7602 100644 (file)
@@ -3,14 +3,14 @@
 " Previous Maintainer:  Nikolai Weibull <now@bitwi.se>
 " Latest Revision:      2008-07-19
 
-let s:cpo_save = &cpo
-set cpo&vim
-
 if exists("b:did_ftplugin")
   finish
 endif
 let b:did_ftplugin = 1
 
+let s:cpo_save = &cpo
+set cpo&vim
+
 let b:undo_ftplugin = "setl com< cms< fo< inc< | unlet! b:matchwords"
 
 setlocal comments=s1:/*,mb:*,ex:*/,:// commentstring=/*\ %s\ */
diff --git a/runtime/ftplugin/freebasic.vim b/runtime/ftplugin/freebasic.vim
new file mode 100644 (file)
index 0000000..a2bb459
--- /dev/null
@@ -0,0 +1,13 @@
+" Vim filetype plugin file
+" Language:    FreeBasic
+" Maintainer:  Doug Kearns <dougkearns@gmail.com>
+" Last Change: 2015 Jan 10
+
+if exists("b:did_ftplugin")
+  finish
+endif
+let b:did_ftplugin = 1
+
+runtime! ftplugin/basic.vim
+
+" vim: ts=8
index 6c0630fe048a8f0f2bde18905ee76c27937dd3a2..5446e722869c0405083f48b5a36be333bc49c580 100644 (file)
@@ -2,7 +2,7 @@
 " Language:    Hamster Script
 " Version:     2.0.6.0
 " Maintainer:  David Fishburn <dfishburn dot vim at gmail dot com>
-" Last Change: 2017 Mar 18
+" Last Change: 2021 Jan 19
 
 " Only do this when not done yet for this buffer
 if exists("b:did_ftplugin")
@@ -57,6 +57,9 @@ if exists("loaded_matchit")
 endif
 
 setlocal ignorecase
+
 let &cpo = s:cpo_save
 unlet s:cpo_save
-setlocal cpo+=M                " makes \%( match \)
+
+" Disabled, 'cpo' is a global option.
+" setlocal cpo+=M              " makes \%( match \)
index 793b887afc99fa8ec68f079959b8f2a1e51ec157..8a628604fabd56f8987a4233e44ddb6a6db4b51a 100644 (file)
@@ -159,6 +159,8 @@ let b:undo_ftplugin = "setlocal efm< foldmethod< foldexpr<"
 " - Only definitions below, executed once -------------------------------------
 
 if exists("*OMLetFoldLevel")
+  let &cpoptions = s:cposet
+  unlet s:cposet
   finish
 endif
 
@@ -635,7 +637,7 @@ endfunction
   nnoremap <silent> <Plug>OCamlPrintType :<C-U>call Ocaml_print_type("normal")<CR>
   xnoremap <silent> <Plug>OCamlPrintType :<C-U>call Ocaml_print_type("visual")<CR>`<
 
-let &cpoptions=s:cposet
+let &cpoptions = s:cposet
 unlet s:cposet
 
 " vim:sw=2 fdm=indent
diff --git a/runtime/ftplugin/tidy.vim b/runtime/ftplugin/tidy.vim
new file mode 100644 (file)
index 0000000..470548d
--- /dev/null
@@ -0,0 +1,32 @@
+" Vim filetype plugin file
+" Language:    HMTL Tidy Configuration
+" Maintainer:  Doug Kearns <dougkearns@gmail.com>
+" Last Change: 2020 Sep 4
+
+if exists("b:did_ftplugin")
+  finish
+endif
+let b:did_ftplugin = 1
+
+let s:cpo_save = &cpo
+set cpo&vim
+
+setlocal comments=:#,://
+setlocal commentstring=#\ %s
+setlocal formatoptions-=t formatoptions+=croql
+
+if (has("gui_win32") || has("gui_gtk")) && !exists("b:browsefilter")
+  let b:browsefilter = "HTML Tidy Files (tidyrc, .tidyrc, tidy.conf)\ttidyrc;.tidyrc;tidy.conf\n" .
+                    \ "HTML Files (*.html, *.htm)\t*.html;*.htm\n" .
+                    \ "XHTML Files (*.xhtml, *.xhtm)\t*.xhtml;*.xhtm\n" .
+                    \ "XML Files (*.xml)\t*.xml\n" .
+                    \ "All Files (*.*)\t*.*\n"
+endif
+
+let b:undo_ftplugin = "setl fo< com< cms<" .
+                   \ " | unlet! b:browsefilter"
+
+let &cpo = s:cpo_save
+unlet s:cpo_save
+
+" vim: nowrap sw=2 sts=2 ts=8
index 6adadbda945dfe33ddda11d526e60014050d1194..d39ad9579ba53108f6e9beb625152a940b6a4d5c 100644 (file)
@@ -1,7 +1,7 @@
 " Vim filetype plugin
 " Language:    Vim
 " Maintainer:  Bram Moolenaar <Bram@vim.org>
-" Last Change: 2021 Jan 12
+" Last Change: 2021 Jan 23
 
 " Only do this when not done yet for this buffer
 if exists("b:did_ftplugin")
@@ -88,8 +88,13 @@ endif
 " Let the matchit plugin know what items can be matched.
 if exists("loaded_matchit")
   let b:match_ignorecase = 0
+  " "func" can also be used as a type:
+  "   var Ref: func
+  " or to list functions:
+  "   func name
+  " require a parenthesis following, then there can be an "endfunc".
   let b:match_words =
-       \ '\<\%(fu\%[nction]\|def\)\>)\@!:\<retu\%[rn]\>:\<\%(endf\%[unction]\|enddef\)\>,' .
+       \ '\<\%(fu\%[nction]\|def\)\s\+\S\+(:\<retu\%[rn]\>:\<\%(endf\%[unction]\|enddef\)\>,' .
        \ '\<\(wh\%[ile]\|for\)\>:\<brea\%[k]\>:\<con\%[tinue]\>:\<end\(w\%[hile]\|fo\%[r]\)\>,' .
        \ '\<if\>:\<el\%[seif]\>:\<en\%[dif]\>,' .
        \ '{:},' .
index 696320288dd6ea48a3aae1e15ab330952e8c2b81..26ed33a54d787aff03a80f7f7852b68e893c1c3c 100644 (file)
@@ -74,11 +74,15 @@ endif
 if (b:fortran_fixed_source == 1)
   setlocal indentexpr=FortranGetFixedIndent()
   if exists("*FortranGetFixedIndent")
+    let &cpoptions = s:cposet
+    unlet s:cposet
     finish
   endif
 else
   setlocal indentexpr=FortranGetFreeIndent()
   if exists("*FortranGetFreeIndent")
+    let &cpoptions = s:cposet
+    unlet s:cposet
     finish
   endif
 endif
@@ -213,7 +217,7 @@ function FortranGetFixedIndent()
   return ind
 endfunction
 
-let &cpoptions=s:cposet
+let &cpoptions = s:cposet
 unlet s:cposet
 
 " vim:sw=2 tw=130
index 47e692975f4537b29fdae12693fe8dd773e35d60..f652dbda7933db9e3175a872d959ef57372713c6 100644 (file)
@@ -10,6 +10,11 @@ let cmd =
 \ 'some '
 \ 'string'
 
+if 1
+let x = [
+\ ]
+endif
+
 " END_INDENT
 
 " START_INDENT
index 3f53c5286c6473cd23c3d029927bace7b389b014..b8592c18ebebd896d9dd0ce6c165fa86d305aae0 100644 (file)
@@ -10,6 +10,11 @@ let cmd =
            \ 'some '
            \ 'string'
 
+if 1
+    let x = [
+               \ ]
+endif
+
 " END_INDENT
 
 " START_INDENT
index 3e502c9adbd58822c4e24ea53cffe83b7d72d5ef..b031d1f2ed8fddbfbbc5941bdc5d3d1c718c0e61 100644 (file)
@@ -1,7 +1,7 @@
 " Vim indent file
 " Language:    Vim script
 " Maintainer:  Bram Moolenaar <Bram@vim.org>
-" Last Change: 2021 Jan 06
+" Last Change: 2021 Jan 21
 
 " Only load this indent file when no other was loaded.
 if exists("b:did_indent")
@@ -38,6 +38,9 @@ function GetVimIndentIntern()
   " Find a non-blank line above the current line.
   let lnum = prevnonblank(v:lnum - 1)
 
+  " The previous line, ignoring line continuation
+  let prev_text_end = lnum > 0 ? getline(lnum) : ''
+
   " If the current line doesn't start with '\' or '"\ ' and below a line that
   " starts with '\' or '"\ ', use the indent of the line above it.
   let cur_text = getline(v:lnum)
@@ -51,6 +54,8 @@ function GetVimIndentIntern()
   if lnum == 0
     return 0
   endif
+
+  " the start of the previous line, skipping over line continuation
   let prev_text = getline(lnum)
   let found_cont = 0
 
@@ -147,13 +152,13 @@ function GetVimIndentIntern()
   endif
 
   " Below a line starting with "]" we must be below the end of a list.
-  if prev_text =~ '^\s*]'
+  if prev_text_end =~ '^\s*]'
     let ind = ind - shiftwidth()
   endif
 
   " A line ending in "{"/"[} is most likely the start of a dict/list literal,
   " indent the next line more.  Not for a continuation line.
-  if prev_text =~ '[{[]\s*$' && !found_cont
+  if prev_text_end =~ '[{[]\s*$' && !found_cont
     let ind = ind + shiftwidth()
   endif
 
index 26e14effb2308b0d63523f9a89578127cd93fa2d..8dca5cd7633daf92a5cb13bd9e2f791e9a27dd1a 100644 (file)
@@ -2,16 +2,13 @@
 " Language:    YAML
 " Maintainer:  Nikolai Pavlov <zyx.vim@gmail.com>
 " Last Update: Lukas Reineke
-" Last Change: 2020 Jun 07
+" Last Change: 2021 Jan 19
 
 " Only load this indent file when no other was loaded.
 if exists('b:did_indent')
   finish
 endif
 
-let s:save_cpo = &cpo
-set cpo&vim
-
 let b:did_indent = 1
 
 setlocal indentexpr=GetYAMLIndent(v:lnum)
@@ -25,6 +22,9 @@ if exists('*GetYAMLIndent')
     finish
 endif
 
+let s:save_cpo = &cpo
+set cpo&vim
+
 function s:FindPrevLessIndentedLine(lnum, ...)
     let prevlnum = prevnonblank(a:lnum-1)
     let curindent = a:0 ? a:1 : indent(a:lnum)
index 488ddc0ec47be03ae0566ad1714a5fcba63ff94b..ad9450b3b8e826faf613e704e0573965db947272 100644 (file)
@@ -1,14 +1,16 @@
 " Vim syntax file
-" Language:    BASIC
-" Maintainer:  Allan Kelly <allan@fruitloaf.co.uk>
-" Last Change:  2011 Dec 25 by Thilo Six
+" Language:            BASIC
+" Maintainer:          Doug Kearns <dougkearns@gmail.com>
+" Previous Maintainer: Allan Kelly <allan@fruitloaf.co.uk>
+" Contributors:                Thilo Six
+" Last Change:         2015 Jan 10
 
 " First version based on Micro$soft QBASIC circa 1989, as documented in
 " 'Learn BASIC Now' by Halvorson&Rygmyr. Microsoft Press 1989.
 " This syntax file not a complete implementation yet.  Send suggestions to the
 " maintainer.
 
-" quit when a syntax file was already loaded
+" Prelude {{{1
 if exists("b:current_syntax")
   finish
 endif
@@ -16,7 +18,7 @@ endif
 let s:cpo_save = &cpo
 set cpo&vim
 
-" A bunch of useful BASIC keywords
+" Keywords {{{1
 syn keyword basicStatement     BEEP beep Beep BLOAD bload Bload BSAVE bsave Bsave
 syn keyword basicStatement     CALL call Call ABSOLUTE absolute Absolute
 syn keyword basicStatement     CHAIN chain Chain CHDIR chdir Chdir
@@ -116,32 +118,39 @@ syn keyword basicFunction RIGHT$ right$ Right$ RTRIM$ rtrim$ Rtrim$
 syn keyword basicFunction      SPACE$ space$ Space$ STR$ str$ Str$
 syn keyword basicFunction      STRING$ string$ String$ TIME$ time$ Time$
 syn keyword basicFunction      UCASE$ ucase$ Ucase$ VARPTR$ varptr$ Varptr$
-syn keyword basicTodo contained        TODO
 
-"integer number, or floating point number without a dot.
+" Numbers {{{1
+" Integer number, or floating point number without a dot.
 syn match  basicNumber         "\<\d\+\>"
-"floating point number, with dot
+" Floating point number, with dot
 syn match  basicNumber         "\<\d\+\.\d*\>"
-"floating point number, starting with a dot
+" Floating point number, starting with a dot
 syn match  basicNumber         "\.\d\+\>"
 
-" String and Character contstants
-syn match   basicSpecial contained "\\\d\d\d\|\\."
-syn region  basicString                  start=+"+  skip=+\\\\\|\\"+  end=+"+  contains=basicSpecial
+" String and Character constants {{{1
+syn match   basicSpecial       "\\\d\d\d\|\\." contained
+syn region  basicString                start=+"+  skip=+\\\\\|\\"+  end=+"+    contains=basicSpecial
 
-syn region  basicComment       start="REM" end="$" contains=basicTodo
-syn region  basicComment       start="^[ \t]*'" end="$" contains=basicTodo
+" Line numbers {{{1
 syn region  basicLineNumber    start="^\d" end="\s"
-syn match   basicTypeSpecifier  "[a-zA-Z0-9][\$%&!#]"ms=s+1
+
+" Data-type suffixes {{{1
+syn match   basicTypeSpecifier "[a-zA-Z0-9][$%&!#]"ms=s+1
 " Used with OPEN statement
 syn match   basicFilenumber  "#\d\+"
-"syn sync ccomment basicComment
+
+" Mathematical operators {{{1
 " syn match   basicMathsOperator "[<>+\*^/\\=-]"
-syn match   basicMathsOperator   "-\|=\|[:<>+\*^/\\]\|AND\|OR"
+syn match   basicMathsOperator  "-\|=\|[:<>+\*^/\\]\|AND\|OR"
 
-" Define the default highlighting.
-" Only when an item doesn't have highlighting yet
+" Comments {{{1
+syn keyword basicTodo          TODO FIXME XXX NOTE contained
+syn region  basicComment       start="^\s*\zsREM\>" start="\%(:\s*\)\@<=REM\>" end="$" contains=basicTodo
+syn region  basicComment       start="'"                                       end="$" contains=basicTodo
 
+"syn sync ccomment basicComment
+
+" Default Highlighting {{{1
 hi def link basicLabel         Label
 hi def link basicConditional   Conditional
 hi def link basicRepeat                Repeat
@@ -150,17 +159,18 @@ hi def link basicNumber           Number
 hi def link basicError         Error
 hi def link basicStatement     Statement
 hi def link basicString                String
-hi def link basicComment               Comment
-hi def link basicSpecial               Special
+hi def link basicComment       Comment
+hi def link basicSpecial       Special
 hi def link basicTodo          Todo
-hi def link basicFunction              Identifier
-hi def link basicTypeSpecifier Type
-hi def link basicFilenumber basicTypeSpecifier
+hi def link basicFunction      Identifier
+hi def link basicTypeSpecifier Type
+hi def link basicFilenumber    basicTypeSpecifier
 "hi basicMathsOperator term=bold cterm=bold gui=bold
 
-
+" Postscript {{{1
 let b:current_syntax = "basic"
 
 let &cpo = s:cpo_save
 unlet s:cpo_save
-" vim: ts=8
+
+" vim: nowrap sw=2 sts=2 ts=8 noet fdm=marker:
index 6371cb5a860690de38e8001936c75d2ad90cbe57..7ffda90e55decfe1e966b8c0c50ea568a344fa9b 100644 (file)
@@ -1,8 +1,9 @@
 " Vim syntax file
-" Language:    HMTL Tidy configuration file (/etc/tidyrc ~/.tidyrc)
+" Language:    HMTL Tidy Configuration
 " Maintainer:  Doug Kearns <dougkearns@gmail.com>
-" Last Change: 2016 Apr 24
+" Last Change: 2020 Sep 4
 
+" Preamble {{{1
 if exists("b:current_syntax")
   finish
 endif
@@ -12,10 +13,15 @@ set cpo&vim
 
 syn iskeyword @,48-57,-,_
 
+" Values {{{1
+syn match tidyWordSeparator    contained ",\|\s" nextgroup=tidyWord   skipwhite skipnl
+syn match tidyMuteIDSeparator  contained ",\|\s" nextgroup=tidyMuteID skipwhite skipnl
+
 syn case ignore
 syn keyword    tidyBoolean     contained t[rue] f[alse] y[es] n[o] 1 0
 syn keyword    tidyAutoBoolean contained t[rue] f[alse] y[es] n[o] 1 0 auto
 syn case match
+syn keyword    tidyCustomTags  contained no blocklevel empty inline pre
 syn keyword    tidyDoctype     contained html5 omit auto strict loose transitional user
 syn keyword    tidyEncoding    contained raw ascii latin0 latin1 utf8 iso2022 mac win1252 ibm858 utf16le utf16be utf16 big5 shiftjis
 syn keyword    tidyNewline     contained LF CRLF CR
@@ -24,36 +30,148 @@ syn keyword        tidyRepeat      contained keep-first keep-last
 syn keyword    tidySorter      contained alpha none
 syn region     tidyString      contained start=+"+ skip=+\\\\\|\\"+ end=+"+ oneline
 syn region     tidyString      contained start=+'+ skip=+\\\\\|\\'+ end=+'+ oneline
-syn match      tidyTags        contained "\<\w\+\(\s*,\s*\w\+\)*\>"
-
-syn keyword tidyBooleanOption add-xml-decl add-xml-pi add-xml-space
-       \ anchor-as-name ascii-chars assume-xml-procins bare break-before-br
-       \ clean coerce-endtags decorate-inferred-ul drop-empty-paras
-       \ drop-empty-elements drop-font-tags drop-proprietary-attributes
-       \ enclose-block-text enclose-text escape-cdata escape-scripts
-       \ fix-backslash fix-bad-comments fix-uri force-output gdoc gnu-emacs
-       \ hide-comments hide-endtags indent-attributes indent-cdata
-       \ indent-with-tabs input-xml join-classes join-styles keep-time
-       \ language literal-attributes logical-emphasis lower-literals markup
-       \ merge-emphasis ncr numeric-entities omit-optional-tags output-html
-       \ output-xhtml output-xml preserve-entities punctuation-wrap quiet
-       \ quote-ampersand quote-marks quote-nbsp raw replace-color show-info
-       \ show-warnings skip-nested split strict-tags-attributes tidy-mark
-       \ uppercase-attributes uppercase-tags word-2000 wrap-asp
-       \ wrap-attributes wrap-jste wrap-php wrap-script-literals
-       \ wrap-sections write-back
+" Tag and attribute lists
+syn match      tidyWord        contained "\<\k\+\>:\@!" nextgroup=tidyWordSeparator skipwhite skipnl
+
+" Mute Message IDs {{{2
+syn keyword tidyMuteID ADDED_MISSING_CHARSET ANCHOR_DUPLICATED
+       \ ANCHOR_NOT_UNIQUE APOS_UNDEFINED APPLET_MISSING_ALT AREA_MISSING_ALT
+       \ ASCII_REQUIRES_DESCRIPTION ASSOCIATE_LABELS_EXPLICITLY
+       \ ASSOCIATE_LABELS_EXPLICITLY_FOR ASSOCIATE_LABELS_EXPLICITLY_ID
+       \ ATTRIBUTE_IS_NOT_ALLOWED ATTRIBUTE_VALUE_REPLACED
+       \ ATTR_VALUE_NOT_LCASE AUDIO_MISSING_TEXT_AIFF AUDIO_MISSING_TEXT_AU
+       \ AUDIO_MISSING_TEXT_RA AUDIO_MISSING_TEXT_RM AUDIO_MISSING_TEXT_SND
+       \ AUDIO_MISSING_TEXT_WAV BACKSLASH_IN_URI BAD_ATTRIBUTE_VALUE
+       \ BAD_ATTRIBUTE_VALUE_REPLACED BAD_CDATA_CONTENT BAD_SUMMARY_HTML5
+       \ BAD_SURROGATE_LEAD BAD_SURROGATE_PAIR BAD_SURROGATE_TAIL
+       \ CANT_BE_NESTED COERCE_TO_ENDTAG COLOR_CONTRAST_ACTIVE_LINK
+       \ COLOR_CONTRAST_LINK COLOR_CONTRAST_TEXT COLOR_CONTRAST_VISITED_LINK
+       \ CONTENT_AFTER_BODY CUSTOM_TAG_DETECTED DATA_TABLE_MISSING_HEADERS
+       \ DATA_TABLE_MISSING_HEADERS_COLUMN DATA_TABLE_MISSING_HEADERS_ROW
+       \ DATA_TABLE_REQUIRE_MARKUP_COLUMN_HEADERS
+       \ DATA_TABLE_REQUIRE_MARKUP_ROW_HEADERS DISCARDING_UNEXPECTED
+       \ DOCTYPE_AFTER_TAGS DOCTYPE_MISSING DUPLICATE_FRAMESET
+       \ ELEMENT_NOT_EMPTY ELEMENT_VERS_MISMATCH_ERROR
+       \ ELEMENT_VERS_MISMATCH_WARN ENCODING_MISMATCH
+       \ ENSURE_PROGRAMMATIC_OBJECTS_ACCESSIBLE_APPLET
+       \ ENSURE_PROGRAMMATIC_OBJECTS_ACCESSIBLE_EMBED
+       \ ENSURE_PROGRAMMATIC_OBJECTS_ACCESSIBLE_OBJECT
+       \ ENSURE_PROGRAMMATIC_OBJECTS_ACCESSIBLE_SCRIPT ESCAPED_ILLEGAL_URI
+       \ FILE_CANT_OPEN FILE_CANT_OPEN_CFG FILE_NOT_FILE FIXED_BACKSLASH
+       \ FOUND_STYLE_IN_BODY FRAME_MISSING_LONGDESC FRAME_MISSING_NOFRAMES
+       \ FRAME_MISSING_TITLE FRAME_SRC_INVALID FRAME_TITLE_INVALID_NULL
+       \ FRAME_TITLE_INVALID_SPACES HEADERS_IMPROPERLY_NESTED
+       \ HEADER_USED_FORMAT_TEXT ID_NAME_MISMATCH ILLEGAL_NESTING
+       \ ILLEGAL_URI_CODEPOINT ILLEGAL_URI_REFERENCE
+       \ IMAGE_MAP_SERVER_SIDE_REQUIRES_CONVERSION
+       \ IMG_ALT_SUSPICIOUS_FILENAME IMG_ALT_SUSPICIOUS_FILE_SIZE
+       \ IMG_ALT_SUSPICIOUS_PLACEHOLDER IMG_ALT_SUSPICIOUS_TOO_LONG
+       \ IMG_BUTTON_MISSING_ALT IMG_MAP_CLIENT_MISSING_TEXT_LINKS
+       \ IMG_MAP_SERVER_REQUIRES_TEXT_LINKS IMG_MISSING_ALT IMG_MISSING_DLINK
+       \ IMG_MISSING_LONGDESC IMG_MISSING_LONGDESC_DLINK
+       \ INFORMATION_NOT_CONVEYED_APPLET INFORMATION_NOT_CONVEYED_IMAGE
+       \ INFORMATION_NOT_CONVEYED_INPUT INFORMATION_NOT_CONVEYED_OBJECT
+       \ INFORMATION_NOT_CONVEYED_SCRIPT INSERTING_AUTO_ATTRIBUTE
+       \ INSERTING_TAG INVALID_ATTRIBUTE INVALID_NCR INVALID_SGML_CHARS
+       \ INVALID_UTF16 INVALID_UTF8 INVALID_XML_ID JOINING_ATTRIBUTE
+       \ LANGUAGE_INVALID LANGUAGE_NOT_IDENTIFIED
+       \ LAYOUT_TABLES_LINEARIZE_PROPERLY LAYOUT_TABLE_INVALID_MARKUP
+       \ LINK_TEXT_MISSING LINK_TEXT_NOT_MEANINGFUL
+       \ LINK_TEXT_NOT_MEANINGFUL_CLICK_HERE LINK_TEXT_TOO_LONG
+       \ LIST_USAGE_INVALID_LI LIST_USAGE_INVALID_OL LIST_USAGE_INVALID_UL
+       \ MALFORMED_COMMENT MALFORMED_COMMENT_DROPPING MALFORMED_COMMENT_EOS
+       \ MALFORMED_COMMENT_WARN MALFORMED_DOCTYPE METADATA_MISSING
+       \ METADATA_MISSING_REDIRECT_AUTOREFRESH MISMATCHED_ATTRIBUTE_ERROR
+       \ MISMATCHED_ATTRIBUTE_WARN MISSING_ATTRIBUTE MISSING_ATTR_VALUE
+       \ MISSING_DOCTYPE MISSING_ENDTAG_BEFORE MISSING_ENDTAG_FOR
+       \ MISSING_ENDTAG_OPTIONAL MISSING_IMAGEMAP MISSING_QUOTEMARK
+       \ MISSING_QUOTEMARK_OPEN MISSING_SEMICOLON MISSING_SEMICOLON_NCR
+       \ MISSING_STARTTAG MISSING_TITLE_ELEMENT MOVED_STYLE_TO_HEAD
+       \ MULTIMEDIA_REQUIRES_TEXT NESTED_EMPHASIS NESTED_QUOTATION
+       \ NEWLINE_IN_URI NEW_WINDOWS_REQUIRE_WARNING_BLANK
+       \ NEW_WINDOWS_REQUIRE_WARNING_NEW NOFRAMES_CONTENT
+       \ NOFRAMES_INVALID_CONTENT NOFRAMES_INVALID_LINK
+       \ NOFRAMES_INVALID_NO_VALUE NON_MATCHING_ENDTAG OBJECT_MISSING_ALT
+       \ OBSOLETE_ELEMENT OPTION_REMOVED OPTION_REMOVED_APPLIED
+       \ OPTION_REMOVED_UNAPPLIED POTENTIAL_HEADER_BOLD
+       \ POTENTIAL_HEADER_ITALICS POTENTIAL_HEADER_UNDERLINE
+       \ PREVIOUS_LOCATION PROGRAMMATIC_OBJECTS_REQUIRE_TESTING_APPLET
+       \ PROGRAMMATIC_OBJECTS_REQUIRE_TESTING_EMBED
+       \ PROGRAMMATIC_OBJECTS_REQUIRE_TESTING_OBJECT
+       \ PROGRAMMATIC_OBJECTS_REQUIRE_TESTING_SCRIPT PROPRIETARY_ATTRIBUTE
+       \ PROPRIETARY_ATTR_VALUE PROPRIETARY_ELEMENT REMOVED_HTML5
+       \ REMOVE_AUTO_REDIRECT REMOVE_AUTO_REFRESH REMOVE_BLINK_MARQUEE
+       \ REMOVE_FLICKER_ANIMATED_GIF REMOVE_FLICKER_APPLET
+       \ REMOVE_FLICKER_EMBED REMOVE_FLICKER_OBJECT REMOVE_FLICKER_SCRIPT
+       \ REPEATED_ATTRIBUTE REPLACE_DEPRECATED_HTML_APPLET
+       \ REPLACE_DEPRECATED_HTML_BASEFONT REPLACE_DEPRECATED_HTML_CENTER
+       \ REPLACE_DEPRECATED_HTML_DIR REPLACE_DEPRECATED_HTML_FONT
+       \ REPLACE_DEPRECATED_HTML_ISINDEX REPLACE_DEPRECATED_HTML_MENU
+       \ REPLACE_DEPRECATED_HTML_S REPLACE_DEPRECATED_HTML_STRIKE
+       \ REPLACE_DEPRECATED_HTML_U REPLACING_ELEMENT REPLACING_UNEX_ELEMENT
+       \ SCRIPT_MISSING_NOSCRIPT SCRIPT_NOT_KEYBOARD_ACCESSIBLE_ON_CLICK
+       \ SCRIPT_NOT_KEYBOARD_ACCESSIBLE_ON_MOUSE_DOWN
+       \ SCRIPT_NOT_KEYBOARD_ACCESSIBLE_ON_MOUSE_MOVE
+       \ SCRIPT_NOT_KEYBOARD_ACCESSIBLE_ON_MOUSE_OUT
+       \ SCRIPT_NOT_KEYBOARD_ACCESSIBLE_ON_MOUSE_OVER
+       \ SCRIPT_NOT_KEYBOARD_ACCESSIBLE_ON_MOUSE_UP SKIPOVER_ASCII_ART
+       \ SPACE_PRECEDING_XMLDECL STRING_ARGUMENT_BAD STRING_CONTENT_LOOKS
+       \ STRING_DOCTYPE_GIVEN STRING_MISSING_MALFORMED STRING_MUTING_TYPE
+       \ STRING_NO_SYSID STRING_UNKNOWN_OPTION
+       \ STYLESHEETS_REQUIRE_TESTING_LINK
+       \ STYLESHEETS_REQUIRE_TESTING_STYLE_ATTR
+       \ STYLESHEETS_REQUIRE_TESTING_STYLE_ELEMENT
+       \ STYLE_SHEET_CONTROL_PRESENTATION SUSPECTED_MISSING_QUOTE
+       \ TABLE_MAY_REQUIRE_HEADER_ABBR TABLE_MAY_REQUIRE_HEADER_ABBR_NULL
+       \ TABLE_MAY_REQUIRE_HEADER_ABBR_SPACES TABLE_MISSING_CAPTION
+       \ TABLE_MISSING_SUMMARY TABLE_SUMMARY_INVALID_NULL
+       \ TABLE_SUMMARY_INVALID_PLACEHOLDER TABLE_SUMMARY_INVALID_SPACES
+       \ TAG_NOT_ALLOWED_IN TEXT_EQUIVALENTS_REQUIRE_UPDATING_APPLET
+       \ TEXT_EQUIVALENTS_REQUIRE_UPDATING_OBJECT
+       \ TEXT_EQUIVALENTS_REQUIRE_UPDATING_SCRIPT TOO_MANY_ELEMENTS
+       \ TOO_MANY_ELEMENTS_IN TRIM_EMPTY_ELEMENT UNESCAPED_AMPERSAND
+       \ UNEXPECTED_ENDTAG UNEXPECTED_ENDTAG_ERR UNEXPECTED_ENDTAG_IN
+       \ UNEXPECTED_END_OF_FILE UNEXPECTED_END_OF_FILE_ATTR
+       \ UNEXPECTED_EQUALSIGN UNEXPECTED_GT UNEXPECTED_QUOTEMARK
+       \ UNKNOWN_ELEMENT UNKNOWN_ELEMENT_LOOKS_CUSTOM UNKNOWN_ENTITY
+       \ USING_BR_INPLACE_OF VENDOR_SPECIFIC_CHARS WHITE_IN_URI
+       \ XML_DECLARATION_DETECTED XML_ID_SYNTAX
+       \ contained nextgroup=tidyMuteIDSeparator skipwhite skipnl
+
+" Options {{{1
+syn keyword tidyCustomTagsOption custom-tags contained nextgroup=tidyCustomTagsDelimiter
+syn match tidyCustomTagsDelimiter ":" nextgroup=tidyCustomTags contained skipwhite
+
+syn keyword tidyBooleanOption add-meta-charset add-xml-decl
+       \ add-xml-pi add-xml-space anchor-as-name ascii-chars
+       \ assume-xml-procins bare break-before-br clean coerce-endtags
+       \ decorate-inferred-ul drop-empty-paras drop-empty-elements
+       \ drop-font-tags drop-proprietary-attributes enclose-block-text
+       \ enclose-text escape-cdata escape-scripts fix-backslash
+       \ fix-style-tags fix-uri force-output gdoc gnu-emacs hide-comments
+       \ hide-endtags indent-attributes indent-cdata indent-with-tabs
+       \ input-xml join-classes join-styles keep-tabs keep-time language
+       \ literal-attributes logical-emphasis lower-literals markup
+       \ merge-emphasis mute-id ncr numeric-entities omit-optional-tags
+       \ output-html output-xhtml output-xml preserve-entities
+       \ punctuation-wrap quiet quote-ampersand quote-marks quote-nbsp raw
+       \ replace-color show-filename show-info show-meta-change show-warnings
+       \ skip-nested split strict-tags-attributes tidy-mark
+       \ uppercase-attributes uppercase-tags warn-proprietary-attributes
+       \ word-2000 wrap-asp wrap-attributes wrap-jste wrap-php
+       \ wrap-script-literals wrap-sections write-back
        \ contained nextgroup=tidyBooleanDelimiter
 
 syn match tidyBooleanDelimiter ":" nextgroup=tidyBoolean contained skipwhite
 
-syn keyword tidyAutoBooleanOption indent merge-divs merge-spans output-bom show-body-only vertical-space contained nextgroup=tidyAutoBooleanDelimiter
+syn keyword tidyAutoBooleanOption fix-bad-comments indent merge-divs merge-spans output-bom show-body-only vertical-space contained nextgroup=tidyAutoBooleanDelimiter
 syn match tidyAutoBooleanDelimiter ":" nextgroup=tidyAutoBoolean contained skipwhite
 
 syn keyword tidyCSSSelectorOption css-prefix contained nextgroup=tidyCSSSelectorDelimiter
 syn match tidyCSSSelectorDelimiter ":" nextgroup=tidyCSSSelector contained skipwhite
 
 syn keyword tidyDoctypeOption doctype contained nextgroup=tidyDoctypeDelimiter
-syn match tidyDoctypeDelimiter ":" nextgroup=tidyDoctype contained skipwhite
+syn match tidyDoctypeDelimiter ":" nextgroup=tidyDoctype,tidyString contained skipwhite
 
 syn keyword tidyEncodingOption char-encoding input-encoding output-encoding contained nextgroup=tidyEncodingDelimiter
 syn match tidyEncodingDelimiter ":" nextgroup=tidyEncoding contained skipwhite
@@ -67,8 +185,11 @@ syn match tidyNameDelimiter ":" nextgroup=tidyName contained skipwhite
 syn keyword tidyNewlineOption newline contained nextgroup=tidyNewlineDelimiter
 syn match tidyNewlineDelimiter ":" nextgroup=tidyNewline contained skipwhite
 
+syn keyword tidyAttributesOption priority-attributes contained nextgroup=tidyAttributesDelimiter
+syn match tidyAttributesDelimiter ":" nextgroup=tidyWord contained skipwhite
+
 syn keyword tidyTagsOption new-blocklevel-tags new-empty-tags new-inline-tags new-pre-tags contained nextgroup=tidyTagsDelimiter
-syn match tidyTagsDelimiter ":" nextgroup=tidyTags contained skipwhite
+syn match tidyTagsDelimiter ":" nextgroup=tidyWord contained skipwhite
 
 syn keyword tidyRepeatOption repeated-attributes contained nextgroup=tidyRepeatDelimiter
 syn match tidyRepeatDelimiter ":" nextgroup=tidyRepeat contained skipwhite
@@ -79,57 +200,77 @@ syn match tidySorterDelimiter ":" nextgroup=tidySorter contained skipwhite
 syn keyword tidyStringOption alt-text error-file gnu-emacs-file output-file contained nextgroup=tidyStringDelimiter
 syn match tidyStringDelimiter ":" nextgroup=tidyString contained skipwhite
 
+syn keyword tidyMuteOption mute contained nextgroup=tidyMuteDelimiter
+syn match tidyMuteDelimiter ":" nextgroup=tidyMuteID contained skipwhite
+
 syn cluster tidyOptions contains=tidy.*Option
 
+" Option line anchor {{{1
 syn match tidyStart "^" nextgroup=@tidyOptions
+" Long standing bug - option lines (except the first) with leading whitespace
+" are silently ignored.
+syn match tidyErrorStart '^\s\+\ze\S'
 
+" Comments {{{1
 syn match      tidyComment     "^\s*//.*$" contains=tidyTodo
 syn match      tidyComment     "^\s*#.*$"  contains=tidyTodo
 syn keyword    tidyTodo        TODO NOTE FIXME XXX contained
 
+" Default highlighting {{{1
+hi def link tidyAttributesOption       Identifier
 hi def link tidyAutoBooleanOption      Identifier
 hi def link tidyBooleanOption          Identifier
 hi def link tidyCSSSelectorOption      Identifier
+hi def link tidyCustomTagsOption       Identifier
 hi def link tidyDoctypeOption          Identifier
 hi def link tidyEncodingOption         Identifier
 hi def link tidyIntegerOption          Identifier
+hi def link tidyMuteOption             Identifier
 hi def link tidyNameOption             Identifier
 hi def link tidyNewlineOption          Identifier
-hi def link tidyTagsOption             Identifier
 hi def link tidyRepeatOption           Identifier
 hi def link tidySorterOption           Identifier
 hi def link tidyStringOption           Identifier
+hi def link tidyTagsOption             Identifier
 
+hi def link tidyAttributesDelimiter    Special
 hi def link tidyAutoBooleanDelimiter   Special
 hi def link tidyBooleanDelimiter       Special
 hi def link tidyCSSSelectorDelimiter   Special
+hi def link tidyCustomTagsDelimiter    Special
 hi def link tidyDoctypeDelimiter       Special
 hi def link tidyEncodingDelimiter      Special
 hi def link tidyIntegerDelimiter       Special
+hi def link tidyMuteDelimiter          Special
 hi def link tidyNameDelimiter          Special
 hi def link tidyNewlineDelimiter       Special
-hi def link tidyTagsDelimiter          Special
 hi def link tidyRepeatDelimiter                Special
 hi def link tidySorterDelimiter                Special
 hi def link tidyStringDelimiter                Special
+hi def link tidyTagsDelimiter          Special
 
 hi def link tidyAutoBoolean            Boolean
 hi def link tidyBoolean                        Boolean
+hi def link tidyCustomTags             Constant
 hi def link tidyDoctype                        Constant
 hi def link tidyEncoding               Constant
+hi def link tidyMuteID                 Constant
 hi def link tidyNewline                        Constant
-hi def link tidyTags                   Constant
 hi def link tidyNumber                 Number
 hi def link tidyRepeat                 Constant
 hi def link tidySorter                 Constant
 hi def link tidyString                 String
+hi def link tidyWord                   Constant
 
 hi def link tidyComment                        Comment
 hi def link tidyTodo                   Todo
 
+hi def link tidyErrorStart             Error
+
+" Postscript {{{1
 let b:current_syntax = "tidy"
 
 let &cpo = s:cpo_save
 unlet s:cpo_save
 
-" vim: ts=8
+" vim: ts=8 fdm=marker
index 942fdb44a864f0ace33e4a5556bfd7bbfb78d2c3..f732bbc24640c1b5f31906be053ee340b7fec0b3 100644 (file)
@@ -907,7 +907,7 @@ ce 는 단어를 치환하는 것 뿐만 아니라, 내용을 삽입할 수 있
   
   5. <TAB> 을 눌러 ":edit" 명령어를 완성해 봅니다. 
   
-  6. 이제 빈칸 하나를 추가한 뒤, 존재 파일 이름을 앞 부분을 입력합니다:  :edit FIL
+  6. 이제 빈칸 하나를 추가한 뒤, 존재하는 파일 이름의 앞 부분을 입력합니다:  :edit FIL
 
   7. <TAB> 을 눌러 파일 이름을 완성 시킵니다. 
   
index 551b9a0ffbb9c5af4549e072920ba368c346f39f..74c81d9444ad6af2fba1a9bbb72663893051f95a 100644 (file)
@@ -907,7 +907,7 @@ ce 
   
   5. <TAB> À» ´­·¯ ":edit" ¸í·É¾î¸¦ ¿Ï¼ºÇØ º¾´Ï´Ù. 
   
-  6. ÀÌÁ¦ ºóÄ­ Çϳª¸¦ Ãß°¡ÇÑ µÚ, Á¸Àç ÆÄÀÏ À̸§À» ¾Õ ºÎºÐÀ» ÀÔ·ÂÇÕ´Ï´Ù:  :edit FIL
+  6. ÀÌÁ¦ ºóÄ­ Çϳª¸¦ Ãß°¡ÇÑ µÚ, Á¸ÀçÇϴ ÆÄÀÏ À̸§ÀÇ ¾Õ ºÎºÐÀ» ÀÔ·ÂÇÕ´Ï´Ù:  :edit FIL
 
   7. <TAB> À» ´­·¯ ÆÄÀÏ À̸§À» ¿Ï¼º ½Ãŵ´Ï´Ù. 
   
index 942fdb44a864f0ace33e4a5556bfd7bbfb78d2c3..f732bbc24640c1b5f31906be053ee340b7fec0b3 100644 (file)
@@ -907,7 +907,7 @@ ce 는 단어를 치환하는 것 뿐만 아니라, 내용을 삽입할 수 있
   
   5. <TAB> 을 눌러 ":edit" 명령어를 완성해 봅니다. 
   
-  6. 이제 빈칸 하나를 추가한 뒤, 존재 파일 이름을 앞 부분을 입력합니다:  :edit FIL
+  6. 이제 빈칸 하나를 추가한 뒤, 존재하는 파일 이름의 앞 부분을 입력합니다:  :edit FIL
 
   7. <TAB> 을 눌러 파일 이름을 완성 시킵니다.