• R/O
  • SSH

vim: 提交

Mirror of the Vim source from https://github.com/vim/vim


Commit MetaInfo

修訂289b19a6f2edb5b46df57195d5fae41dfe963290 (tree)
時間2005-07-06 06:48:14
作者vimboss
Commitervimboss

Log Message

updated for version 7.0103

Change Summary

差異

diff -r bded5839a32e -r 289b19a6f2ed runtime/doc/cmdline.txt
--- a/runtime/doc/cmdline.txt Tue Jul 05 21:36:03 2005 +0000
+++ b/runtime/doc/cmdline.txt Tue Jul 05 21:48:14 2005 +0000
@@ -1,4 +1,4 @@
1-*cmdline.txt* For Vim version 7.0aa. Last change: 2005 Feb 14
1+*cmdline.txt* For Vim version 7.0aa. Last change: 2005 Jul 05
22
33
44 VIM REFERENCE MANUAL by Bram Moolenaar
@@ -726,7 +726,7 @@
726726 effective buffer number (for ":r file" it is the current
727727 buffer, the file being read is not in a buffer).
728728 <amatch> when executing autocommands, is replaced with the match for
729- which this autocommand was executed. It differs form
729+ which this autocommand was executed. It differs from
730730 <afile> only when the file name isn't used to match with
731731 (for FileType and Syntax events).
732732 <sfile> when executing a ":source" command, is replaced with the
diff -r bded5839a32e -r 289b19a6f2ed runtime/doc/spell.txt
--- a/runtime/doc/spell.txt Tue Jul 05 21:36:03 2005 +0000
+++ b/runtime/doc/spell.txt Tue Jul 05 21:48:14 2005 +0000
@@ -1,4 +1,4 @@
1-*spell.txt* For Vim version 7.0aa. Last change: 2005 Jul 04
1+*spell.txt* For Vim version 7.0aa. Last change: 2005 Jul 05
22
33
44 VIM REFERENCE MANUAL by Bram Moolenaar
@@ -79,20 +79,20 @@
7979
8080 *:spe* *:spellgood*
8181 :[count]spe[llgood] {word}
82- Add [word} as a good word to 'spellfile', like with
82+ Add {word} as a good word to 'spellfile', like with
8383 "zg". Without count the first name is used, with a
8484 count of two the second entry, etc.
8585
86-:spe[llgood]! {word} Add [word} as a good word to the internal word list,
86+:spe[llgood]! {word} Add {word} as a good word to the internal word list,
8787 like with "zG".
8888
8989 *:spellw* *:spellwrong*
9090 :[count]spellw[rong] {word}
91- Add [word} as a wrong (bad) word to 'spellfile', as
91+ Add {word} as a wrong (bad) word to 'spellfile', as
9292 with "zw". Without count the first name is used, with
9393 a count of two the second entry, etc.
9494
95-:spellw[rong]! {word} Add [word} as a wrong (bad) word to the internal word
95+:spellw[rong]! {word} Add {word} as a wrong (bad) word to the internal word
9696 list.
9797
9898 After adding a word to 'spellfile' with the above commands its associated
diff -r bded5839a32e -r 289b19a6f2ed runtime/doc/syntax.txt
--- a/runtime/doc/syntax.txt Tue Jul 05 21:36:03 2005 +0000
+++ b/runtime/doc/syntax.txt Tue Jul 05 21:48:14 2005 +0000
@@ -1,4 +1,4 @@
1-*syntax.txt* For Vim version 7.0aa. Last change: 2005 Jun 03
1+*syntax.txt* For Vim version 7.0aa. Last change: 2005 Jul 05
22
33
44 VIM REFERENCE MANUAL by Bram Moolenaar
@@ -3907,6 +3907,9 @@
39073907 *hl-SpellBad*
39083908 SpellBad Word that is not recognized by the spellchecker. |spell|
39093909 This will be combined with the highlighting used otherwise.
3910+ *hl-SpellCap*
3911+SpellCap Word that should start with a capital. |spell|
3912+ This will be combined with the highlighting used otherwise.
39103913 *hl-SpellLocal*
39113914 SpellLocal Word that is recognized by the spellchecker as one that is
39123915 used in another region. |spell|
diff -r bded5839a32e -r 289b19a6f2ed runtime/doc/tags
--- a/runtime/doc/tags Tue Jul 05 21:36:03 2005 +0000
+++ b/runtime/doc/tags Tue Jul 05 21:48:14 2005 +0000
@@ -5148,6 +5148,7 @@
51485148 hebrew.txt hebrew.txt /*hebrew.txt*
51495149 help various.txt /*help*
51505150 help-context help.txt /*help-context*
5151+help-tags tags 1
51515152 help-translated various.txt /*help-translated*
51525153 help-xterm-window various.txt /*help-xterm-window*
51535154 help.txt help.txt /*help.txt*
@@ -5207,6 +5208,7 @@
52075208 hl-SignColumn syntax.txt /*hl-SignColumn*
52085209 hl-SpecialKey syntax.txt /*hl-SpecialKey*
52095210 hl-SpellBad syntax.txt /*hl-SpellBad*
5211+hl-SpellCap syntax.txt /*hl-SpellCap*
52105212 hl-SpellLocal syntax.txt /*hl-SpellLocal*
52115213 hl-SpellRare syntax.txt /*hl-SpellRare*
52125214 hl-StatusLine syntax.txt /*hl-StatusLine*
diff -r bded5839a32e -r 289b19a6f2ed runtime/doc/todo.txt
--- a/runtime/doc/todo.txt Tue Jul 05 21:36:03 2005 +0000
+++ b/runtime/doc/todo.txt Tue Jul 05 21:48:14 2005 +0000
@@ -1,4 +1,4 @@
1-*todo.txt* For Vim version 7.0aa. Last change: 2005 Jul 04
1+*todo.txt* For Vim version 7.0aa. Last change: 2005 Jul 05
22
33
44 VIM REFERENCE MANUAL by Bram Moolenaar
diff -r bded5839a32e -r 289b19a6f2ed runtime/ftplugin/AppendMatchGroup.vim
--- a/runtime/ftplugin/AppendMatchGroup.vim Tue Jul 05 21:36:03 2005 +0000
+++ b/runtime/ftplugin/AppendMatchGroup.vim Tue Jul 05 21:48:14 2005 +0000
@@ -1,125 +1,125 @@
1-" Vim filetype plugin file utility
2-" Language: * (various)
3-" Maintainer: Dave Silvia <dsilvia@mchsi.com>
4-" Date: 6/30/2004
5-
6-" The start of match (b:SOM) default is:
7-" '\<'
8-" The end of match (b:EOM) default is:
9-" '\>'
10-"
11-" If you want to use some other start/end of match, just assign the
12-" value to the b:SOM|EOM variable in your filetype script.
13-"
14-" SEE: :h pattern.txt
15-" :h pattern-searches
16-" :h regular-expression
17-" :h matchit
18-
19-let s:myName=expand("<sfile>:t")
20-
21-" matchit.vim not loaded -- don't do anyting
22-if !exists("loaded_matchit")
23- echomsg s:myName.": matchit.vim not loaded -- finishing without loading"
24- finish
25-endif
26-
27-" already been here -- don't redefine
28-if exists("*AppendMatchGroup")
29- finish
30-endif
31-
32-" Function To Build b:match_words
33-" The following function, 'AppendMatchGroup', helps to increase
34-" readability of your filetype script if you choose to use matchit.
35-" It also precludes many construction errors, reducing the
36-" construction to simply invoking the function with the match words.
37-" As an example, let's take the ubiquitous if/then/else/endif type
38-" of construct. This is how the entry in your filetype script would look.
39-"
40-" " source the AppendMatchGroup function file
41-" runtime ftplugin/AppendMatchGroup.vim
42-"
43-" " fill b:match_words
44-" call AppendMatchGroup('if,then,else,endif')
45-"
46-" And the b:match_words constructed would look like:
47-"
48-" \<if\>:\<then\>:\<else\>:\<endif\>
49-"
50-" Use of AppendMatchGroup makes your filetype script is a little
51-" less busy and a lot more readable. Additionally, it
52-" checks three critical things:
53-"
54-" 1) Do you have at least 2 entries in your match group.
55-"
56-" 2) Does the buffer variable 'b:match_words' exist? if not, create it.
57-"
58-" 3) If the buffer variable 'b:match_words' does exist, is the last
59-" character a ','? If not, add it before appending.
60-"
61-" You should now be able to match 'if/then/else/endif' in succession
62-" in your source file, in just about any construction you may have
63-" chosen for them.
64-"
65-" To add another group, simply call 'AppendMatchGroup again. E.G.:
66-"
67-" call AppendMatchGroup('while,do,endwhile')
68-
69-function AppendMatchGroup(mwordList)
70- let List=a:mwordList
71- let Comma=match(List,',')
72- if Comma == -1 || Comma == strlen(List)-1
73- echoerr "Must supply a comma separated list of at least 2 entries."
74- echoerr "Supplied list: <".List.">"
75- return
76- endif
77- let listEntryBegin=0
78- let listEntryEnd=Comma
79- let listEntry=strpart(List,listEntryBegin,listEntryEnd-listEntryBegin)
80- let List=strpart(List,Comma+1)
81- let Comma=match(List,',')
82- " if listEntry is all spaces || List is empty || List is all spaces
83- if (match(listEntry,'\s\+') == 0 && match(listEntry,'\S\+') == -1)
84- \ || List == '' || (match(List,'\s\+') == 0 && match(List,'\S\+') == -1)
85- echoerr "Can't use all spaces for an entry <".listEntry.">"
86- echoerr "Remaining supplied list: <".List.">"
87- return
88- endif
89-
90- if !exists("b:SOM")
91- let b:SOM='\<'
92- endif
93- if !exists("b:EOM")
94- let b:EOM='\>'
95- endif
96- if !exists("b:match_words")
97- let b:match_words=''
98- endif
99- if b:match_words != '' && match(b:match_words,',$') == -1
100- let b:match_words=b:match_words.','
101- endif
102- " okay, all set add first entry in this list
103- let b:match_words=b:match_words.b:SOM.listEntry.b:EOM.':'
104- while Comma != -1
105- let listEntryEnd=Comma
106- let listEntry=strpart(List,listEntryBegin,listEntryEnd-listEntryBegin)
107- let List=strpart(List,Comma+1)
108- let Comma=match(List,',')
109- " if listEntry is all spaces
110- if match(listEntry,'\s\+') == 0 && match(listEntry,'\S\+') == -1
111- echoerr "Can't use all spaces for an entry <".listEntry."> - skipping"
112- echoerr "Remaining supplied list: <".List.">"
113- continue
114- endif
115- let b:match_words=b:match_words.b:SOM.listEntry.b:EOM.':'
116- endwhile
117- let listEntry=List
118- let b:match_words=b:match_words.b:SOM.listEntry.b:EOM
119-endfunction
120-
121-" TODO: Write a wrapper to handle multiple groups in one function call.
122-" Don't see a lot of utility in this as it would undoubtedly warrant
123-" continuation lines in the filetype script and it would be a toss
124-" up as to which is more readable: individual calls one to a line or
125-" a single call with continuation lines. I vote for the former.
1+" Vim filetype plugin file utility
2+" Language: * (various)
3+" Maintainer: Dave Silvia <dsilvia@mchsi.com>
4+" Date: 6/30/2004
5+
6+" The start of match (b:SOM) default is:
7+" '\<'
8+" The end of match (b:EOM) default is:
9+" '\>'
10+"
11+" If you want to use some other start/end of match, just assign the
12+" value to the b:SOM|EOM variable in your filetype script.
13+"
14+" SEE: :h pattern.txt
15+" :h pattern-searches
16+" :h regular-expression
17+" :h matchit
18+
19+let s:myName=expand("<sfile>:t")
20+
21+" matchit.vim not loaded -- don't do anyting
22+if !exists("loaded_matchit")
23+ echomsg s:myName.": matchit.vim not loaded -- finishing without loading"
24+ finish
25+endif
26+
27+" already been here -- don't redefine
28+if exists("*AppendMatchGroup")
29+ finish
30+endif
31+
32+" Function To Build b:match_words
33+" The following function, 'AppendMatchGroup', helps to increase
34+" readability of your filetype script if you choose to use matchit.
35+" It also precludes many construction errors, reducing the
36+" construction to simply invoking the function with the match words.
37+" As an example, let's take the ubiquitous if/then/else/endif type
38+" of construct. This is how the entry in your filetype script would look.
39+"
40+" " source the AppendMatchGroup function file
41+" runtime ftplugin/AppendMatchGroup.vim
42+"
43+" " fill b:match_words
44+" call AppendMatchGroup('if,then,else,endif')
45+"
46+" And the b:match_words constructed would look like:
47+"
48+" \<if\>:\<then\>:\<else\>:\<endif\>
49+"
50+" Use of AppendMatchGroup makes your filetype script is a little
51+" less busy and a lot more readable. Additionally, it
52+" checks three critical things:
53+"
54+" 1) Do you have at least 2 entries in your match group.
55+"
56+" 2) Does the buffer variable 'b:match_words' exist? if not, create it.
57+"
58+" 3) If the buffer variable 'b:match_words' does exist, is the last
59+" character a ','? If not, add it before appending.
60+"
61+" You should now be able to match 'if/then/else/endif' in succession
62+" in your source file, in just about any construction you may have
63+" chosen for them.
64+"
65+" To add another group, simply call 'AppendMatchGroup again. E.G.:
66+"
67+" call AppendMatchGroup('while,do,endwhile')
68+
69+function AppendMatchGroup(mwordList)
70+ let List=a:mwordList
71+ let Comma=match(List,',')
72+ if Comma == -1 || Comma == strlen(List)-1
73+ echoerr "Must supply a comma separated list of at least 2 entries."
74+ echoerr "Supplied list: <".List.">"
75+ return
76+ endif
77+ let listEntryBegin=0
78+ let listEntryEnd=Comma
79+ let listEntry=strpart(List,listEntryBegin,listEntryEnd-listEntryBegin)
80+ let List=strpart(List,Comma+1)
81+ let Comma=match(List,',')
82+ " if listEntry is all spaces || List is empty || List is all spaces
83+ if (match(listEntry,'\s\+') == 0 && match(listEntry,'\S\+') == -1)
84+ \ || List == '' || (match(List,'\s\+') == 0 && match(List,'\S\+') == -1)
85+ echoerr "Can't use all spaces for an entry <".listEntry.">"
86+ echoerr "Remaining supplied list: <".List.">"
87+ return
88+ endif
89+
90+ if !exists("b:SOM")
91+ let b:SOM='\<'
92+ endif
93+ if !exists("b:EOM")
94+ let b:EOM='\>'
95+ endif
96+ if !exists("b:match_words")
97+ let b:match_words=''
98+ endif
99+ if b:match_words != '' && match(b:match_words,',$') == -1
100+ let b:match_words=b:match_words.','
101+ endif
102+ " okay, all set add first entry in this list
103+ let b:match_words=b:match_words.b:SOM.listEntry.b:EOM.':'
104+ while Comma != -1
105+ let listEntryEnd=Comma
106+ let listEntry=strpart(List,listEntryBegin,listEntryEnd-listEntryBegin)
107+ let List=strpart(List,Comma+1)
108+ let Comma=match(List,',')
109+ " if listEntry is all spaces
110+ if match(listEntry,'\s\+') == 0 && match(listEntry,'\S\+') == -1
111+ echoerr "Can't use all spaces for an entry <".listEntry."> - skipping"
112+ echoerr "Remaining supplied list: <".List.">"
113+ continue
114+ endif
115+ let b:match_words=b:match_words.b:SOM.listEntry.b:EOM.':'
116+ endwhile
117+ let listEntry=List
118+ let b:match_words=b:match_words.b:SOM.listEntry.b:EOM
119+endfunction
120+
121+" TODO: Write a wrapper to handle multiple groups in one function call.
122+" Don't see a lot of utility in this as it would undoubtedly warrant
123+" continuation lines in the filetype script and it would be a toss
124+" up as to which is more readable: individual calls one to a line or
125+" a single call with continuation lines. I vote for the former.
diff -r bded5839a32e -r 289b19a6f2ed runtime/ftplugin/mupad.vim
--- a/runtime/ftplugin/mupad.vim Tue Jul 05 21:36:03 2005 +0000
+++ b/runtime/ftplugin/mupad.vim Tue Jul 05 21:48:14 2005 +0000
@@ -1,30 +1,30 @@
1-" Vim filetype plugin file
2-" Language: MuPAD source files
3-" Maintainer: Dave Silvia <dsilvia@mchsi.com>
4-" Filenames: *.mu
5-" Date: 6/30/2004
6-
7-if exists("b:did_ftplugin") | finish | endif
8-let b:did_ftplugin = 1
9-
10-" Change the :browse e filter to primarily show MuPAD source files.
11-if has("gui_win32")
12- let b:browsefilter=
13- \ "MuPAD source (*.mu)\t*.mu\n" .
14- \ "All Files (*.*)\t*.*\n"
15-endif
16-
17-" matchit.vim not loaded -- don't do anyting below
18-if !exists("loaded_matchit")
19- " echomsg "matchit.vim not loaded -- finishing"
20- finish
21-endif
22-
23-" source the AppendMatchGroup function file
24-runtime ftplugin/AppendMatchGroup.vim
25-
26-" fill b:match_words for MuPAD
27-call AppendMatchGroup('domain,end_domain')
28-call AppendMatchGroup('proc,begin,end_proc')
29-call AppendMatchGroup('if,then,elif,else,end_if')
30-call AppendMatchGroup('\%(for\|while\|repeat\|case\),of,do,break,next,until,\%(end_for\|end_while\|end_repeat\|end_case\)')
1+" Vim filetype plugin file
2+" Language: MuPAD source files
3+" Maintainer: Dave Silvia <dsilvia@mchsi.com>
4+" Filenames: *.mu
5+" Date: 6/30/2004
6+
7+if exists("b:did_ftplugin") | finish | endif
8+let b:did_ftplugin = 1
9+
10+" Change the :browse e filter to primarily show MuPAD source files.
11+if has("gui_win32")
12+ let b:browsefilter=
13+ \ "MuPAD source (*.mu)\t*.mu\n" .
14+ \ "All Files (*.*)\t*.*\n"
15+endif
16+
17+" matchit.vim not loaded -- don't do anyting below
18+if !exists("loaded_matchit")
19+ " echomsg "matchit.vim not loaded -- finishing"
20+ finish
21+endif
22+
23+" source the AppendMatchGroup function file
24+runtime ftplugin/AppendMatchGroup.vim
25+
26+" fill b:match_words for MuPAD
27+call AppendMatchGroup('domain,end_domain')
28+call AppendMatchGroup('proc,begin,end_proc')
29+call AppendMatchGroup('if,then,elif,else,end_if')
30+call AppendMatchGroup('\%(for\|while\|repeat\|case\),of,do,break,next,until,\%(end_for\|end_while\|end_repeat\|end_case\)')
diff -r bded5839a32e -r 289b19a6f2ed runtime/indent/pascal.vim
--- a/runtime/indent/pascal.vim Tue Jul 05 21:36:03 2005 +0000
+++ b/runtime/indent/pascal.vim Tue Jul 05 21:48:14 2005 +0000
@@ -1,173 +1,173 @@
1-" Vim indent file
2-" Language: Pascal
3-" Maintainer: Neil Carter <n.carter@swansea.ac.uk>
4-" Created: 2004 Jul 13
5-" Last Change: 2005 Jun 15
6-
7-
8-if exists("b:did_indent")
9- finish
10-endif
11-let b:did_indent = 1
12-
13-setlocal indentexpr=GetPascalIndent(v:lnum)
14-setlocal indentkeys&
15-setlocal indentkeys+==end;,==const,==type,==var,==begin,==repeat,==until,==for
16-setlocal indentkeys+==program,==function,==procedure,==object,==private
17-setlocal indentkeys+==record,==if,==else,==case
18-
19-if exists("*GetPascalIndent")
20- finish
21-endif
22-
23-
24-function! s:GetPrevNonCommentLineNum( line_num )
25-
26- " Skip lines starting with a comment
27- let SKIP_LINES = '^\s*\(\((\*\)\|\(\*\ \)\|\(\*)\)\|{\|}\)'
28-
29- let nline = a:line_num
30- while nline > 0
31- let nline = prevnonblank(nline-1)
32- if getline(nline) !~? SKIP_LINES
33- break
34- endif
35- endwhile
36-
37- return nline
38-endfunction
39-
40-
41-function! GetPascalIndent( line_num )
42- " Line 0 always goes at column 0
43- if a:line_num == 0
44- return 0
45- endif
46-
47- let this_codeline = getline( a:line_num )
48-
49- " If in the middle of a three-part comment
50- if this_codeline =~ '^\s*\*'
51- return indent( a:line_num )
52- endif
53-
54- let prev_codeline_num = s:GetPrevNonCommentLineNum( a:line_num )
55- let prev_codeline = getline( prev_codeline_num )
56- let indnt = indent( prev_codeline_num )
57-
58- " Compiler directives should always go in column zero.
59- if this_codeline =~ '^\s*{\(\$IFDEF\|\$ELSE\|\$ENDIF\)'
60- return 0
61- endif
62-
63- " These items have nothing before or after (not even a comment), and
64- " go on column 0. Make sure that the ^\s* is followed by \( to make
65- " ORs work properly, and not include the start of line (this must
66- " always appear).
67- " The bracketed expression with the underline is a routine
68- " separator. This is one case where we do indent comment lines.
69- if this_codeline =~ '^\s*\((\*\ _\+\ \*)\|\<\(const\|var\)\>\)$'
70- return 0
71- endif
72-
73- " These items may have text after them, and go on column 0 (in most
74- " cases). The problem is that "function" and "procedure" keywords
75- " should be indented if within a class declaration.
76- if this_codeline =~ '^\s*\<\(program\|type\|uses\|procedure\|function\)\>'
77- return 0
78- endif
79-
80- " BEGIN
81- " If the begin does not come after "if", "for", or "else", then it
82- " goes in column 0
83- if this_codeline =~ '^\s*begin\>' && prev_codeline !~ '^\s*\<\(if\|for\|else\)\>'
84- return 0
85- endif
86-
87- " These keywords are indented once only.
88- if this_codeline =~ '^\s*\<\(private\)\>'
89- return &shiftwidth
90- endif
91-
92- " If the PREVIOUS LINE contained these items, the current line is
93- " always indented once.
94- if prev_codeline =~ '^\s*\<\(type\|uses\)\>'
95- return &shiftwidth
96- endif
97-
98- " These keywords are indented once only. Possibly surrounded by
99- " other chars.
100- if this_codeline =~ '^.\+\<\(object\|record\)\>'
101- return &shiftwidth
102- endif
103-
104- " If the previous line was indenting...
105- if prev_codeline =~ '^\s*\<\(for\|if\|case\|else\|end\ else\)\>'
106- " then indent.
107- let indnt = indnt + &shiftwidth
108- " BUT... if this is the start of a multistatement block then we
109- " need to align the begin with the previous line.
110- if this_codeline =~ '^\s*begin\>'
111- return indnt - &shiftwidth
112- endif
113-
114- " We also need to keep the indentation level constant if the
115- " whole if-then statement was on one line.
116- if prev_codeline =~ '\<then\>.\+'
117- let indnt = indnt - &shiftwidth
118- endif
119- endif
120-
121- " PREVIOUS-LINE BEGIN
122- " If the previous line was an indenting keyword then indent once...
123- if prev_codeline =~ '^\s*\<\(const\|var\|begin\|repeat\|private\)\>'
124- " But only if this is another var in a list.
125- if this_codeline !~ '^\s*var\>'
126- return indnt + &shiftwidth
127- endif
128- endif
129-
130- " PREVIOUS-LINE BEGIN
131- " Indent code after a case statement begin
132- if prev_codeline =~ '\:\ begin\>'
133- return indnt + &shiftwidth
134- endif
135-
136- " These words may have text before them on the line (hence the .*)
137- " but are followed by nothing. Always indent once only.
138- if prev_codeline =~ '^\(.*\|\s*\)\<\(object\|record\)\>$'
139- return indnt + &shiftwidth
140- endif
141-
142- " If we just closed a bracket that started on a previous line, then
143- " unindent. But don't return yet -- we need to check for further
144- " unindentation (for end/until/else)
145- if prev_codeline =~ '^[^(]*[^*])'
146- let indnt = indnt - &shiftwidth
147- endif
148-
149- " At the end of a block, we have to unindent both the current line
150- " (the "end" for instance) and the newly-created line.
151- if this_codeline =~ '^\s*\<\(end\|until\|else\)\>'
152- return indnt - &shiftwidth
153- endif
154-
155- " If we have opened a bracket and it continues over one line,
156- " then indent once.
157- "
158- " RE = an opening bracket followed by any amount of anything other
159- " than a closing bracket and then the end-of-line.
160- "
161- " If we didn't include the end of line, this RE would match even
162- " closed brackets, since it would match everything up to the closing
163- " bracket.
164- "
165- " This test isn't clever enough to handle brackets inside strings or
166- " comments.
167- if prev_codeline =~ '([^*]\=[^)]*$'
168- return indnt + &shiftwidth
169- endif
170-
171- return indnt
172-endfunction
173-
1+" Vim indent file
2+" Language: Pascal
3+" Maintainer: Neil Carter <n.carter@swansea.ac.uk>
4+" Created: 2004 Jul 13
5+" Last Change: 2005 Jul 05
6+
7+
8+if exists("b:did_indent")
9+ finish
10+endif
11+let b:did_indent = 1
12+
13+setlocal indentexpr=GetPascalIndent(v:lnum)
14+setlocal indentkeys&
15+setlocal indentkeys+==end;,==const,==type,==var,==begin,==repeat,==until,==for
16+setlocal indentkeys+==program,==function,==procedure,==object,==private
17+setlocal indentkeys+==record,==if,==else,==case
18+
19+if exists("*GetPascalIndent")
20+ finish
21+endif
22+
23+
24+function! s:GetPrevNonCommentLineNum( line_num )
25+
26+ " Skip lines starting with a comment
27+ let SKIP_LINES = '^\s*\(\((\*\)\|\(\*\ \)\|\(\*)\)\|{\|}\)'
28+
29+ let nline = a:line_num
30+ while nline > 0
31+ let nline = prevnonblank(nline-1)
32+ if getline(nline) !~? SKIP_LINES
33+ break
34+ endif
35+ endwhile
36+
37+ return nline
38+endfunction
39+
40+
41+function! GetPascalIndent( line_num )
42+ " Line 0 always goes at column 0
43+ if a:line_num == 0
44+ return 0
45+ endif
46+
47+ let this_codeline = getline( a:line_num )
48+
49+ " If in the middle of a three-part comment
50+ if this_codeline =~ '^\s*\*'
51+ return indent( a:line_num )
52+ endif
53+
54+ let prev_codeline_num = s:GetPrevNonCommentLineNum( a:line_num )
55+ let prev_codeline = getline( prev_codeline_num )
56+ let indnt = indent( prev_codeline_num )
57+
58+ " Compiler directives should always go in column zero.
59+ if this_codeline =~ '^\s*{\(\$IFDEF\|\$ELSE\|\$ENDIF\)'
60+ return 0
61+ endif
62+
63+ " These items have nothing before or after (not even a comment), and
64+ " go on column 0. Make sure that the ^\s* is followed by \( to make
65+ " ORs work properly, and not include the start of line (this must
66+ " always appear).
67+ " The bracketed expression with the underline is a routine
68+ " separator. This is one case where we do indent comment lines.
69+ if this_codeline =~ '^\s*\((\*\ _\+\ \*)\|\<\(const\|var\)\>\)$'
70+ return 0
71+ endif
72+
73+ " These items may have text after them, and go on column 0 (in most
74+ " cases). The problem is that "function" and "procedure" keywords
75+ " should be indented if within a class declaration.
76+ if this_codeline =~ '^\s*\<\(program\|type\|uses\|procedure\|function\)\>'
77+ return 0
78+ endif
79+
80+ " BEGIN
81+ " If the begin does not come after "if", "for", or "else", then it
82+ " goes in column 0
83+ if this_codeline =~ '^\s*begin\>' && prev_codeline !~ '^\s*\<\(if\|for\|else\)\>'
84+ return 0
85+ endif
86+
87+ " These keywords are indented once only.
88+ if this_codeline =~ '^\s*\<\(private\)\>'
89+ return &shiftwidth
90+ endif
91+
92+ " If the PREVIOUS LINE contained these items, the current line is
93+ " always indented once.
94+ if prev_codeline =~ '^\s*\<\(type\|uses\)\>'
95+ return &shiftwidth
96+ endif
97+
98+ " These keywords are indented once only. Possibly surrounded by
99+ " other chars.
100+ if this_codeline =~ '^.\+\<\(object\|record\)\>'
101+ return &shiftwidth
102+ endif
103+
104+ " If the previous line was indenting...
105+ if prev_codeline =~ '^\s*\<\(for\|if\|case\|else\|end\ else\)\>'
106+ " then indent.
107+ let indnt = indnt + &shiftwidth
108+ " BUT... if this is the start of a multistatement block then we
109+ " need to align the begin with the previous line.
110+ if this_codeline =~ '^\s*begin\>'
111+ return indnt - &shiftwidth
112+ endif
113+
114+ " We also need to keep the indentation level constant if the
115+ " whole if-then statement was on one line.
116+ if prev_codeline =~ '\<then\>.\+'
117+ let indnt = indnt - &shiftwidth
118+ endif
119+ endif
120+
121+ " PREVIOUS-LINE BEGIN
122+ " If the previous line was an indenting keyword then indent once...
123+ if prev_codeline =~ '^\s*\<\(const\|var\|begin\|repeat\|private\)\>'
124+ " But only if this is another var in a list.
125+ if this_codeline !~ '^\s*var\>'
126+ return indnt + &shiftwidth
127+ endif
128+ endif
129+
130+ " PREVIOUS-LINE BEGIN
131+ " Indent code after a case statement begin
132+ if prev_codeline =~ '\:\ begin\>'
133+ return indnt + &shiftwidth
134+ endif
135+
136+ " These words may have text before them on the line (hence the .*)
137+ " but are followed by nothing. Always indent once only.
138+ if prev_codeline =~ '^\(.*\|\s*\)\<\(object\|record\)\>$'
139+ return indnt + &shiftwidth
140+ endif
141+
142+ " If we just closed a bracket that started on a previous line, then
143+ " unindent. But don't return yet -- we need to check for further
144+ " unindentation (for end/until/else)
145+ if prev_codeline =~ '^[^(]*[^*])'
146+ let indnt = indnt - &shiftwidth
147+ endif
148+
149+ " At the end of a block, we have to unindent both the current line
150+ " (the "end" for instance) and the newly-created line.
151+ if this_codeline =~ '^\s*\<\(end\|until\|else\)\>'
152+ return indnt - &shiftwidth
153+ endif
154+
155+ " If we have opened a bracket and it continues over one line,
156+ " then indent once.
157+ "
158+ " RE = an opening bracket followed by any amount of anything other
159+ " than a closing bracket and then the end-of-line.
160+ "
161+ " If we didn't include the end of line, this RE would match even
162+ " closed brackets, since it would match everything up to the closing
163+ " bracket.
164+ "
165+ " This test isn't clever enough to handle brackets inside strings or
166+ " comments.
167+ if prev_codeline =~ '([^*]\=[^)]*$'
168+ return indnt + &shiftwidth
169+ endif
170+
171+ return indnt
172+endfunction
173+
diff -r bded5839a32e -r 289b19a6f2ed runtime/keymap/canfr-win.vim
--- a/runtime/keymap/canfr-win.vim Tue Jul 05 21:36:03 2005 +0000
+++ b/runtime/keymap/canfr-win.vim Tue Jul 05 21:48:14 2005 +0000
@@ -1,91 +1,91 @@
1-" Vim Keymap file for the normalized Canadian multilingual keyboard
2-" CAN/CSA Z243.200-92 using the latin1 encoding.
3-" This mapping is limited in scope, as it assumes that the AltGr
4-" key works as it typically does in a Windows system with a multilingual
5-" English keyboard. It probably won't work with the US keyboard on US
6-" English versions of Windows, because those don't provide the AltGr keys.
7-" The mapping was tested with Win2k and WinXP.
8-
9-" Maintainer: Eric Joanis <joanis@cs.toronto.edu>
10-" Last Change: 2004 Jan 13
11-
12-" 2003 Dec 04
13-" Initial Revision
14-
15-" 2004 Jan 13
16-" Added the upper case accented characters, forgotten in the initial version.
17-
18-" All characters are given literally, conversion to another encoding (e.g.,
19-" UTF-8) should work.
20-scriptencoding latin1
21-
22-" Use this short name in the status line.
23-let b:keymap_name = "canfr"
24-
25-loadkeymap
26-< '
27-> "
28-/ é
29-? É
30-' è
31-\" È
32-\\ à
33-| À
34-[a â
35-[e ê
36-[i î
37-[o ô
38-[u û
39-[A Â
40-[E Ê
41-[I Î
42-[O Ô
43-[U Û
44-[[ ^
45-{a ä
46-{e ë
47-{i ï
48-{o ö
49-{u ü
50-{y ÿ
51-{A Ä
52-{E Ë
53-{I Ï
54-{O Ö
55-{U Ü
56-] ç
57-} Ç
58-` /
59-~ \\
60-^ ?
61-ú «
62-ø »
63-¬ <
64-® >
65-» °
66-Ûa à
67-Ûe è
68-Ûi ì
69-Ûo ò
70-Ûu ù
71-ÛA À
72-ÛE È
73-ÛI Ì
74-ÛO Ò
75-ÛU Ù
76-ÛÛ `
77-Ýa ã
78-Ýo õ
79-Ýn ñ
80-Ýs ß
81-ÝA Ã
82-ÝO Õ
83-ÝN Ñ
84-ÝS ß
85-ÝÝ ~
86-à |
87-· {
88-¸ }
89-¹ [
90-° ]
91-½ ¬
1+" Vim Keymap file for the normalized Canadian multilingual keyboard
2+" CAN/CSA Z243.200-92 using the latin1 encoding.
3+" This mapping is limited in scope, as it assumes that the AltGr
4+" key works as it typically does in a Windows system with a multilingual
5+" English keyboard. It probably won't work with the US keyboard on US
6+" English versions of Windows, because those don't provide the AltGr keys.
7+" The mapping was tested with Win2k and WinXP.
8+
9+" Maintainer: Eric Joanis <joanis@cs.toronto.edu>
10+" Last Change: 2004 Jan 13
11+
12+" 2003 Dec 04
13+" Initial Revision
14+
15+" 2004 Jan 13
16+" Added the upper case accented characters, forgotten in the initial version.
17+
18+" All characters are given literally, conversion to another encoding (e.g.,
19+" UTF-8) should work.
20+scriptencoding latin1
21+
22+" Use this short name in the status line.
23+let b:keymap_name = "canfr"
24+
25+loadkeymap
26+< '
27+> "
28+/ é
29+? É
30+' è
31+\" È
32+\\ à
33+| À
34+[a â
35+[e ê
36+[i î
37+[o ô
38+[u û
39+[A Â
40+[E Ê
41+[I Î
42+[O Ô
43+[U Û
44+[[ ^
45+{a ä
46+{e ë
47+{i ï
48+{o ö
49+{u ü
50+{y ÿ
51+{A Ä
52+{E Ë
53+{I Ï
54+{O Ö
55+{U Ü
56+] ç
57+} Ç
58+` /
59+~ \\
60+^ ?
61+ú «
62+ø »
63+¬ <
64+® >
65+» °
66+Ûa à
67+Ûe è
68+Ûi ì
69+Ûo ò
70+Ûu ù
71+ÛA À
72+ÛE È
73+ÛI Ì
74+ÛO Ò
75+ÛU Ù
76+ÛÛ `
77+Ýa ã
78+Ýo õ
79+Ýn ñ
80+Ýs ß
81+ÝA Ã
82+ÝO Õ
83+ÝN Ñ
84+ÝS ß
85+ÝÝ ~
86+à |
87+· {
88+¸ }
89+¹ [
90+° ]
91+½ ¬
diff -r bded5839a32e -r 289b19a6f2ed runtime/spell/README.txt
--- a/runtime/spell/README.txt Tue Jul 05 21:36:03 2005 +0000
+++ b/runtime/spell/README.txt Tue Jul 05 21:48:14 2005 +0000
@@ -2,7 +2,7 @@
22 them. See ":help spell" for more information.
33
44
5-Copyright
5+COPYRIGHT
66
77 The files used as input for the spell files come from the OpenOffice.org spell
88 files. Most of them go under the LGPL or a similar license.
@@ -10,3 +10,78 @@
1010 Copyright notices for specific languages are in README_??.txt. Note that the
1111 files for different regions are merged, both to save space and to make it
1212 possible to highlight words for another region different from bad words.
13+
14+
15+GENERATING .SPL FILES
16+
17+This involves downloading the files from the OpenOffice.org server, applying a
18+patch and running Vim to generate the .spl file. To do this all in one go use
19+the Aap program (www.a-a-p.org). It's simple to install, it only requires
20+Python.
21+
22+You can also do it manually:
23+1. Fetch the right spell file from:
24+ http://ftp.services.openoffice.org/pub/OpenOffice.org/contrib/dictionaries
25+
26+2. Unzip the archive:
27+ unzip LL_RR.zip
28+
29+3. Apply the patch:
30+ patch < LL_RR.diff
31+
32+4. If the language has multiple regions do the above for each region. E.g.,
33+ for English there are five regions: US, CA, AU, NZ and GB.
34+
35+5. Run Vim and execute ":mkspell". Make sure you do this with the correct
36+ locale, that influences the upper/lower case letters and word characters.
37+ On Unix it's something like:
38+ env LANG=en_US.UTF-8 vim
39+ mkspell! en en_US en_AU en_CA en_GB en_NZ
40+
41+6. Repeat step 5 for other locales. For English you could generate a spell
42+ file for latin1, utf-8 and ASCII. ASCII only makes sense for languages
43+ that have very few words with non-ASCII letters.
44+
45+Now you understand why I prefer using the Aap recipe :-).
46+
47+
48+MAINTAINING A LANGUAGE
49+
50+Every language should have a maintainer. His tasks are to track the changes
51+in the OpenOffice.org spell files and make updated patches. Words that
52+haven't been added/removed from the OpenOffice lists can also be handled by
53+the patches.
54+
55+It is important to keep the version of the .dic and .aff files that you
56+started with. When OpenOffice brings out new versions of these files you can
57+find out what changed and take over these changes in your patch. When there
58+are very many changes you can do it the other way around: re-apply the changes
59+for Vim to the new versions of the .dic and .aff files.
60+
61+This procedure should work well:
62+
63+1. Obtain the zip archive with the .aff and .dic files. Unpack it as
64+ explained above and copy (don't rename!) the .aff and .dic files to
65+ .orig.aff and .orig.dic. Using the Aap recipe should work, it will make
66+ the copies for you.
67+
68+2. Tweak the .aff and .dic files to generate the perfect .spl file. Don't
69+ change too much, the OpenOffice people are not stupid. However, you may
70+ want to remove obvious mistakes. And remove single-letter words that
71+ aren't really words, they mess up the suggestions (English has this
72+ problem).
73+
74+3. Make the diff file. "aap diff" will do this for you. If a diff would be
75+ too big you might consider writing a Vim script to do systematic changes.
76+ Do check that someone else can reproduce building the spell file. Send the
77+ result to Bram for inclusion in the distribution. Bram will generate the
78+ .spl file and upload it to the ftp server (if he can't generate it you will
79+ have to send him the .spl file too).
80+
81+4. When OpenOffice makes a new zip file available you need to update the
82+ patch. "aap check" should do most of the work for you: if there are
83+ changes the .new.dic and .new.aff files will appear. You can now figure
84+ out the differences with .orig.dic and .orig.aff, adjust the .dic and .aff
85+ files and finally move the .new.dic to .orig.dic and .new.aff to .orig.aff.
86+
87+5. Repeat step 4. regularly.
diff -r bded5839a32e -r 289b19a6f2ed runtime/spell/en.ascii.spl
Binary file runtime/spell/en.ascii.spl has changed
diff -r bded5839a32e -r 289b19a6f2ed runtime/spell/en.latin1.spl
Binary file runtime/spell/en.latin1.spl has changed
diff -r bded5839a32e -r 289b19a6f2ed runtime/spell/en.utf-8.spl
Binary file runtime/spell/en.utf-8.spl has changed
diff -r bded5839a32e -r 289b19a6f2ed runtime/spell/he/main.aap
--- a/runtime/spell/he/main.aap Tue Jul 05 21:36:03 2005 +0000
+++ b/runtime/spell/he/main.aap Tue Jul 05 21:48:14 2005 +0000
@@ -9,12 +9,16 @@
99 SPELLDIR = ..
1010 FILES = he_IL.aff he_IL.dic
1111
12-all: $(SPELLDIR)/he.utf-8.spl ../README_he.txt
12+all: $(SPELLDIR)/he.utf-8.spl $(SPELLDIR)/he.iso-8859-8.spl ../README_he.txt
1313
1414 $(SPELLDIR)/he.utf-8.spl : $(VIM) $(FILES)
1515 :sys env LANG=he_IL.UTF-8
1616 $(VIM) -e -c "mkspell! $(SPELLDIR)/he he_IL" -c q
1717
18+$(SPELLDIR)/he.iso-8859-8.spl : $(VIM) $(FILES)
19+ :sys $(VIM) -e -c "set enc=iso-8859-8"
20+ -c "mkspell! $(SPELLDIR)/he he_IL" -c q
21+
1822 ../README_he.txt : README_he_IL.txt
1923 :copy $source $target
2024
diff -r bded5839a32e -r 289b19a6f2ed runtime/syntax/html.vim
--- a/runtime/syntax/html.vim Tue Jul 05 21:36:03 2005 +0000
+++ b/runtime/syntax/html.vim Tue Jul 05 21:48:14 2005 +0000
@@ -2,7 +2,7 @@
22 " Language: HTML
33 " Maintainer: Claudio Fleiner <claudio@fleiner.com>
44 " URL: http://www.fleiner.com/vim/syntax/html.vim
5-" Last Change: 2004 May 16
5+" Last Change: 2005 Jul 05
66
77 " Please check :help html.vim for some comments and a description of the options
88
@@ -35,8 +35,8 @@
3535 syn region htmlString contained start=+"+ end=+"+ contains=htmlSpecialChar,javaScriptExpression,@htmlPreproc
3636 syn region htmlString contained start=+'+ end=+'+ contains=htmlSpecialChar,javaScriptExpression,@htmlPreproc
3737 syn match htmlValue contained "=[\t ]*[^'" \t>][^ \t>]*"hs=s+1 contains=javaScriptExpression,@htmlPreproc
38-syn region htmlEndTag start=+</+ end=+>+ contains=htmlTagN,htmlTagError
39-syn region htmlTag start=+<[^/]+ end=+>+ contains=htmlTagN,htmlString,htmlArg,htmlValue,htmlTagError,htmlEvent,htmlCssDefinition,@htmlPreproc,@htmlArgCluster
38+syn region htmlEndTag start=+</+ end=+>+ contains=htmlTagN,htmlTagError,@NoSpell
39+syn region htmlTag start=+<[^/]+ end=+>+ contains=htmlTagN,htmlString,htmlArg,htmlValue,htmlTagError,htmlEvent,htmlCssDefinition,@htmlPreproc,@htmlArgCluster,@NoSpell
4040 syn match htmlTagN contained +<\s*[-a-zA-Z0-9]\++hs=s+1 contains=htmlTagName,htmlSpecialTagName,@htmlTagNameCluster
4141 syn match htmlTagN contained +</\s*[-a-zA-Z0-9]\++hs=s+2 contains=htmlTagName,htmlSpecialTagName,@htmlTagNameCluster
4242 syn match htmlTagError contained "[^>]<"ms=s+1
@@ -116,7 +116,7 @@
116116
117117 if !exists("html_no_rendering")
118118 " rendering
119- syn cluster htmlTop contains=@Spell,htmlTag,htmlEndTag,htmlSpecialChar,htmlPreProc,htmlComment,htmlLink,javaScript,@htmlPreproc
119+ syn cluster htmlTop contains=htmlTag,htmlEndTag,htmlSpecialChar,htmlPreProc,htmlComment,htmlLink,javaScript,@htmlPreproc
120120
121121 syn region htmlBold start="<b\>" end="</b>"me=e-4 contains=@htmlTop,htmlBoldUnderline,htmlBoldItalic
122122 syn region htmlBold start="<strong\>" end="</strong>"me=e-9 contains=@htmlTop,htmlBoldUnderline,htmlBoldItalic
@@ -146,7 +146,7 @@
146146 syn region htmlItalicUnderlineBold contained start="<b\>" end="</b>"me=e-4 contains=@htmlTop
147147 syn region htmlItalicUnderlineBold contained start="<strong\>" end="</strong>"me=e-9 contains=@htmlTop
148148
149- syn region htmlLink start="<a\>\_[^>]*\<href\>" end="</a>"me=e-4 contains=@Spell,htmlTag,htmlEndTag,htmlSpecialChar,htmlPreProc,htmlComment,javaScript,@htmlPreproc
149+ syn region htmlLink start="<a\>\_[^>]*\<href\>" end="</a>"me=e-4 contains=htmlTag,htmlEndTag,htmlSpecialChar,htmlPreProc,htmlComment,javaScript,@htmlPreproc
150150 syn region htmlH1 start="<h1\>" end="</h1>"me=e-5 contains=@htmlTop
151151 syn region htmlH2 start="<h2\>" end="</h2>"me=e-5 contains=@htmlTop
152152 syn region htmlH3 start="<h3\>" end="</h3>"me=e-5 contains=@htmlTop
diff -r bded5839a32e -r 289b19a6f2ed runtime/syntax/mupad.vim
--- a/runtime/syntax/mupad.vim Tue Jul 05 21:36:03 2005 +0000
+++ b/runtime/syntax/mupad.vim Tue Jul 05 21:48:14 2005 +0000
@@ -1,295 +1,295 @@
1-" Vim syntax file
2-" Language: MuPAD source
3-" Maintainer: Dave Silvia <dsilvia@mchsi.com>
4-" Filenames: *.mu
5-" Date: 6/30/2004
6-
7-
8-" For version 5.x: Clear all syntax items
9-" For version 6.x: Quit when a syntax file was already loaded
10-if version < 600
11- syntax clear
12-elseif exists("b:current_syntax")
13- finish
14-endif
15-
16-" Set default highlighting to Win2k
17-if !exists("mupad_cmdextversion")
18- let mupad_cmdextversion = 2
19-endif
20-
21-syn case match
22-
23-syn match mupadComment "//\p*$"
24-syn region mupadComment start="/\*" end="\*/"
25-
26-syn region mupadString start="\"" skip=/\\"/ end="\""
27-
28-syn match mupadOperator "(\|)\|:=\|::\|:\|;"
29-" boolean
30-syn keyword mupadOperator and or not xor
31-syn match mupadOperator "==>\|\<=\>"
32-
33-" Informational
34-syn keyword mupadSpecial FILEPATH NOTEBOOKFILE NOTEBOOKPATH
35-" Set-able, e.g., DIGITS:=10
36-syn keyword mupadSpecial DIGITS HISTORY LEVEL
37-syn keyword mupadSpecial MAXLEVEL MAXDEPTH ORDER
38-syn keyword mupadSpecial TEXTWIDTH
39-" Set-able, e.g., PRETTYPRINT:=TRUE
40-syn keyword mupadSpecial PRETTYPRINT
41-" Set-able, e.g., LIBPATH:="C:\\MuPAD Pro\\mylibdir" or LIBPATH:="/usr/MuPAD Pro/mylibdir"
42-syn keyword mupadSpecial LIBPATH PACKAGEPATH
43-syn keyword mupadSpecial READPATH TESTPATH WRITEPATH
44-" Symbols and Constants
45-syn keyword mupadDefine FAIL NIL
46-syn keyword mupadDefine TRUE FALSE UNKNOWN
47-syn keyword mupadDefine complexInfinity infinity
48-syn keyword mupadDefine C_ CATALAN E EULER I PI Q_ R_
49-syn keyword mupadDefine RD_INF RD_NINF undefined unit universe Z_
50-" print() directives
51-syn keyword mupadDefine Unquoted NoNL KeepOrder Typeset
52-" domain specifics
53-syn keyword mupadStatement domain begin end_domain end
54-syn keyword mupadIdentifier inherits category axiom info doc interface
55-" basic programming statements
56-syn keyword mupadStatement proc begin end_proc
57-syn keyword mupadUnderlined name local option save
58-syn keyword mupadConditional if then elif else end_if
59-syn keyword mupadConditional case of do break end_case
60-syn keyword mupadRepeat for do next break end_for
61-syn keyword mupadRepeat while do next break end_while
62-syn keyword mupadRepeat repeat next break until end_repeat
63-" domain packages/libraries
64-syn keyword mupadType detools import linalg numeric numlib plot polylib
65-syn match mupadType '\<DOM_\w*\>'
66-
67-"syn keyword mupadFunction contains
68-" Functions dealing with prime numbers
69-syn keyword mupadFunction phi invphi mersenne nextprime numprimedivisors
70-syn keyword mupadFunction pollard prevprime primedivisors
71-" Functions operating on Lists, Matrices, Sets, ...
72-syn keyword mupadFunction array _index
73-" Evaluation
74-syn keyword mupadFunction float contains
75-" stdlib
76-syn keyword mupadFunction _exprseq _invert _lazy_and _lazy_or _negate
77-syn keyword mupadFunction _stmtseq _invert intersect minus union
78-syn keyword mupadFunction Ci D Ei O Re Im RootOf Si
79-syn keyword mupadFunction Simplify
80-syn keyword mupadFunction abs airyAi airyBi alias unalias anames append
81-syn keyword mupadFunction arcsin arccos arctan arccsc arcsec arccot
82-syn keyword mupadFunction arcsinh arccosh arctanh arccsch arcsech arccoth
83-syn keyword mupadFunction arg args array assert assign assignElements
84-syn keyword mupadFunction assume assuming asympt bernoulli
85-syn keyword mupadFunction besselI besselJ besselK besselY beta binomial bool
86-syn keyword mupadFunction bytes card
87-syn keyword mupadFunction ceil floor round trunc
88-syn keyword mupadFunction coeff coerce collect combine copyClosure
89-syn keyword mupadFunction conjugate content context contfrac
90-syn keyword mupadFunction debug degree degreevec delete _delete denom
91-syn keyword mupadFunction densematrix diff dilog dirac discont div _div
92-syn keyword mupadFunction divide domtype doprint erf erfc error eval evalassign
93-syn keyword mupadFunction evalp exp expand export unexport expose expr
94-syn keyword mupadFunction expr2text external extnops extop extsubsop
95-syn keyword mupadFunction fact fact2 factor fclose finput fname fopen fprint
96-syn keyword mupadFunction fread ftextinput readbitmap readdata pathname
97-syn keyword mupadFunction protocol read readbytes write writebytes
98-syn keyword mupadFunction float frac frame _frame frandom freeze unfreeze
99-syn keyword mupadFunction funcenv gamma gcd gcdex genident genpoly
100-syn keyword mupadFunction getpid getprop ground has hastype heaviside help
101-syn keyword mupadFunction history hold hull hypergeom icontent id
102-syn keyword mupadFunction ifactor igamma igcd igcdex ilcm in _in
103-syn keyword mupadFunction indets indexval info input int int2text
104-syn keyword mupadFunction interpolate interval irreducible is
105-syn keyword mupadFunction isprime isqrt iszero ithprime kummerU lambertW
106-syn keyword mupadFunction last lasterror lcm lcoeff ldegree length
107-syn keyword mupadFunction level lhs rhs limit linsolve lllint
108-syn keyword mupadFunction lmonomial ln loadmod loadproc log lterm
109-syn keyword mupadFunction match map mapcoeffs maprat matrix max min
110-syn keyword mupadFunction mod modp mods monomials multcoeffs new
111-syn keyword mupadFunction newDomain _next nextprime nops
112-syn keyword mupadFunction norm normal nterms nthcoeff nthmonomial nthterm
113-syn keyword mupadFunction null numer ode op operator package
114-syn keyword mupadFunction pade partfrac patchlevel pdivide
115-syn keyword mupadFunction piecewise plot plotfunc2d plotfunc3d
116-syn keyword mupadFunction poly poly2list polylog powermod print
117-syn keyword mupadFunction product protect psi quit _quit radsimp random rationalize
118-syn keyword mupadFunction rec rectform register reset return revert
119-syn keyword mupadFunction rewrite select series setuserinfo share sign signIm
120-syn keyword mupadFunction simplify
121-syn keyword mupadFunction sin cos tan csc sec cot
122-syn keyword mupadFunction sinh cosh tanh csch sech coth
123-syn keyword mupadFunction slot solve
124-syn keyword mupadFunction pdesolve matlinsolve matlinsolveLU toeplitzSolve
125-syn keyword mupadFunction vandermondeSolve fsolve odesolve odesolve2
126-syn keyword mupadFunction polyroots polysysroots odesolveGeometric
127-syn keyword mupadFunction realroot realroots mroots lincongruence
128-syn keyword mupadFunction msqrts
129-syn keyword mupadFunction sort split sqrt strmatch strprint
130-syn keyword mupadFunction subs subset subsex subsop substring sum
131-syn keyword mupadFunction surd sysname sysorder system table taylor tbl2text
132-syn keyword mupadFunction tcoeff testargs testeq testtype text2expr
133-syn keyword mupadFunction text2int text2list text2tbl rtime time
134-syn keyword mupadFunction traperror type unassume unit universe
135-syn keyword mupadFunction unloadmod unprotect userinfo val version
136-syn keyword mupadFunction warning whittakerM whittakerW zeta zip
137-
138-" graphics plot::
139-syn keyword mupadFunction getDefault setDefault copy modify Arc2d Arrow2d
140-syn keyword mupadFunction Arrow3d Bars2d Bars3d Box Boxplot Circle2d Circle3d
141-syn keyword mupadFunction Cone Conformal Curve2d Curve3d Cylinder Cylindrical
142-syn keyword mupadFunction Density Ellipse2d Function2d Function3d Hatch
143-syn keyword mupadFunction Histogram2d HOrbital Implicit2d Implicit3d
144-syn keyword mupadFunction Inequality Iteration Line2d Line3d Lsys Matrixplot
145-syn keyword mupadFunction MuPADCube Ode2d Ode3d Parallelogram2d Parallelogram3d
146-syn keyword mupadFunction Piechart2d Piechart3d Point2d Point3d Polar
147-syn keyword mupadFunction Polygon2d Polygon3d Raster Rectangle Sphere
148-syn keyword mupadFunction Ellipsoid Spherical Sum Surface SurfaceSet
149-syn keyword mupadFunction SurfaceSTL Tetrahedron Hexahedron Octahedron
150-syn keyword mupadFunction Dodecahedron Icosahedron Text2d Text3d Tube Turtle
151-syn keyword mupadFunction VectorField2d XRotate ZRotate Canvas CoordinateSystem2d
152-syn keyword mupadFunction CoordinateSystem3d Group2d Group3d Scene2d Scene3d ClippingBox
153-syn keyword mupadFunction Rotate2d Rotate3d Scale2d Scale3d Transform2d
154-syn keyword mupadFunction Transform3d Translate2d Translate3d AmbientLight
155-syn keyword mupadFunction Camera DistantLight PointLight SpotLight
156-
157-" graphics Attributes
158-" graphics Output Attributes
159-syn keyword mupadIdentifier OutputFile OutputOptions
160-" graphics Defining Attributes
161-syn keyword mupadIdentifier Angle AngleRange AngleBegin AngleEnd
162-syn keyword mupadIdentifier Area Axis AxisX AxisY AxisZ Base Top
163-syn keyword mupadIdentifier BaseX TopX BaseY TopY BaseZ TopZ
164-syn keyword mupadIdentifier BaseRadius TopRadius Cells
165-syn keyword mupadIdentifier Center CenterX CenterY CenterZ
166-syn keyword mupadIdentifier Closed ColorData CommandList Contours CoordinateType
167-syn keyword mupadIdentifier Data DensityData DensityFunction From To
168-syn keyword mupadIdentifier FromX ToX FromY ToY FromZ ToZ
169-syn keyword mupadIdentifier Function FunctionX FunctionY FunctionZ
170-syn keyword mupadIdentifier Function1 Function2 Baseline
171-syn keyword mupadIdentifier Generations RotationAngle IterationRules StartRule StepLength
172-syn keyword mupadIdentifier TurtleRules Ground Heights Moves Inequalities
173-syn keyword mupadIdentifier InputFile Iterations StartingPoint
174-syn keyword mupadIdentifier LineColorFunction FillColorFunction
175-syn keyword mupadIdentifier Matrix2d Matrix3d
176-syn keyword mupadIdentifier MeshList MeshListType MeshListNormals
177-syn keyword mupadIdentifier MagneticQuantumNumber MomentumQuantumNumber PrincipalQuantumNumber
178-syn keyword mupadIdentifier Name Normal NormalX NormalY NormalZ
179-syn keyword mupadIdentifier ParameterName ParameterBegin ParameterEnd ParameterRange
180-syn keyword mupadIdentifier Points2d Points3d Radius RadiusFunction
181-syn keyword mupadIdentifier Position PositionX PositionY PositionZ
182-syn keyword mupadIdentifier Scale ScaleX ScaleY ScaleZ Shift ShiftX ShiftY ShiftZ
183-syn keyword mupadIdentifier SemiAxes SemiAxisX SemiAxisY SemiAxisZ
184-syn keyword mupadIdentifier Tangent1 Tangent1X Tangent1Y Tangent1Z
185-syn keyword mupadIdentifier Tangent2 Tangent2X Tangent2Y Tangent2Z
186-syn keyword mupadIdentifier Text TextOrientation TextRotation
187-syn keyword mupadIdentifier UName URange UMin UMax VName VRange VMin VMax
188-syn keyword mupadIdentifier XName XRange XMin XMax YName YRange YMin YMax
189-syn keyword mupadIdentifier ZName ZRange ZMin ZMax ViewingBox
190-syn keyword mupadIdentifier ViewingBoxXMin ViewingBoxXMax ViewingBoxXRange
191-syn keyword mupadIdentifier ViewingBoxYMin ViewingBoxYMax ViewingBoxYRange
192-syn keyword mupadIdentifier ViewingBoxZMin ViewingBoxZMax ViewingBoxZRange
193-syn keyword mupadIdentifier Visible
194-" graphics Axis Attributes
195-syn keyword mupadIdentifier Axes AxesInFront AxesLineColor AxesLineWidth
196-syn keyword mupadIdentifier AxesOrigin AxesOriginX AxesOriginY AxesOriginZ
197-syn keyword mupadIdentifier AxesTips AxesTitleAlignment
198-syn keyword mupadIdentifier AxesTitleAlignmentX AxesTitleAlignmentY AxesTitleAlignmentZ
199-syn keyword mupadIdentifier AxesTitles XAxisTitle YAxisTitle ZAxisTitle
200-syn keyword mupadIdentifier AxesVisible XAxisVisible YAxisVisible ZAxisVisible
201-syn keyword mupadIdentifier YAxisTitleOrientation
202-" graphics Tick Marks Attributes
203-syn keyword mupadIdentifier TicksAnchor XTicksAnchor YTicksAnchor ZTicksAnchor
204-syn keyword mupadIdentifier TicksAt XTicksAt YTicksAt ZTicksAt
205-syn keyword mupadIdentifier TicksBetween XTicksBetween YTicksBetween ZTicksBetween
206-syn keyword mupadIdentifier TicksDistance XTicksDistance YTicksDistance ZTicksDistance
207-syn keyword mupadIdentifier TicksNumber XTicksNumber YTicksNumber ZTicksNumber
208-syn keyword mupadIdentifier TicksVisible XTicksVisible YTicksVisible ZTicksVisible
209-syn keyword mupadIdentifier TicksLength TicksLabelStyle
210-syn keyword mupadIdentifier XTicksLabelStyle YTicksLabelStyle ZTicksLabelStyle
211-syn keyword mupadIdentifier TicksLabelsVisible
212-syn keyword mupadIdentifier XTicksLabelsVisible YTicksLabelsVisible ZTicksLabelsVisible
213-" graphics Grid Lines Attributes
214-syn keyword mupadIdentifier GridInFront GridLineColor SubgridLineColor
215-syn keyword mupadIdentifier GridLineStyle SubgridLineStyle GridLineWidth SubgridLineWidth
216-syn keyword mupadIdentifier GridVisible XGridVisible YGridVisible ZGridVisible
217-syn keyword mupadIdentifier SubgridVisible XSubgridVisible YSubgridVisible ZSubgridVisible
218-" graphics Animation Attributes
219-syn keyword mupadIdentifier Frames TimeRange TimeBegin TimeEnd
220-syn keyword mupadIdentifier VisibleAfter VisibleBefore VisibleFromTo
221-syn keyword mupadIdentifier VisibleAfterEnd VisibleBeforeBegin
222-" graphics Annotation Attributes
223-syn keyword mupadIdentifier Footer Header FooterAlignment HeaderAlignment
224-syn keyword mupadIdentifier HorizontalAlignment TitleAlignment VerticalAlignment
225-syn keyword mupadIdentifier Legend LegendEntry LegendText
226-syn keyword mupadIdentifier LegendAlignment LegendPlacement LegendVisible
227-syn keyword mupadIdentifier Title Titles
228-syn keyword mupadIdentifier TitlePosition TitlePositionX TitlePositionY TitlePositionZ
229-" graphics Layout Attributes
230-syn keyword mupadIdentifier Bottom Left Height Width Layout Rows Columns
231-syn keyword mupadIdentifier Margin BottomMargin TopMargin LeftMargin RightMargin
232-syn keyword mupadIdentifier OutputUnits Spacing
233-" graphics Calculation Attributes
234-syn keyword mupadIdentifier AdaptiveMesh DiscontinuitySearch Mesh SubMesh
235-syn keyword mupadIdentifier UMesh USubMesh VMesh VSubMesh
236-syn keyword mupadIdentifier XMesh XSubMesh YMesh YSubMesh Zmesh
237-" graphics Camera and Lights Attributes
238-syn keyword mupadIdentifier CameraCoordinates CameraDirection
239-syn keyword mupadIdentifier CameraDirectionX CameraDirectionY CameraDirectionZ
240-syn keyword mupadIdentifier FocalPoint FocalPointX FocalPointY FocalPointZ
241-syn keyword mupadIdentifier LightColor Lighting LightIntensity OrthogonalProjection
242-syn keyword mupadIdentifier SpotAngle ViewingAngle
243-syn keyword mupadIdentifier Target TargetX TargetY TargetZ
244-" graphics Presentation Style and Fonts Attributes
245-syn keyword mupadIdentifier ArrowLength
246-syn keyword mupadIdentifier AxesTitleFont FooterFont HeaderFont LegendFont
247-syn keyword mupadIdentifier TextFont TicksLabelFont TitleFont
248-syn keyword mupadIdentifier BackgroundColor BackgroundColor2 BackgroundStyle
249-syn keyword mupadIdentifier BackgroundTransparent Billboarding BorderColor BorderWidth
250-syn keyword mupadIdentifier BoxCenters BoxWidths DrawMode Gap XGap YGap
251-syn keyword mupadIdentifier Notched NotchWidth Scaling YXRatio ZXRatio
252-syn keyword mupadIdentifier VerticalAsymptotesVisible VerticalAsymptotesStyle
253-syn keyword mupadIdentifier VerticalAsymptotesColor VerticalAsymptotesWidth
254-" graphics Line Style Attributes
255-syn keyword mupadIdentifier LineColor LineColor2 LineColorType LineStyle
256-syn keyword mupadIdentifier LinesVisible ULinesVisible VLinesVisible XLinesVisible
257-syn keyword mupadIdentifier YLinesVisible LineWidth MeshVisible
258-" graphics Point Style Attributes
259-syn keyword mupadIdentifier PointColor PointSize PointStyle PointsVisible
260-" graphics Surface Style Attributes
261-syn keyword mupadIdentifier BarStyle Shadows Color Colors FillColor FillColor2
262-syn keyword mupadIdentifier FillColorTrue FillColorFalse FillColorUnknown FillColorType
263-syn keyword mupadIdentifier Filled FillPattern FillPatterns FillStyle
264-syn keyword mupadIdentifier InterpolationStyle Shading UseNormals
265-" graphics Arrow Style Attributes
266-syn keyword mupadIdentifier TipAngle TipLength TipStyle TubeDiameter
267-syn keyword mupadIdentifier Tubular
268-" graphics meta-documentation Attributes
269-syn keyword mupadIdentifier objectGroupsListed
270-
271-if version >= 508 || !exists("did_mupad_syntax_inits")
272- if version < 508
273- let did_mupad_syntax_inits = 1
274- command -nargs=+ HiLink hi link <args>
275- else
276- command -nargs=+ HiLink hi def link <args>
277- endif
278-
279- HiLink mupadComment Comment
280- HiLink mupadString String
281- HiLink mupadOperator Operator
282- HiLink mupadSpecial Special
283- HiLink mupadStatement Statement
284- HiLink mupadUnderlined Underlined
285- HiLink mupadConditional Conditional
286- HiLink mupadRepeat Repeat
287- HiLink mupadFunction Function
288- HiLink mupadType Type
289- HiLink mupadDefine Define
290- HiLink mupadIdentifier Identifier
291-
292- delcommand HiLink
293-endif
294-
295-" TODO More comprehensive listing.
1+" Vim syntax file
2+" Language: MuPAD source
3+" Maintainer: Dave Silvia <dsilvia@mchsi.com>
4+" Filenames: *.mu
5+" Date: 6/30/2004
6+
7+
8+" For version 5.x: Clear all syntax items
9+" For version 6.x: Quit when a syntax file was already loaded
10+if version < 600
11+ syntax clear
12+elseif exists("b:current_syntax")
13+ finish
14+endif
15+
16+" Set default highlighting to Win2k
17+if !exists("mupad_cmdextversion")
18+ let mupad_cmdextversion = 2
19+endif
20+
21+syn case match
22+
23+syn match mupadComment "//\p*$"
24+syn region mupadComment start="/\*" end="\*/"
25+
26+syn region mupadString start="\"" skip=/\\"/ end="\""
27+
28+syn match mupadOperator "(\|)\|:=\|::\|:\|;"
29+" boolean
30+syn keyword mupadOperator and or not xor
31+syn match mupadOperator "==>\|\<=\>"
32+
33+" Informational
34+syn keyword mupadSpecial FILEPATH NOTEBOOKFILE NOTEBOOKPATH
35+" Set-able, e.g., DIGITS:=10
36+syn keyword mupadSpecial DIGITS HISTORY LEVEL
37+syn keyword mupadSpecial MAXLEVEL MAXDEPTH ORDER
38+syn keyword mupadSpecial TEXTWIDTH
39+" Set-able, e.g., PRETTYPRINT:=TRUE
40+syn keyword mupadSpecial PRETTYPRINT
41+" Set-able, e.g., LIBPATH:="C:\\MuPAD Pro\\mylibdir" or LIBPATH:="/usr/MuPAD Pro/mylibdir"
42+syn keyword mupadSpecial LIBPATH PACKAGEPATH
43+syn keyword mupadSpecial READPATH TESTPATH WRITEPATH
44+" Symbols and Constants
45+syn keyword mupadDefine FAIL NIL
46+syn keyword mupadDefine TRUE FALSE UNKNOWN
47+syn keyword mupadDefine complexInfinity infinity
48+syn keyword mupadDefine C_ CATALAN E EULER I PI Q_ R_
49+syn keyword mupadDefine RD_INF RD_NINF undefined unit universe Z_
50+" print() directives
51+syn keyword mupadDefine Unquoted NoNL KeepOrder Typeset
52+" domain specifics
53+syn keyword mupadStatement domain begin end_domain end
54+syn keyword mupadIdentifier inherits category axiom info doc interface
55+" basic programming statements
56+syn keyword mupadStatement proc begin end_proc
57+syn keyword mupadUnderlined name local option save
58+syn keyword mupadConditional if then elif else end_if
59+syn keyword mupadConditional case of do break end_case
60+syn keyword mupadRepeat for do next break end_for
61+syn keyword mupadRepeat while do next break end_while
62+syn keyword mupadRepeat repeat next break until end_repeat
63+" domain packages/libraries
64+syn keyword mupadType detools import linalg numeric numlib plot polylib
65+syn match mupadType '\<DOM_\w*\>'
66+
67+"syn keyword mupadFunction contains
68+" Functions dealing with prime numbers
69+syn keyword mupadFunction phi invphi mersenne nextprime numprimedivisors
70+syn keyword mupadFunction pollard prevprime primedivisors
71+" Functions operating on Lists, Matrices, Sets, ...
72+syn keyword mupadFunction array _index
73+" Evaluation
74+syn keyword mupadFunction float contains
75+" stdlib
76+syn keyword mupadFunction _exprseq _invert _lazy_and _lazy_or _negate
77+syn keyword mupadFunction _stmtseq _invert intersect minus union
78+syn keyword mupadFunction Ci D Ei O Re Im RootOf Si
79+syn keyword mupadFunction Simplify
80+syn keyword mupadFunction abs airyAi airyBi alias unalias anames append
81+syn keyword mupadFunction arcsin arccos arctan arccsc arcsec arccot
82+syn keyword mupadFunction arcsinh arccosh arctanh arccsch arcsech arccoth
83+syn keyword mupadFunction arg args array assert assign assignElements
84+syn keyword mupadFunction assume assuming asympt bernoulli
85+syn keyword mupadFunction besselI besselJ besselK besselY beta binomial bool
86+syn keyword mupadFunction bytes card
87+syn keyword mupadFunction ceil floor round trunc
88+syn keyword mupadFunction coeff coerce collect combine copyClosure
89+syn keyword mupadFunction conjugate content context contfrac
90+syn keyword mupadFunction debug degree degreevec delete _delete denom
91+syn keyword mupadFunction densematrix diff dilog dirac discont div _div
92+syn keyword mupadFunction divide domtype doprint erf erfc error eval evalassign
93+syn keyword mupadFunction evalp exp expand export unexport expose expr
94+syn keyword mupadFunction expr2text external extnops extop extsubsop
95+syn keyword mupadFunction fact fact2 factor fclose finput fname fopen fprint
96+syn keyword mupadFunction fread ftextinput readbitmap readdata pathname
97+syn keyword mupadFunction protocol read readbytes write writebytes
98+syn keyword mupadFunction float frac frame _frame frandom freeze unfreeze
99+syn keyword mupadFunction funcenv gamma gcd gcdex genident genpoly
100+syn keyword mupadFunction getpid getprop ground has hastype heaviside help
101+syn keyword mupadFunction history hold hull hypergeom icontent id
102+syn keyword mupadFunction ifactor igamma igcd igcdex ilcm in _in
103+syn keyword mupadFunction indets indexval info input int int2text
104+syn keyword mupadFunction interpolate interval irreducible is
105+syn keyword mupadFunction isprime isqrt iszero ithprime kummerU lambertW
106+syn keyword mupadFunction last lasterror lcm lcoeff ldegree length
107+syn keyword mupadFunction level lhs rhs limit linsolve lllint
108+syn keyword mupadFunction lmonomial ln loadmod loadproc log lterm
109+syn keyword mupadFunction match map mapcoeffs maprat matrix max min
110+syn keyword mupadFunction mod modp mods monomials multcoeffs new
111+syn keyword mupadFunction newDomain _next nextprime nops
112+syn keyword mupadFunction norm normal nterms nthcoeff nthmonomial nthterm
113+syn keyword mupadFunction null numer ode op operator package
114+syn keyword mupadFunction pade partfrac patchlevel pdivide
115+syn keyword mupadFunction piecewise plot plotfunc2d plotfunc3d
116+syn keyword mupadFunction poly poly2list polylog powermod print
117+syn keyword mupadFunction product protect psi quit _quit radsimp random rationalize
118+syn keyword mupadFunction rec rectform register reset return revert
119+syn keyword mupadFunction rewrite select series setuserinfo share sign signIm
120+syn keyword mupadFunction simplify
121+syn keyword mupadFunction sin cos tan csc sec cot
122+syn keyword mupadFunction sinh cosh tanh csch sech coth
123+syn keyword mupadFunction slot solve
124+syn keyword mupadFunction pdesolve matlinsolve matlinsolveLU toeplitzSolve
125+syn keyword mupadFunction vandermondeSolve fsolve odesolve odesolve2
126+syn keyword mupadFunction polyroots polysysroots odesolveGeometric
127+syn keyword mupadFunction realroot realroots mroots lincongruence
128+syn keyword mupadFunction msqrts
129+syn keyword mupadFunction sort split sqrt strmatch strprint
130+syn keyword mupadFunction subs subset subsex subsop substring sum
131+syn keyword mupadFunction surd sysname sysorder system table taylor tbl2text
132+syn keyword mupadFunction tcoeff testargs testeq testtype text2expr
133+syn keyword mupadFunction text2int text2list text2tbl rtime time
134+syn keyword mupadFunction traperror type unassume unit universe
135+syn keyword mupadFunction unloadmod unprotect userinfo val version
136+syn keyword mupadFunction warning whittakerM whittakerW zeta zip
137+
138+" graphics plot::
139+syn keyword mupadFunction getDefault setDefault copy modify Arc2d Arrow2d
140+syn keyword mupadFunction Arrow3d Bars2d Bars3d Box Boxplot Circle2d Circle3d
141+syn keyword mupadFunction Cone Conformal Curve2d Curve3d Cylinder Cylindrical
142+syn keyword mupadFunction Density Ellipse2d Function2d Function3d Hatch
143+syn keyword mupadFunction Histogram2d HOrbital Implicit2d Implicit3d
144+syn keyword mupadFunction Inequality Iteration Line2d Line3d Lsys Matrixplot
145+syn keyword mupadFunction MuPADCube Ode2d Ode3d Parallelogram2d Parallelogram3d
146+syn keyword mupadFunction Piechart2d Piechart3d Point2d Point3d Polar
147+syn keyword mupadFunction Polygon2d Polygon3d Raster Rectangle Sphere
148+syn keyword mupadFunction Ellipsoid Spherical Sum Surface SurfaceSet
149+syn keyword mupadFunction SurfaceSTL Tetrahedron Hexahedron Octahedron
150+syn keyword mupadFunction Dodecahedron Icosahedron Text2d Text3d Tube Turtle
151+syn keyword mupadFunction VectorField2d XRotate ZRotate Canvas CoordinateSystem2d
152+syn keyword mupadFunction CoordinateSystem3d Group2d Group3d Scene2d Scene3d ClippingBox
153+syn keyword mupadFunction Rotate2d Rotate3d Scale2d Scale3d Transform2d
154+syn keyword mupadFunction Transform3d Translate2d Translate3d AmbientLight
155+syn keyword mupadFunction Camera DistantLight PointLight SpotLight
156+
157+" graphics Attributes
158+" graphics Output Attributes
159+syn keyword mupadIdentifier OutputFile OutputOptions
160+" graphics Defining Attributes
161+syn keyword mupadIdentifier Angle AngleRange AngleBegin AngleEnd
162+syn keyword mupadIdentifier Area Axis AxisX AxisY AxisZ Base Top
163+syn keyword mupadIdentifier BaseX TopX BaseY TopY BaseZ TopZ
164+syn keyword mupadIdentifier BaseRadius TopRadius Cells
165+syn keyword mupadIdentifier Center CenterX CenterY CenterZ
166+syn keyword mupadIdentifier Closed ColorData CommandList Contours CoordinateType
167+syn keyword mupadIdentifier Data DensityData DensityFunction From To
168+syn keyword mupadIdentifier FromX ToX FromY ToY FromZ ToZ
169+syn keyword mupadIdentifier Function FunctionX FunctionY FunctionZ
170+syn keyword mupadIdentifier Function1 Function2 Baseline
171+syn keyword mupadIdentifier Generations RotationAngle IterationRules StartRule StepLength
172+syn keyword mupadIdentifier TurtleRules Ground Heights Moves Inequalities
173+syn keyword mupadIdentifier InputFile Iterations StartingPoint
174+syn keyword mupadIdentifier LineColorFunction FillColorFunction
175+syn keyword mupadIdentifier Matrix2d Matrix3d
176+syn keyword mupadIdentifier MeshList MeshListType MeshListNormals
177+syn keyword mupadIdentifier MagneticQuantumNumber MomentumQuantumNumber PrincipalQuantumNumber
178+syn keyword mupadIdentifier Name Normal NormalX NormalY NormalZ
179+syn keyword mupadIdentifier ParameterName ParameterBegin ParameterEnd ParameterRange
180+syn keyword mupadIdentifier Points2d Points3d Radius RadiusFunction
181+syn keyword mupadIdentifier Position PositionX PositionY PositionZ
182+syn keyword mupadIdentifier Scale ScaleX ScaleY ScaleZ Shift ShiftX ShiftY ShiftZ
183+syn keyword mupadIdentifier SemiAxes SemiAxisX SemiAxisY SemiAxisZ
184+syn keyword mupadIdentifier Tangent1 Tangent1X Tangent1Y Tangent1Z
185+syn keyword mupadIdentifier Tangent2 Tangent2X Tangent2Y Tangent2Z
186+syn keyword mupadIdentifier Text TextOrientation TextRotation
187+syn keyword mupadIdentifier UName URange UMin UMax VName VRange VMin VMax
188+syn keyword mupadIdentifier XName XRange XMin XMax YName YRange YMin YMax
189+syn keyword mupadIdentifier ZName ZRange ZMin ZMax ViewingBox
190+syn keyword mupadIdentifier ViewingBoxXMin ViewingBoxXMax ViewingBoxXRange
191+syn keyword mupadIdentifier ViewingBoxYMin ViewingBoxYMax ViewingBoxYRange
192+syn keyword mupadIdentifier ViewingBoxZMin ViewingBoxZMax ViewingBoxZRange
193+syn keyword mupadIdentifier Visible
194+" graphics Axis Attributes
195+syn keyword mupadIdentifier Axes AxesInFront AxesLineColor AxesLineWidth
196+syn keyword mupadIdentifier AxesOrigin AxesOriginX AxesOriginY AxesOriginZ
197+syn keyword mupadIdentifier AxesTips AxesTitleAlignment
198+syn keyword mupadIdentifier AxesTitleAlignmentX AxesTitleAlignmentY AxesTitleAlignmentZ
199+syn keyword mupadIdentifier AxesTitles XAxisTitle YAxisTitle ZAxisTitle
200+syn keyword mupadIdentifier AxesVisible XAxisVisible YAxisVisible ZAxisVisible
201+syn keyword mupadIdentifier YAxisTitleOrientation
202+" graphics Tick Marks Attributes
203+syn keyword mupadIdentifier TicksAnchor XTicksAnchor YTicksAnchor ZTicksAnchor
204+syn keyword mupadIdentifier TicksAt XTicksAt YTicksAt ZTicksAt
205+syn keyword mupadIdentifier TicksBetween XTicksBetween YTicksBetween ZTicksBetween
206+syn keyword mupadIdentifier TicksDistance XTicksDistance YTicksDistance ZTicksDistance
207+syn keyword mupadIdentifier TicksNumber XTicksNumber YTicksNumber ZTicksNumber
208+syn keyword mupadIdentifier TicksVisible XTicksVisible YTicksVisible ZTicksVisible
209+syn keyword mupadIdentifier TicksLength TicksLabelStyle
210+syn keyword mupadIdentifier XTicksLabelStyle YTicksLabelStyle ZTicksLabelStyle
211+syn keyword mupadIdentifier TicksLabelsVisible
212+syn keyword mupadIdentifier XTicksLabelsVisible YTicksLabelsVisible ZTicksLabelsVisible
213+" graphics Grid Lines Attributes
214+syn keyword mupadIdentifier GridInFront GridLineColor SubgridLineColor
215+syn keyword mupadIdentifier GridLineStyle SubgridLineStyle GridLineWidth SubgridLineWidth
216+syn keyword mupadIdentifier GridVisible XGridVisible YGridVisible ZGridVisible
217+syn keyword mupadIdentifier SubgridVisible XSubgridVisible YSubgridVisible ZSubgridVisible
218+" graphics Animation Attributes
219+syn keyword mupadIdentifier Frames TimeRange TimeBegin TimeEnd
220+syn keyword mupadIdentifier VisibleAfter VisibleBefore VisibleFromTo
221+syn keyword mupadIdentifier VisibleAfterEnd VisibleBeforeBegin
222+" graphics Annotation Attributes
223+syn keyword mupadIdentifier Footer Header FooterAlignment HeaderAlignment
224+syn keyword mupadIdentifier HorizontalAlignment TitleAlignment VerticalAlignment
225+syn keyword mupadIdentifier Legend LegendEntry LegendText
226+syn keyword mupadIdentifier LegendAlignment LegendPlacement LegendVisible
227+syn keyword mupadIdentifier Title Titles
228+syn keyword mupadIdentifier TitlePosition TitlePositionX TitlePositionY TitlePositionZ
229+" graphics Layout Attributes
230+syn keyword mupadIdentifier Bottom Left Height Width Layout Rows Columns
231+syn keyword mupadIdentifier Margin BottomMargin TopMargin LeftMargin RightMargin
232+syn keyword mupadIdentifier OutputUnits Spacing
233+" graphics Calculation Attributes
234+syn keyword mupadIdentifier AdaptiveMesh DiscontinuitySearch Mesh SubMesh
235+syn keyword mupadIdentifier UMesh USubMesh VMesh VSubMesh
236+syn keyword mupadIdentifier XMesh XSubMesh YMesh YSubMesh Zmesh
237+" graphics Camera and Lights Attributes
238+syn keyword mupadIdentifier CameraCoordinates CameraDirection
239+syn keyword mupadIdentifier CameraDirectionX CameraDirectionY CameraDirectionZ
240+syn keyword mupadIdentifier FocalPoint FocalPointX FocalPointY FocalPointZ
241+syn keyword mupadIdentifier LightColor Lighting LightIntensity OrthogonalProjection
242+syn keyword mupadIdentifier SpotAngle ViewingAngle
243+syn keyword mupadIdentifier Target TargetX TargetY TargetZ
244+" graphics Presentation Style and Fonts Attributes
245+syn keyword mupadIdentifier ArrowLength
246+syn keyword mupadIdentifier AxesTitleFont FooterFont HeaderFont LegendFont
247+syn keyword mupadIdentifier TextFont TicksLabelFont TitleFont
248+syn keyword mupadIdentifier BackgroundColor BackgroundColor2 BackgroundStyle
249+syn keyword mupadIdentifier BackgroundTransparent Billboarding BorderColor BorderWidth
250+syn keyword mupadIdentifier BoxCenters BoxWidths DrawMode Gap XGap YGap
251+syn keyword mupadIdentifier Notched NotchWidth Scaling YXRatio ZXRatio
252+syn keyword mupadIdentifier VerticalAsymptotesVisible VerticalAsymptotesStyle
253+syn keyword mupadIdentifier VerticalAsymptotesColor VerticalAsymptotesWidth
254+" graphics Line Style Attributes
255+syn keyword mupadIdentifier LineColor LineColor2 LineColorType LineStyle
256+syn keyword mupadIdentifier LinesVisible ULinesVisible VLinesVisible XLinesVisible
257+syn keyword mupadIdentifier YLinesVisible LineWidth MeshVisible
258+" graphics Point Style Attributes
259+syn keyword mupadIdentifier PointColor PointSize PointStyle PointsVisible
260+" graphics Surface Style Attributes
261+syn keyword mupadIdentifier BarStyle Shadows Color Colors FillColor FillColor2
262+syn keyword mupadIdentifier FillColorTrue FillColorFalse FillColorUnknown FillColorType
263+syn keyword mupadIdentifier Filled FillPattern FillPatterns FillStyle
264+syn keyword mupadIdentifier InterpolationStyle Shading UseNormals
265+" graphics Arrow Style Attributes
266+syn keyword mupadIdentifier TipAngle TipLength TipStyle TubeDiameter
267+syn keyword mupadIdentifier Tubular
268+" graphics meta-documentation Attributes
269+syn keyword mupadIdentifier objectGroupsListed
270+
271+if version >= 508 || !exists("did_mupad_syntax_inits")
272+ if version < 508
273+ let did_mupad_syntax_inits = 1
274+ command -nargs=+ HiLink hi link <args>
275+ else
276+ command -nargs=+ HiLink hi def link <args>
277+ endif
278+
279+ HiLink mupadComment Comment
280+ HiLink mupadString String
281+ HiLink mupadOperator Operator
282+ HiLink mupadSpecial Special
283+ HiLink mupadStatement Statement
284+ HiLink mupadUnderlined Underlined
285+ HiLink mupadConditional Conditional
286+ HiLink mupadRepeat Repeat
287+ HiLink mupadFunction Function
288+ HiLink mupadType Type
289+ HiLink mupadDefine Define
290+ HiLink mupadIdentifier Identifier
291+
292+ delcommand HiLink
293+endif
294+
295+" TODO More comprehensive listing.
diff -r bded5839a32e -r 289b19a6f2ed runtime/syntax/vim.vim
--- a/runtime/syntax/vim.vim Tue Jul 05 21:36:03 2005 +0000
+++ b/runtime/syntax/vim.vim Tue Jul 05 21:48:14 2005 +0000
@@ -55,7 +55,7 @@
5555 syn case match
5656
5757 " Function Names {{{2
58-syn keyword vimFuncName contained add append argc argidx argv browse browsedir bufexists buflisted bufloaded bufname bufnr bufwinnr byte2line byteidx call char2nr cindent col confirm copy count cscope_connection cursor deepcopy delete did_filetype diff_filler diff_hlID empty errorlist escape eval eventhandler executable exists expand expr8 extend filereadable filewritable filter finddir findfile fnamemodify foldclosed foldclosedend foldlevel foldtext foldtextresult foreground function get getbufvar getchar getcharmod getcmdline getcmdpos getcwd getfontname getfperm getfsize getftime getftype getline getreg getregtype getwinposx getwinposy getwinvar glob globpath has has_key hasmapto histadd histdel histget histnr hlexists hlID hostname iconv indent index input inputdialog inputrestore inputsave inputsecret insert isdirectory islocked items join keys len libcall libcallnr line line2byte lispindent localtime map maparg mapcheck match matchend matchlist matchstr max min mkdir mode nextnonblank nr2char prevnonblank range readfile remote_expr remote_foreground remote_peek remote_read remote_send remove rename repeat resolve reverse search searchpair server2client serverlist setbufvar setcmdpos setline setreg setwinvar simplify sort split strftime stridx string strlen strpart strridx strtrans submatch substitute synID synIDattr synIDtrans system taglist tempname tolower toupper tr type values virtcol visualmode winbufnr wincol winheight winline winnr winrestcmd winwidth writefile
58+syn keyword vimFuncName contained add append argc argidx argv browse browsedir bufexists buflisted bufloaded bufname bufnr bufwinnr byte2line byteidx call char2nr cindent col confirm copy count cscope_connection cursor deepcopy delete did_filetype diff_filler diff_hlID empty errorlist escape eval eventhandler executable exists expand expr8 extend filereadable filewritable filter finddir findfile fnamemodify foldclosed foldclosedend foldlevel foldtext foldtextresult foreground function get getbufvar getchar getcharmod getcmdline getcmdpos getcwd getfontname getfperm getfsize getftime getftype getline getreg getregtype getwinposx getwinposy getwinvar glob globpath has has_key hasmapto histadd histdel histget histnr hlexists hlID hostname iconv indent index input inputdialog inputrestore inputsave inputsecret insert isdirectory islocked items join keys len libcall libcallnr line line2byte lispindent localtime map maparg mapcheck match matchend matchlist matchstr max min mkdir mode nextnonblank nr2char prevnonblank range readfile remote_expr remote_foreground remote_peek remote_read remote_send remove rename repeat resolve reverse search searchpair server2client serverlist setbufvar setcmdpos setline setreg setwinvar simplify sort split strftime stridx string strlen strpart strridx strtrans submatch substitute synID synIDattr synIDtrans system taglist tempname tolower toupper tr type values virtcol visualmode winbufnr wincol winheight winline winnr winrestcmd winwidth writefile soundfold spellsuggest spellbadword
5959
6060 "--- syntax above generated by mkvimvim ---
6161 " Special Vim Highlighting (not automatic) {{{1
diff -r bded5839a32e -r 289b19a6f2ed src/Makefile
--- a/src/Makefile Tue Jul 05 21:36:03 2005 +0000
+++ b/src/Makefile Tue Jul 05 21:48:14 2005 +0000
@@ -516,6 +516,8 @@
516516 # EFENCE - Electric-Fence malloc debugging: catches memory accesses beyond
517517 # allocated memory (and makes every malloc()/free() very slow).
518518 # Electric Fence is free (search ftp sites).
519+# You may want to set the EF_PROTECT_BELOW environment variable to check the
520+# other side of allocated memory.
519521 # On FreeBSD you might need to enlarge the number of mmaps allowed. Do this
520522 # as root: sysctl -w vm.max_proc_mmap=30000
521523 #EXTRA_LIBS = /usr/local/lib/libefence.a
diff -r bded5839a32e -r 289b19a6f2ed src/ex_cmds2.c
--- a/src/ex_cmds2.c Tue Jul 05 21:36:03 2005 +0000
+++ b/src/ex_cmds2.c Tue Jul 05 21:48:14 2005 +0000
@@ -1186,9 +1186,9 @@
11861186 int
11871187 prof_def_func()
11881188 {
1189- scriptitem_T *si = &SCRIPT_ITEM(current_SID);
1190-
1191- return si->sn_pr_force;
1189+ if (current_SID > 0)
1190+ return SCRIPT_ITEM(current_SID).sn_pr_force;
1191+ return FALSE;
11921192 }
11931193
11941194 # endif
diff -r bded5839a32e -r 289b19a6f2ed src/fileio.c
--- a/src/fileio.c Tue Jul 05 21:36:03 2005 +0000
+++ b/src/fileio.c Tue Jul 05 21:48:14 2005 +0000
@@ -5435,25 +5435,27 @@
54355435 * Then truncate what is after the '/', '\' or ':' to 8 characters for
54365436 * MSDOS and 26 characters for AMIGA, a lot more for UNIX.
54375437 */
5438- for (ptr = retval + fnamelen; ptr >= retval; mb_ptr_back(retval, ptr))
5438+ for (ptr = retval + fnamelen; ptr > retval; mb_ptr_back(retval, ptr))
54395439 {
54405440 #ifndef RISCOS
54415441 if (*ext == '.'
5442-#ifdef USE_LONG_FNAME
5442+# ifdef USE_LONG_FNAME
54435443 && (!USE_LONG_FNAME || shortname)
5444-#else
5445-# ifndef SHORT_FNAME
5444+# else
5445+# ifndef SHORT_FNAME
54465446 && shortname
5447+# endif
54475448 # endif
5448-#endif
54495449 )
54505450 if (*ptr == '.') /* replace '.' by '_' */
54515451 *ptr = '_';
5452-#endif /* RISCOS */
5452+#endif
54535453 if (vim_ispathsep(*ptr))
5454+ {
5455+ ++ptr;
54545456 break;
5455- }
5456- ptr++;
5457+ }
5458+ }
54575459
54585460 /* the file name has at most BASENAMELEN characters. */
54595461 #ifndef SHORT_FNAME
diff -r bded5839a32e -r 289b19a6f2ed src/testdir/Make_amiga.mak
--- a/src/testdir/Make_amiga.mak Tue Jul 05 21:36:03 2005 +0000
+++ b/src/testdir/Make_amiga.mak Tue Jul 05 21:48:14 2005 +0000
@@ -24,7 +24,7 @@
2424 test38.out test39.out test40.out test41.out test42.out \
2525 test43.out test44.out test45.out test46.out test47.out \
2626 test48.out test51.out test53.out test54.out test55.out \
27- test56.out test57.out test58.out
27+ test56.out test57.out test58.out test59.out
2828
2929 .SUFFIXES: .in .out
3030
@@ -102,3 +102,4 @@
102102 test56.out: test56.in
103103 test57.out: test57.in
104104 test58.out: test58.in
105+test59.out: test59.in
diff -r bded5839a32e -r 289b19a6f2ed src/testdir/Make_dos.mak
--- a/src/testdir/Make_dos.mak Tue Jul 05 21:36:03 2005 +0000
+++ b/src/testdir/Make_dos.mak Tue Jul 05 21:48:14 2005 +0000
@@ -18,7 +18,7 @@
1818 test35.out test36.out test43.out \
1919 test44.out test45.out test46.out test47.out \
2020 test48.out test51.out test53.out test54.out \
21- test55.out test56.out test57.out test58.out
21+ test55.out test56.out test57.out test58.out test59.out
2222
2323 SCRIPTS = test3.out test4.out test5.out test6.out test7.out \
2424 test8.out test9.out test11.out test13.out test14.out \
diff -r bded5839a32e -r 289b19a6f2ed src/testdir/Make_os2.mak
--- a/src/testdir/Make_os2.mak Tue Jul 05 21:36:03 2005 +0000
+++ b/src/testdir/Make_os2.mak Tue Jul 05 21:48:14 2005 +0000
@@ -24,7 +24,7 @@
2424 test38.out test39.out test40.out test41.out test42.out \
2525 test43.out test44.out test45.out test46.out test47.out \
2626 test48.out test51.out test53.out test54.out test55.out \
27- test56.out test57.out test58.out
27+ test56.out test57.out test58.out test59.out
2828
2929 .SUFFIXES: .in .out
3030
diff -r bded5839a32e -r 289b19a6f2ed src/testdir/Make_vms.mms
--- a/src/testdir/Make_vms.mms Tue Jul 05 21:36:03 2005 +0000
+++ b/src/testdir/Make_vms.mms Tue Jul 05 21:48:14 2005 +0000
@@ -4,7 +4,7 @@
44 # Authors: Zoltan Arpadffy, <arpadffy@polarhome.com>
55 # Sandor Kopanyi, <sandor.kopanyi@mailbox.hu>
66 #
7-# Last change: 2005 Jul 04
7+# Last change: 2005 Jul 05
88 #
99 # This has been tested on VMS 6.2 to 7.2 on DEC Alpha and VAX.
1010 # Edit the lines in the Configuration section below to select.
@@ -58,7 +58,7 @@
5858 test38.out test39.out test40.out test41.out test42.out \
5959 test43.out test44.out test45.out test46.out \
6060 test48.out test51.out test53.out test54.out test55.out \
61- test56.out test57.out test58.out
61+ test56.out test57.out test58.out test59.out
6262
6363 .IFDEF WANT_GUI
6464 SCRIPT_GUI = test16.out
diff -r bded5839a32e -r 289b19a6f2ed src/testdir/Makefile
--- a/src/testdir/Makefile Tue Jul 05 21:36:03 2005 +0000
+++ b/src/testdir/Makefile Tue Jul 05 21:48:14 2005 +0000
@@ -14,7 +14,8 @@
1414 test38.out test39.out test40.out test41.out test42.out \
1515 test43.out test44.out test45.out test46.out test47.out \
1616 test48.out test49.out test51.out test52.out test53.out \
17- test54.out test55.out test56.out test57.out test58.out
17+ test54.out test55.out test56.out test57.out test58.out \
18+ test59.out
1819
1920 SCRIPTS_GUI = test16.out
2021
diff -r bded5839a32e -r 289b19a6f2ed src/testdir/test58.in
--- a/src/testdir/test58.in Tue Jul 05 21:36:03 2005 +0000
+++ b/src/testdir/test58.in Tue Jul 05 21:48:14 2005 +0000
@@ -12,31 +12,46 @@
1212 :" use that spell file
1313 :set spl=Xtest.latin1.spl
1414 :set spell
15+:func SpellTest()
1516 /^test1:
16-]smm:let str = spellbadword()
17-:$put =str
18-`m:let lst = spellsuggest(str, 4)
19-:$put =string(lst)
20-`m]smm:let str = spellbadword()
21-:$put =str
22-`m:let lst = spellsuggest(str, 2)
23-:$put =string(lst)
24-`m]smm:let str = spellbadword()
25-:$put =str
26-`m:let lst = spellsuggest(str, 2)
27-:$put =string(lst)
28-`m]smm:let str = spellbadword()
29-:$put =str
30-`m:let lst = spellsuggest(str, 2)
31-:$put =string(lst)
32-`m]smm:let str = spellbadword()
33-:$put =str
34-`m:let lst = spellsuggest(str, 2)
35-:$put =string(lst)
36-`m]smm:let str = spellbadword()
37-:$put =str
38-`m:let lst = spellsuggest(str, 2)
39-:$put =string(lst)
17+normal ]smm
18+let str = spellbadword()
19+$put =str
20+normal `m
21+let lst = spellsuggest(str, 4)
22+$put =string(lst)
23+normal `m]smm
24+let str = spellbadword()
25+$put =str
26+normal `m
27+let lst = spellsuggest(str, 2)
28+$put =string(lst)
29+normal `m]smm
30+let str = spellbadword()
31+$put =str
32+normal `m
33+let lst = spellsuggest(str, 2)
34+$put =string(lst)
35+normal `m]smm
36+let str = spellbadword()
37+$put =str
38+normal `m
39+let lst = spellsuggest(str, 2)
40+$put =string(lst)
41+normal `m]smm
42+let str = spellbadword()
43+$put =str
44+normal `m
45+let lst = spellsuggest(str, 2)
46+$put =string(lst)
47+normal `m]smm
48+let str = spellbadword()
49+$put =str
50+normal `m
51+let lst = spellsuggest(str, 2)
52+$put =string(lst)
53+endfunc
54+:call SpellTest()
4055 :spelldump
4156 1GyG:q
4257 :$put
@@ -84,6 +99,17 @@
8499 `m]s:let str = spellbadword()
85100 :$put =str
86101 :"
102+:" Postponed prefixes
103+gg:/^affstart3/+1,/^affend3/-1w! Xtest.aff
104+:mkspell! Xtest Xtest
105+:set spellfile=
106+:set spl=Xtest.latin1.spl
107+:mess
108+:spelldump
109+1GyG:q
110+:$put
111+:call SpellTest()
112+:"
87113 gg:/^test output:/,$wq! test.out
88114 ENDTEST
89115
@@ -116,6 +142,11 @@
116142 SFX S 0 s [^s]
117143 SFX S 0 es s
118144
145+SFX N N 3
146+SFX N 0 en [^n]
147+SFX N 0 nen n
148+SFX N 0 n .
149+
119150 REP 3
120151 REP g ch
121152 REP ch g
@@ -159,6 +190,11 @@
159190 SFX S 0 s [^s]
160191 SFX S 0 es s
161192
193+SFX N N 3
194+SFX N 0 en [^n]
195+SFX N 0 nen n
196+SFX N 0 n .
197+
162198 REP 3
163199 REP g ch
164200 REP ch g
@@ -284,9 +320,58 @@
284320 SAL Z S
285321 affend2
286322
323+affstart3
324+SET ISO8859-1
325+
326+FOL àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
327+LOW àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
328+UPP ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßÿ
329+
330+PFXPOSTPONE
331+
332+MIDWORD '-
333+
334+KEP =
335+RAR ?
336+BAD !
337+
338+NOSPLITSUGS
339+
340+PFX I N 1
341+PFX I 0 in .
342+
343+PFX O Y 1
344+PFX O 0 out .
345+
346+SFX S Y 2
347+SFX S 0 s [^s]
348+SFX S 0 es s
349+
350+SFX N N 3
351+SFX N 0 en [^n]
352+SFX N 0 nen n
353+SFX N 0 n .
354+
355+REP 3
356+REP g ch
357+REP ch g
358+REP svp s.v.p.
359+
360+MAP 9
361+MAP aàáâãäå
362+MAP eèéêë
363+MAP iìíîï
364+MAP oòóôõö
365+MAP uùúûü
366+MAP nñ
367+MAP cç
368+MAP yÿý
369+MAP sß
370+affend3
371+
287372 dicstart
288373 123456
289-test
374+test/NO
290375 # comment
291376 wrong
292377 Comment
diff -r bded5839a32e -r 289b19a6f2ed src/testdir/test58.ok
--- a/src/testdir/test58.ok Tue Jul 05 21:36:03 2005 +0000
+++ b/src/testdir/test58.ok Tue Jul 05 21:48:14 2005 +0000
@@ -19,9 +19,12 @@
1919 OK
2020 output
2121 outputs
22+outtest
2223 put
2324 puts
2425 test
26+testen
27+testn
2528 the end
2629 uk
2730 wrong
@@ -40,3 +43,32 @@
4043 elekwent
4144 elequint
4245 elekwint
46+# file: Xtest.latin1.spl
47+Comment
48+deol
49+déôr
50+OK
51+put
52+input
53+output
54+puts
55+outputs
56+test
57+outtest
58+testen
59+testn
60+the end
61+uk
62+wrong
63+inputs
64+['input', 'puts', 'put', 'outputs']
65+comment
66+['Comment']
67+ok
68+['OK', 'uk']
69+Ok
70+['OK', 'Uk']
71+test
72+['test', 'Test']
73+déôl
74+['deol', 'déôr']
diff -r bded5839a32e -r 289b19a6f2ed src/testdir/test59.in
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/src/testdir/test59.in Tue Jul 05 21:48:14 2005 +0000
@@ -0,0 +1,406 @@
1+Tests for spell checking with 'encoding' set to "utf-8". vim: set ft=vim :
2+
3+STARTTEST
4+:so small.vim
5+:so mbyte.vim
6+:"
7+:" First generate a .spl file from a .dic and a .aff file.
8+:set enc=utf-8
9+:/^affstart1/+1,/affend1/-1w Xtest.aff
10+:/^dicstart/+1,/dicend/-1w Xtest.dic
11+:mkspell Xtest Xtest
12+:"
13+:" use that spell file
14+:set spl=Xtest.utf-8.spl
15+:set spell
16+:func SpellTest()
17+/^test1:
18+normal ]smm
19+let str = spellbadword()
20+$put =str
21+normal `m
22+let lst = spellsuggest(str, 4)
23+$put =string(lst)
24+normal `m]smm
25+let str = spellbadword()
26+$put =str
27+normal `m
28+let lst = spellsuggest(str, 2)
29+$put =string(lst)
30+normal `m]smm
31+let str = spellbadword()
32+$put =str
33+normal `m
34+let lst = spellsuggest(str, 2)
35+$put =string(lst)
36+normal `m]smm
37+let str = spellbadword()
38+$put =str
39+normal `m
40+let lst = spellsuggest(str, 2)
41+$put =string(lst)
42+normal `m]smm
43+let str = spellbadword()
44+$put =str
45+normal `m
46+let lst = spellsuggest(str, 2)
47+$put =string(lst)
48+normal `m]smm
49+let str = spellbadword()
50+$put =str
51+normal `m
52+let lst = spellsuggest(str, 2)
53+$put =string(lst)
54+endfunc
55+:call SpellTest()
56+:spelldump
57+1GyG:q
58+:$put
59+:$put =soundfold('goobledygoook')
60+:$put =soundfold('kóopërÿnôven')
61+:$put =soundfold('oeverloos gezwets edale')
62+:"
63+:" and now with SAL instead of SOFO items; test automatic reloading
64+gg:/^affstart2/+1,/^affend2/-1w! Xtest.aff
65+:mkspell! Xtest Xtest
66+:$put =soundfold('goobledygoook')
67+:$put =soundfold('kóopërÿnôven')
68+:$put =soundfold('oeverloos gezwets edale')
69+:"
70+:" also use an addition file
71+gg:/^addstart/+1,/^addend/-1w! Xtest.utf-8.add
72+:mkspell! Xtest.utf-8.add.spl Xtest.utf-8.add
73+:set spl=en
74+:set spellfile=Xtest.utf-8.add
75+/^test2:
76+]s:let str = spellbadword()
77+:$put =str
78+:set spl=en_us
79+/^test2:
80+]smm:let str = spellbadword()
81+:$put =str
82+`m]s:let str = spellbadword()
83+:$put =str
84+:set spl=en_gb
85+/^test2:
86+]smm:let str = spellbadword()
87+:$put =str
88+`m]s:let str = spellbadword()
89+:$put =str
90+:set spl=en_nz
91+/^test2:
92+]smm:let str = spellbadword()
93+:$put =str
94+`m]s:let str = spellbadword()
95+:$put =str
96+:set spl=en_ca
97+/^test2:
98+]smm:let str = spellbadword()
99+:$put =str
100+`m]s:let str = spellbadword()
101+:$put =str
102+:"
103+:" Postponed prefixes
104+gg:/^affstart3/+1,/^affend3/-1w! Xtest.aff
105+:mkspell! Xtest Xtest
106+:set spellfile=
107+:set spl=Xtest.utf-8.spl
108+:mess
109+:spelldump
110+1GyG:q
111+:$put
112+:call SpellTest()
113+:"
114+gg:/^test output:/,$wq! test.out
115+ENDTEST
116+
117+affstart1
118+SET ISO8859-1
119+TRY esianrtolcdugmphbyfvkwjkqxz-ëéèêïîäàâöüû'ESIANRTOLCDUGMPHBYFVKWJKQXZ
120+
121+FOL àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
122+LOW àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
123+UPP ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßÿ
124+
125+SOFOFROM abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞ¿
126+SOFOTO ebctefghejklnnepkrstevvkesebctefghejklnnepkrstevvkeseeeeeeeceeeeeeeedneeeeeeeeeeepseeeeeeeeceeeeeeeedneeeeeeeeeeep?
127+
128+MIDWORD '-
129+
130+KEP =
131+RAR ?
132+BAD !
133+
134+NOSPLITSUGS
135+
136+PFX I N 1
137+PFX I 0 in .
138+
139+PFX O Y 1
140+PFX O 0 out .
141+
142+SFX S Y 2
143+SFX S 0 s [^s]
144+SFX S 0 es s
145+
146+SFX N N 3
147+SFX N 0 en [^n]
148+SFX N 0 nen n
149+SFX N 0 n .
150+
151+REP 3
152+REP g ch
153+REP ch g
154+REP svp s.v.p.
155+
156+MAP 9
157+MAP aàáâãäå
158+MAP eèéêë
159+MAP iìíîï
160+MAP oòóôõö
161+MAP uùúûü
162+MAP nñ
163+MAP cç
164+MAP yÿý
165+MAP sß
166+affend1
167+
168+affstart2
169+SET ISO8859-1
170+TRY esianrtolcdugmphbyfvkwjkqxz-ëéèêïîäàâöüû'ESIANRTOLCDUGMPHBYFVKWJKQXZ
171+
172+FOL àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
173+LOW àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
174+UPP ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßÿ
175+
176+MIDWORD '-
177+
178+KEP =
179+RAR ?
180+BAD !
181+
182+NOSPLITSUGS
183+
184+PFX I N 1
185+PFX I 0 in .
186+
187+PFX O Y 1
188+PFX O 0 out .
189+
190+SFX S Y 2
191+SFX S 0 s [^s]
192+SFX S 0 es s
193+
194+SFX N N 3
195+SFX N 0 en [^n]
196+SFX N 0 nen n
197+SFX N 0 n .
198+
199+REP 3
200+REP g ch
201+REP ch g
202+REP svp s.v.p.
203+
204+MAP 9
205+MAP aàáâãäå
206+MAP eèéêë
207+MAP iìíîï
208+MAP oòóôõö
209+MAP uùúûü
210+MAP nñ
211+MAP cç
212+MAP yÿý
213+MAP sß
214+
215+SAL AH(AEIOUY)-^ *H
216+SAL AR(AEIOUY)-^ *R
217+SAL A(HR)^ *
218+SAL A^ *
219+SAL AH(AEIOUY)- H
220+SAL AR(AEIOUY)- R
221+SAL A(HR) _
222+SAL À^ *
223+SAL Å^ *
224+SAL BB- _
225+SAL B B
226+SAL CQ- _
227+SAL CIA X
228+SAL CH X
229+SAL C(EIY)- S
230+SAL CK K
231+SAL COUGH^ KF
232+SAL CC< C
233+SAL C K
234+SAL DG(EIY) K
235+SAL DD- _
236+SAL D T
237+SAL É< E
238+SAL EH(AEIOUY)-^ *H
239+SAL ER(AEIOUY)-^ *R
240+SAL E(HR)^ *
241+SAL ENOUGH^$ *NF
242+SAL E^ *
243+SAL EH(AEIOUY)- H
244+SAL ER(AEIOUY)- R
245+SAL E(HR) _
246+SAL FF- _
247+SAL F F
248+SAL GN^ N
249+SAL GN$ N
250+SAL GNS$ NS
251+SAL GNED$ N
252+SAL GH(AEIOUY)- K
253+SAL GH _
254+SAL GG9 K
255+SAL G K
256+SAL H H
257+SAL IH(AEIOUY)-^ *H
258+SAL IR(AEIOUY)-^ *R
259+SAL I(HR)^ *
260+SAL I^ *
261+SAL ING6 N
262+SAL IH(AEIOUY)- H
263+SAL IR(AEIOUY)- R
264+SAL I(HR) _
265+SAL J K
266+SAL KN^ N
267+SAL KK- _
268+SAL K K
269+SAL LAUGH^ LF
270+SAL LL- _
271+SAL L L
272+SAL MB$ M
273+SAL MM M
274+SAL M M
275+SAL NN- _
276+SAL N N
277+SAL OH(AEIOUY)-^ *H
278+SAL OR(AEIOUY)-^ *R
279+SAL O(HR)^ *
280+SAL O^ *
281+SAL OH(AEIOUY)- H
282+SAL OR(AEIOUY)- R
283+SAL O(HR) _
284+SAL PH F
285+SAL PN^ N
286+SAL PP- _
287+SAL P P
288+SAL Q K
289+SAL RH^ R
290+SAL ROUGH^ RF
291+SAL RR- _
292+SAL R R
293+SAL SCH(EOU)- SK
294+SAL SC(IEY)- S
295+SAL SH X
296+SAL SI(AO)- X
297+SAL SS- _
298+SAL S S
299+SAL TI(AO)- X
300+SAL TH @
301+SAL TCH-- _
302+SAL TOUGH^ TF
303+SAL TT- _
304+SAL T T
305+SAL UH(AEIOUY)-^ *H
306+SAL UR(AEIOUY)-^ *R
307+SAL U(HR)^ *
308+SAL U^ *
309+SAL UH(AEIOUY)- H
310+SAL UR(AEIOUY)- R
311+SAL U(HR) _
312+SAL V^ W
313+SAL V F
314+SAL WR^ R
315+SAL WH^ W
316+SAL W(AEIOU)- W
317+SAL X^ S
318+SAL X KS
319+SAL Y(AEIOU)- Y
320+SAL ZZ- _
321+SAL Z S
322+affend2
323+
324+affstart3
325+SET ISO8859-1
326+
327+FOL àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
328+LOW àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
329+UPP ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßÿ
330+
331+PFXPOSTPONE
332+
333+MIDWORD '-
334+
335+KEP =
336+RAR ?
337+BAD !
338+
339+NOSPLITSUGS
340+
341+PFX I N 1
342+PFX I 0 in .
343+
344+PFX O Y 1
345+PFX O 0 out .
346+
347+SFX S Y 2
348+SFX S 0 s [^s]
349+SFX S 0 es s
350+
351+SFX N N 3
352+SFX N 0 en [^n]
353+SFX N 0 nen n
354+SFX N 0 n .
355+
356+REP 3
357+REP g ch
358+REP ch g
359+REP svp s.v.p.
360+
361+MAP 9
362+MAP aàáâãäå
363+MAP eèéêë
364+MAP iìíîï
365+MAP oòóôõö
366+MAP uùúûü
367+MAP nñ
368+MAP cç
369+MAP yÿý
370+MAP sß
371+affend3
372+
373+dicstart
374+123456
375+test/NO
376+# comment
377+wrong
378+Comment
379+OK
380+uk
381+put/ISO
382+the end
383+deol
384+déôr
385+dicend
386+
387+addstart
388+/regions=usgbnz
389+elequint/2
390+elekwint/3
391+addend
392+
393+test1:
394+inputs wrong
395+comment wrong
396+puts OK
397+ok wrong
398+Ok wrong
399+the end. test wrong
400+déôl
401+
402+test2:
403+elequint test elekwint test elekwent asdf
404+
405+
406+test output:
diff -r bded5839a32e -r 289b19a6f2ed src/testdir/test59.ok
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/src/testdir/test59.ok Tue Jul 05 21:48:14 2005 +0000
@@ -0,0 +1,74 @@
1+test output:
2+inputs
3+['input', 'puts', 'outputs', 'put']
4+comment
5+['Comment']
6+ok
7+['OK', 'uk']
8+Ok
9+['OK', 'Uk']
10+test
11+['test', 'Test']
12+déôl
13+['deol', 'déôr']
14+# file: Xtest.utf-8.spl
15+Comment
16+deol
17+déôr
18+input
19+OK
20+output
21+outputs
22+outtest
23+put
24+puts
25+test
26+testen
27+testn
28+the end
29+uk
30+wrong
31+gebletegek
32+kepereneven
33+everles gesvets etele
34+kbltykk
35+kprnfn
36+*fls kswts tl
37+elekwent
38+elequint
39+elekwint
40+elekwint
41+elekwent
42+elequint
43+elekwent
44+elequint
45+elekwint
46+# file: Xtest.utf-8.spl
47+Comment
48+deol
49+déôr
50+OK
51+put
52+input
53+output
54+puts
55+outputs
56+test
57+outtest
58+testen
59+testn
60+the end
61+uk
62+wrong
63+inputs
64+['input', 'puts', 'put', 'outputs']
65+comment
66+['Comment']
67+ok
68+['OK', 'uk']
69+Ok
70+['OK', 'Uk']
71+test
72+['test', 'Test']
73+déôl
74+['deol', 'déôr']
diff -r bded5839a32e -r 289b19a6f2ed src/version.h
--- a/src/version.h Tue Jul 05 21:36:03 2005 +0000
+++ b/src/version.h Tue Jul 05 21:48:14 2005 +0000
@@ -36,5 +36,5 @@
3636 #define VIM_VERSION_NODOT "vim70aa"
3737 #define VIM_VERSION_SHORT "7.0aa"
3838 #define VIM_VERSION_MEDIUM "7.0aa ALPHA"
39-#define VIM_VERSION_LONG "VIM - Vi IMproved 7.0aa ALPHA (2005 Jul 4)"
40-#define VIM_VERSION_LONG_DATE "VIM - Vi IMproved 7.0aa ALPHA (2005 Jul 4, compiled "
39+#define VIM_VERSION_LONG "VIM - Vi IMproved 7.0aa ALPHA (2005 Jul 5)"
40+#define VIM_VERSION_LONG_DATE "VIM - Vi IMproved 7.0aa ALPHA (2005 Jul 5, compiled "
Show on old repository browser