0
0
mirror of https://github.com/vim/vim.git synced 2025-09-24 03:44:06 -04:00

updated for version 7.1a

This commit is contained in:
Bram Moolenaar
2007-05-05 18:24:42 +00:00
parent 9aae141a6b
commit c81e5e79a0
131 changed files with 9107 additions and 2709 deletions

View File

@@ -9,10 +9,10 @@ Vim Vi IMproved. A clone of the UNIX text editor Vi. Very useful
messages, shows current file name in window title, on-line
help, rectangular cut/paste, etc., etc., etc...
Version 7.0. Also runs under UNIX, MSDOS and other systems.
vim70rt.tgz contains the documentation and syntax files.
vim70bin.tgz contains the binaries.
vim70src.tgz contains the sources.
Version 7.1a. Also runs under UNIX, MSDOS and other systems.
vim71art.tgz contains the documentation and syntax files.
vim71abin.tgz contains the binaries.
vim71asrc.tgz contains the sources.
Author: Bram Moolenaar et al.

View File

@@ -1,4 +1,4 @@
README_amisrc.txt for version 7.0 of Vim: Vi IMproved.
README_amisrc.txt for version 7.1a of Vim: Vi IMproved.
See "README.txt" for general information about Vim.
See "README_ami.txt" for installation instructions for the Amiga.

View File

@@ -1,4 +1,4 @@
README_bindos.txt for version 7.0 of Vim: Vi IMproved.
README_bindos.txt for version 7.1a of Vim: Vi IMproved.
See "README.txt" for general information about Vim.
See "README_dos.txt" for installation instructions for MS-DOS and MS-Windows.

View File

@@ -1,4 +1,4 @@
README_lang.txt for version 7.0 of Vim: Vi IMproved.
README_lang.txt for version 7.1a of Vim: Vi IMproved.
This file contains files for non-English languages:
- Translated messages.

View File

@@ -1,32 +1,32 @@
README_os2.txt for version 7.0 of Vim: Vi IMproved.
README_os2.txt for version 7.1a of Vim: Vi IMproved.
This file explains the installation of Vim on OS/2 systems.
See "README.txt" for general information about Vim.
NOTE: You will need two archives:
vim70rt.zip contains the runtime files (same as for the PC version)
vim70os2.zip contains the OS/2 executables
vim71art.zip contains the runtime files (same as for the PC version)
vim71aos2.zip contains the OS/2 executables
1. Go to the directory where you want to put the Vim files. Examples:
cd C:\
cd D:\editors
2. Unpack the zip archives. This will create a new directory "vim/vim70",
2. Unpack the zip archives. This will create a new directory "vim/vim71a",
in which all the distributed Vim files are placed. Since the directory
name includes the version number, it is unlikely that you overwrite
existing files.
Examples:
pkunzip -d vim70os2.zip
unzip vim70os2.zip
pkunzip -d vim71aos2.zip
unzip vim71aos2.zip
After you unpacked the files, you can still move the whole directory tree
to another location.
3. Add the directory where vim.exe is to your path. The simplest is to add a
line to your autoexec.bat. Examples:
set path=%path%;C:\vim\vim70
set path=%path%;D:\editors\vim\vim70
set path=%path%;C:\vim\vim71a
set path=%path%;D:\editors\vim\vim71a
That's it!
@@ -41,10 +41,10 @@ Extra remarks:
C:\vim\_viminfo Dynamic info for 'viminfo'.
C:\vim\... Other files you made.
Distributed files:
C:\vim\vim70\vim.exe The Vim version 7.0 executable.
C:\vim\vim70\doc\*.txt The version 7.0 documentation files.
C:\vim\vim70\bugreport.vim A Vim version 7.0 script.
C:\vim\vim70\... Other version 7.0 distributed files.
C:\vim\vim71a\vim.exe The Vim version 7.1a executable.
C:\vim\vim71a\doc\*.txt The version 7.1a documentation files.
C:\vim\vim71a\bugreport.vim A Vim version 7.1a script.
C:\vim\vim71a\... Other version 7.1a distributed files.
In this case the $VIM environment variable would be set like this:
set VIM=C:\vim

View File

@@ -1,4 +1,4 @@
README_src.txt for version 7.0 of Vim: Vi IMproved.
README_src.txt for version 7.1a of Vim: Vi IMproved.
The source archive contains the files needed to compile Vim on Unix systems.
It is packed for Unix systems (NL line separator). It is also used for other

View File

@@ -1,4 +1,4 @@
README_srcdos.txt for version 7.0 of Vim: Vi IMproved.
README_srcdos.txt for version 7.1a of Vim: Vi IMproved.
See "README.txt" for general information about Vim.
See "README_dos.txt" for installation instructions for MS-DOS and MS-Windows.

View File

@@ -1,4 +1,4 @@
README_vms.txt for version 7.0 of Vim: Vi IMproved.
README_vms.txt for version 7.1a of Vim: Vi IMproved.
This file explains the installation of Vim on VMS systems.
See "README.txt" in the runtime archive for information about Vim.

View File

@@ -1,4 +1,4 @@
README_w32s.txt for version 7.0 of Vim: Vi IMproved.
README_w32s.txt for version 7.1a of Vim: Vi IMproved.
This archive contains the gvim.exe that was specifically compiled for use in
the Win32s subsystem in MS-Windows 3.1 and 3.11.

595
runtime/autoload/ada.vim Normal file
View File

@@ -0,0 +1,595 @@
"------------------------------------------------------------------------------
" Description: Perform Ada specific completion & tagging.
" Language: Ada (2005)
" $Id$
" Maintainer: Martin Krischik
" Neil Bird <neil@fnxweb.com>
" $Author$
" $Date$
" Version: 4.2
" $Revision$
" $HeadURL: https://svn.sourceforge.net/svnroot/gnuada/trunk/tools/vim/autoload/ada.vim $
" History: 24.05.2006 MK Unified Headers
" 26.05.2006 MK ' should not be in iskeyword.
" 16.07.2006 MK Ada-Mode as vim-ball
" 02.10.2006 MK Better folding.
" 15.10.2006 MK Bram's suggestion for runtime integration
" 05.11.2006 MK Bram suggested not to use include protection for
" autoload
" 05.11.2006 MK Bram suggested to save on spaces
" Help Page: ft-ada-functions
"------------------------------------------------------------------------------
if version < 700
finish
endif
" Section: Constants {{{1
"
let g:ada#DotWordRegex = '\a\w*\(\_s*\.\_s*\a\w*\)*'
let g:ada#WordRegex = '\a\w*'
let g:ada#Comment = "\\v^(\"[^\"]*\"|'.'|[^\"']){-}\\zs\\s*--.*"
let g:ada#Keywords = []
" Section: g:ada#Keywords {{{1
"
" Section: add Ada keywords {{{2
"
for Item in ['abort', 'else', 'new', 'return', 'abs', 'elsif', 'not', 'reverse', 'abstract', 'end', 'null', 'accept', 'entry', 'select', 'access', 'exception', 'of', 'separate', 'aliased', 'exit', 'or', 'subtype', 'all', 'others', 'synchronized', 'and', 'for', 'out', 'array', 'function', 'overriding', 'tagged', 'at', 'task', 'generic', 'package', 'terminate', 'begin', 'goto', 'pragma', 'then', 'body', 'private', 'type', 'if', 'procedure', 'case', 'in', 'protected', 'until', 'constant', 'interface', 'use', 'is', 'raise', 'declare', 'range', 'when', 'delay', 'limited', 'record', 'while', 'delta', 'loop', 'rem', 'with', 'digits', 'renames', 'do', 'mod', 'requeue', 'xor']
let g:ada#Keywords += [{
\ 'word': Item,
\ 'menu': 'keyword',
\ 'info': 'Ada keyword.',
\ 'kind': 'k',
\ 'icase': 1}]
endfor
" Section: GNAT Project Files {{{3
"
if exists ('g:ada_with_gnat_project_files')
for Item in ['project']
let g:ada#Keywords += [{
\ 'word': Item,
\ 'menu': 'keyword',
\ 'info': 'GNAT projectfile keyword.',
\ 'kind': 'k',
\ 'icase': 1}]
endfor
endif
" Section: add standart exception {{{2
"
for Item in ['Constraint_Error', 'Program_Error', 'Storage_Error', 'Tasking_Error', 'Status_Error', 'Mode_Error', 'Name_Error', 'Use_Error', 'Device_Error', 'End_Error', 'Data_Error', 'Layout_Error', 'Length_Error', 'Pattern_Error', 'Index_Error', 'Translation_Error', 'Time_Error', 'Argument_Error', 'Tag_Error', 'Picture_Error', 'Terminator_Error', 'Conversion_Error', 'Pointer_Error', 'Dereference_Error', 'Update_Error']
let g:ada#Keywords += [{
\ 'word': Item,
\ 'menu': 'exception',
\ 'info': 'Ada standart exception.',
\ 'kind': 'x',
\ 'icase': 1}]
endfor
" Section: add GNAT exception {{{3
"
if exists ('g:ada_gnat_extensions')
for Item in ['Assert_Failure']
let g:ada#Keywords += [{
\ 'word': Item,
\ 'menu': 'exception',
\ 'info': 'GNAT exception.',
\ 'kind': 'x',
\ 'icase': 1}]
endfor
endif
" Section: add Ada buildin types {{{2
"
for Item in ['Boolean', 'Integer', 'Natural', 'Positive', 'Float', 'Character', 'Wide_Character', 'Wide_Wide_Character', 'String', 'Wide_String', 'Wide_Wide_String', 'Duration']
let g:ada#Keywords += [{
\ 'word': Item,
\ 'menu': 'type',
\ 'info': 'Ada buildin type.',
\ 'kind': 't',
\ 'icase': 1}]
endfor
" Section: add GNAT buildin types {{{3
"
if exists ('g:ada_gnat_extensions')
for Item in ['Short_Integer', 'Short_Short_Integer', 'Long_Integer', 'Long_Long_Integer', 'Short_Float', 'Short_Short_Float', 'Long_Float', 'Long_Long_Float']
let g:ada#Keywords += [{
\ 'word': Item,
\ 'menu': 'type',
\ 'info': 'GNAT buildin type.',
\ 'kind': 't',
\ 'icase': 1}]
endfor
endif
" Section: add Ada Attributes {{{2
"
for Item in ['''Access', '''Address', '''Adjacent', '''Aft', '''Alignment', '''Base', '''Bit_Order', '''Body_Version', '''Callable', '''Caller', '''Ceiling', '''Class', '''Component_Size', '''Compose', '''Constrained', '''Copy_Sign', '''Count', '''Definite', '''Delta', '''Denorm', '''Digits', '''Emax', '''Exponent', '''External_Tag', '''Epsilon', '''First', '''First_Bit', '''Floor', '''Fore', '''Fraction', '''Identity', '''Image', '''Input', '''Large', '''Last', '''Last_Bit', '''Leading_Part', '''Length', '''Machine', '''Machine_Emax', '''Machine_Emin', '''Machine_Mantissa', '''Machine_Overflows', '''Machine_Radix', '''Machine_Rounding', '''Machine_Rounds', '''Mantissa', '''Max', '''Max_Size_In_Storage_Elements', '''Min', '''Mod', '''Model', '''Model_Emin', '''Model_Epsilon', '''Model_Mantissa', '''Model_Small', '''Modulus', '''Output', '''Partition_ID', '''Pos', '''Position', '''Pred', '''Priority', '''Range', '''Read', '''Remainder', '''Round', '''Rounding', '''Safe_Emax', '''Safe_First', '''Safe_Large', '''Safe_Last', '''Safe_Small', '''Scale', '''Scaling', '''Signed_Zeros', '''Size', '''Small', '''Storage_Pool', '''Storage_Size', '''Stream_Size', '''Succ', '''Tag', '''Terminated', '''Truncation', '''Unbiased_Rounding', '''Unchecked_Access', '''Val', '''Valid', '''Value', '''Version', '''Wide_Image', '''Wide_Value', '''Wide_Wide_Image', '''Wide_Wide_Value', '''Wide_Wide_Width', '''Wide_Width', '''Width', '''Write']
let g:ada#Keywords += [{
\ 'word': Item,
\ 'menu': 'attribute',
\ 'info': 'Ada attribute.',
\ 'kind': 'a',
\ 'icase': 1}]
endfor
" Section: add GNAT Attributes {{{3
"
if exists ('g:ada_gnat_extensions')
for Item in ['''Abort_Signal', '''Address_Size', '''Asm_Input', '''Asm_Output', '''AST_Entry', '''Bit', '''Bit_Position', '''Code_Address', '''Default_Bit_Order', '''Elaborated', '''Elab_Body', '''Elab_Spec', '''Emax', '''Enum_Rep', '''Epsilon', '''Fixed_Value', '''Has_Access_Values', '''Has_Discriminants', '''Img', '''Integer_Value', '''Machine_Size', '''Max_Interrupt_Priority', '''Max_Priority', '''Maximum_Alignment', '''Mechanism_Code', '''Null_Parameter', '''Object_Size', '''Passed_By_Reference', '''Range_Length', '''Storage_Unit', '''Target_Name', '''Tick', '''To_Address', '''Type_Class', '''UET_Address', '''Unconstrained_Array', '''Universal_Literal_String', '''Unrestricted_Access', '''VADS_Size', '''Value_Size', '''Wchar_T_Size', '''Word_Size']
let g:ada#Keywords += [{
\ 'word': Item,
\ 'menu': 'attribute',
\ 'info': 'GNAT attribute.',
\ 'kind': 'a',
\ 'icase': 1}]
endfor
endif
" Section: add Ada Pragmas {{{2
"
for Item in ['All_Calls_Remote', 'Assert', 'Assertion_Policy', 'Asynchronous', 'Atomic', 'Atomic_Components', 'Attach_Handler', 'Controlled', 'Convention', 'Detect_Blocking', 'Discard_Names', 'Elaborate', 'Elaborate_All', 'Elaborate_Body', 'Export', 'Import', 'Inline', 'Inspection_Point', 'Interface (Obsolescent)', 'Interrupt_Handler', 'Interrupt_Priority', 'Linker_Options', 'List', 'Locking_Policy', 'Memory_Size (Obsolescent)', 'No_Return', 'Normalize_Scalars', 'Optimize', 'Pack', 'Page', 'Partition_Elaboration_Policy', 'Preelaborable_Initialization', 'Preelaborate', 'Priority', 'Priority_Specific_Dispatching', 'Profile', 'Pure', 'Queueing_Policy', 'Relative_Deadline', 'Remote_Call_Interface', 'Remote_Types', 'Restrictions', 'Reviewable', 'Shared (Obsolescent)', 'Shared_Passive', 'Storage_Size', 'Storage_Unit (Obsolescent)', 'Suppress', 'System_Name (Obsolescent)', 'Task_Dispatching_Policy', 'Unchecked_Union', 'Unsuppress', 'Volatile', 'Volatile_Components']
let g:ada#Keywords += [{
\ 'word': Item,
\ 'menu': 'pragma',
\ 'info': 'Ada pragma.',
\ 'kind': 'p',
\ 'icase': 1}]
endfor
" Section: add GNAT Pragmas {{{3
"
if exists ('g:ada_gnat_extensions')
for Item in ['Abort_Defer', 'Ada_83', 'Ada_95', 'Ada_05', 'Annotate', 'Ast_Entry', 'C_Pass_By_Copy', 'Comment', 'Common_Object', 'Compile_Time_Warning', 'Complex_Representation', 'Component_Alignment', 'Convention_Identifier', 'CPP_Class', 'CPP_Constructor', 'CPP_Virtual', 'CPP_Vtable', 'Debug', 'Elaboration_Checks', 'Eliminate', 'Export_Exception', 'Export_Function', 'Export_Object', 'Export_Procedure', 'Export_Value', 'Export_Valued_Procedure', 'Extend_System', 'External', 'External_Name_Casing', 'Finalize_Storage_Only', 'Float_Representation', 'Ident', 'Import_Exception', 'Import_Function', 'Import_Object', 'Import_Procedure', 'Import_Valued_Procedure', 'Initialize_Scalars', 'Inline_Always', 'Inline_Generic', 'Interface_Name', 'Interrupt_State', 'Keep_Names', 'License', 'Link_With', 'Linker_Alias', 'Linker_Section', 'Long_Float', 'Machine_Attribute', 'Main_Storage', 'Obsolescent', 'Passive', 'Polling', 'Profile_Warnings', 'Propagate_Exceptions', 'Psect_Object', 'Pure_Function', 'Restriction_Warnings', 'Source_File_Name', 'Source_File_Name_Project', 'Source_Reference', 'Stream_Convert', 'Style_Checks', 'Subtitle', 'Suppress_All', 'Suppress_Exception_Locations', 'Suppress_Initialization', 'Task_Info', 'Task_Name', 'Task_Storage', 'Thread_Body', 'Time_Slice', 'Title', 'Unimplemented_Unit', 'Universal_Data', 'Unreferenced', 'Unreserve_All_Interrupts', 'Use_VADS_Size', 'Validity_Checks', 'Warnings', 'Weak_External']
let g:ada#Keywords += [{
\ 'word': Item,
\ 'menu': 'pragma',
\ 'info': 'GNAT pragma.',
\ 'kind': 'p',
\ 'icase': 1}]
endfor
endif
" 1}}}
" Section: g:ada#Ctags_Kinds {{{1
"
let g:ada#Ctags_Kinds = {
\ 'P': ["packspec", "package specifications"],
\ 'p': ["package", "packages"],
\ 'T': ["typespec", "type specifications"],
\ 't': ["type", "types"],
\ 'U': ["subspec", "subtype specifications"],
\ 'u': ["subtype", "subtypes"],
\ 'c': ["component", "record type components"],
\ 'l': ["literal", "enum type literals"],
\ 'V': ["varspec", "variable specifications"],
\ 'v': ["variable", "variables"],
\ 'f': ["formal", "generic formal parameters"],
\ 'n': ["constant", "constants"],
\ 'x': ["exception", "user defined exceptions"],
\ 'R': ["subprogspec", "subprogram specifications"],
\ 'r': ["subprogram", "subprograms"],
\ 'K': ["taskspec", "task specifications"],
\ 'k': ["task", "tasks"],
\ 'O': ["protectspec", "protected data specifications"],
\ 'o': ["protected", "protected data"],
\ 'E': ["entryspec", "task/protected data entry specifications"],
\ 'e': ["entry", "task/protected data entries"],
\ 'b': ["label", "labels"],
\ 'i': ["identifier", "loop/declare identifiers"],
\ 'a': ["autovar", "automatic variables"],
\ 'y': ["annon", "loops and blocks with no identifier"]}
" Section: ada#Word (...) {{{1
"
" Extract current Ada word across multiple lines
" AdaWord ([line, column])\
"
function ada#Word (...)
if a:0 > 1
let l:Line_Nr = a:1
let l:Column_Nr = a:2 - 1
else
let l:Line_Nr = line('.')
let l:Column_Nr = col('.') - 1
endif
let l:Line = substitute (getline (l:Line_Nr), g:ada#Comment, '', '' )
" Cope with tag searching for items in comments; if we are, don't loop
" backards looking for previous lines
if l:Column_Nr > strlen(l:Line)
" We were in a comment
let l:Line = getline(l:Line_Nr)
let l:Search_Prev_Lines = 0
else
let l:Search_Prev_Lines = 1
endif
" Go backwards until we find a match (Ada ID) that *doesn't* include our
" location - i.e., the previous ID. This is because the current 'correct'
" match will toggle matching/not matching as we traverse characters
" backwards. Thus, we have to find the previous unrelated match, exclude
" it, then use the next full match (ours).
" Remember to convert vim column 'l:Column_Nr' [1..n] to string offset [0..(n-1)]
" ... but start, here, one after the required char.
let l:New_Column = l:Column_Nr + 1
while 1
let l:New_Column = l:New_Column - 1
if l:New_Column < 0
" Have to include previous l:Line from file
let l:Line_Nr = l:Line_Nr - 1
if l:Line_Nr < 1 || !l:Search_Prev_Lines
" Start of file or matching in a comment
let l:Line_Nr = 1
let l:New_Column = 0
let l:Our_Match = match (l:Line, g:ada#WordRegex )
break
endif
" Get previous l:Line, and prepend it to our search string
let l:New_Line = substitute (getline (l:Line_Nr), g:ada#Comment, '', '' )
let l:New_Column = strlen (l:New_Line) - 1
let l:Column_Nr = l:Column_Nr + l:New_Column
let l:Line = l:New_Line . l:Line
endif
" Check to see if this is a match excluding 'us'
let l:Match_End = l:New_Column +
\ matchend (strpart (l:Line,l:New_Column), g:ada#WordRegex ) - 1
if l:Match_End >= l:New_Column &&
\ l:Match_End < l:Column_Nr
" Yes
let l:Our_Match = l:Match_End+1 +
\ match (strpart (l:Line,l:Match_End+1), g:ada#WordRegex )
break
endif
endwhile
" Got anything?
if l:Our_Match < 0
return ''
else
let l:Line = strpart (l:Line, l:Our_Match)
endif
" Now simply add further lines until the match gets no bigger
let l:Match_String = matchstr (l:Line, g:ada#WordRegex)
let l:Last_Line = line ('$')
let l:Line_Nr = line ('.') + 1
while l:Line_Nr <= l:Last_Line
let l:Last_Match = l:Match_String
let l:Line = l:Line .
\ substitute (getline (l:Line_Nr), g:ada#Comment, '', '')
let l:Match_String = matchstr (l:Line, g:ada#WordRegex)
if l:Match_String == l:Last_Match
break
endif
endwhile
" Strip whitespace & return
return substitute (l:Match_String, '\s\+', '', 'g')
endfunction ada#Word
" Section: ada#List_Tag (...) {{{1
"
" List tags in quickfix window
"
function ada#List_Tag (...)
if a:0 > 1
let l:Tag_Word = ada#Word (a:1, a:2)
elseif a:0 > 0
let l:Tag_Word = a:1
else
let l:Tag_Word = ada#Word ()
endif
echo "Searching for" l:Tag_Word
let l:Pattern = '^' . l:Tag_Word . '$'
let l:Tag_List = taglist (l:Pattern)
let l:Error_List = []
"
" add symbols
"
for Tag_Item in l:Tag_List
if l:Tag_Item['kind'] == ''
let l:Tag_Item['kind'] = 's'
endif
let l:Error_List += [
\ l:Tag_Item['filename'] . '|' .
\ l:Tag_Item['cmd'] . '|' .
\ l:Tag_Item['kind'] . "\t" .
\ l:Tag_Item['name'] ]
endfor
set errorformat=%f\|%l\|%m
cexpr l:Error_List
cwindow
endfunction ada#List_Tag
" Section: ada#Jump_Tag (Word, Mode) {{{1
"
" Word tag - include '.' and if Ada make uppercase
"
function ada#Jump_Tag (Word, Mode)
if a:Word == ''
" Get current word
let l:Word = ada#Word()
if l:Word == ''
throw "NOT_FOUND: no identifier found."
endif
else
let l:Word = a:Word
endif
echo "Searching for " . l:Word
try
execute a:Mode l:Word
catch /.*:E426:.*/
let ignorecase = &ignorecase
set ignorecase
execute a:Mode l:Word
let &ignorecase = ignorecase
endtry
return
endfunction ada#Jump_Tag
" Section: ada#Insert_Backspace () {{{1
"
" Backspace at end of line after auto-inserted commentstring '-- ' wipes it
"
function ada#Insert_Backspace ()
let l:Line = getline ('.')
if col ('.') > strlen (l:Line) &&
\ match (l:Line, '-- $') != -1 &&
\ match (&comments,'--') != -1
return "\<bs>\<bs>\<bs>"
else
return "\<bs>"
endif
return
endfunction ada#InsertBackspace
" Section: Insert Completions {{{1
"
" Section: ada#User_Complete(findstart, base) {{{2
"
" This function is used for the 'complete' option.
"
function! ada#User_Complete(findstart, base)
if a:findstart == 1
"
" locate the start of the word
"
let line = getline ('.')
let start = col ('.') - 1
while start > 0 && line[start - 1] =~ '\i\|'''
let start -= 1
endwhile
return start
else
"
" look up matches
"
let l:Pattern = '^' . a:base . '.*$'
"
" add keywords
"
for Tag_Item in g:ada#Keywords
if l:Tag_Item['word'] =~? l:Pattern
if complete_add (l:Tag_Item) == 0
return []
endif
if complete_check ()
return []
endif
endif
endfor
return []
endif
endfunction ada#User_Complete
" Section: ada#Completion (cmd) {{{2
"
" Word completion (^N/^R/^X^]) - force '.' inclusion
function ada#Completion (cmd)
set iskeyword+=46
return a:cmd . "\<C-R>=ada#Completion_End ()\<CR>"
endfunction ada#Completion
" Section: ada#Completion_End () {{{2
"
function ada#Completion_End ()
set iskeyword-=46
return ''
endfunction ada#Completion_End
" Section: ada#Create_Tags {{{1
"
function ada#Create_Tags (option)
if a:option == 'file'
let l:Filename = fnamemodify (bufname ('%'), ':p')
elseif a:option == 'dir'
let l:Filename =
\ fnamemodify (bufname ('%'), ':p:h') . "*.ada " .
\ fnamemodify (bufname ('%'), ':p:h') . "*.adb " .
\ fnamemodify (bufname ('%'), ':p:h') . "*.ads"
else
let l:Filename = a:option
endif
execute '!ctags --excmd=number ' . l:Filename
endfunction ada#Create_Tags
function ada#Switch_Session (New_Session) "{{{1
if a:New_Session != v:this_session
"
" We actualy got a new session - otherwise there
" is nothing to do.
"
if strlen (v:this_session) > 0
execute 'mksession! ' . v:this_session
endif
let v:this_session = a:New_Session
if filereadable (v:this_session)
execute 'source ' . v:this_session
endif
augroup ada_session
autocmd!
autocmd VimLeavePre * execute 'mksession! ' . v:this_session
augroup END
endif
return
endfunction ada#Switch_Session "}}}1
" Section: GNAT Pretty Printer folding {{{1
"
if exists('g:ada_folding') && g:ada_folding[0] == 'g'
"
" Lines consisting only of ')' ';' are due to a gnat pretty bug and
" have the same level as the line above (can't happen in the first
" line).
"
let s:Fold_Collate = '^\([;)]*$\|'
"
" some lone statements are folded with the line above
"
if stridx (g:ada_folding, 'i') >= 0
let s:Fold_Collate .= '\s\+\<is\>$\|'
endif
if stridx (g:ada_folding, 'b') >= 0
let s:Fold_Collate .= '\s\+\<begin\>$\|'
endif
if stridx (g:ada_folding, 'p') >= 0
let s:Fold_Collate .= '\s\+\<private\>$\|'
endif
if stridx (g:ada_folding, 'x') >= 0
let s:Fold_Collate .= '\s\+\<exception\>$\|'
endif
" We also handle empty lines and
" comments here.
let s:Fold_Collate .= '--\)'
function ada#Pretty_Print_Folding (Line) " {{{2
let l:Text = getline (a:Line)
if l:Text =~ s:Fold_Collate
"
" fold with line above
"
let l:Level = "="
elseif l:Text =~ '^\s\+('
"
" gnat outdents a line which stards with a ( by one characters so
" that parameters which follow are aligned.
"
let l:Level = (indent (a:Line) + 1) / &shiftwidth
else
let l:Level = indent (a:Line) / &shiftwidth
endif
return l:Level
endfunction ada#Pretty_Print_Folding " }}}2
endif
" Section: Options and Menus {{{1
"
" Section: ada#Switch_Syntax_Options {{{2
"
function ada#Switch_Syntax_Option (option)
syntax off
if exists ('g:ada_' . a:option)
unlet g:ada_{a:option}
echo a:option . 'now off'
else
let g:ada_{a:option}=1
echo a:option . 'now on'
endif
syntax on
endfunction ada#Switch_Syntax_Option
" Section: ada#Map_Menu {{{2
"
function ada#Map_Menu (Text, Keys, Command)
if a:Keys[0] == ':'
execute
\ "50amenu " .
\ "Ada." . escape(a:Text, ' ') .
\ "<Tab>" . a:Keys .
\ " :" . a:Command . "<CR>"
execute
\ "command -buffer " .
\ a:Keys[1:] .
\" :" . a:Command . "<CR>"
elseif a:Keys[0] == '<'
execute
\ "50amenu " .
\ "Ada." . escape(a:Text, ' ') .
\ "<Tab>" . a:Keys .
\ " :" . a:Command . "<CR>"
execute
\ "nnoremap <buffer> " .
\ a:Keys .
\" :" . a:Command . "<CR>"
execute
\ "inoremap <buffer> " .
\ a:Keys .
\" <C-O>:" . a:Command . "<CR>"
else
execute
\ "50amenu " .
\ "Ada." . escape(a:Text, ' ') .
\ "<Tab>" . escape(g:mapleader . "a" . a:Keys , '\') .
\ " :" . a:Command . "<CR>"
execute
\ "nnoremap <buffer>" .
\ escape(g:mapleader . "a" . a:Keys , '\') .
\" :" . a:Command
execute
\ "inoremap <buffer>" .
\ escape(g:mapleader . "a" . a:Keys , '\') .
\" <C-O>:" . a:Command
endif
return
endfunction
" Section: ada#Map_Popup {{{2
"
function ada#Map_Popup (Text, Keys, Command)
execute
\ "50amenu " .
\ "PopUp." . escape(a:Text, ' ') .
\ "<Tab>" . escape(g:mapleader . "a" . a:Keys , '\') .
\ " :" . a:Command . "<CR>"
call ada#Map_Menu (a:Text, a:Keys, a:Command)
return
endfunction ada#Map_Popup
" }}}1
lockvar g:ada#WordRegex
lockvar g:ada#DotWordRegex
lockvar g:ada#Comment
lockvar! g:ada#Keywords
lockvar! g:ada#Ctags_Kinds
finish " 1}}}
"------------------------------------------------------------------------------
" Copyright (C) 2006 Martin Krischik
"
" Vim is Charityware - see ":help license" or uganda.txt for licence details.
"------------------------------------------------------------------------------
" vim: textwidth=78 wrap tabstop=8 shiftwidth=3 softtabstop=3 noexpandtab
" vim: foldmethod=marker

139
runtime/autoload/gnat.vim Normal file
View File

@@ -0,0 +1,139 @@
"------------------------------------------------------------------------------
" Description: Vim Ada/GNAT compiler file
" Language: Ada (GNAT)
" $Id$
" Copyright: Copyright (C) 2006 Martin Krischik
" Maintainer: Martin Krischik
" $Author$
" $Date$
" Version: 4.2
" $Revision$
" $HeadURL: https://svn.sourceforge.net/svnroot/gnuada/trunk/tools/vim/autoload/gnat.vim $
" History: 24.05.2006 MK Unified Headers
" 16.07.2006 MK Ada-Mode as vim-ball
" 05.08.2006 MK Add session support
" 15.10.2006 MK Bram's suggestion for runtime integration
" 05.11.2006 MK Bram suggested not to use include protection for
" autoload
" 05.11.2006 MK Bram suggested to save on spaces
" Help Page: compiler-gnat
"------------------------------------------------------------------------------
if version < 700
finish
endif
function gnat#Make () dict " {{{1
let &l:makeprg = self.Get_Command('Make')
let &l:errorformat = self.Error_Format
wall
make
copen
set wrap
wincmd W
endfunction gnat#Make " }}}1
function gnat#Pretty () dict " {{{1
execute "!" . self.Get_Command('Pretty')
endfunction gnat#Make " }}}1
function gnat#Find () dict " {{{1
execute "!" . self.Get_Command('Find')
endfunction gnat#Find " }}}1
function gnat#Tags () dict " {{{1
execute "!" . self.Get_Command('Tags')
edit tags
call gnat#Insert_Tags_Header ()
update
quit
endfunction gnat#Tags " }}}1
function gnat#Set_Project_File (...) dict " {{{1
if a:0 > 0
let self.Project_File = a:1
if ! filereadable (self.Project_File)
let self.Project_File = findfile (
\ fnamemodify (self.Project_File, ':r'),
\ $ADA_PROJECT_PATH,
\ 1)
endif
elseif strlen (self.Project_File) > 0
let self.Project_File = browse (0, 'GNAT Project File?', '', self.Project_File)
elseif expand ("%:e") == 'gpr'
let self.Project_File = browse (0, 'GNAT Project File?', '', expand ("%:e"))
else
let self.Project_File = browse (0, 'GNAT Project File?', '', 'default.gpr')
endif
if strlen (v:this_session) > 0
execute 'mksession! ' . v:this_session
endif
if strlen (self.Project_File) > 0
call ada#Switch_Session (
\ expand('~') . "/vimfiles/session/" .
\ fnamemodify (self.Project_File, ":t:r") . ".vim")
else
call ada#Switch_Session ('')
endif
return
endfunction gnat#Set_Project_File " }}}1
function gnat#Get_Command (Command) dict " {{{1
let l:Command = eval ('self.' . a:Command . '_Command')
return eval (l:Command)
endfunction gnat#Get_Command " }}}1
function gnat#Set_Session (...) dict " {{{1
if argc() == 1 && fnamemodify (argv(0), ':e') == 'gpr'
call self.Set_Project_File (argv(0))
elseif strlen (v:servername) > 0
call self.Set_Project_File (v:servername . '.gpr')
endif
endfunction gnat#Set_Session " }}}1
function gnat#New () " {{{1
let l:Retval = {
\ 'Make' : function ('gnat#Make'),
\ 'Pretty' : function ('gnat#Pretty'),
\ 'Find' : function ('gnat#Find'),
\ 'Tags' : function ('gnat#Tags'),
\ 'Set_Project_File' : function ('gnat#Set_Project_File'),
\ 'Set_Session' : function ('gnat#Set_Session'),
\ 'Get_Command' : function ('gnat#Get_Command'),
\ 'Project_File' : '',
\ 'Make_Command' : '"gnat make -P " . self.Project_File . " -F -gnatef "',
\ 'Pretty_Command' : '"gnat pretty -P " . self.Project_File . " "',
\ 'Find_Program' : '"gnat find -P " . self.Project_File . " -F "',
\ 'Tags_Command' : '"gnat xref -P " . self.Project_File . " -v *.AD*"',
\ 'Error_Format' : '%f:%l:%c: %trror: %m,' .
\ '%f:%l:%c: %tarning: %m,' .
\ '%f:%l:%c: (%ttyle) %m'}
return l:Retval
endfunction gnat#New " }}}1
function gnat#Insert_Tags_Header () " {{{1
1insert
!_TAG_FILE_FORMAT 1 /extended format; --format=1 will not append ;" to lines/
!_TAG_FILE_SORTED 1 /0=unsorted, 1=sorted, 2=foldcase/
!_TAG_PROGRAM_AUTHOR AdaCore /info@adacore.com/
!_TAG_PROGRAM_NAME gnatxref //
!_TAG_PROGRAM_URL http://www.adacore.com /official site/
!_TAG_PROGRAM_VERSION 5.05w //
.
return
endfunction gnat#Insert_Tags_Header " }}}1
finish " 1}}}
"------------------------------------------------------------------------------
" Copyright (C) 2006 Martin Krischik
"
" Vim is Charityware - see ":help license" or uganda.txt for licence details.
"------------------------------------------------------------------------------
" vim: textwidth=0 wrap tabstop=8 shiftwidth=3 softtabstop=3 noexpandtab
" vim: foldmethod=marker

View File

@@ -1,8 +1,8 @@
" netrwFileHandlers: contains various extension-based file handlers for
" netrw's browsers' x command ("eXecute launcher")
" Author: Charles E. Campbell, Jr.
" Date: May 01, 2006
" Version: 8
" Date: May 30, 2006
" Version: 9
" Copyright: Copyright (C) 1999-2005 Charles E. Campbell, Jr. {{{1
" Permission is hereby granted to use and distribute this code,
" with or without modifications, provided that this copyright
@@ -22,16 +22,41 @@ if exists("g:loaded_netrwFileHandlers") || &cp
endif
let s:keepcpo= &cpo
set cpo&vim
let g:loaded_netrwFileHandlers= "v8"
let g:loaded_netrwFileHandlers= "v9"
" ---------------------------------------------------------------------
" netrwFileHandlers#Invoke: {{{1
fun! netrwFileHandlers#Invoke(exten,fname)
" call Dfunc("netrwFileHandlers#Invoke(exten<".a:exten."> fname<".a:fname.">)")
let fname= a:fname
" list of supported special characters. Consider rcs,v --- that can be
" supported with a NFH_rcsCOMMAv() handler
if a:fname =~ '[@:,$!=\-+%?;~]'
let specials= {
\ '@' : 'AT',
\ ':' : 'COLON',
\ ',' : 'COMMA',
\ '$' : 'DOLLAR',
\ '!' : 'EXCLAMATION',
\ '=' : 'EQUAL',
\ '-' : 'MINUS',
\ '+' : 'PLUS',
\ '%' : 'PERCENT',
\ '?' : 'QUESTION',
\ ';' : 'SEMICOLON',
\ '~' : 'TILDE'}
let fname= substitute(a:fname,'[@:,$!=\-+%?;~]','\=specials[submatch(0)]','ge')
" call Decho('fname<'.fname.'> done with dictionary')
endif
if a:exten != "" && exists("*s:NFH_".a:exten)
" call Decho("let ret= netrwFileHandlers#NFH_".a:exten.'("'.a:fname.'")')
exe "let ret= s:NFH_".a:exten.'("'.a:fname.'")'
if a:exten != "" && exists("*NFH_".a:exten)
" support user NFH_*() functions
" call Decho("let ret= netrwFileHandlers#NFH_".a:exten.'("'.fname.'")')
exe "let ret= NFH_".a:exten.'("'.fname.'")'
elseif a:exten != "" && exists("*s:NFH_".a:exten)
" use builtin-NFH_*() functions
" call Decho("let ret= netrwFileHandlers#NFH_".a:exten.'("'.fname.'")')
exe "let ret= s:NFH_".a:exten.'("'.fname.'")'
endif
" call Dret("netrwFileHandlers#Invoke 0 : ret=".ret)
@@ -48,10 +73,10 @@ fun! s:NFH_html(pagefile)
if executable("mozilla")
" call Decho("executing !mozilla ".page)
exe "!mozilla \"".page.'"'
exe "!mozilla ".g:netrw_shq.page.g:netrw_shq
elseif executable("netscape")
" call Decho("executing !netscape ".page)
exe "!netscape \"".page.'"'
exe "!netscape ".g:netrw_shq..page.g:netrw_shq
else
" call Dret("s:NFH_html 0")
return 0
@@ -71,10 +96,10 @@ fun! s:NFH_htm(pagefile)
if executable("mozilla")
" call Decho("executing !mozilla ".page)
exe "!mozilla \"".page.'"'
exe "!mozilla ".g:netrw_shq.page.g:netrw_shq
elseif executable("netscape")
" call Decho("executing !netscape ".page)
exe "!netscape \"".page.'"'
exe "!netscape ".g:netrw_shq.page.g:netrw_shq
else
" call Dret("s:NFH_htm 0")
return 0
@@ -90,10 +115,10 @@ fun! s:NFH_jpg(jpgfile)
" call Dfunc("s:NFH_jpg(jpgfile<".a:jpgfile.">)")
if executable("gimp")
exe "silent! !gimp -s ".a:jpgfile
exe "silent! !gimp -s ".g:netrw_shq.a:jpgfile.g:netrw_shq
elseif executable(expand("$SystemRoot")."/SYSTEM32/MSPAINT.EXE")
" call Decho("silent! !".expand("$SystemRoot")."/SYSTEM32/MSPAINT ".escape(a:jpgfile," []|'"))
exe "!".expand("$SystemRoot")."/SYSTEM32/MSPAINT \"".a:jpgfile.'"'
exe "!".expand("$SystemRoot")."/SYSTEM32/MSPAINT ".g:netrw_shq.a:jpgfile.g:netrw_shq
else
" call Dret("s:NFH_jpg 0")
return 0
@@ -109,9 +134,9 @@ fun! s:NFH_gif(giffile)
" call Dfunc("s:NFH_gif(giffile<".a:giffile.">)")
if executable("gimp")
exe "silent! !gimp -s ".a:giffile
exe "silent! !gimp -s ".g:netrw_shq.a:giffile.g:netrw_shq
elseif executable(expand("$SystemRoot")."/SYSTEM32/MSPAINT.EXE")
exe "silent! !".expand("$SystemRoot")."/SYSTEM32/MSPAINT \"".a:giffile.'"'
exe "silent! !".expand("$SystemRoot")."/SYSTEM32/MSPAINT ".g:netrw_shq.a:giffile.g:netrw_shq
else
" call Dret("s:NFH_gif 0")
return 0
@@ -127,9 +152,9 @@ fun! s:NFH_png(pngfile)
" call Dfunc("s:NFH_png(pngfile<".a:pngfile.">)")
if executable("gimp")
exe "silent! !gimp -s ".a:pngfile
exe "silent! !gimp -s ".g:netrw_shq.a:pngfile.g:netrw_shq
elseif executable(expand("$SystemRoot")."/SYSTEM32/MSPAINT.EXE")
exe "silent! !".expand("$SystemRoot")."/SYSTEM32/MSPAINT \"".a:pngfile.'"'
exe "silent! !".expand("$SystemRoot")."/SYSTEM32/MSPAINT ".g:netrw_shq.a:pngfile.g:netrw_shq
else
" call Dret("s:NFH_png 0")
return 0
@@ -145,9 +170,9 @@ fun! s:NFH_pnm(pnmfile)
" call Dfunc("s:NFH_pnm(pnmfile<".a:pnmfile.">)")
if executable("gimp")
exe "silent! !gimp -s ".a:pnmfile
exe "silent! !gimp -s ".g:netrw_shq.a:pnmfile.g:netrw_shq
elseif executable(expand("$SystemRoot")."/SYSTEM32/MSPAINT.EXE")
exe "silent! !".expand("$SystemRoot")."/SYSTEM32/MSPAINT \"".a:pnmfile.'"'
exe "silent! !".expand("$SystemRoot")."/SYSTEM32/MSPAINT ".g:netrw_shq.a:pnmfile.g:netrw_shq
else
" call Dret("s:NFH_pnm 0")
return 0
@@ -165,7 +190,7 @@ fun! s:NFH_bmp(bmpfile)
if executable("gimp")
exe "silent! !gimp -s ".a:bmpfile
elseif executable(expand("$SystemRoot")."/SYSTEM32/MSPAINT.EXE")
exe "silent! !".expand("$SystemRoot")."/SYSTEM32/MSPAINT \"".a:bmpfile.'"'
exe "silent! !".expand("$SystemRoot")."/SYSTEM32/MSPAINT ".g:netrw_shq.a:bmpfile.g:netrw_shq
else
" call Dret("s:NFH_bmp 0")
return 0
@@ -180,7 +205,9 @@ endfun
fun! s:NFH_pdf(pdf)
" call Dfunc("s:NFH_pdf(pdf<".a:pdf.">)")
if executable("gs")
exe 'silent! !gs "'.a:pdf.'"'
exe 'silent! !gs '.g:netrw_shq.a:pdf.g:netrw_shq
elseif executable("pdftotext")
exe 'silent! pdftotext -nopgbrk '.g:netrw_shq.a:pdf.g:netrw_shq
else
" call Dret("s:NFH_pdf 0")
return 0
@@ -196,7 +223,7 @@ fun! s:NFH_doc(doc)
" call Dfunc("s:NFH_doc(doc<".a:doc.">)")
if executable("oowriter")
exe 'silent! !oowriter "'.a:doc.'"'
exe 'silent! !oowriter '.g:netrw_shq.a:doc.g:netrw_shq
redraw!
else
" call Dret("s:NFH_doc 0")
@@ -213,7 +240,7 @@ fun! s:NFH_sxw(sxw)
" call Dfunc("s:NFH_sxw(sxw<".a:sxw.">)")
if executable("oowriter")
exe 'silent! !oowriter "'.a:sxw.'"'
exe 'silent! !oowriter '.g:netrw_shq.a:sxw.g:netrw_shq
redraw!
else
" call Dret("s:NFH_sxw 0")
@@ -230,7 +257,7 @@ fun! s:NFH_xls(xls)
" call Dfunc("s:NFH_xls(xls<".a:xls.">)")
if executable("oocalc")
exe 'silent! !oocalc "'.a:xls.'"'
exe 'silent! !oocalc '.g:netrw_shq.a:xls.g:netrw_shq
redraw!
else
" call Dret("s:NFH_xls 0")
@@ -247,15 +274,15 @@ fun! s:NFH_ps(ps)
" call Dfunc("s:NFH_ps(ps<".a:ps.">)")
if executable("gs")
" call Decho("exe silent! !gs ".a:ps)
exe "silent! !gs ".a:ps
exe "silent! !gs ".g:netrw_shq.a:ps.g:netrw_shq
redraw!
elseif executable("ghostscript")
" call Decho("exe silent! !ghostscript ".a:ps)
exe "silent! !ghostscript ".a:ps
exe "silent! !ghostscript ".g:netrw_shq.a:ps.g:netrw_shq
redraw!
elseif executable("gswin32")
" call Decho("exe silent! !gswin32 \"".a:ps.'"')
exe "silent! !gswin32 \"".a:ps.'"'
" call Decho("exe silent! !gswin32 ".g:netrw_shq.a:ps.g:netrw_shq)
exe "silent! !gswin32 ".g:netrw_shq.a:ps.g:netrw_shq
redraw!
else
" call Dret("s:NFH_ps 0")
@@ -271,16 +298,16 @@ endfun
fun! s:NFH_eps(eps)
" call Dfunc("s:NFH_eps()")
if executable("gs")
exe "silent! !gs ".a:eps
exe "silent! !gs ".g:netrw_shq.a:eps.g:netrw_shq
redraw!
elseif executable("ghostscript")
exe "silent! !ghostscript ".a:eps
exe "silent! !ghostscript ".g:netrw_shq.a:eps.g:netrw_shq
redraw!
elseif executable("ghostscript")
exe "silent! !ghostscript ".a:eps
exe "silent! !ghostscript ".g:netrw_shq.a:eps.g:netrw_shq
redraw!
elseif executable("gswin32")
exe "silent! !gswin32 \"".a:eps.'"'
exe "silent! !gswin32 ".g:netrw_shq.a:eps.g:netrw_shq
redraw!
else
" call Dret("s:NFH_eps 0")
@@ -325,4 +352,4 @@ endfun
let &cpo= s:keepcpo
" ---------------------------------------------------------------------
" Modelines: {{{1
" vim: ts=4 fdm=marker
" vim: fdm=marker

View File

@@ -1,8 +1,8 @@
" tar.vim: Handles browsing tarfiles
" AUTOLOAD PORTION
" Date: May 02, 2006
" Version: 9
" Maintainer: Charles E Campbell, Jr <drchipNOSPAM at campbellfamily dot biz>
" Date: Sep 29, 2006
" Version: 11
" Maintainer: Charles E Campbell, Jr <NdrOchip@ScampbellPfamily.AbizM-NOSPAM>
" License: Vim License (see vim's :help license)
"
" Contains many ideas from Michael Toren's <tar.vim>
@@ -18,13 +18,13 @@
" of this software.
" ---------------------------------------------------------------------
" Initialization: {{{1
" Load Once: {{{1
let s:keepcpo= &cpo
set cpo&vim
if exists("g:loaded_tar")
if &cp || exists("g:loaded_tar") || v:version < 700
finish
endif
let g:loaded_tar= "v9"
let g:loaded_tar= "v11"
"call Decho("loading autoload/tar.vim")
" ---------------------------------------------------------------------
@@ -41,6 +41,13 @@ endif
if !exists("g:tar_writeoptions")
let g:tar_writeoptions= "uf"
endif
if !exists("g:tar_shq")
if has("unix")
let g:tar_shq= "'"
else
let g:tar_shq= '"'
endif
endif
" ----------------
" Functions: {{{1
@@ -55,8 +62,9 @@ fun! tar#Browse(tarfile)
" sanity checks
if !executable(g:tar_cmd)
redraw!
echohl Error | echo '***error*** (tar#Browse) "'.g:tar_cmd.'" not available on your system'
call inputsave()|call input("Press <cr> to continue")|call inputrestore()
" call inputsave()|call input("Press <cr> to continue")|call inputrestore()
let &report= repkeep
" call Dret("tar#Browse")
return
@@ -65,8 +73,9 @@ fun! tar#Browse(tarfile)
" call Decho('a:tarfile<'.a:tarfile.'> not filereadable')
if a:tarfile !~# '^\a\+://'
" if its an url, don't complain, let url-handlers such as vim do its thing
redraw!
echohl Error | echo "***error*** (tar#Browse) File not readable<".a:tarfile.">" | echohl None
call inputsave()|call input("Press <cr> to continue")|call inputrestore()
" call inputsave()|call input("Press <cr> to continue")|call inputrestore()
endif
let &report= repkeep
" call Dret("tar#Browse : file<".a:tarfile."> not readable")
@@ -99,30 +108,26 @@ fun! tar#Browse(tarfile)
endif
let curlast= line("$")
if tarfile =~# '\.\(gz\|tgz\)$'
" call Decho("exe silent r! gzip -d -c '".tarfile."'| tar -".g:tar_browseoptions." - ")
exe "silent r! gzip -d -c '".tarfile."'| tar -".g:tar_browseoptions." - "
" call Decho("exe silent r! gzip -d -c ".g:tar_shq.tarfile.g:tar_shq."| ".g:tar_cmd." -".g:tar_browseoptions." - ")
exe "silent r! gzip -d -c ".g:tar_shq.tarfile.g:tar_shq."| ".g:tar_cmd." -".g:tar_browseoptions." - "
elseif tarfile =~# '\.bz2$'
" call Decho("exe silent r! bzip2 -d -c '".tarfile."'| tar -".g:tar_browseoptions." - ")
exe "silent r! bzip2 -d -c '".tarfile."'| tar -".g:tar_browseoptions." - "
" call Decho("exe silent r! bzip2 -d -c ".g:tar_shq.tarfile.g:tar_shq."| ".g:tar_cmd." -".g:tar_browseoptions." - ")
exe "silent r! bzip2 -d -c ".g:tar_shq.tarfile.g:tar_shq."| ".g:tar_cmd." -".g:tar_browseoptions." - "
else
" call Decho("exe silent r! ".g:tar_cmd." -".g:tar_browseoptions." '".tarfile."'")
exe "silent r! ".g:tar_cmd." -".g:tar_browseoptions." '".tarfile."'"
" call Decho("exe silent r! ".g:tar_cmd." -".g:tar_browseoptions." ".g:tar_shq.tarfile.g:tar_shq)
exe "silent r! ".g:tar_cmd." -".g:tar_browseoptions." ".g:tar_shq.tarfile.g:tar_shq
endif
if v:shell_error != 0
redraw!
echohl WarningMsg | echo "***warning*** (tar#Browse) please check your g:tar_browseoptions<".g:tar_browseoptions.">"
call inputsave()|call input("Press <cr> to continue")|call inputrestore()
" call inputsave()|call input("Press <cr> to continue")|call inputrestore()
" call Dret("tar#Browse : a:tarfile<".a:tarfile.">")
silent %d
let eikeep= &ei
set ei=BufReadCmd,FileReadCmd
exe "r ".a:tarfile
let &ei= eikeep
1d
return
endif
if line("$") == curlast || ( line("$") == (curlast + 1) && getline("$") =~? '\c\%(warning\|error\|inappropriate\|unrecognized\)')
if line("$") == curlast || ( line("$") == (curlast + 1) && getline("$") =~ '\c\%(warning\|error\|inappropriate\|unrecognized\)')
redraw!
echohl WarningMsg | echo "***warning*** (tar#Browse) ".a:tarfile." doesn't appear to be a tar file" | echohl None
call inputsave()|call input("Press <cr> to continue")|call inputrestore()
" call inputsave()|call input("Press <cr> to continue")|call inputrestore()
silent %d
let eikeep= &ei
set ei=BufReadCmd,FileReadCmd
@@ -190,14 +195,14 @@ fun! tar#Read(fname,mode)
" call Decho("fname<".fname.">")
if tarfile =~# '\.\(gz\|tgz\)$'
" call Decho("exe silent r! gzip -d -c '".tarfile."'| tar -OPxf - '".fname."'")
exe "silent r! gzip -d -c '".tarfile."'| tar -".g:tar_readoptions." - '".fname."'"
" call Decho("exe silent r! gzip -d -c ".g:tar_shq.tarfile.g:tar_shq."| ".g:tar_cmd." -OPxf - '".fname."'")
exe "silent r! gzip -d -c ".g:tar_shq.tarfile.g:tar_shq."| ".g:tar_cmd." -".g:tar_readoptions." - '".fname."'"
elseif tarfile =~# '\.bz2$'
" call Decho("exe silent r! bzip2 -d -c '".tarfile."'| tar -".g:tar_readoptions." - '".fname."'")
exe "silent r! bzip2 -d -c '".tarfile."'| tar -".g:tar_readoptions." - '".fname."'"
" call Decho("exe silent r! bzip2 -d -c ".g:tar_shq.tarfile.g:tar_shq."| ".g:tar_cmd." -".g:tar_readoptions." - '".fname."'")
exe "silent r! bzip2 -d -c ".g:tar_shq.tarfile.g:tar_shq."| ".g:tar_cmd." -".g:tar_readoptions." - '".fname."'"
else
" call Decho("exe silent r! tar -".g:tar_readoptions." '".tarfile."' '".fname."'")
exe "silent r! ".g:tar_cmd." -".g:tar_readoptions." '".tarfile."' '".fname."'"
" call Decho("exe silent r! ".g:tar_cmd." -".g:tar_readoptions." ".g:tar_shq.tarfile.g:tar_shq." ".g:tar_shq.fname.g:tar_shq)
exe "silent r! ".g:tar_cmd." -".g:tar_readoptions." ".g:tar_shq.tarfile.g:tar_shq." ".g:tar_shq.fname.g:tar_shq
endif
let w:tarfile= a:fname
exe "file tarfile:".fname
@@ -219,15 +224,17 @@ fun! tar#Write(fname)
" sanity checks
if !executable(g:tar_cmd)
redraw!
echohl Error | echo '***error*** (tar#Browse) "'.g:tar_cmd.'" not available on your system'
call inputsave()|call input("Press <cr> to continue")|call inputrestore()
" call inputsave()|call input("Press <cr> to continue")|call inputrestore()
let &report= repkeep
" call Dret("tar#Write")
return
endif
if !exists("*mkdir")
redraw!
echohl Error | echo "***error*** (tar#Write) sorry, mkdir() doesn't work on your system" | echohl None
call inputsave()|call input("Press <cr> to continue")|call inputrestore()
" call inputsave()|call input("Press <cr> to continue")|call inputrestore()
let &report= repkeep
" call Dret("tar#Write")
return
@@ -246,8 +253,9 @@ fun! tar#Write(fname)
try
exe "cd ".escape(tmpdir,' \')
catch /^Vim\%((\a\+)\)\=:E344/
redraw!
echohl Error | echo "***error*** (tar#Write) cannot cd to temporary directory" | Echohl None
call inputsave()|call input("Press <cr> to continue")|call inputrestore()
" call inputsave()|call input("Press <cr> to continue")|call inputrestore()
let &report= repkeep
" call Dret("tar#Write")
return
@@ -282,8 +290,9 @@ fun! tar#Write(fname)
endif
if v:shell_error != 0
redraw!
echohl Error | echo "***error*** (tar#Write) sorry, unable to update ".tarfile." with ".fname | echohl None
call inputsave()|call input("Press <cr> to continue")|call inputrestore()
" call inputsave()|call input("Press <cr> to continue")|call inputrestore()
else
" call Decho("tarfile<".tarfile."> fname<".fname.">")
@@ -309,16 +318,18 @@ fun! tar#Write(fname)
" call Decho("tar --delete -f '".tarfile."' '".fname."'")
call system("tar --delete -f '".tarfile."' '".fname."'")
if v:shell_error != 0
redraw!
echohl Error | echo "***error*** (tar#Write) sorry, unable to update ".tarfile." with ".fname | echohl None
call inputsave()|call input("Press <cr> to continue")|call inputrestore()
" call inputsave()|call input("Press <cr> to continue")|call inputrestore()
else
" update tarfile with new file
" call Decho("tar -".g:tar_writeoptions." '".tarfile."' '".fname."'")
call system("tar -".g:tar_writeoptions." '".tarfile."' '".fname."'")
if v:shell_error != 0
redraw!
echohl Error | echo "***error*** (tar#Write) sorry, unable to update ".tarfile." with ".fname | echohl None
call inputsave()|call input("Press <cr> to continue")|call inputrestore()
" call inputsave()|call input("Press <cr> to continue")|call inputrestore()
elseif exists("compress")
" call Decho("call system(".compress.")")
call system(compress)
@@ -376,4 +387,4 @@ endfun
" Modelines And Restoration: {{{1
let &cpo= s:keepcpo
unlet s:keepcpo
" vim:ts=8 fdm=marker
" vim:ts=8 fdm=marker

View File

@@ -2,7 +2,7 @@
" vim: tw=0 ts=4 sw=4
" Vim color file
" Maintainer: Ron Aaron <ron@ronware.org>
" Last Change: 2006 Mar 26
" Last Change: 2006 Dec 10
hi clear
set background=dark
@@ -13,11 +13,11 @@ let g:colors_name = "koehler"
hi Normal guifg=white guibg=black
hi Scrollbar guifg=darkcyan guibg=cyan
hi Menu guifg=black guibg=cyan
hi SpecialKey term=bold cterm=bold ctermfg=darkred guifg=Blue
hi NonText term=bold cterm=bold ctermfg=darkred gui=bold guifg=Blue
hi Directory term=bold cterm=bold ctermfg=brown guifg=Blue
hi ErrorMsg term=standout cterm=bold ctermfg=grey ctermbg=blue guifg=White guibg=Red
hi Search term=reverse ctermfg=white ctermbg=red guifg=white guibg=Red
hi SpecialKey term=bold cterm=bold ctermfg=darkred guifg=#cc0000
hi NonText term=bold cterm=bold ctermfg=darkred gui=bold guifg=#cc0000
hi Directory term=bold cterm=bold ctermfg=brown guifg=#cc8000
hi ErrorMsg term=standout cterm=bold ctermfg=grey ctermbg=red guifg=White guibg=Red
hi Search term=reverse ctermfg=white ctermbg=red guifg=white guibg=Red
hi MoreMsg term=bold cterm=bold ctermfg=darkgreen gui=bold guifg=SeaGreen
hi ModeMsg term=bold cterm=bold gui=bold guifg=White guibg=Blue
hi LineNr term=underline cterm=bold ctermfg=darkcyan guifg=Yellow
@@ -26,20 +26,20 @@ hi StatusLine term=bold,reverse cterm=bold ctermfg=lightblue ctermbg=white gu
hi StatusLineNC term=reverse ctermfg=white ctermbg=lightblue guifg=white guibg=blue
hi Title term=bold cterm=bold ctermfg=darkmagenta gui=bold guifg=Magenta
hi Visual term=reverse cterm=reverse gui=reverse
hi WarningMsg term=standout cterm=bold ctermfg=darkblue guifg=Red
hi WarningMsg term=standout cterm=bold ctermfg=darkred guifg=Red
hi Cursor guifg=bg guibg=Green
hi Comment term=bold cterm=bold ctermfg=cyan guifg=#80a0ff
hi Constant term=underline cterm=bold ctermfg=magenta guifg=#ffa0a0
hi Special term=bold cterm=bold ctermfg=red guifg=Orange
hi Identifier term=underline ctermfg=brown guifg=#40ffff
hi Statement term=bold cterm=bold ctermfg=yellow gui=bold guifg=#ffff60
hi PreProc term=underline ctermfg=darkblue guifg=#ff80ff
hi PreProc term=underline ctermfg=darkmagenta guifg=#ff80ff
hi Type term=underline cterm=bold ctermfg=lightgreen gui=bold guifg=#60ff60
hi Error term=reverse ctermfg=darkcyan ctermbg=black guifg=Red guibg=Black
hi Todo term=standout ctermfg=black ctermbg=darkcyan guifg=Blue guibg=Yellow
hi CursorLine term=underline guibg=#555555
hi CursorColumn term=underline guibg=#555555
hi MatchParen term=reverse guibg=Blue
hi CursorLine term=underline guibg=#555555 cterm=underline
hi CursorColumn term=underline guibg=#555555 cterm=underline
hi MatchParen term=reverse ctermfg=blue guibg=Blue
hi TabLine term=bold,reverse cterm=bold ctermfg=lightblue ctermbg=white gui=bold guifg=blue guibg=white
hi TabLineFill term=bold,reverse cterm=bold ctermfg=lightblue ctermbg=white gui=bold guifg=blue guibg=white
hi TabLineSel term=reverse ctermfg=white ctermbg=lightblue guifg=white guibg=blue

View File

@@ -0,0 +1,54 @@
"------------------------------------------------------------------------------
" Description: Vim Ada/Dec Ada compiler file
" Language: Ada (Dec Ada)
" $Id$
" Copyright: Copyright (C) 2006 Martin Krischik
" Maintainer: Martin Krischik
" $Author$
" $Date$
" Version: 4.2
" $Revision$
" $HeadURL: https://svn.sourceforge.net/svnroot/gnuada/trunk/tools/vim/compiler/decada.vim $
" History: 21.07.2006 MK New Dec Ada
" 15.10.2006 MK Bram's suggestion for runtime integration
" Help Page: compiler-decada
"------------------------------------------------------------------------------
if (exists("current_compiler") &&
\ current_compiler == "decada") ||
\ version < 700
finish
endif
let current_compiler = "decada"
if !exists("g:decada")
let g:decada = decada#New ()
endif
if exists(":CompilerSet") != 2
"
" plugin loaded by other means then the "compiler" command
"
command -nargs=* CompilerSet setlocal <args>
endif
call g:decada.Set_Session ()
execute "CompilerSet makeprg=" . escape (g:decada.Make_Command, ' ')
execute "CompilerSet errorformat=" . escape (g:decada.Error_Format, ' ')
call ada#Map_Menu (
\'Dec Ada.Build',
\'<F7>',
\'call decada.Make ()')
finish " 1}}}
"------------------------------------------------------------------------------
" Copyright (C) 2006 Martin Krischik
"
" Vim is Charityware - see ":help license" or uganda.txt for licence details.
"------------------------------------------------------------------------------
" vim: textwidth=78 wrap tabstop=8 shiftwidth=3 softtabstop=3 noexpandtab
" vim: foldmethod=marker

71
runtime/compiler/gnat.vim Normal file
View File

@@ -0,0 +1,71 @@
"------------------------------------------------------------------------------
" Description: Vim Ada/GNAT compiler file
" Language: Ada (GNAT)
" $Id$
" Copyright: Copyright (C) 2006 Martin Krischik
" Maintainer: Martin Krischik
" $Author$
" $Date$
" Version: 4.2
" $Revision$
" $HeadURL: https://svn.sourceforge.net/svnroot/gnuada/trunk/tools/vim/compiler/gnat.vim $
" History: 24.05.2006 MK Unified Headers
" 16.07.2006 MK Ada-Mode as vim-ball
" 15.10.2006 MK Bram's suggestion for runtime integration
" Help Page: compiler-gnat
"------------------------------------------------------------------------------
if (exists("current_compiler") &&
\ current_compiler == "gnat") ||
\ version < 700
finish
endif
let current_compiler = "gnat"
if !exists("g:gnat")
let g:gnat = gnat#New ()
call ada#Map_Menu (
\ 'GNAT.Build',
\ '<F7>',
\ 'call gnat.Make ()')
call ada#Map_Menu (
\ 'GNAT.Pretty Print',
\ ':GnatPretty',
\ 'call gnat.Pretty ()')
call ada#Map_Menu (
\ 'GNAT.Tags',
\ ':GnatTags',
\ 'call gnat.Tags ()')
call ada#Map_Menu (
\ 'GNAT.Find',
\ ':GnatFind',
\ 'call gnat.Find ()')
call ada#Map_Menu (
\ 'GNAT.Set Projectfile\.\.\.',
\ ':SetProject',
\ 'call gnat.Set_Project_File ()')
endif
if exists(":CompilerSet") != 2
"
" plugin loaded by other means then the "compiler" command
"
command -nargs=* CompilerSet setlocal <args>
endif
call g:gnat.Set_Session ()
execute "CompilerSet makeprg=" . escape (g:gnat.Get_Command('Make'), ' ')
execute "CompilerSet errorformat=" . escape (g:gnat.Error_Format, ' ')
finish " 1}}}
"------------------------------------------------------------------------------
" Copyright (C) 2006 Martin Krischik
"
" Vim is Charityware - see ":help license" or uganda.txt for licence details.
"------------------------------------------------------------------------------
" vim: textwidth=0 wrap tabstop=8 shiftwidth=3 softtabstop=3 noexpandtab
" vim: foldmethod=marker

24
runtime/compiler/mcs.vim Normal file
View File

@@ -0,0 +1,24 @@
" Vim compiler file
" Compiler: Mono C# Compiler
" Maintainer: Jarek Sobiecki <harijari@go2.pl>
" Latest Revision: 2006-06-18
if exists("current_compiler")
finish
endif
let current_compiler = "mcs"
let s:cpo_save = &cpo
set cpo-=C
setlocal errorformat=
\%E%f(%l\\,%c):\ error\ CS%n:%m,
\%W%f(%l\\,%c):\ warning\ CS%n:%m,
\%E%>syntax\ error\\,%m,%Z%f(%l\\,%c):\ error\ CS%n:%m,
\%D%*\\a[%*\\d]:\ Entering\ directory\ `%f',
\%X%*\\a[%*\\d]:\ Leaving\ directory\ `%f',
\%DMaking\ %*\\a\ in\ %f,
\%G-%.%#
let &cpo = s:cpo_save
unlet s:cpo_save

515
runtime/doc/ada.txt Normal file
View File

@@ -0,0 +1,515 @@
*ada.txt* For Vim version 7.1a. Last change: 2006 Nov 12
ADA FILE TYPE PLUG-INS REFERENCE MANUAL~
ADA *ada.vim*
1. Syntax Highlighting |ft-ada-syntax|
2. Plug-in |ft-ada-plugin|
3. Omni Completion |ft-ada-omni|
3.1 Omni Completion with "gnat xref" |gnat-xref|
3.2 Omni Completion with "ctags" |ada-ctags|
4. Compiler Support |ada-compiler|
4.1 GNAT |compiler-gnat|
4.1 Dec Ada |compiler-decada|
5. References |ada-reference|
5.1 Options |ft-ada-options|
5.2 Functions |ft-ada-functions|
5.3 Commands |ft-ada-commands|
5.4 Variables |ft-ada-variables|
5.5 Constants |ft-ada-constants|
8. Extra Plug-ins |ada-extra-plugins|
==============================================================================
1. Syntax Highlighting ~
*ft-ada-syntax*
This mode is designed for the 2005 edition of Ada ("Ada 2005"), which includes
support for objected-programming, protected types, and so on. It handles code
written for the original Ada language ("Ada83", "Ada87", "Ada95") as well,
though code which uses Ada 2005-only keywords will be wrongly colored (such
code should be fixed anyway). For more information about Ada, see
http://www.adapower.com.
The Ada mode handles a number of situations cleanly.
For example, it knows that the "-" in "-5" is a number, but the same character
in "A-5" is an operator. Normally, a "with" or "use" clause referencing
another compilation unit is coloured the same way as C's "#include" is coloured.
If you have "Conditional" or "Repeat" groups coloured differently, then "end
if" and "end loop" will be coloured as part of those respective groups.
You can set these to different colours using vim's "highlight" command (e.g.,
to change how loops are displayed, enter the command ":hi Repeat" followed by
the colour specification; on simple terminals the colour specification
ctermfg=White often shows well).
There are several options you can select in this Ada mode. See|ft-ada-options|
for a complete list.
To enable them, assign a value to the option. For example, to turn one on:
>
> let g:ada_standard_types = 1
>
To disable them use ":unlet". Example:
>
> unlet g:ada_standard_types
You can just use ":" and type these into the command line to set these
temporarily before loading an Ada file. You can make these option settings
permanent by adding the "let" command(s), without a colon, to your "~/.vimrc"
file.
Even on a slow (90Mhz) PC this mode works quickly, but if you find the
performance unacceptable, turn on |g:ada_withuse_ordinary|.
Syntax folding instructions (|fold-syntax|) are added when |g:ada_folding| is
set.
==============================================================================
2. File type Plug-in ~
*ft-ada-indent* *ft-ada-plugin*
The Ada plug-in provides support for:
- auto indenting (|indent.txt|)
- insert completion (|i_CTRL-N|)
- user completion (|i_CTRL-X_CTRL-U|)
- tag searches (|tagsrch.txt|)
- Quick Fix (|quickfix.txt|)
- backspace handling (|'backspace'|)
- comment handling (|'comments'|, |'commentstring'|)
The plug-in only activates the features of the Ada mode whenever an Ada
files is opened and add adds Ada related entries to the main and pop-up menu.
==============================================================================
3. Omni Completion ~
*ft-ada-omni*
The Ada omni-completions (|i_CTRL-X_CTRL-O|) uses tags database created either
by "gnat xref -v" or the "exuberant Ctags (http://ctags.sourceforge.net). The
complete function will automatically detect which tool was used to create the
tags file.
------------------------------------------------------------------------------
3.1 Omni Completion with "gnat xref" ~
*gnat-xref*
GNAT XREF uses the compiler internal informations (ali-files) to produce the
tags file. This has the advantage to be 100% correct and the option of deep
nested analysis. However the code must compile, the generator is quite
slow and the created tags file contains only the basic Ctags informations for
each entry - not enough for some of the more advanced Vim code browser
plug-ins.
NOTE: "gnat xref -v" is very tricky to use as it has almost no diagnostic
output - If nothing is printed then usually the parameters are wrong.
Here some important tips:
1) You need to compile your code first and use the "-aO" option to point to
your .ali files.
2) "gnat xref -v ../Include/adacl.ads" won't work - use the "gnat xref -v
-aI../Include adacl.ads" instead.
3) "gnat xref -v -aI../Include *.ad?" won't work - use "cd ../Include" and
then "gnat xref -v *.ad?"
4) Project manager support is completely broken - don't even try "gnat xref
-Padacl.gpr".
5) VIM is faster when the tags file is sorted - use "sort --unique
--ignore-case --output=tags tags" .
6) Remember to insert "!_TAG_FILE_SORTED 2 %sort ui" as first line to mark
the file assorted.
------------------------------------------------------------------------------
3.2 Omni Completion with "ctags"~
*ada-ctags*
Exuberant Ctags uses it's own multi-language code parser. The parser is quite
fast, produces a lot of extra informations (hence the name "Exuberant Ctags")
and can run on files which currently do not compile.
There are also lots of other Vim-tools which use exuberant Ctags.
You will need to install a version of the Exuberant Ctags which has Ada
support patched in. Such a version is available from the GNU Ada Project
(http://gnuada.sourceforge.net).
The Ada parser for Exuberant Ctags is fairly new - don't expect complete
support yet.
==============================================================================
4. Compiler Support ~
*ada-compiler*
The Ada mode supports more then one Ada compiler and will automatically load the
compiler set in|g:ada_default_compiler|whenever an Ada source is opened. The
provided compiler plug-ins are split into the actual compiler plug-in and a
collection of support functions and variables. This allows the easy
development of specialized compiler plug-ins fine tuned to your development
environment.
------------------------------------------------------------------------------
4.1 GNAT ~
*compiler-gnat*
GNAT is the only free (beer and speech) Ada compiler available. There are
several version available which differentiate in the licence terms used.
The GNAT compiler plug-in will perform a compile on pressing <F7> and then
immediately shows the result. You can set the project file to be used by
setting:
>
> call g:gnat.Set_Project_File ('my_project.gpr')
Setting a project file will also create a Vim session (|views-sessions|) so -
like with the GPS - opened files, window positions etc. will remembered
separately for all projects.
*gnat_members*
GNAT OBJECT ~
*g:gnat.Make()*
g:gnat.Make()
Calls|g:gnat.Make_Command|and displays the result inside a
|quickfix| window.
*g:gnat.Pretty()*
g:gnat.Pretty()
Calls|g:gnat.Pretty_Command|
*g:gnat.Find()*
g:gnat.Find()
Calls|g:gnat.Find_Command|
*g:gnat.Tags()*
g:gnat.Tags()
Calls|g:gnat.Tags_Command|
*g:gnat.Set_Project_File()*
g:gnat.Set_Project_File([{file}])
Set gnat project file and load associated session. An open
project will be closed and the session written. If called
without file name the file selector opens for selection of a
project file. If called with an empty string then the project
and associated session are closed.
*g:gnat.Project_File*
g:gnat.Project_File string
Current project file.
*g:gnat.Make_Command*
g:gnat.Make_Command string
External command used for|g:gnat.Make()| (|'makeprg'|).
*g:gnat.Pretty_Program*
g:gnat.Pretty_Program string
External command used for|g:gnat.Pretty()|
*g:gnat.Find_Program*
g:gnat.Find_Program string
External command used for|g:gnat.Find()|
*g:gnat.Tags_Command*
g:gnat.Tags_Command string
External command used for|g:gnat.Tags()|
*g:gnat.Error_Format*
g:gnat.Error_Format string
Error format (|'errorformat'|)
------------------------------------------------------------------------------
4.2 Dec Ada ~
*compiler-hpada* *compiler-decada*
*compiler-vaxada* *compiler-compaqada*
Dec Ada (also known by - in chronological order - VAX Ada, Dec Ada, Compaq Ada
and HP Ada) is a fairly dated Ada 83 compiler. Support is basic: <F7> will
compile the current unit.
The Dec Ada compiler expects the package name and not the file name to be
passed a parameter. The compiler plug-in supports the usual file name
convention to convert the file into a unit name. For separates both '-' and
'__' are allowed.
*decada_members*
DEC ADA OBJECT ~
*g:decada.Make()*
g:decada.Make() function
Calls|g:decada.Make_Command|and displays the result inside a
|quickfix| window.
*g:decada.Unit_Name()*
g:decada.Unit_Name() function
Get the Unit name for the current file.
*g:decada.Make_Command*
g:decada.Make_Command string
External command used for|g:decadat.Make()| (|'makeprg'|).
*g:decada.Error_Format*
g:decada.Error_Format| string
Error format (|'errorformat'|).
==============================================================================
5. References ~
*ada-reference*
------------------------------------------------------------------------------
5.1 Options ~
*ft-ada-options*
*g:ada_standard_types*
g:ada_standard_types bool (true when exists)
Highlight types in package Standard (e.g., "Float")
*g:ada_space_errors*
*g:ada_no_trail_space_error*
*g:ada_no_tab_space_error*
*g:ada_all_tab_usage*
g:ada_space_errors bool (true when exists)
Highlight extraneous errors in spaces ...
g:ada_no_trail_space_error
- but ignore trailing spaces at the end of a line
g:ada_no_tab_space_error
- but ignore tabs after spaces
g:ada_all_tab_usage
- highlight all tab use
*g:ada_line_errors*
g:ada_line_errors bool (true when exists)
Highlight lines which are to long. Note: This highlighting
option is quite CPU intensive.
*g:ada_rainbow_color*
g:ada_rainbow_color bool (true when exists)
Use rainbow colours for '(' and ')'. You need the
rainbow_parenthesis for this to work
*g:ada_folding*
g:ada_folding set ('sigpft')
Use folding for Ada sources.
's': activate syntax folding on load
'p': fold packages
'f': fold functions and procedures
't': fold types
'c': fold conditionals
'g': activate gnat pretty print folding on load
'i': lone 'is' folded with line above
'b': lone 'begin' folded with line above
'p': lone 'private' folded with line above
'x': lone 'exception' folded with line above
'i': activate indent folding on load
Note: Syntax folding is in an early (unuseable) stage and
indent or gnat pretty folding is suggested.
For gnat pretty folding to work the following settings are
suggested: -cl3 -M79 -c2 -c3 -c4 -A1 -A2 -A3 -A4 -A5
For indent folding to work the following settings are
suggested: shiftwidth=3 softtabstop=3
*g:ada_abbrev*
g:ada_abbrev bool (true when exists)
Add some abbreviations. This feature more or less superseded
by the various completion methods.
*g:ada_withuse_ordinary*
g:ada_withuse_ordinary bool (true when exists)
Show "with" and "use" as ordinary keywords (when used to
reference other compilation units they're normally highlighted
specially).
*g:ada_begin_preproc*
g:ada_begin_preproc bool (true when exists)
Show all begin-like keywords using the colouring of C
preprocessor commands.
*g:ada_omni_with_keywords*
g:ada_omni_with_keywords
Add Keywords, Pragmas, Attributes to omni-completions
(|compl-omni|). Note: You can always complete then with user
completion (|i_CTRL-X_CTRL-U|).
*g:ada_extended_tagging*
g:ada_extended_tagging enum ('jump', 'list')
use extended tagging, two options are available
'jump': use tjump to jump.
'list': add tags quick fix list.
Normal tagging does not support function or operator
overloading as these features are not available in C and
tagging was originally developed for C.
*g:ada_extended_completion*
g:ada_extended_completion
Uses extended completion for <C-N> and <C-R> completions
(|i_CTRL-N|). In this mode the '.' is used as part of the
identifier so that 'Object.Method' or 'Package.Procedure' are
completed together.
*g:ada_gnat_extensions*
g:ada_gnat_extensions bool (true when exists)
Support GNAT extensions.
*g:ada_with_gnat_project_files*
g:ada_with_gnat_project_files bool (true when exists)
Add gnat project file keywords and Attributes.
*g:ada_default_compiler*
g:ada_default_compiler string
set default compiler. Currently supported is 'gnat' and
'decada'.
An "exists" type is a boolean is considered true when the variable is defined
and false when the variable is undefined. The value which the variable is
set makes no difference.
------------------------------------------------------------------------------
5.3 Commands ~
*ft-ada-commands*
:AdaRainbow *:AdaRainbow*
Toggles rainbow colour (|g:ada_rainbow_color|) mode for
'(' and ')'
:AdaLines *:AdaLines*
Toggles line error (|g:ada_line_errors|) display
:AdaSpaces *:AdaSpaces*
Toggles space error (|g:ada_space_errors|) display.
:AdaTagDir *:AdaTagDir*
Creates tags file for the directory of the current file.
:AdaTagFile *:AdaTagFile*
Creates tags file for the current file.
:AdaTypes *:AdaTypes*
Toggles standard types (|g:ada_standard_types|) colour.
:GnatFind *:GnatFind*
Calls |g:gnat.Find()|
:GnatPretty *:GnatPretty*
Calls |g:gnat.Pretty()|
:GnatTags *:GnatTags*
Calls |g:gnat.Tags()|
------------------------------------------------------------------------------
5.3 Variables ~
*ft-ada-variables*
*g:gnat*
g:gnat object
Control object which manages GNAT compiles. The object
is created when the first Ada source code is loaded provided
that |g:ada_default_compiler|is set to 'gnat'. See|gnat_members|
for details.
*g:decada*
g:decada object
Control object which manages Dec Ada compiles. The object
is created when the first Ada source code is loaded provided
that |g:ada_default_compiler|is set to 'decada'. See
|decada_members|for details.
------------------------------------------------------------------------------
5.4 Constants ~
*ft-ada-constants*
All constants are locked. See |:lockvar| for details.
*g:ada#WordRegex*
g:ada#WordRegex string
Regular expression to search for Ada words
*g:ada#DotWordRegex*
g:ada#DotWordRegex string
Regular expression to search for Ada words separated by dots.
*g:ada#Comment*
g:ada#Comment string
Regular expression to search for Ada comments
*g:ada#Keywords*
g:ada#Keywords list of dictionaries
List of keywords, attributes etc. pp. in the format used by
omni completion. See |complete-items| for details.
*g:ada#Ctags_Kinds*
g:ada#Ctags_Kinds dictionary of lists
Dictionary of the various kinds of items which the Ada support
for Ctags generates.
------------------------------------------------------------------------------
5.2 Functions ~
*ft-ada-functions*
ada#Word([{line}, {col}]) *ada#Word()*
Return full name of Ada entity under the cursor (or at given
line/column), stripping white space/newlines as necessary.
ada#List_Tag([{line}, {col}]) *ada#Listtags()*
List all occurrences of the Ada entity under the cursor (or at
given line/column) inside the quick-fix window
ada#Jump_Tag ({ident}, {mode}) *ada#Jump_Tag()*
List all occurrences of the Ada entity under the cursor (or at
given line/column) in the tag jump list. Mode can either be
'tjump' or 'stjump'.
ada#Create_Tags ({option}) *ada#Create_Tags()*
Creates tag file using Ctags. The option can either be 'file'
for the current file, 'dir' for the directory of the current
file or a file name.
gnat#Insert_Tags_Header() *gnat#Insert_Tags_Header()*
Adds the tag file header (!_TAG_) informations to the current
file which are missing from the GNAT XREF output.
ada#Switch_Syntax_Option ({option}) *ada#Switch_Syntax_Option()*
Toggles highlighting options on or off. Used for the Ada menu.
*gnat#New()*
gnat#New ()
Create a new gnat object. See |g:gnat| for details.
==============================================================================
8. Extra Plugins ~
*ada-extra-plugins*
You can optionally install the following extra plug-in. They work well with Ada
and enhance the ability of the Ada mode.:
backup.vim
http://www.vim.org/scripts/script.php?script_id=1537
Keeps as many backups as you like so you don't have to.
rainbow_parenthsis.vim
http://www.vim.org/scripts/script.php?script_id=1561
Very helpful since Ada uses only '(' and ')'.
nerd_comments.vim
http://www.vim.org/scripts/script.php?script_id=1218
Excellent commenting and uncommenting support for almost any
programming language.
matchit.vim
http://www.vim.org/scripts/script.php?script_id=39
'%' jumping for any language. The normal '%' jump only works for '{}'
style languages. The Ada mode will set the needed search patters.
taglist.vim
http://www.vim.org/scripts/script.php?script_id=273
Source code explorer sidebar. There is a patch for Ada available.
The GNU Ada Project distribution (http://gnuada.sourceforge.net) of Vim
contains all of the above.
==============================================================================
vim: textwidth=78 nowrap tabstop=8 shiftwidth=4 softtabstop=4 noexpandtab
vim: filetype=help encoding=latin1

View File

@@ -1,4 +1,4 @@
*arabic.txt* For Vim version 7.0. Last change: 2005 Mar 29
*arabic.txt* For Vim version 7.1a. Last change: 2005 Mar 29
VIM REFERENCE MANUAL by Nadim Shaikli

View File

@@ -1,4 +1,4 @@
*farsi.txt* For Vim version 7.0. Last change: 2005 Mar 29
*farsi.txt* For Vim version 7.1a. Last change: 2005 Mar 29
VIM REFERENCE MANUAL by Mortaza Ghassab Shiran

View File

@@ -1,4 +1,4 @@
*filetype.txt* For Vim version 7.0. Last change: 2006 Apr 28
*filetype.txt* For Vim version 7.1a. Last change: 2007 Mar 24
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -43,6 +43,8 @@ Detail: The ":filetype on" command will load one of these files:
BufNewFile and BufRead events. If the file type is not found by the
name, the file $VIMRUNTIME/scripts.vim is used to detect it from the
contents of the file.
When the GUI is running or will start soon, the menu.vim script is
also sourced. See |'go-M'| about avoiding that.
To add your own file types, see |new-filetype| below. To search for help on a
filetype prepend "ft-" and optionally append "-syntax", "-indent" or
@@ -304,24 +306,28 @@ all loaded. For example, if this command: >
set runtimepath
produces this output: >
produces this output:
runtimepath=/etc/vim,~/.vim,/usr/local/share/vim/vim60
runtimepath=/etc/vim,~/.vim,/usr/local/share/vim/vim60 ~
then Vim will load all plugins in these directories: >
then Vim will load all plugins in these directories and below:
/etc/vim/plugin/
~/.vim/plugin/
/usr/local/share/vim/vim60/plugin/
/etc/vim/plugin/ ~
~/.vim/plugin/ ~
/usr/local/share/vim/vim60/plugin/ ~
Note that the last one is the value of $VIMRUNTIME which has been expanded.
What if it looks like your plugin is not being loaded? You can find out what
happens when Vim starts up by using the |-V| argument: >
vim -V1
vim -V2
You will see a lot of messages, in between them is a remark about loading the
plugins. It starts with: >
Searching for "plugin/*.vim" in
plugins. It starts with:
Searching for "plugin/**/*.vim" in ~
There you can see where Vim looks for your plugin scripts.
==============================================================================

View File

@@ -1,4 +1,4 @@
*hebrew.txt* For Vim version 7.0. Last change: 2003 May 11
*hebrew.txt* For Vim version 7.1a. Last change: 2003 May 11
VIM REFERENCE MANUAL by Ron Aaron (and Avner Lottem)

View File

@@ -1,4 +1,4 @@
*howto.txt* For Vim version 7.0. Last change: 2006 Apr 02
*howto.txt* For Vim version 7.1a. Last change: 2006 Apr 02
VIM REFERENCE MANUAL by Bram Moolenaar

View File

@@ -1,4 +1,4 @@
*intro.txt* For Vim version 7.0. Last change: 2006 Apr 20
*intro.txt* For Vim version 7.1a. Last change: 2006 Apr 20
VIM REFERENCE MANUAL by Bram Moolenaar

View File

@@ -1,4 +1,4 @@
*os_amiga.txt* For Vim version 7.0. Last change: 2005 Mar 29
*os_amiga.txt* For Vim version 7.1a. Last change: 2005 Mar 29
VIM REFERENCE MANUAL by Bram Moolenaar

View File

@@ -1,4 +1,4 @@
*os_dos.txt* For Vim version 7.0. Last change: 2006 Mar 30
*os_dos.txt* For Vim version 7.1a. Last change: 2006 Mar 30
VIM REFERENCE MANUAL by Bram Moolenaar

View File

@@ -1,4 +1,4 @@
*os_win32.txt* For Vim version 7.0. Last change: 2006 Apr 30
*os_win32.txt* For Vim version 7.1a. Last change: 2007 Apr 22
VIM REFERENCE MANUAL by George Reilly
@@ -269,7 +269,7 @@ A. When writing a file Vim renames the original file, this is a backup (in
Q. How do I get to see the output of ":make" while it's running?
A. Basically what you need is to put a tee program that will copy its input
(the output from make) to both stdout and to the errorfile. You can find a
copy of tee (and a number of other GNU tools tools) at
copy of tee (and a number of other GNU tools) at
http://gnuwin32.sourceforge.net or http://unxutils.sourceforge.net
Alternatively, try the more recent Cygnus version of the GNU tools at
http://www.cygwin.com Other Unix-style tools for Win32 are listed at

View File

@@ -1,4 +1,4 @@
*pattern.txt* For Vim version 7.0. Last change: 2006 Apr 30
*pattern.txt* For Vim version 7.1a. Last change: 2007 Apr 24
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -587,7 +587,7 @@ overview.
{Vi does not have any of these}
n and m are positive decimal numbers or zero
*non-greedy*
If a "-" appears immediately after the "{", then a shortest match
first algorithm is used (see example below). In particular, "\{-}" is
the same as "*" but uses the shortest match first algorithm. BUT: A
@@ -969,7 +969,7 @@ x A single character, with no special meaning, matches itself
[xyz] any 'x', 'y' or 'z'
[a-zA-Z]$ any alphabetic character at the end of a line
\c[a-z]$ same
*/[\n]*
With "\_" prepended the collection also includes the end-of-line.
The same can be done by including "\n" in the collection. The
end-of-line is also matched when the collection starts with "^"! Thus
@@ -1042,6 +1042,7 @@ x A single character, with no special meaning, matches itself
\t <Tab>
\r <CR> (NOT end-of-line!)
\b <BS>
\n line break, see above |/[\n]|
\d123 decimal number of character
\o40 octal number of character up to 0377
\x20 hexadecimal number of character up to 0xff
@@ -1068,6 +1069,8 @@ x A single character, with no special meaning, matches itself
You don't often have to use it, but it is possible. Example: >
/\<r\%[[eo]ad]\>
< Matches the words "r", "re", "ro", "rea", "roa", "read" and "road".
There can be no \(\), \%(\) or \z(\) items inside the [] and \%[] does
not nest.
{not available when compiled without the +syntax feature}
*/\%d* */\%x* */\%o* */\%u* */\%U* *E678*
@@ -1145,7 +1148,7 @@ composing character by itself, except that it doesn't matter what comes before
this.
The order of composing characters matters, even though changing the order
doen't change what a character looks like. This may change in the future.
doesn't change what a character looks like. This may change in the future.
==============================================================================
9. Compare with Perl patterns *perl-patterns*
@@ -1219,6 +1222,10 @@ Finally, these constructs are unique to Perl:
'ignorecase' does not apply, use |/\c| in the pattern to
ignore case. Otherwise case is not ignored.
When matching end-of-line and Vim redraws only part of the
display you may get unexpected results. That is because Vim
looks for a match in the line where redrawing starts.
Also see |matcharg()|, it returns the highlight group and
pattern of a previous :match command.

View File

@@ -1,4 +1,4 @@
*pi_spec.txt* For Vim version 7.0. Last change: 2006 Apr 24
*pi_spec.txt* For Vim version 7.1a. Last change: 2006 Apr 24
by Gustavo Niemeyer ~

View File

@@ -1,4 +1,4 @@
*quotes.txt* For Vim version 7.0. Last change: 2006 Apr 24
*quotes.txt* For Vim version 7.1a. Last change: 2006 Apr 24
VIM REFERENCE MANUAL by Bram Moolenaar

View File

@@ -1,4 +1,4 @@
*remote.txt* For Vim version 7.0. Last change: 2006 Apr 30
*remote.txt* For Vim version 7.1a. Last change: 2006 Apr 30
VIM REFERENCE MANUAL by Bram Moolenaar

View File

@@ -1,4 +1,4 @@
*repeat.txt* For Vim version 7.0. Last change: 2006 Apr 30
*repeat.txt* For Vim version 7.1a. Last change: 2007 Jan 07
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -53,6 +53,13 @@ selection, the same SIZE of area is used, see |visual-repeat|.
:[range]v[global]/{pattern}/[cmd]
Same as :g!.
Instead of the '/' which surrounds the {pattern}, you can use any other
single byte character, but not an alphanumeric character, '\', '"' or '|'.
This is useful if you want to include a '/' in the search pattern or
replacement string.
For the definition of a pattern, see |pattern|.
The global commands work by first scanning through the [range] lines and
marking each line where a match occurs (for a multi-line pattern, only the
start of the match matters).
@@ -656,4 +663,7 @@ mind there are various things that may clobber the results:
- Profiling may give weird results on multi-processor systems, when sleep
mode kicks in or the processor frequency is reduced to save power.
- The "self" time is wrong when a function is used recursively.
vim:tw=78:ts=8:ft=help:norl:

View File

@@ -1,4 +1,4 @@
*scroll.txt* For Vim version 7.0. Last change: 2006 Apr 24
*scroll.txt* For Vim version 7.1a. Last change: 2006 Aug 27
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -223,7 +223,7 @@ jump to a location where the current window's relative offset is valid. This
behavior can be changed by clearing the 'jump' flag from the 'scrollopt'
option.
*syncbind* *:syncbind*
*syncbind* *:syncbind* *:sync*
:syncbind Force all 'scrollbind' windows to have the same
relative offset. I.e., when any of the 'scrollbind'
windows is scrolled to the top of its buffer, all of

View File

@@ -1,4 +1,4 @@
*spell.txt* For Vim version 7.0. Last change: 2006 Apr 30
*spell.txt* For Vim version 7.1a. Last change: 2007 Apr 22
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -16,6 +16,10 @@ Spell checking *spell*
Spell checking is not available when the |+syntax| feature has been disabled
at compile time.
Note: There also is a vimspell plugin. If you have it you can do ":help
vimspell" to find about it. But you will probably want to get rid of the
plugin and use the 'spell' option instead, it works better.
==============================================================================
1. Quick start *spell-quickstart*
@@ -409,6 +413,7 @@ done:
For the second method adding the @NoSpell cluster will disable spell checking
again. This can be used, for example, to add @Spell to the comments of a
program, and add @NoSpell for items that shouldn't be checked.
Also see |:syn-spell| for text that is not in a syntax item.
VIM SCRIPTS
@@ -465,7 +470,7 @@ the word list and keeps it small.
You can create a Vim spell file from the .aff and .dic files that Myspell
uses. Myspell is used by OpenOffice.org and Mozilla. You should be able to
find them here:
http://lingucomponent.openoffice.org/spell_dic.html
http://wiki.services.openoffice.org/wiki/Dictionaries
You can also use a plain word list. The results are the same, the choice
depends on what word lists you can find.
@@ -546,7 +551,7 @@ following procedure is recommended:
2. Make a copy of these files to xx_YY.orig.aff and xx_YY.orig.dic.
3. Change the xx_YY.aff and xx_YY.dic files to remove bad words, add missing
words, define word characters with FOL/LOW/UPP, etc. The distributed
"src/spell/*.diff" files can be used.
"*.diff" files can be used.
4. Start Vim with the right locale and use |:mkspell| to generate the Vim
spell file.
5. Try out the spell file with ":set spell spelllang=xx" if you wrote it in
@@ -646,7 +651,7 @@ exceptions:
only ASCII letters for most of the words.
The default "spellfile.vim" plugin uses this autocommand, if you define your
autocommand afterwars you may want to use ":au! SpellFileMissing" to overrule
autocommand afterwards you may want to use ":au! SpellFileMissing" to overrule
it. If you define your autocommand before the plugin is loaded it will notice
this and not do anything.
@@ -1332,7 +1337,7 @@ With the example "ideeen" has three syllables, counted by "i", "ee" and "e".
Only case-folded letters need to be included.
Above another way to restrict compounding was mentioned above: Adding the
Another way to restrict compounding was mentioned above: Adding the
|spell-COMPOUNDFORBIDFLAG| flag to an affix causes all words that are made
with that affix not be be used for compounding.
@@ -1510,7 +1515,7 @@ COMPLEXPREFIXES (Hunspell) *spell-COMPLEXPREFIXES*
Enables using two prefixes. Not supported.
COMPOUND (Hunspell) *spell-COMPOUND*
This is one line with the count of COMPOUND items, followd by
This is one line with the count of COMPOUND items, followed by
that many COMPOUND lines with a pattern.
Remove the first line with the count and rename the other
items to COMPOUNDRULE |spell-COMPOUNDRULE|

View File

@@ -1,4 +1,4 @@
*sql.txt* For Vim version 7.0. Last change: Wed Apr 26 2006 3:05:33 PM
*sql.txt* For Vim version 7.1a. Last change: Wed Apr 26 2006 3:05:33 PM
by David Fishburn
@@ -632,7 +632,7 @@ your |vimrc|: >
- When completing tables, procedure or views and using dbext.vim 3.00
or higher the list of objects will also include the owner name.
When completing these objects and omni_sql_include_owner is enabled
the owner name will be be replaced. >
the owner name will be replaced. >
omni_sql_precache_syntax_groups
< - Default:

View File

@@ -1,4 +1,4 @@
*starting.txt* For Vim version 7.0. Last change: 2006 Apr 25
*starting.txt* For Vim version 7.1a. Last change: 2007 Apr 22
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -311,12 +311,16 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
Messages will be given for each file that is ":source"d and
for reading or writing a viminfo file. Can be used to find
out what is happening upon startup and exit. {not in Vi}
Example: >
vim -V8 foobar
-V[N]{filename}
Like -V and set 'verbosefile' to {filename}. The result is
that messages are not displayed but written to the file
{filename}. {filename} must not start with a digit.
Example: >
vim -V20vimlog foobar
<
*-D*
-D Debugging. Go to debugging mode when executing the first
command from a script. |debug-mode|
@@ -537,7 +541,7 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
See |--remote-expr|. {not in Vi}
--serverlist Output a list of Vim server names and exit. See
See |--serverlist|. {not in Vi}
|--serverlist|. {not in Vi}
--socketid {id} *--socketid*
GTK+ GUI Vim only. Make gvim try to use GtkPlug mechanism, so
@@ -905,9 +909,10 @@ set, it will be set to 'nocompatible'. This has the side effect of setting or
resetting other options (see 'compatible'). But only the options that have
not been set or reset will be changed. This has the same effect like the
value of 'compatible' had this value when starting Vim. Note that this
doesn't happen for the system-wide vimrc file. It does also happen for gvimrc
files. The $MYVIMRC or $MYGVIMRC file will be set to the first found vimrc
and/or gvimrc file.
doesn't happen for the system-wide vimrc file nor when Vim was started with
the |-u| command line argument. It does also happen for gvimrc files. The
$MYVIMRC or $MYGVIMRC file will be set to the first found vimrc and/or gvimrc
file.
But there is a side effect of setting or resetting 'compatible' at the moment
a .vimrc file is found: Mappings are interpreted the moment they are
@@ -1200,8 +1205,8 @@ resulting file, when executed with a ":source" command:
including hidden and unloaded buffers. Otherwise only buffers in windows
are restored.
8. Restores all windows with the same layout. If 'sessionoptions' contains
contains "help", help windows are restored. If 'sessionoptions' contains
"blank", windows editing a buffer without a name will be restored.
"help", help windows are restored. If 'sessionoptions' contains "blank",
windows editing a buffer without a name will be restored.
If 'sessionoptions' contains "winsize" and no (help/blank) windows were
left out, the window sizes are restored (relative to the screen size).
Otherwise, the windows are just given sensible sizes.

View File

@@ -1,4 +1,4 @@
*syntax.txt* For Vim version 7.0. Last change: 2006 Apr 30
*syntax.txt* For Vim version 7.1a. Last change: 2007 May 03
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -467,52 +467,9 @@ abel_obsolete_ok obsolete keywords are statements, not errors
abel_cpp_comments_illegal do not interpret '//' as inline comment leader
ADA *ada.vim* *ft-ada-syntax*
ADA
This mode is designed for the 1995 edition of Ada ("Ada95"), which
includes support for objected-programming, protected types, and so on.
It handles code written for the original Ada language
("Ada83" or "Ada87") as well, though Ada83 code which uses Ada95-only
keywords will be wrongly colored (such code should be fixed anyway).
For more information about Ada, see http://www.adapower.com.
The Ada mode handles a number of situations cleanly.
For example, it knows that the "-" in "-5" is a number, but the same
character in "A-5" is an operator. Normally, a "with" or "use" clause
referencing another compilation unit is colored the same way as C's
"#include" is colored. If you have "Conditional" or "Repeat"
groups colored differently, then "end if" and "end loop" will be
colored as part of those respective groups.
You can set these to different colors using vim's "highlight" command
(e.g., to change how loops are displayed, enter the command
":hi Repeat" followed by the color specification; on simple terminals
the color specification ctermfg=White often shows well).
There are several options you can select in this Ada mode.
To enable them, assign a value to the option. For example, to turn one on:
let ada_standard_types = 1
To disable them use ":unlet". Example:
unlet ada_standard_types = 1
You can just use ":" and type these into the command line to set these
temporarily before loading an Ada file. You can make these option settings
permanent by adding the "let" command(s), without a colon,
to your "~/.vimrc" file.
Here are the Ada mode options:
Variable Action ~
ada_standard_types Highlight types in package Standard (e.g., "Float")
ada_space_errors Highlight extraneous errors in spaces...
ada_no_trail_space_error but ignore trailing spaces at the end of a line
ada_no_tab_space_error but ignore tabs after spaces
ada_withuse_ordinary Show "with" and "use" as ordinary keywords
(when used to reference other compilation units
they're normally highlighted specially).
ada_begin_preproc Show all begin-like keywords using the coloring
of C preprocessor commands.
Even on a slow (90Mhz) PC this mode works quickly, but if you find
the performance unacceptable, turn on ada_withuse_ordinary.
See |ft-ada-syntax|
ANT *ant.vim* *ft-ant-syntax*
@@ -903,10 +860,6 @@ or in a modeline by appending '.doxygen' to the syntax of the file. Example: >
or >
// vim:syntax=c.doxygen
To use doxygen formatting on top of any filetype, add the following to your
.vimrc for each filetype, replacing {filetype} with the relevent value. >
:let g:syntax_extra_{filetype}='doxygen'
It can also be done automaticly for c, cpp and idl files by setting the global
or buffer-local variable load_doxygen_syntax. This is done by adding the
following to your .vimrc. >
@@ -2339,6 +2292,8 @@ Folding can be enabled by defining "ruby_fold": >
This will set the 'foldmethod' option to "syntax" and allow folding of
classes, modules, methods, code blocks, heredocs and comments.
SCHEME *scheme.vim* *ft-scheme-syntax*
By default only R5RS keywords are highlighted and properly indented.
@@ -2598,6 +2553,16 @@ If you have a slow computer, you may wish to reduce the values for >
increase them. This primarily affects synchronizing (i.e. just what group,
if any, is the text at the top of the screen supposed to be in?).
*tex-morecommands* *tex-package*
Wish To Highlight More Commmands? ~
LaTeX is a programmable language, and so there are thousands of packages full
of specialized LaTeX commands, syntax, and fonts. If you're using such a
package you'll often wish that the distributed syntax/tex.vim would support
it. However, clearly this is impractical. So please consider using the
techniques in |mysyntaxfile-add| to extend or modify the highlighting provided
by syntax/tex.vim.
*tex-error*
Excessive Error Highlighting? ~
@@ -4396,7 +4361,7 @@ Put these lines in your Makefile:
# Make a highlight file for types. Requires Exuberant ctags and awk
types: types.vim
types.vim: *.[ch]
ctags -i=gstuS -o- *.[ch] |\
ctags --c-kinds=gstu -o- *.[ch] |\
awk 'BEGIN{printf("syntax keyword Type\t")}\
{printf("%s ", $$1)}END{print ""}' > $@
@@ -4504,7 +4469,7 @@ You probably want to use these X resources (in your ~/.Xdefaults file):
[Note: The cursorColor is required to work around a bug, which changes the
cursor color to the color of the last drawn text. This has been fixed by a
newer version of xterm, but not everybody is it using yet.]
newer version of xterm, but not everybody is using it yet.]
To get these right away, reload the .Xdefaults file to the X Option database
Manager (you only need to do this when you just changed the .Xdefaults file): >
@@ -4520,7 +4485,7 @@ these resources:
XTerm*cursorColor: White
*hpterm-color*
These settings work (more or less) for a hpterm, which only supports 8
These settings work (more or less) for an hpterm, which only supports 8
foreground colors: >
:if has("terminfo")
: set t_Co=8

View File

@@ -1,4 +1,4 @@
*tagsrch.txt* For Vim version 7.0. Last change: 2006 Apr 24
*tagsrch.txt* For Vim version 7.1a. Last change: 2006 Apr 24
VIM REFERENCE MANUAL by Bram Moolenaar

View File

@@ -1,4 +1,4 @@
*todo.txt* For Vim version 7.0. Last change: 2006 May 07
*todo.txt* For Vim version 7.1a. Last change: 2007 May 05
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -30,9 +30,476 @@ be worked on, but only if you sponsor Vim development. See |sponsor|.
*known-bugs*
-------------------- Known bugs and current work -----------------------
Patch to make virtcol([123, '$']) do the right thing. (Michael Schaap)
Insert mode completion: CTRL-N and CTRL-P work differently and they both don't
work as expected. (Bernhard Walle, 2007 Feb 27)
glob() doesn't work correctly with single quotes and 'shell' set to /bin/sh.
(Adri Verhoef, Charles Campbell 2007 Mar 26)
Splitting quickfix window messes up window layout. (Marius Gedminas, 2007 Apr
25)
Replace ccomplete.vim by cppcomplete.vim from www.vim.org? script 1520
(Martin Stubenschrott)
ctags -R --c++-kinds=+p --fields=+iaS --extra=+q .
Making the German sharp s uppercase doesn't work properly: one character less
is uppercased in "gUe".
Also: latin2 has the same character but it isn't uppercased there.
Mac: After a ":vsplit" the left scrollbar doesn't appear until 'columns' is
changed or the window is resized.
Mac: Patch for Mac GUI tabline. (Nicolas Weber, 2006 Jul 18, Update 2007 Feb)
New update v6 ~/tmp/guitab.v6.diff (Kyle Wheeler)
When 'virtualedit' is set a "p" of a block just past the end of the line
inserts before the cursor. (Engelke)
Using Aap to build Vim: add remarks about how to set personal preferences.
Example on http://www.calmar.ws/tmp/aap.html
GTK: 'bsdir' doesn't work. Sometimes get a "gtk critical error".
Moved some code to append file name to further down in gui_gtk.c
gui_mch_browse(), but "last" value of 'bsdir' still doesn't work.
C syntax: "#define x {" The macro should terminate at the end of the line,
not continue in the next line. (Kelvin Lee, 2006 May 24)
C syntax: {} inside () causes following {} to be highlighted as error.
(Michalis Giannakidis, 2006 Jun 1)
Gnome improvements: Edward Catmur, 2007 Jan 7
Also use Save/Discard for other GUIs
New PHP syntax file, use it? (Peter Hodge)
'foldcolumn' in modeline applied to wrong window when using a session. (Teemu
Likonen, March 19)
Syntax highlighting wrong for transparent region. (Doug Kearns, 2007 Feb 26)
More AmigaOS4 patches. (Peter Bengtsson, Nov 9)
Add v:searchforward variable. Patch by Yakov Lerner, 2006 Nov 18.
Redraw problem in loop. (Yakov Lerner, 2006 Sep 7)
Add option settings to help ftplugin. (David Eggum, 2006 Dec 18)
Use new dutch wordlist for spelling? http://www.opentaal.org/
See remarks from Adri, 2007 Feb 9.
When opening quickfix window, disable spell checking?
Win32: When 'encoding' is "latin1" 'ignorecase' doesn't work for characters
with umlaut. (Joachim Hofmann) toupper_tab[] and tolower_tab[] are not filled
properly?
Completion: Scanning for tags doesn't check for typed key now and then?
Hangs for about 5 seconds. Appears to be caused by finding include files with
"foo/**" in 'path'. (Kalisiak, 2006 July 15)
Completion: When 'completeopt' has "longest" and there is one match the
message is "back at original" and typing a char doesn't leave completion mode.
(Igor Prischepoff, 2006 Oct 5)
Completion: When using CTRL-X O and there is only "struct." before the cursor,
typing one char to reduce the matches, then BS completion stops. Should keep
completion if still no less than what we started with.
Completion: don't stop completion when typing a space when completing full
lines? Also when completing file names? Only stop completion when there are
no matches?
After using BS completion only stops when typing a space. Many people want to
stop at non-word characters, e.g., '('. Add an option for this? Or check
vim_iswordc() before calling ins_compl_addleader()?
searchpos() doesn't use match under cursor at start of line. (Viktor
Kojouharov, 2006 Nov 16)
When FEAT_BYTEOFF is defined but FEAT_NETBEANS_INTG is not compiling fails.
Add FEAT_BYTEOFF to the check at line 1180 in feature.h
Color for cUserLabel should differ from case label, so that a mistake in a
switch list is noticed:
switch (i)
{
case 1:
foobar:
}
":s" command removes combining characters. (Ron Aaron, 2006 May 17, 2006 Dec 7)
Look at http://www.gtk-server.org/ . It has a Vim script implementation.
Changes for Win32 makefile. (Mike Williams, 2007 Jan 22, Alexei Alexandrov,
2007 Feb 8)
Patch for Win32 clipboard under Cygwin. (Frodak Baksik, Feb 15)
Sutcliffe says it works well.
Win32: Patch for convert_filterW(). (Taro Muraoka, 2007 Mar 2)
Win32: XPM support only works with path without spaces. Patch by Mathias
Michaelis, 2006 Jun 9. Another patch for more path names, 2006 May 31.
New version: http://members.tcnet.ch/michaelis/vim/patches.zip (also for other
patches by Mathias, see mail Feb 22)
Win32: compiling with normal features and OLE fails. Patch by Mathias
Michaelis, 2006 Jun 4.
Win32: echo doesn't work for gvim.exe.mnf. Use inline file. Patch by Mathias
Michaelis. http://groups.yahoo.com/group/vimdev/message/43765
Patch that includes this and does more by George Reilly, 2007 Feb 12
Win16: include patches to make Win16 version work. (Vince Negri, 2006 May 22)
Win32: after "[I" showing matches, scroll wheel messes up screen. (Tsakiridis,
2007 Feb 18)
Win32: using CTRL-S in Insert mode doesn't remove the "+" from the tab pages
label. (Tsakiridis, 2007 Feb 18)
Win32: remote editing doesn't work when the current directory name contains
"[]". (Ivan Tishchenko, 2007 March 1)
Win64: diff.exe crashes on Win64. (Julianne Bailey, 2006 Dec 12)
Build another diff.exe somehow?
Win64: Seek error in swap file for a very big file (3 Gbyte). Check storing
pointer in long and seek offset in 64 bit var.
When doing "gvim --remote-tab foo" while gvim is minimized the tab pages line
only shows the current label, not the others.
Problem finding swap file for recovery. (Gautam Iyer, 2006 May 16)
When setting 'keymap' twice the b:keymap_name variable isn't set. (Milan
Berta, 2007 Mar 9) Has something to do with 'iminsert'.
Problem with CursorHoldI? (Max Dyckhoff, 2006 Nov 10)
UTF-8: mapping a multi-byte key where the second byte is 0x80 doesn't appear
to work. (Tony Mechelynck, 2007 March 2)
The str2special() function doesn't handle multi-byte characters properly.
Patch from Vladimir Vichniakov, 2007 Apr 24.
find_special_key() also has this problem.
In debug mode, using CTRL-R = to evaluate a function causes stepping through
the function. (Hari Krishna Dara, 2006 Jun 28)
":let &shiftwidth = 'asdf'" doesn't produce an error message.
C++ indenting wrong with "=". (James Kanze, 2007 Jan 26)
"zug" reports wrong file. problem with Namebuff? (Lawrence Kesteloot, 2006 Sep
10)
":lockvar" should use copyID to avoid endless loop.
Gvim: dialog for closing Vim should check if Vim is busy writing a file. Then
use a different dialog: "busy saving, really quit? yes / no".
Win32: editing remote file d:\a[1]\aa.txt doesn't work. (Liu Yubao, 2006 May
29)
"zw" doesn't appear to work. (Luis A Florit, 2006 Jun 23, 24)
"dw" in a line with one character deletes the line. Vi and nvi don't do this.
Is it intentional or not? (Kjell Arne Rekaa)
Check other interfaces for changing curbuf in a wrong way. Patch like for
if_ruby.c.
Spell checking in popup menu: If the only problem is the case of the first
character, don't offer "ignore" and "add to word list".
":helpgrep" should use the directory from 'helpfile'.
The need_fileinfo flag is messy. Instead make the message right away and put
it in keep_msg?
More-prompt is skipped when doing this; (Randall W. Morris, Jun 17)
:au
<Space>
b
<Space>
Editing a file remotely that matches 'wildignore' results in a "no match"
error. Should only happen when there are wildards, not when giving the file
name literally, and esp. if there is only one name.
When 'expandtab' is set then a Tab copied for 'copyindent' is expanded to
spaces, even when 'preserveindent' is set. (Alexei Alexandrov, Mar 7)
Test 61 fails sometimes. This is a timing problem: "sleep 2" sometimes takes
longer than 2 seconds.
VMS: while editing a file found in complex, Vim will save file into the first
directory of the path and not to the original location of the file.
(Zoltan Arpadffy)
input() completion should not insert a backslash to escape a space in a file
name?
getpos()/setpos() don't include curswant. getpos() could return a fifth
element. setpos() could accept an optional fifth element.
Ruby completion is insecure. Can this be fixed?
":confirm w" does give a prompt when 'readonly' is set, but not when the file
permissions are read-only. Both can be overruled by ":w!" thus it would be
logical to get a prompt for both. (Michael Schaap)
When 'backupskip' is set from $TEMP special characters need to be escaped.
(patch by Grembowietz, 2007 Feb 26, not quite right)
Another problem is that file_pat_to_reg_pat() doesn't recognize "\\", so "\\("
will be seen as a path separator plus "\(".
":python os.chdir('/tmp')" makes short buffer names invalid. (Xavier de Gaye)
Check directory and call shorten_fnames()?
aucmd_prepbuf() should also use a window in another tab page.
Substituting an area with a line break with almost the same area does change
the Visual area. Can this be fixed? (James Vega, 2006 Sept 15)
Windows installer could add a "open in new tab of existing Vim" menu entry.
:s/e/E/l not only lists but also shows line number. Is that right?
(Yakov Lerner, 2006 Jul 27)
GUI: When combining fg en bg make sure they are not equal.
Use different pt_br dictionary for spell checking. (Jackson A. Aquino, 2006
Jun 5)
Mac: Using gvim: netrw window disappears. (Nick Lo, 2006 Jun 21)
When 'bomb' is set or reset the file should be considered modified. (Tony
Mechelynck) Handle like 'endofline'.
Add an option to specify the character to use when a double-width character is
moved to the next line. Default '>', set to a space to blank it out. Check
that char is single width when it's set (compare with 'listchars').
Update main.aap for installing on the Mac.
The generated vim.bat can avoid the loop for NT. (Carl Zmola, 2006 Sep 3)
Session file creation: 'autochdir' causes trouble. Keep it off until after
loading all files.
C completion: doesn't work after aa[0]->, where aa is an array of structures.
(W. de Hoog, 2006 Aug 12)
The spellfile plugin checks for a writable "spell" directory. A user may have
a writable runtime directory without a "spell" directory, it could be created
then.
These two abbreviations don't give the same result:
let asdfasdf = "xyz\<Left>"
cabbr XXX <C-R>=asdfasdf<CR>
cabbr YYY xyz<Left>
Michael Dietrich: maximized gvim sometimes displays output of external command
partly. (2006 Dec 7)
In FileChangedShell command it's no longer allowed to switch to another
buffer. But the changed buffer may differ from the current buffer, how to
reload it then?
New syntax files for fstab and resolv from Radu Dineiu, David Necas did
previous version.
For Aap: include a config.arg.example file with hints how to use config.arg.
Linux distributions:
- Suggest compiling xterm with --enable-tcap-query, so that nr of colors is
known to Vim. 88 colors instead of 16 works better. See ":help
xfree-xterm".
- Suggest including bare "vi" and "vim" with X11, syntax, etc.
Completion menu: For a wrapping line, completing a long file name, only the
start of the path is shown in the menu. Should move the menu to the right to
show more text of the completions. Shorten the items that don't fit in the
middle?
When running inside screen it's possible to kill the X server and restart it
(using pty's the program can keep on running). Vim dies because it looses the
connection to the X server. Can Vim simply quit using the X server instead of
dying? Also relevant when running in a console.
Accessing file#var in a function should not need the g: prepended.
When ":cn" moves to an error in the same line the message isn't shortened.
Only skip shortening for ":cc"?
Win32: The matchparen plugin doesn't update the match when scrolling with the
mouse wheel. (Ilya Bobir, 2006 Jun 27)
Write "making vim work better" for the docs (mostly pointers): *nice*
- sourcing $VIMRUNTIME/vimrc_example.vim
- setting 'mouse' to "a"
- getting colors in xterm
- compiling Vim with X11, GUI, etc.
Problem with ":call" and dictionary function. Hari Krishna Dara, Charles
Campbell 2006 Jul 06.
Syntax HL error caused by "containedin". (Peter Hodge, 2006 Oct 6)
GTK: When maximizing Vim the result is slightly smaller, the filler border is
not there, and the "maximize" button is still there. Clicking it again does
give a maximized window. (Darren Hiebert)
Problem is that gui_mch_set_text_area_pos() is invoked to change the text area
size, which causes the toplevel window to resize. When doing this while the
size is already right the filler remains there.
Detect using the maximize button (GdkWindowState bit
GDK_WINDOW_STATE_MAXIMIZED) and set it again?
Another resizing problem when setting 'columns' and 'lines' to a very large
number. (Tony Mechelynck, 2007 Feb 6)
Mutt files are not always recognized. Change pattern to include
non-alphanumeric characters. (Gary Johnson, 2006 Jul 25)
Problem with using :redir in user command completion function? (Hari Krishna
Dara, 2006 June 21)
After starting Vim, using '0 to jump somewhere in a file, ":sp" doesn't center
the cursor line. It works OK after some other commands.
Screen redrawing when continuously updating the buffer and resizing the
terminal. (Yakov Lerner, 2006 Sept 7)
Win32: Is it possible to have both postscript and Win32 printing?
Does multi-byte printing with ":hardcopy" work? Add remark in documentation
about this.
'thesaurus' doesn't work when 'infercase' is set. (Mohsin, 2006 May 30)
There should be something about spell checking in the user manual.
Check: Running Vim in a console and still having connect to the X server for
copy/paste: is stopping the X server handled gracefully? Should catch the X
error and stop using the connection to the server.
Problem with 'cdpath' on MS-Windows when a directory is equal to $HOME. (2006
Jul 26, Gary Johnson)
In the Netbeans interface add a "vimeval" function, so that the other side can
check the result of has("patch13").
":py" asks for an argument, ":py asd" then gives the error that ":py" isn't
implemented. Should already happen for ":py".
Add command modifier that skips wildcard expansion, so that you don't need to
put backslashes before special chars, only for white space.
Win32 GUI: confirm() with zero default should not have a choice selected.
Win32: When the GUI tab pages line is displayed Vim jumps from the secondary
to the primary monitor. (Afton Lewis, 2007 Mar 9) Old resizing problem?
GTK GUI: When the completion popup menu is used scrolling another window by
the scrollbar is OK, but using the scroll wheel it behaves line <Enter>.
"cit" used on <foo></foo> deletes <foo>. Should not delete anything and start
insertion, like "ci'" does on "". (Michal Bozon)
Allow more than 3 ":match" items.
The magic clipboard format "VimClipboard2" appears in several places. Should
be only one.
It's difficult to debug numbered functions (function in a Dictionary). Print
the function name before resolving it to a number?
let d = {}
fun! d.foo()
echo "here"
endfun
call d.foo(9)
Add a mark for the other end of the Visual area (VIsual pos). '< and '> are
only set after Visual moded is ended.
Small problem displaying diff filler line when opening windows with a script.
(David Luyer, 2007 Mar 1 ~/Mail/oldmail/mool/in.15872 )
When pattern for ":sort" is empty, use last search pattern. Allows trying out
the pattern first. (Brian McKee)
Is it allowed that 'backupext' is empty? Problems when backup is in same dir
as original file? If it's OK don't compare with 'patchmode'. (Thierry Closen)
Patch for supporting count before CR in quickfix window. (AOYAMA Shotaro, 2007
Jan 1)
Patch for adding ":lscscope". (Navdeep Parhar, 2007 Apr 26; update Apr 28)
Patch for improving regexp speed by not freeing memory. (Alexei Alexandrov,
2007 Feb 6)
xterm should be able to pass focus changes to Vim, so that Vim can check for
buffers that changed. Perhaps in misc.c, function selectwindow().
Xterm 224 supports it!
Omni completion takes the wrong structure for variable arguments. (Bill
McCarthy, 2007 Feb 18)
When completing from another file that uses a different encoding completion
text has the wrong encoding. E.g., when 'encoding' is utf-8 and file is
latin1. Example from Gombault Damien, 2007 Mar 24.
Completing ":echohl" argument should include "None". (Ori Avtalion)
Vim 7.2:
- Search offset doesn't work for multibyte character. Patch from Yukihiro
Nakadaira, 2006 Jul 18.
Changes the offset from counting bytes to counting characters.
- Rename the tutor files from tutor.gr.* to tutor.el.*. Greece vs Greek.
Make all tutor files available in utf-8.
- Remove ! for ":cgetfile" and ":lgetfile". (patch from Yegappan Lakshmanan,
2007 Mar 9)
- Add blowfish encryption. Openssl has an implementation. Also by Paul
Kocher (LGPL), close to original. Mohsin also has some ideas.
Take four bytes and turn them into unsigned to avoid byte-order problems.
Need to buffer up to 7 bytes to align on 8 byte boundaries.
- Rename doc/sql.vim doc/ft_sql.vim.
- Change "command-line" to "[Command Line]" for the command line buffer
name in ex_window().
- Move including fcntl.h to vim.h, before O_NOFOLLOW, and remove it from all
.c files.
- ":{range}source": source the lines from the file.
You can already yank lines and use :@" to execute them.
Most of do_source() would not be used, need a new function.
It's easy when not doing breakpoints or profiling.
Patches:
- Add 'cscopeignorecase' option. (Liang Wenzhi, 2006 Sept 3)
- Argument for feedkeys() to prepend to typeahead (Yakov Lerner, 2006 Oct
21)
- Load intl.dll too, not only libintl.dll. (Mike Williams, 2006 May 9, docs
patch May 10)
- Extra argument to strtrans() to translate special keys to their name (Eric
Arnold, 2006 May 22)
- 'threglookexp' option: only match with first word in thesaurus file.
(Jakson A. Aquino, 2006 Jun 14)
- Mac: indicate whether a buffer was modified. (Nicolas Weber, 2006 Jun 30)
- Allow negative 'nrwidth' for left aligning. (Nathan Laredo, 2006 Aug 16)
- ml_append_string(): efficiently append to an existing line. (Brad
Beveridge, 2006 Aug 26) Use in some situations, e.g., when pasting a
character at a time?
- gettabvar() and settabvar() functions. (Yegappan Lakshmanan, 2006 Sep 8)
- recognize hex numbers better. (Mark Manning, 2006 Sep 13)
Awaiting updated patches:
9 Mac unicode patch (Da Woon Jung, Eckehard Berns):
@@ -44,6 +511,8 @@ Awaiting updated patches:
- With 'nopaste' pasting is wrong, with 'paste' Command-V doesn't work.
(Alan Schmitt)
- remove 'macatsui' option when this has been fixed.
- when 'macatsui' is off should we always convert to "macroman" and ignore
'termencoding'?
9 HTML indenting can be slow. Caused by using searchpair(). Can search()
be used instead?
8 Win32: Add minidump generation. (George Reilly, 2006 Apr 24)
@@ -89,6 +558,8 @@ Awaiting updated patches:
(2003 May 13)
raisewin() raise gvim window (see HierAssist patch for
Tcl implementation ~/vim/HierAssist/ )
taglist() add argument to specify maximum number of matches.
useful for interactive things or completion.
7 Make globpath() also work with upwards search. (Brian Medley)
7 Add patch from Benoit Cerrina to integrate Vim and Perl functions
better. Now also works for Ruby (2001 Nov 10)
@@ -211,6 +682,8 @@ GTK+ GUI known bugs:
Win32 GUI known bugs:
- Win32: tearoff menu window should have a scrollbar when it's taller than
the screen.
8 non-ASCII font names don't work. Need to convert from 'encoding' and use
the wide functions.
8 On Windows 98 the unicows library is needed to support functions with UCS2
file names. Can we load unicows.dll dynamically?
8 When the primary monitor is below or right of the secondary monitor and
@@ -252,7 +725,6 @@ Win32 GUI known bugs:
mouse position. Catch WM_MOUSEACTIVATE. (Luevelsmeyer)
8 Win32: When mouse is hidden and in the toolbar, moving it won't make it
appear. (Sami Salonen)
8 Windows NT: writing to aux.* makes Vim hang. (Acevedo)
8 Win32 GUI: With maximized window, ":set go-=r" doesn't use the space that
comes available. (Poucet) It works OK on Win 98 but doesn't work on Win
NT 4.0. Leaves a grey area where the scrollbar was. ":set go+=r" also
@@ -569,12 +1041,16 @@ Macintosh:
8 Inputting Unicode characters does not work in the terminal. They appear
to arrive as upper and lower bytes. (David Brown, 2004 April 17)
8 Typing Unicode characters doesn't work at all in the GUI.
8 inputdialog() doesn't resize when giving more text lines. (David Fishburn,
2006 Sept 28)
9 Problems in Carbon version for OS X: (Benji Fisher)
- keyboard shortcuts in the menus get lost.
8 The Vim/About menu doesn't work.
8 ":gui" doesn't fork. Enabling the code in gui.c to fork causes a SEGV.
8 Define vim_mkdir() for Macintosh.
8 Define mch_writable() for Macintosh.
8 Some file systems are case-sensitive, some are not. Turn
CASE_INSENSITIVE_FILENAME into an option, at least for completion.
9 When DiskLock is running, using a swap file causes a crash. Appears to be
a problem with writing a file that starts with a dot. (Giacalone)
9 On G3 Mac, OS version 8, control strip causes characters messed up when
@@ -587,6 +1063,10 @@ Macintosh:
"Small" problems:
- When using e_secure in do_one_cmd() mention the command being executed,
otherwise it's not clear where it comes from.
8 When disabling FEAT_CMDL_COMPL compilation fails. Would need to avoid
using parse_compl_arg() in eval.c and uc_scan_attr().
9 For Turkish vim_tolower() and vim_toupper() also need to use utf_
functions for characters below 0x80. (Sertacyildiz)
9 When the last edited file is a help file, using '0 in a new Vim doesn't
@@ -606,11 +1086,10 @@ Macintosh:
8 When redirecting and using ":silent" the current column for displaying and
redirection can be different. Use a separate variable to hold the column
for redirection.
7 There is no way to change directory and go back without changing the local
and/or global directory. Add a way to find out if the current window uses
a local directory. Add cdcmd() that returns ":cd" or ":lcd"?
7 The messages for "vim --help" and "vim --version" don't use
'termencoding'.
- Could the hit-enter prompt be avoided when a message only overlaps the
'showcmd' area? Clear that area when the next cmd is typed.
8 When 'scrollbind' is set, a window won't scroll horizontally if the cursor
line is too short. Add a word in 'scrollopt' to allow moving the cursor
to longer line that is visible. A similar thing is done for the GUI when
@@ -629,6 +1108,7 @@ Macintosh:
8 When doing Insert mode completion a mapping cannot recursively call
edit(), because the completion information is global. Put everything in
an allocated structure?
6 Python: ":py raw_input('prompt')" doesn't work. (Manu Hack)
8 Command line completion: buffers "foo.txt" and "../b/foo.txt", completing
":buf foo<Tab>" doesn't find the second one. (George V. Reilly)
7 Output for ":scriptnames" and ":breaklist" should shorten the file names:
@@ -650,9 +1130,6 @@ Macintosh:
7 "[p" doesn't work in Visual mode. (David Brown)
7 The Cygwin and MingW makefiles define "PC", but it's not used anywhere.
Remove? (Dan Sharp)
9 The argument <f-args> of a user command doesn't handle backslashes
properly. "Cmd \ e" is one argument, "Cmd \\ e" still is one argument.
"Cmd \ e" is two arguments, first one ending in space. (Kontra Gergely)
9 User commands use the context of the script they were defined in. This
causes a "s:var" argument to unexpectedly use a variable in the defining
script, not the calling script. Add an argument to ":command":
@@ -684,6 +1161,8 @@ Macintosh:
flag to to the command. Same for ":snomagic". (Johan Spetz)
8 Using ":s" in a function changes the previous replacement string. Save
"old_sub" in save_search_patterns()?
8 Should allow multi-byte characters for the delimiter: ":s+a+b+" where "+"
is a multi-byte character.
8 When appending to a file and 'patchmode' isn't empty, a backup file is
always written, even when the original file already exists.
7 When using "daw" on the last word in a file and this is a single letter,
@@ -699,6 +1178,8 @@ Macintosh:
'foldlevel' is set from 'foldlevelstart'.
8 Also store the line number with the script ID and use it for ":verbose",
so that "set nocompatible" is found when it changes other option values.
When an option is set indirectly mention the command? E.g. when
":diffsplit" sets 'foldmethod'.
8 In the fileformat dialog, "Cancel" isn't translated. Add a global
variable for this. (Eduardo Fernandez)
9 When editing a file with 'readonly' set, there is no check for an existing
@@ -831,6 +1312,8 @@ Macintosh:
8 Dragging the status line doesn't scroll but redraw.
9 Evaluating 'statusline' in build_stl_str_hl() does not properly check for
reaching the end of the available buffer.
Patch to dynamically allocate the buffer for % items. (Eric Arnold, 2006
May 14)
8 When performing incremental search, should abort searching as soon as a
character is typed.
8 When the value of $MAKE contains a path, configure can't handle this.
@@ -890,6 +1373,7 @@ Problems that will (probably) not be solved:
XtOpenDisplay() prints this directly, there is no way to avoid it.
- X windows: Setting 'guifontset' to an illegal value sometimes crashes Vim.
This is caused by a fault in a X library function, can't be solved in Vim.
- Win32 tcl: has("tcl") hangs when the tcl84.dll is from cygwin.
- Motif: When adding a menu item "Find this &Symbol", the "s" in "this" will
be underlined, instead of in "Symbol". Motif doesn't let us specify which
character gets the highlighting.
@@ -987,6 +1471,7 @@ Didn't make it into Vim 7.0:
198 standard http://www.jcp.org/en/jsr/detail?id=198.
Eclim does it: http://eclim.sourceforge.net/ (Eric Van Dewoestine)
Plugin that uses a terminal emulator: http://vimplugin.sf.net
And another one: http://www.satokar.com/viplugin/index.php
- STICKY CURSOR: Add a way of scrolling that leaves the cursor where it is.
Especially when using the scrollbar. Typing a cursor-movement command
scrolls back to where the cursor is.
@@ -1003,6 +1488,8 @@ Didn't make it into Vim 7.0:
Documentation:
8 List of Vim runtime directories. dotvim.txt from Charles Campbell, 2007
Feb 20.
8 The GUI help should explain the Find and Find/Replace dialogs. Add a link
to it from ":promptrepl" and ":promptfind".
8 List of options should mention whether environment variables are expanded
@@ -1084,6 +1571,10 @@ User Friendlier:
Tab pages:
9 GUI implementation for the tab pages line for other systems.
7 GUI: Control over the appearance of the text in the labels (bold, color,
font, etc.)
9 Make it possible to drag a tab page label to another position with the
mouse.
8 Make GUI menu in tab pages line configurable. Like the popup menu.
8 balloons for the tab page labels that are shortened to show the full path.
8 :tabmove +N move tab page N pages forward
@@ -1095,15 +1586,27 @@ Tab pages:
8 Add local options for each tab page? E.g., 'diffopt' could differ between
tab pages.
7 Add local highlighting for each tab page?
7 Add local directory for tab pages? How would this interfere with
window-local directories?
Spell checking:
- Support more regions? Caolan McNamara argues it's needed for es_XX.
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=219777
- Unicode defines another quote character: 0x2019. Use it as an equivalent
of a single quote, thus use it as a word character like a quote and match
with words, replacing the curly quote with a single quote.
- Could filter &eacute; things for HTML before doing spell checking.
Similarly for TeX.
- The Hungarian spell file uses four extra characters in the FOL/UPP/LOW
items than other spell files with the ISO-8859-2 encoding, that causes
problem when changing 'spelllang'. There is no obvious way to fix this.
- Considering Hunspell 1.1.4:
What does MAXNGRAMSUGS do?
Is COMPLEXPREFIXES necessary when we have flags for affixes?
- There is no Finnish spell checking file. For openoffic Voikko is now
used, which is based on Malaga: http://home.arcor.de/bjoern-beutel/malaga/
(Teemu Likonen)
8 ":mkspell" still takes much too long in Hungarian dictionary from
hunspell. Only solution appears to be to postpone secondary suffixes.
8 Handle postponed prefix with COMPOUNDPERMITFLAG or COMPOUNDFORBIDFLAG.
@@ -1190,7 +1693,11 @@ Diff mode:
Folding:
(commands still available: zI zJ zK zp zP zq zQ zV zy zY;
secondary: zB zS zT zZ, z=)
8 Vertical folds: looks like vertically split windows, but the cursor moves
through the vertical separator, separator moves when scrolling.
8 Add "z/" and "z?" for searching in not folded text only.
9 Add search pattern item to only match in closed or open fold and/or fold
with certain level. Allows doing ":g/pat/cmd" to work on closed folds.
8 Add different highlighting for a fold line depending on the fold level.
(Noel Henson)
7 Use "++--", "+++--" for different levels instead of "+---" "+----".
@@ -1292,6 +1799,7 @@ Multi-byte characters:
7 In "-- INSERT (lang) --" show the name of the keymap used instead of
"lang". (Ilya Dogolazky)
- Make 'langmap' accept multi-byte characters.
Patch from Konstantin Korikov, 2006 Oct 15.
- Make 'breakat' accept multi-byte characters. Problem: can't use a lookup
table anymore (breakat_flags[]).
Simplistic solution: when 'formatoptions' contains "m" also break a line
@@ -1317,8 +1825,8 @@ Printing:
- Win32: when 'printfont' is empty use 'guifont'.
- Unix: Use some dialog box to do the obvious settings (paper size, printer
name, portrait/landscape, etc).
- PostScript: only works for 7-bit ASCII and EBCDIC. Should support
different 'encoding' values somehow.
- PostScript: Only works for text that can be converted to an 8-bit
character set. How to support Unicode fully?
- Allow specifying the paper size, instead of using a standard size. Same
units as for the margins.
- Support right-to-left text?
@@ -1338,6 +1846,9 @@ Syntax highlighting:
8 When editing a new file without a name and giving it a name (by writing
it) and 'filetype' is not set, detect the filetype. Avoid doing it for
":wq file".
7 For "nextgroup" we have skipwhite, skipnl and skipempty. It would be
really nice to be able to skip with a pattern. Or skip with a syntax
group. (Nikolai Weibull, 2007 Feb 27)
8 Make conversion to HTML faster (Write it in C or pre-compile the script).
9 There is still a redraw bug somewhere. Probably because a cached state is
used in a wrong way. I can't reproduce it...
@@ -1415,6 +1926,9 @@ Syntax highlighting:
8 When using a regexp for "contains=", should delay matching with it until
redrawing happens. Set a flag when a group is added, check this flag when
highlighting starts.
8 Some terminals can display colors like the GUI. Add some setting to use
GUI colors for the terminal? With something to define the escape
sequence.
7 It's possible for an item to be transparent, so that the colors of an item
lower on the stack is used. Also do this with highlighting, so that the
user can set transparent highlighting? E.g. a number in a C comment would
@@ -1483,24 +1997,14 @@ Syntax highlighting:
Built-in script language:
9 Autoload: Add a Vim script in $VIMRUNTIME/tools that takes a file with a
list of script names and a help file and produces a script that can be
sourced to install the scripts in the user's directories.
Use findfile(), so that only file names need to be given:
script plugin/myscript.vim
script autoload/mylib.vim
script autoload/yourlib.vim
helpfile doc/myscript.txt
For the "helpfile" item ":helptags" is run.
7 Execute a function with standard option values. No need to save and
restore option values. Especially useful for new options. Problem: how
to avoid a performance penalty (esp. for string options)?
8 Add referring to key options with "&t_xx". Both for "echo &t_xx" and
":let &t_xx =". Useful for making portable mappings.
- Add "{range}source": execute lines from a buffer.
Alternative: Allow range for ":exec", pass it on to the executed command.
(Webb)
You can already yank lines and use :@" to execute them.
- Add ":let var ?= value", conditional assignment. Patch by Dave Eggum,
2006 Dec 11.
- range for ":exec", pass it on to the executed command. (Webb)
7 ":include" command: just like ":source" but doesn't start a new scriptID?
Will be tricky for the list of script names.
8 Have a look at VSEL. Would it be useful to include? (Bigham)
@@ -1523,7 +2027,16 @@ Built-in script language:
file belongs to a sourced script?
7 Add argument to winwidth() to subtract the space taken by 'foldcolumn',
signs and/or 'number'.
6 Add ++ and -- operators? They only work on variables (lvals), how to
implement this?
8 Add functions:
has(":command") Check if ":command" works. compare function
with "ex_ni". E.g. for ":simalt".
system() With a List argument. Bypasses the shell, use
exec() directly. (Bob Hiestand)
escape() Add argument to specify what to escape with.
modestack() Instead of just the current mode return the
stack of Insert / CTRL-O / :normal things.
realname() Get user name (first, last, full)
user_fullname() patch by Nikolai Weibull, Nov
3 2002
@@ -1561,7 +2074,8 @@ Built-in script language:
column and line number? col("'0") currently returns zero.
8 argc() returns 0 when using "vim -t tag". How to detect that no file was
specified in any way? To be able to jump to the last edited file.
8 Pass the executable name to the Vim scripts in some way. As v:argv0?
8 Pass the command line arguments to Vim scripts in some way. As v:args
List? Or extra parameter to argv()?
8 Add command arguments with three dashes, passed on to Vim scripts.
7 Add optional arguments to user functions:
:func myFunc(arg1, arg2, arg3 = "blah", arg4 = 17)
@@ -1571,6 +2085,7 @@ Built-in script language:
8 The "= register should be writable, if followed by the name of a variable,
option or environment variable.
8 ":let &option" should list the value of the option.
8 ":let Func().foo = value" should work, also when "foo" doesn't exist.
7 Add synIDlist(), making the whole list of syntax items on the syntax stack
available as a List.
8 Add autocommand-event for when a variable is changed:
@@ -1606,6 +2121,9 @@ Robustness:
Performance:
7 For strings up to 3 bytes don't allocate memory, use v_list itself as a
character array. Use VAR_SSTRING (short string).
8 Instead of loading rgb.txt every time a color wasn't recognized load it
once and keep it in memory. Move the code to a common place to avoid
repeating it in various system files.
8 Turn b_syn_ic and b_syn_containedin into b_syn_flags.
9 Loading menu.vim still takes quite a bit of time. How to make it faster?
8 in_id_list() takes much time for syntax highlighting. Cache the result?
@@ -1719,6 +2237,8 @@ Messages:
- Delete message after new command has been entered and have waited for key.
Perhaps after ten seconds?
- Make message history available in "msg" variables: msg1, msg2, .. msg9.
8 When reading from stdin allow suppressing the "reading from stdin"
message.
9 Check handling of overwriting of messages and delays:
Very wrong: errors while redrawing cause endless loop.
When switching to another file and screen scrolls because of the long
@@ -1840,6 +2360,9 @@ Tags:
before the previous ":tag" command. (Webb)
- When doing "[^I" or "[^D" add position to tag stack.
- Add command to put current position to tag stack: ":tpush".
- Add functions to save and restore the tag stack? Or a command to switch
to another tag stack? So that you can do something else and come back to
what you were working on.
7 When using CTRL-] on someClass::someMethod, separate class from method and
use ":ta class:someClass someMethod".
Include C++ tags changes (Bertin). Change "class::func" tag into "func"
@@ -2000,6 +2523,8 @@ Autocommands:
8 Autocommand for when modified files have been found, when getting input
focus again (e.g., FileChangedFocus).
Check when: getting focus, jumping to another buffer, ...
7 Autocommand for when an option is changed. Match buffer name or option
name?
8 Autocommands should not change registers. And marks? And the jumplist?
And anything else? Add a command to save and restore these things.
8 Add autocommands, user functions and user commands to ":mkvimrc".
@@ -2029,6 +2554,7 @@ Autocommands:
*Leave - Leaving a mode (in pair with the above *Enter)
VimLeaveCheck - Before Vim decides to exit, so that it can be cancelled
when exiting isn't a good idea.
CursorHoldC - CursorHold while command-line editing
WinMoved - when windows have been moved around, e.g, ":wincmd J"
CmdUndefined - Like FuncUndefined but for user commands.
SearchPost - After doing a search command (e.g. to do "M")
@@ -2053,7 +2579,10 @@ Autocommands:
the position and number of inserted/deleted lines, so
that marks can be updated. HierAssist has patch to add
BufChangePre, BufChangePost and RevertBuf. (Shah)
WinResized - When a window has been resized
ViewChanged - triggered when the text scrolls and when the window size
changes.
WinResized - After a window has been resized
WinClose - Just before closing a window
- Write the file now and then ('autosave'):
*'autosave'* *'as'* *'noautosave'* *'noas'*
'autosave' 'aw' number (default 0)
@@ -2070,8 +2599,6 @@ Omni completion:
Should work for Java (Eclipse does this), Python, Tcl, etc.
Richard Emberson mentioned working on an interface to Java.
- Check Readline for its completion interface.
- Use ctags for other languages. Writing a file could trigger running
ctags, merging the tags of the changed file.
- Ideas from others:
http://www.wholetomato.com/
http://www.vim.org/scripts/script.php?script_id=747
@@ -2106,6 +2633,12 @@ Insert mode completion/expansion:
8 Add option to set different behavior for Insert mode completion:
- ignore/match case
- different characters than 'iskeyword'
8 Add option 'isexpand', containing characters when doing expansion (so that
"." and "\" can be included, without changing 'iskeyword'). (Goldfarb)
Also: 'istagword': characters used for CTRL-].
When 'isexpand' or 'istagword' are empty, use 'iskeyword'.
Alternative: Use a pattern so that start and end of a keyword can be
defined, only allow dash in the middle, etc.
8 Add a command to undo the completion, go back to the original text.
7 Completion of an abbreviation: Can leave letters out, like what Instant
text does: www.textware.com
@@ -2136,10 +2669,6 @@ Insert mode completion/expansion:
- CTRL-X CTRL-F: Use 'path' to find completions.
- CTRL-X CTRL-F: Option to use forward slashes on MS-Windows?
- CTRL-X CTRL-F: Don't replace "$VIM" with the actual value. (Kelly)
8 Add option 'isexpand', containing characters when doing expansion (so that
"." and "\" can be included, without changing 'iskeyword'). (Goldfarb)
Also: 'istagword': characters used for CTRL-].
When 'isexpand' or 'istagword' are empty, use 'iskeyword'.
- Allow listing all matches in some way (and picking one from the list).
@@ -2255,6 +2784,7 @@ Insert mode:
'cindent', 'smartindent':
8 Lisp indenting: "\\" confuses the indenter. (Dorai Sitaram, 2006 May 17)
8 Java: Inside an anonymous class, after an "else" or "try" the indent is
too small. (Vincent Bergbauer)
Problem of using {} inside (), 'cindent' doesn't work then.
@@ -2265,6 +2795,11 @@ Insert mode:
"asdf"
}
);
6 Add 'cino' flag for this function argument layout: (Spencer Collyer)
func( arg1
, arg2
, arg3
);
7 Add separate "(0" option into inside/outside a function (Zellner):
func(
int x) // indent like "(4"
@@ -2439,7 +2974,6 @@ Visual mode:
6 In non-Block mode, "I" should insert the same text in front of each line,
before the first non-blank, "gI" in column 1.
6 In non-Block mode, "A" should append the same text after each line.
6 ":'<,'>source" should read the selected lines and ":source" them.
6 When in blockwise visual selection (CTRL-V), allow cursor to be placed
right of the line. Could also allow cursor to be placed anywhere on a TAB
or other special character.
@@ -2549,7 +3083,9 @@ Incsearch:
Searching:
8 Add "g/" and "gb" to search for a pattern in the Visually selected text?
"g?" is already used for rot13.
The vis.vim script has a ":S" command that does something like this.
Can use "g/" in Normal mode, uses the '< to '> area.
Use "&/" for searching the text in the Visual area?
8 Add a mechanism for recursiveness: "\@(([^()]*\@g[^()]*)\)". \@g stands
for "go recursive here" and \@( \) marks the recursive part.
Perl does it this way:
@@ -2557,6 +3093,9 @@ Searching:
Here $paren is evaluated when it's encountered. This is like a regexp
inside a regexp. In the above terms it would be:
\@((\([^()]\|\@g\)*)\)
8 Show the progress every second. Could use the code that checks for CTRL-C
to find out how much time has passed. Or use SIGALRM. Where to show the
number?
7 Support for approximate-regexps to find similar words (agrep
http://www.tgries.de/agrep/ tre: http://laurikari.net/tre/index.html).
8 Add an item for a big character range, so that one can search for a
@@ -2661,6 +3200,13 @@ Searching:
Undo:
8 Undo tree: visually show the tree somehow (Damian Conway)
Show only the leaves, indicating how many changed from the branch and the
timestamp?
Put branch with most recent change on the left, older changes get more
indent?
8 Search for pattern in undo tree, showing when it happened and the text
state, so that you can jump to it.
- Persistent undo: store undo in a file.
Use timestamps, so that a version a certain time ago can be found and info
before some time/date can be flushed. 'undopersist' gives maximum time to
@@ -3033,8 +3579,13 @@ Various improvements:
next <li>, ]< to next </li>, [< to previous </li>.
8 Add ":rename" command: rename the file of the current buffer and rename
the buffer. Buffer may be modified.
7 Instead of filtering errors with a shell script it should be possible to
do this with Vim script. A function that filters the raw text that comes
from the 'makeprg'?
- Add %b to 'errorformat': buffer number. (Yegappan Lakshmanan / Suresh
Govindachar)
7 Add a command that goes back to the position from before jumping to the
first quickfix location. ":cbefore"?
6 In the quickfix window statusline add the command used to get the list of
errors, e.g. ":make foo", ":grep something *.c".
6 Python interface: add vim.message() function. (Michal Vitecek, 2002 Nov 5)
@@ -3047,7 +3598,6 @@ Various improvements:
to manipulate text without changing the window layout.
8 Add a command to revert to the saved version of file; undo or redo until
all changes are gone.
7 Add a ":cpfile", go in the other direction as ":cnfile".
6 "vim -q -" should read the list of errors from stdin. (Gautam Mudunuri)
8 Add "--remote-fail": When contacting the server fails, exit Vim.
Add "--remote-self": When contacting the server fails, do it in this Vim.
@@ -3068,7 +3618,6 @@ Various improvements:
etc. Combinations of Alt, Ctrl and Shift are also possible. Recognize
these to avoid inserting the raw byte sequence, handle like the key
without modifier (unless mapped).
8 Add ":breakdel *": delete all breakpoints.
7 Support ":browse edit" in console, using explorer.vim?
6 Add "gG": like what "gj" is to "j": go to the N'th window line.
8 Add command like ":normal" that accepts <Key> notation like ":map".
@@ -3107,13 +3656,6 @@ Various improvements:
7 Have a look at viH (Hellenic or Greek version of Vim). But a solution
outside of Vim might be satisfactory (Haritsis).
3 Make "2d%" work like "d%d%" instead of "d2%"?
8 Make "more" prompt accept command characters, like "hit-enter" prompt?
Or extend it with more commands, like "less": 'b' for back, 'j' for one
line down, etc.
8 For the "--more--" prompt, support the 'b'ack command for more commands.
Possible implementation: Do it at a very low level, caching the lines that
are on the screen (with highlight attributes). Avoids that changes have
to be made for all functions that list something.
7 "g CTRL-O" jumps back to last used buffer. Skip CTRL-O jumps in the same
buffer. Make jumplist remember the last ten accessed buffers?
- Keep a list of most recently used files for each window, use "[o" to go
@@ -3146,8 +3688,6 @@ Various improvements:
of the files. Only check when an event occurs (e.g., character typed,
mouse moved). Useful for non-GUI versions where keyboard focus isn't
noticeable.
9 When using ":w <fname>" it's possible that this file is loaded in another
buffer. Give a warning right away, don't wait for a shell command.
- Make 'smartcase' work even though 'ic' isn't set (Webb).
7 When formatting text, allow to break the line at a number of characters.
Use an option for this: 'breakchars'? Useful for formatting Fortran code.
@@ -3156,8 +3696,8 @@ Various improvements:
paragraphs). Complements the '2' flag. Use '>' flag when larger indent
starts a new paragraph, use '<' flag when smaller indent starts a new
paragraph. Both start a new paragraph on any indent change.
7 Add a way to define an item list with a pattern in 'formatoptions'. The
'n' flag doesn't work for "6.3" or "6a.".
8 The 'a' flag in 'formatoptions' is too dangerous. In some way only do
auto-formatting in specific regions, e.g. defined by syntax highlighting.
8 Allow using a trailing space to signal a paragraph that continues on the
next line (MIME text/plain; format=flowed, RFC 2646). Can be used for
continuous formatting. Could use 'autoformat' option, which specifies a
@@ -3358,8 +3898,6 @@ Various improvements:
- Amiga: test for 'w' flag when reading a file.
- :table command (Webb)
- Add new operator: clear, make area white (replace with spaces): "g ".
- Make it possible for a user to define a new operator. Implementation with
internal scripting language or Perl?
- Add command to ":read" a file at a certain column (blockwise read?).
- Add sort of replace mode where case is taken from the old text (Goldfarb).
- Allow multiple arguments for ":read", read all the files.

View File

@@ -1,4 +1,4 @@
*usr_01.txt* For Vim version 7.0. Last change: 2006 Apr 24
*usr_01.txt* For Vim version 7.1a. Last change: 2006 Oct 08
VIM USER MANUAL - by Bram Moolenaar
@@ -57,10 +57,10 @@ installation: |usr_90.txt|.
*not-compatible*
The manuals often assume you are using Vim with Vi-compatibility switched
off. For most commands this doesn't matter, but sometimes it is important,
e.g., for multi-level undo. An easy way to make sure you are using the right
setup, copy the example vimrc file. By doing this inside Vim you don't have
to check out where it is located. How to do this depends on the system you
are using:
e.g., for multi-level undo. An easy way to make sure you are using a nice
setup is to copy the example vimrc file. By doing this inside Vim you don't
have to check out where it is located. How to do this depends on the system
you are using:
Unix: >
:!cp -i $VIMRUNTIME/vimrc_example.vim ~/.vimrc
@@ -155,7 +155,7 @@ The Vim user manual and reference manual are Copyright (c) 1988-2003 by Bram
Moolenaar. This material may be distributed only subject to the terms and
conditions set forth in the Open Publication License, v1.0 or later. The
latest version is presently available at:
http://www.opencontent.org/opl.shtml
http://www.opencontent.org/openpub/
People who contribute to the manuals must agree with the above copyright
notice.
@@ -164,8 +164,8 @@ Parts of the user manual come from the book "Vi IMproved - Vim" by Steve
Oualline (published by New Riders Publishing, ISBN: 0735710015). The Open
Publication License applies to this book. Only selected parts are included
and these have been modified (e.g., by removing the pictures, updating the
text for Vim 6.0 and fixing mistakes). The omission of the |frombook| tag
does not mean that the text does not come from the book.
text for Vim 6.0 and later, fixing mistakes). The omission of the |frombook|
tag does not mean that the text does not come from the book.
Many thanks to Steve Oualline and New Riders for creating this book and
publishing it under the OPL! It has been a great help while writing the user

View File

@@ -1,4 +1,4 @@
*usr_04.txt* For Vim version 7.0. Last change: 2006 Apr 24
*usr_04.txt* For Vim version 7.1a. Last change: 2006 Jun 21
VIM USER MANUAL - by Bram Moolenaar
@@ -390,7 +390,7 @@ the clipboard in section |09.3| and here: |clipboard|.
==============================================================================
*04.8* Text objects
If the cursor is in the middle of a word and want to delete that word, you
If the cursor is in the middle of a word and you want to delete that word, you
need to move back to its start before you can do "dw". There is a simpler way
to do this: "daw".

View File

@@ -1,4 +1,4 @@
*usr_05.txt* For Vim version 7.0. Last change: 2006 Apr 24
*usr_05.txt* For Vim version 7.1a. Last change: 2006 Jul 10
VIM USER MANUAL - by Bram Moolenaar
@@ -202,8 +202,8 @@ actually two parts here. "autocmd FileType text" is an autocommand. This
defines that when the file type is set to "text" the following command is
automatically executed. "setlocal textwidth=78" sets the 'textwidth' option
to 78, but only locally in one file.
>
*restore-cursor* >
autocmd BufReadPost *
\ if line("'\"") > 0 && line("'\"") <= line("$") |
\ exe "normal g`\"" |

View File

@@ -1,4 +1,4 @@
*usr_06.txt* For Vim version 7.0. Last change: 2006 Apr 24
*usr_06.txt* For Vim version 7.1a. Last change: 2006 Apr 24
VIM USER MANUAL - by Bram Moolenaar

View File

@@ -1,4 +1,4 @@
*usr_07.txt* For Vim version 7.0. Last change: 2006 Apr 24
*usr_07.txt* For Vim version 7.1a. Last change: 2006 Apr 24
VIM USER MANUAL - by Bram Moolenaar

View File

@@ -1,4 +1,4 @@
*usr_11.txt* For Vim version 7.0. Last change: 2006 Apr 24
*usr_11.txt* For Vim version 7.1a. Last change: 2006 Apr 24
VIM USER MANUAL - by Bram Moolenaar

View File

@@ -1,4 +1,4 @@
*usr_12.txt* For Vim version 7.0. Last change: 2006 Apr 24
*usr_12.txt* For Vim version 7.1a. Last change: 2006 Nov 18
VIM USER MANUAL - by Bram Moolenaar
@@ -38,8 +38,8 @@ match the start of a word: >
:%s/\<four/4/g
Obviously, this still goes wrong on "fourty". Use "\>" to match the end of a
word: >
Obviously, this still goes wrong on "fourteen". Use "\>" to match the end of
a word: >
:%s/\<four\>/4/g

View File

@@ -1,4 +1,4 @@
*usr_20.txt* For Vim version 7.0. Last change: 2006 Apr 24
*usr_20.txt* For Vim version 7.1a. Last change: 2006 Apr 24
VIM USER MANUAL - by Bram Moolenaar

View File

@@ -1,4 +1,4 @@
*usr_23.txt* For Vim version 7.0. Last change: 2006 Apr 24
*usr_23.txt* For Vim version 7.1a. Last change: 2006 Apr 24
VIM USER MANUAL - by Bram Moolenaar

View File

@@ -1,4 +1,4 @@
*usr_27.txt* For Vim version 7.0. Last change: 2006 Apr 24
*usr_27.txt* For Vim version 7.1a. Last change: 2006 Apr 24
VIM USER MANUAL - by Bram Moolenaar

View File

@@ -1,4 +1,4 @@
*usr_28.txt* For Vim version 7.0. Last change: 2006 Apr 24
*usr_28.txt* For Vim version 7.1a. Last change: 2006 Apr 24
VIM USER MANUAL - by Bram Moolenaar

View File

@@ -1,4 +1,4 @@
*usr_30.txt* For Vim version 7.0. Last change: 2006 Apr 24
*usr_30.txt* For Vim version 7.1a. Last change: 2007 Apr 22
VIM USER MANUAL - by Bram Moolenaar
@@ -50,7 +50,7 @@ like this:
2 returned ~
"main.c" 11L, 111C ~
(3 of 6): too many arguments to function 'do_sub' ~
Hit ENTER or type command to continue ~
Press ENTER or type command to continue ~
From this you can see that you have errors in the file "main.c". When you
press <Enter>, Vim displays the file "main.c", with the cursor positioned on
@@ -148,7 +148,7 @@ More about these modifiers here: |filename-modifiers|.
OLD ERROR LISTS
Suppose you ":make" a program. There is an warning message in one file and an
Suppose you ":make" a program. There is a warning message in one file and an
error message in another. You fix the error and use ":make" again to check if
it was really fixed. Now you want to look at the warning message. It doesn't
show up in the last error list, since the file with the warning wasn't
@@ -242,7 +242,7 @@ form is: >
This indents the current line. Like with all operators, there are three ways
to use it. In Visual mode "=" indents the selected lines. A useful text
object is "a{". This selects the current {} block. Thus, to re-indent the
code code block the cursor is in: >
code block the cursor is in: >
=a{
@@ -315,7 +315,7 @@ In this file the output is:
filetype=help ~
This you would use "help" for {filetype}.
Thus you would use "help" for {filetype}.
For the {directory} part you need to use your runtime directory. Look at
the output of this command: >
@@ -339,7 +339,7 @@ How to do that is explained here: |indent-expression|.
The most simple form of automatic indenting is with the 'autoindent' option.
It uses the indent from the previous line. A bit smarter is the 'smartindent'
option. This is useful for languages where no indent file is available.
'smartindent'is not as smart as 'cindent', but smarter than 'autoindent'.
'smartindent' is not as smart as 'cindent', but smarter than 'autoindent'.
With 'smartindent' set, an extra level of indentation is added for each {
and removed for each }. An extra level of indentation will also be added for
any of the words in the 'cinwords' option. Lines that begin with # are

View File

@@ -1,4 +1,4 @@
*usr_40.txt* For Vim version 7.0. Last change: 2006 Apr 24
*usr_40.txt* For Vim version 7.1a. Last change: 2006 Jun 21
VIM USER MANUAL - by Bram Moolenaar
@@ -605,8 +605,9 @@ like "doautocmd" except it executes on all the buffers.
USING NORMAL MODE COMMANDS
The commands executed by an autocommand are Command-line command. If you want
to use a Normal mode command, the ":normal" command can be used. Example: >
The commands executed by an autocommand are Command-line commands. If you
want to use a Normal mode command, the ":normal" command can be used.
Example: >
:autocmd BufReadPost *.log normal G

View File

@@ -1,4 +1,4 @@
*various.txt* For Vim version 7.0. Last change: 2006 Apr 25
*various.txt* For Vim version 7.1a. Last change: 2007 Jan 14
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -121,6 +121,12 @@ g8 Print the hex values of the bytes used in the
:[range]# [count] [flags]
synonym for :number.
*:#!*
:#!{anything} Ignored, so that you can start a Vim script with: >
#!/usr/bin/env vim -S
echo "this is a Vim script"
quit
<
*:z* *E144*
:{range}z[+-^.=]{count} Display several lines of text surrounding the line
specified with {range}, or around the current line
@@ -163,6 +169,7 @@ g8 Print the hex values of the bytes used in the
it possible to execute Normal mode commands typed on
the command-line. {commands} is executed like it is
typed. For undo all commands are undone together.
Execution stops when an error is encountered.
If the [!] is given, mappings will not be used.
{commands} should be a complete command. If
{commands} does not finish a command, the last one
@@ -377,7 +384,7 @@ m *+tcl/dyn* Tcl interface |tcl-dynamic| |/dyn|
N *+termresponse* support for |t_RV| and |v:termresponse|
N *+textobjects* |text-objects| selection
*+tgetent* non-Unix only: able to use external termcap
N *+title* Setting the window title |'title'|
N *+title* Setting the window 'title' and 'icon'
N *+toolbar* |gui-toolbar|
N *+user_commands* User-defined commands. |user-commands|
N *+viminfo* |'viminfo'|
@@ -434,10 +441,14 @@ N *+X11* Unix only: can restore window title |X11|
after the register name can be omitted. {not in Vi}
:redi[r] @{a-z}>> Append messages to register {a-z}. {not in Vi}
:redi[r] @*> Redirect messages to the clipboard. For backward
compatibility, the ">" after the register name can be
omitted. {not in Vi}
:redi[r] @*>> Append messages to the clipboard. {not in Vi}
:redi[r] @*>
:redi[r] @+> Redirect messages to the selection or clipboard. For
backward compatibility, the ">" after the register
name can be omitted. See |quotestar| and |quoteplus|.
{not in Vi}
:redi[r] @*>>
:redi[r] @+>> Append messages to the selection or clipboard.
{not in Vi}
:redi[r] @"> Redirect messages to the unnamed register. For
backward compatibility, the ">" after the register
@@ -447,6 +458,7 @@ N *+X11* Unix only: can restore window title |X11|
:redi[r] => {var} Redirect messages to a variable. If the variable
doesn't exist, then it is created. If the variable
exists, then it is initialized to an empty string.
The variable will remain empty until redirection ends.
Only string variables can be used. After the
redirection starts, if the variable is removed or
locked or the variable type is changed, then further

File diff suppressed because it is too large Load Diff

View File

@@ -1,4 +1,4 @@
*workshop.txt* For Vim version 7.0. Last change: 2006 Apr 24
*workshop.txt* For Vim version 7.1a. Last change: 2006 Apr 24
VIM REFERENCE MANUAL by Gordon Prieur

View File

@@ -226,7 +226,7 @@ Stampa 3 linee (0x30 bytes esadecimali) alla fine di
\fI% xxd \-s \-0x30 file
.PP
.br
Stampa 120 bytes come immagine esadecimale continua con 40 bytes per linea.
Stampa 120 bytes come immagine esadecimale continua con 20 bytes per linea.
.br
\fI% xxd \-l 120 \-ps \-c 20 xxd.1\fR

View File

@@ -231,7 +231,7 @@ xxd
.PP
.br
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 120 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD> 40 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
<EFBFBD><EFBFBD> 20 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
.PP
\fI% xxd \-l 120 \-ps \-c 20 xxd.1\fR
.br

View File

@@ -123,7 +123,7 @@ added to file positions found in hexdump.
start at
.RI < seek >
bytes abs. (or rel.) infile offset.
\fI+ fRindicates that the seek is relative to the current stdin file position
\fI+ \fRindicates that the seek is relative to the current stdin file position
(meaningless when not reading from stdin). \fI\- \fRindicates that the seek
should be that many characters from the end of the input (or if combined with
\fI+\fR: before the current stdin file position).
@@ -172,17 +172,17 @@ The following examples may help to clarify (or further confuse!)...
Rewind stdin before reading; needed because the `cat' has already read to the
end of stdin.
.br
\fI% sh \-c "cat > plain_copy; xxd \-s 0 > hex_copy" < file
\fI% sh \-c "cat > plain_copy; xxd \-s 0 > hex_copy" < file\fR
.PP
Hexdump from file position 0x480 (=1024+128) onwards.
The `+' sign means "relative to the current position", thus the `128' adds to
the 1k where dd left off.
.br
\fI% sh \-c "dd of=plain_snippet bs=1k count=1; xxd \-s +128 > hex_snippet" < file
\fI% sh \-c "dd of=plain_snippet bs=1k count=1; xxd \-s +128 > hex_snippet" < file\fR
.PP
Hexdump from file position 0x100 ( = 1024\-768) on.
.br
\fI% sh \-c "dd of=plain_snippet bs=1k count=1; xxd \-s +\-768 > hex_snippet" < file
\fI% sh \-c "dd of=plain_snippet bs=1k count=1; xxd \-s +\-768 > hex_snippet" < file\fR
.PP
However, this is a rare situation and the use of `+' is rarely needed.
The author prefers to monitor the effect of xxd with strace(1) or truss(1), whenever \-s is used.
@@ -192,16 +192,16 @@ The author prefers to monitor the effect of xxd with strace(1) or truss(1), when
Print everything but the first three lines (hex 0x30 bytes) of
.BR file .
.br
\fI% xxd \-s 0x30 file
\fI% xxd \-s 0x30 file\fR
.PP
.br
Print 3 lines (hex 0x30 bytes) from the end of
.BR file .
.br
\fI% xxd \-s \-0x30 file
\fI% xxd \-s \-0x30 file\fR
.PP
.br
Print 120 bytes as continuous hexdump with 40 octets per line.
Print 120 bytes as continuous hexdump with 20 octets per line.
.br
\fI% xxd \-l 120 \-ps \-c 20 xxd.1\fR
.br

View File

@@ -1,7 +1,7 @@
" Vim support file to detect file types
"
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2006 May 02
" Last Change: 2007 Apr 26
" Listen very carefully, I will say this only once
if exists("did_load_filetypes")
@@ -88,6 +88,11 @@ au BufNewFile,BufRead *.wrm setf acedb
" Ada (83, 9X, 95)
au BufNewFile,BufRead *.adb,*.ads,*.ada setf ada
if has("vms")
au BufNewFile,BufRead *.gpr,*.ada_m,*.adc setf ada
else
au BufNewFile,BufRead *.gpr setf ada
endif
" AHDL
au BufNewFile,BufRead *.tdf setf ahdl
@@ -194,6 +199,9 @@ au BufNewFile,BufRead *.mar setf vmasm
" Atlas
au BufNewFile,BufRead *.atl,*.as setf atlas
" Autoit v3
au BufNewFile,BufRead *.au3 setf autoit
" Automake
au BufNewFile,BufRead [mM]akefile.am,GNUmakefile.am setf automake
@@ -225,6 +233,12 @@ endfun
" Visual Basic Script (close to Visual Basic)
au BufNewFile,BufRead *.vbs,*.dsm,*.ctl setf vb
" IBasic file (similar to QBasic)
au BufNewFile,BufRead *.iba,*.ibi setf ibasic
" FreeBasic file (similar to QBasic)
au BufNewFile,BufRead *.fb,*.bi setf freebasic
" Batch file for MSDOS.
au BufNewFile,BufRead *.bat,*.sys setf dosbatch
" *.cmd is close to a Batch file, but on OS/2 Rexx files also use *.cmd.
@@ -303,6 +317,9 @@ au BufNewFile,BufRead cfengine.conf setf cfengine
" Comshare Dimension Definition Language
au BufNewFile,BufRead *.cdl setf cdl
" Conary Recipe
au BufNewFile,BufRead *.recipe setf conaryrecipe
" Controllable Regex Mutilator
au BufNewFile,BufRead *.crm setf crm
@@ -436,6 +453,10 @@ au BufNewFile,BufRead *.prg
" Cmake
au BufNewFile,BufRead CMakeLists.txt,*.cmake,*.cmake.in setf cmake
" Cmusrc
au BufNewFile,BufRead ~/.cmus/{autosave,rc,command-history,*.theme} setf cmusrc
au BufNewFile,BufRead */cmus/{rc,*.theme} setf cmusrc
" Cobol
au BufNewFile,BufRead *.cbl,*.cob,*.lib setf cobol
" cobol or zope form controller python script? (heuristic)
@@ -614,7 +635,10 @@ au BufNewFile,BufRead *.mas,*.master setf master
au BufNewFile,BufRead *.fs,*.ft setf forth
" Fortran
au BufNewFile,BufRead *.f,*.F,*.for,*.fpp,*.FPP,*.ftn,*.f77,*.F77,*.f90,*.F90,*.f95,*.F95 setf fortran
if has("fname_case")
au BufNewFile,BufRead *.F,*.FOR,*.FPP,*.FTN,*.F77,*.F90,*.F95 setf fortran
endif
au BufNewFile,BufRead *.f,*.for,*.fpp,*.ftn,*.f77,*.f90,*.f95 setf fortran
" FStab
au BufNewFile,BufRead fstab,mtab setf fstab
@@ -660,6 +684,9 @@ au BufNewFile,BufRead /etc/group setf group
" GTK RC
au BufNewFile,BufRead .gtkrc,gtkrc setf gtkrc
" Hamster Classic | Playground files
au BufNewFile,BufRead *.hsc,*.hsm setf hamster
" Haskell
au BufNewFile,BufRead *.hs setf haskell
au BufNewFile,BufRead *.lhs setf lhaskell
@@ -744,8 +771,11 @@ au BufNewFile,BufRead .indent.pro setf indent
" Inform
au BufNewFile,BufRead *.inf,*.INF setf inform
" Initng
au BufNewFile,BufRead /etc/initng/**/*.i,*.ii setf initng
" Ipfilter
au BufNewFile,BufRead ipf.conf,ipf.rules setf ipfilter
au BufNewFile,BufRead ipf.conf,ipf6.conf,ipf.rules setf ipfilter
" Informix 4GL (source - canonical, include file, I4GL+M4 preproc.)
au BufNewFile,BufRead *.4gl,*.4gh,*.m4gl setf fgl
@@ -771,8 +801,8 @@ au BufNewFile,BufRead *.java,*.jav setf java
" JavaCC
au BufNewFile,BufRead *.jj,*.jjt setf javacc
" JavaScript
au BufNewFile,BufRead *.js,*.javascript setf javascript
" JavaScript, ECMAScript
au BufNewFile,BufRead *.js,*.javascript,*.es setf javascript
" Java Server Pages
au BufNewFile,BufRead *.jsp setf jsp
@@ -876,7 +906,7 @@ au BufNewFile,BufRead *.m4
" MaGic Point
au BufNewFile,BufRead *.mgp setf mgp
" Mail (for Elm, trn, mutt, rn, slrn)
" Mail (for Elm, trn, mutt, muttng, rn, slrn)
au BufNewFile,BufRead snd.\d\+,.letter,.letter.\d\+,.followup,.article,.article.\d\+,pico.\d\+,mutt{ng,}-*-\w\+,mutt\w\{6\},ae\d\+.txt,/tmp/SLRN[0-9A-Z.]\+,*.eml setf mail
" Mail aliases
@@ -934,6 +964,9 @@ endfun
" Maya Extension Language
au BufNewFile,BufRead *.mel setf mel
" Messages
au BufNewFile,BufRead /var/log/messages,/var/log/messages.*[0-9] setf messages
" Metafont
au BufNewFile,BufRead *.mf setf mf
@@ -1015,7 +1048,7 @@ au BufRead,BufNewFile *.mu setf mupad
" Mush
au BufNewFile,BufRead *.mush setf mush
" Mutt setup file
" Mutt setup file (also for Muttng)
au BufNewFile,BufRead Mutt{ng,}rc setf muttrc
au BufNewFile,BufRead .mutt{ng,}rc*,*/.mutt{ng,}/mutt{ng,}rc* call s:StarSetf('muttrc')
@@ -1232,6 +1265,9 @@ au BufNewFile,BufRead *.it,*.ih setf ppwiz
" Oracle Pro*C/C++
au BufNewFile,BufRead .pc setf proc
" Privoxy actions file
au BufNewFile,BufRead *.action setf privoxy
" Procmail
au BufNewFile,BufRead .procmail,.procmailrc setf procmail
@@ -1371,31 +1407,31 @@ endif
au BufNewFile,BufRead *.r,*.R call s:FTr()
fun! s:FTr()
if getline(1) =~ '^REBOL'
setf rebol
else
let n = 1
let max = line("$")
if max > 50
let max = 50
let max = line("$") > 50 ? 50 : line("$")
for n in range(1, max)
" Rebol is easy to recognize, check for that first
if getline(n) =~ '\<REBOL\>'
setf rebol
return
endif
while n < max
" R has # comments
if getline(n) =~ '^\s*#'
setf r
break
endif
" Rexx has /* comments */
if getline(n) =~ '^\s*/\*'
setf rexx
break
endif
let n = n + 1
endwhile
if n >= max
endfor
for n in range(1, max)
" R has # comments
if getline(n) =~ '^\s*#'
setf r
return
endif
" Rexx has /* comments */
if getline(n) =~ '^\s*/\*'
setf rexx
return
endif
endif
endfor
" Nothing recognized, assume Rexx
setf rexx
endfun
" Remind
@@ -1443,6 +1479,9 @@ au BufNewFile,BufRead *.sa setf sather
" Scilab
au BufNewFile,BufRead *.sci,*.sce setf scilab
" SD: Streaming Descriptors
au BufNewFile,BufRead *.sd setf sd
" SDL
au BufNewFile,BufRead *.sdl,*.pr setf sdl
@@ -1922,6 +1961,9 @@ au BufNewFile,BufRead *.web
" Windows Scripting Host and Windows Script Component
au BufNewFile,BufRead *.ws[fc] setf wsh
" XHTML
au BufNewFile,BufRead *.xhtml,*.xht setf xhtml
" X Pixmap (dynamically sets colors, use BufEnter to make it work better)
au BufEnter *.xpm
\ if getline(1) =~ "XPM2" |
@@ -1973,6 +2015,9 @@ au BufNewFile,BufRead *.csproj,*.csproj.user setf xml
" Qt Linguist translation source and Qt User Interface Files are XML
au BufNewFile,BufRead *.ts,*.ui setf xml
" TPM's are RDF-based descriptions of TeX packages (Nikolai Weibull)
au BufNewFile,BufRead *.tpm setf xml
" Xdg menus
au BufNewFile,BufRead /etc/xdg/menus/*.menu setf xml
@@ -2052,6 +2097,9 @@ au StdinReadPost * if !did_filetype() | runtime! scripts.vim | endif
au BufNewFile,BufRead *asterisk/*.conf* call s:StarSetf('asterisk')
au BufNewFile,BufRead *asterisk*/*voicemail.conf* call s:StarSetf('asteriskvm')
" Bazaar version control
au BufNewFile,BufRead bzr_log.* setf bzr
" BIND zone
au BufNewFile,BufRead */named/db.*,*/bind/db.* call s:StarSetf('bindzone')
@@ -2073,6 +2121,7 @@ au BufNewFile,BufRead /etc/apt/sources.list.d/* call s:StarSetf('debsources')
au BufNewFile,BufRead drac.* call s:StarSetf('dracula')
" Fvwm
au BufNewFile,BufRead */.fvwm/* call s:StarSetf('fvwm')
au BufNewFile,BufRead *fvwmrc*,*fvwm95*.hook
\ let b:fvwm_version = 1 | call s:StarSetf('fvwm')
au BufNewFile,BufRead *fvwm2rc*

14
runtime/ftplugin/fvwm.vim Normal file
View File

@@ -0,0 +1,14 @@
" Created : Tue 09 May 2006 02:07:31 PM CDT
" Modified : Tue 09 May 2006 02:07:31 PM CDT
" Author : Gautam Iyer <gi1242@users.sourceforge.net>
" Description : ftplugin for fvwm config files
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms< fo<"
setlocal comments=:# commentstring=#\ %s
setlocal formatoptions-=t formatoptions+=croql

View File

@@ -8,6 +8,6 @@ if exists("b:did_ftplugin")
endif
let b:did_ftplugin = 1
let b:undo_plugin = "setl fo< tw<"
let b:undo_ftplugin = "setl fo< tw<"
setlocal formatoptions+=tcroql textwidth=78

View File

@@ -0,0 +1,13 @@
" Vim filetype plugin file
" Language: Django HTML template
" Maintainer: Dave Hodder <dmh@dmh.org.uk>
" Last Change: 2007 Jan 25
" Only use this filetype plugin when no other was loaded.
if exists("b:did_ftplugin")
finish
endif
" Use HTML and Django template ftplugins.
runtime! ftplugin/html.vim
runtime! ftplugin/django.vim

View File

@@ -1,13 +1,38 @@
" Vim filetype plugin file
" Language: Javascript
" Maintainer: Bram Moolenaar (for now)
" Last Change: 2006 Jan 30
" Maintainer: Doug Kearns <dougkearns@gmail.com>
" Last Change: 2007 Feb 21
" URL: http://gus.gscit.monash.edu.au/~djkea2/vim/ftplugin/javascript.vim
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let s:cpo_save = &cpo
set cpo-=C
" Set 'formatoptions' to break comment lines but not other lines,
" " and insert the comment leader when hitting <CR> or using "o".
setlocal formatoptions-=t formatoptions+=croql
" Set completion with CTRL-X CTRL-O to autoloaded function.
if exists('&ofu')
setlocal ofu=javascriptcomplete#CompleteJS
setlocal omnifunc=javascriptcomplete#CompleteJS
endif
" Set 'comments' to format dashed lists in comments.
setlocal comments=sO:*\ -,mO:*\ \ ,exO:*/,s1:/*,mb:*,ex:*/,://
setlocal commentstring=//%s
" Change the :browse e filter to primarily show Java-related files.
if has("gui_win32")
let b:browsefilter="Javascript Files (*.js)\t*.js\n"
\ "All Files (*.*)\t*.*\n"
endif
let b:undo_ftplugin = "setl fo< ofu< com< cms<"
let &cpo = s:cpo_save
unlet s:cpo_save

View File

@@ -1,7 +1,7 @@
" Vim filetype plugin file
" Language: man
" Maintainer: Nam SungHyun <namsh@kldp.org>
" Last Change: 2006 Mar 28
" Last Change: 2006 Dec 04
" To make the ":Man" command available before editing a manual page, source
" this script from your startup vimrc file.
@@ -119,9 +119,7 @@ func <SID>GetPage(...)
if &filetype != "man"
let thiswin = winnr()
exe "norm! \<C-W>b"
if winnr() == 1
new
else
if winnr() > 1
exe "norm! " . thiswin . "\<C-W>w"
while 1
if &filetype == "man"
@@ -129,11 +127,14 @@ func <SID>GetPage(...)
endif
exe "norm! \<C-W>w"
if thiswin == winnr()
new
break
endif
endwhile
endif
if &filetype != "man"
new
setl nonu fdc=0
endif
endif
silent exec "edit $HOME/".page.".".sect."~"
" Avoid warning for editing the dummy file twice

View File

@@ -1,7 +1,7 @@
" Vim filetype plugin file
" Language: php
" Maintainer: Dan Sharp <dwsharp at hotmail dot com>
" Last Changed: 2005 Sep 05
" Last Changed: 2006 Jul 15
" URL: http://mywebpage.netscape.com/sharppeople/vim/ftplugin
if exists("b:did_ftplugin") | finish | endif
@@ -30,6 +30,9 @@ endif
if exists("b:match_words")
let s:match_words = b:match_words
endif
if exists("b:match_skip")
unlet b:match_skip
endif
" Change the :browse e filter to primarily show PHP-related files.
if has("gui_win32")
@@ -41,12 +44,13 @@ endif
setlocal include=\\\(require\\\|include\\\)\\\(_once\\\)\\\?
setlocal iskeyword+=$
if exists("loaded_matchit")
let b:match_words = '<php?:?>,\<switch\>:\<endswitch\>,' .
let b:match_words = '<?php:?>,\<switch\>:\<endswitch\>,' .
\ '\<if\>:\<elseif\>:\<else\>:\<endif\>,' .
\ '\<while\>:\<endwhile\>,' .
\ '\<do\>:\<while\>,' .
\ '\<for\>:\<endfor\>,' .
\ '\<foreach\>:\<endforeach\>,' .
\ '(:),[:],{:},' .
\ s:match_words
endif
" ###

View File

@@ -1,7 +1,7 @@
" Vim filetype plugin
" Language: Vim
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2005 Feb 14
" Last Change: 2006 Sep 26
" Only do this when not done yet for this buffer
if exists("b:did_ftplugin")
@@ -48,6 +48,7 @@ if exists("loaded_matchit")
let b:match_words =
\ '\<fu\%[nction]\>:\<retu\%[rn]\>:\<endf\%[unction]\>,' .
\ '\<wh\%[ile]\>:\<brea\%[k]\>:\<con\%[tinue]\>:\<endw\%[hile]\>,' .
\ '\<for\>:\<brea\%[k]\>:\<con\%[tinue]\>:\<endfo\%[r]\>,' .
\ '\<if\>:\<el\%[seif]\>:\<en\%[dif]\>,' .
\ '\<try\>:\<cat\%[ch]\>:\<fina\%[lly]\>:\<endt\%[ry]\>,' .
\ '\<aug\%[roup]\s\+\%(END\>\)\@!\S:\<aug\%[roup]\s\+END\>,' .

75
runtime/indent/bst.vim Normal file
View File

@@ -0,0 +1,75 @@
" Vim indent file
" Language: bst
" Author: Tim Pope <vimNOSPAM@tpope.info>
" $Id$
if exists("b:did_indent")
finish
endif
let b:did_indent = 1
setlocal expandtab
setlocal indentexpr=GetBstIndent(v:lnum)
"setlocal smartindent
setlocal cinkeys&
setlocal cinkeys-=0#
setlocal indentkeys&
"setlocal indentkeys+=0%
" Only define the function once.
if exists("*GetBstIndent")
finish
endif
function! s:prevgood(lnum)
" Find a non-blank line above the current line.
" Skip over comments.
let lnum = a:lnum
while lnum > 0
let lnum = prevnonblank(lnum - 1)
if getline(lnum) !~ '^\s*%.*$'
break
endif
endwhile
return lnum
endfunction
function! s:strip(lnum)
let line = getline(a:lnum)
let line = substitute(line,'"[^"]*"','""','g')
let line = substitute(line,'%.*','','')
let line = substitute(line,'^\s\+','','')
return line
endfunction
function! s:count(string,char)
let str = substitute(a:string,'[^'.a:char.']','','g')
return strlen(str)
endfunction
function! GetBstIndent(lnum) abort
if a:lnum == 1
return 0
endif
let lnum = s:prevgood(a:lnum)
if lnum <= 0
return indent(a:lnum - 1)
endif
let line = s:strip(lnum)
let cline = s:strip(a:lnum)
if cline =~ '^}' && exists("b:current_syntax")
call cursor(a:lnum,indent(a:lnum))
if searchpair('{','','}','bW',"synIDattr(synID(line('.'),col('.'),1),'name') =~? 'comment\\|string'")
if col('.')+1 == col('$')
return indent('.')
else
return virtcol('.')-1
endif
endif
endif
let fakeline = substitute(line,'^}','','').matchstr(cline,'^}')
let ind = indent(lnum)
let ind = ind + &sw * s:count(line,'{')
let ind = ind - &sw * s:count(fakeline,'}')
return ind
endfunction

216
runtime/indent/cobol.vim Normal file
View File

@@ -0,0 +1,216 @@
" Vim indent file
" Language: cobol
" Author: Tim Pope <vimNOSPAM@tpope.info>
" $Id$
if exists("b:did_indent")
finish
endif
let b:did_indent = 1
setlocal expandtab
setlocal indentexpr=GetCobolIndent(v:lnum)
setlocal indentkeys&
setlocal indentkeys+=0<*>,0/,0$,0=01,=~division,=~section,0=~end,0=~then,0=~else,0=~when,*<Return>,.
" Only define the function once.
if exists("*GetCobolIndent")
finish
endif
let s:skip = 'getline(".") =~ "^.\\{6\\}[*/$-]\\|\"[^\"]*\""'
function! s:prevgood(lnum)
" Find a non-blank line above the current line.
" Skip over comments.
let lnum = a:lnum
while lnum > 0
let lnum = prevnonblank(lnum - 1)
let line = getline(lnum)
if line !~? '^\s*[*/$-]' && line !~? '^.\{6\}[*/$CD-]'
break
endif
endwhile
return lnum
endfunction
function! s:stripped(lnum)
return substitute(strpart(getline(a:lnum),0,72),'^\s*','','')
endfunction
function! s:optionalblock(lnum,ind,blocks,clauses)
let ind = a:ind
let clauses = '\c\<\%(\<NOT\s\+\)\@<!\%(NOT\s\+\)\=\%('.a:clauses.'\)'
let begin = '\c-\@<!\<\%('.a:blocks.'\)\>'
let beginfull = begin.'\ze.*\%(\n\%(\s*\%([*/$-].*\)\=\n\)*\)\=\s*\%('.clauses.'\)'
let end = '\c\<end-\%('.a:blocks.'\)\>\|\%(\.\%( \|$\)\)\@='
let cline = s:stripped(a:lnum)
let line = s:stripped(s:prevgood(a:lnum))
if cline =~? clauses "&& line !~? '^search\>'
call cursor(a:lnum,1)
let lastclause = searchpair(beginfull,clauses,end,'bWr',s:skip)
if getline(lastclause) =~? clauses && s:stripped(lastclause) !~? '^'.begin
let ind = indent(lastclause)
elseif lastclause > 0
let ind = indent(lastclause) + &sw
"let ind = ind + &sw
endif
elseif line =~? clauses && cline !~? end
let ind = ind + &sw
endif
return ind
endfunction
function! GetCobolIndent(lnum) abort
let minshft = 6
let ashft = minshft + 1
let bshft = ashft + 4
" (Obsolete) numbered lines
if getline(a:lnum) =~? '^\s*\d\{6\}\%($\|[ */$CD-]\)'
return 0
endif
let cline = s:stripped(a:lnum)
" Comments, etc. must start in the 7th column
if cline =~? '^[*/$-]'
return minshft
elseif cline =~# '^[CD]' && indent(a:lnum) == minshft
return minshft
endif
" Divisions, sections, and file descriptions start in area A
if cline =~? '\<\(DIVISION\|SECTION\)\%($\|\.\)' || cline =~? '^[FS]D\>'
return ashft
endif
" Fields
if cline =~? '^0*\(1\|77\)\>'
return ashft
endif
if cline =~? '^\d\+\>'
let cnum = matchstr(cline,'^\d\+\>')
let default = 0
let step = -1
while step < 2
let lnum = a:lnum
while lnum > 0 && lnum < line('$') && lnum > a:lnum - 500 && lnum < a:lnum + 500
let lnum = step > 0 ? nextnonblank(lnum + step) : prevnonblank(lnum + step)
let line = getline(lnum)
let lindent = indent(lnum)
if line =~? '^\s*\d\+\>'
let num = matchstr(line,'^\s*\zs\d\+\>')
if 0+cnum == num
return lindent
elseif 0+cnum > num && default < lindent + &sw
let default = lindent + &sw
endif
elseif lindent < bshft && lindent >= ashft
break
endif
endwhile
let step = step + 2
endwhile
return default ? default : bshft
endif
let lnum = s:prevgood(a:lnum)
" Hit the start of the file, use "zero" indent.
if lnum == 0
return ashft
endif
" Initial spaces are ignored
let line = s:stripped(lnum)
let ind = indent(lnum)
" Paragraphs. There may be some false positives.
if cline =~? '^\(\a[A-Z0-9-]*[A-Z0-9]\|\d[A-Z0-9-]*\a\)\.' "\s*$'
if cline !~? '^EXIT\s*\.' && line =~? '\.\s*$'
return ashft
endif
endif
" Paragraphs in the identification division.
"if cline =~? '^\(PROGRAM-ID\|AUTHOR\|INSTALLATION\|' .
"\ 'DATE-WRITTEN\|DATE-COMPILED\|SECURITY\)\>'
"return ashft
"endif
if line =~? '\.$'
" XXX
return bshft
endif
if line =~? '^PERFORM\>'
let perfline = substitute(line, '\c^PERFORM\s*', "", "")
if perfline =~? '^\%(\k\+\s\+TIMES\)\=\s*$'
let ind = ind + &sw
elseif perfline =~? '^\%(WITH\s\+TEST\|VARYING\|UNTIL\)\>.*[^.]$'
let ind = ind + &sw
endif
endif
if line =~? '^\%(IF\|THEN\|ELSE\|READ\|EVALUATE\|SEARCH\|SELECT\)\>'
let ind = ind + &sw
endif
let ind = s:optionalblock(a:lnum,ind,'ADD\|COMPUTE\|DIVIDE\|MULTIPLY\|SUBTRACT','ON\s\+SIZE\s\+ERROR')
let ind = s:optionalblock(a:lnum,ind,'STRING\|UNSTRING\|ACCEPT\|DISPLAY\|CALL','ON\s\+OVERFLOW\|ON\s\+EXCEPTION')
if cline !~? '^AT\s\+END\>' || line !~? '^SEARCH\>'
let ind = s:optionalblock(a:lnum,ind,'DELETE\|REWRITE\|START\|WRITE\|READ','INVALID\s\+KEY\|AT\s\+END\|NO\s\+DATA\|AT\s\+END-OF-PAGE')
endif
if cline =~? '^WHEN\>'
call cursor(a:lnum,1)
" We also search for READ so that contained AT ENDs are skipped
let lastclause = searchpair('\c-\@<!\<\%(SEARCH\|EVALUATE\|READ\)\>','\c\<\%(WHEN\|AT\s\+END\)\>','\c\<END-\%(SEARCH\|EVALUATE\|READ\)\>','bW',s:skip)
let g:foo = s:stripped(lastclause)
if s:stripped(lastclause) =~? '\c\<\%(WHEN\|AT\s\+END\)\>'
"&& s:stripped(lastclause) !~? '^\%(SEARCH\|EVALUATE\|READ\)\>'
let ind = indent(lastclause)
elseif lastclause > 0
let ind = indent(lastclause) + &sw
endif
elseif line =~? '^WHEN\>'
let ind = ind + &sw
endif
"I'm not sure why I had this
"if line =~? '^ELSE\>-\@!' && line !~? '\.$'
"let ind = indent(s:prevgood(lnum))
"endif
if cline =~? '^\(END\)\>-\@!'
" On lines with just END, 'guess' a simple shift left
let ind = ind - &sw
elseif cline =~? '^\(END-IF\|THEN\|ELSE\)\>-\@!'
call cursor(a:lnum,indent(a:lnum))
let match = searchpair('\c-\@<!\<IF\>','\c-\@<!\%(THEN\|ELSE\)\>','\c-\@<!\<END-IF\>\zs','bnW',s:skip)
if match > 0
let ind = indent(match)
endif
elseif cline =~? '^END-[A-Z]'
let beginword = matchstr(cline,'\c\<END-\zs[A-Z0-9-]\+')
let endword = 'END-'.beginword
let first = 0
let suffix = '.*\%(\n\%(\%(\s*\|.\{6\}\)[*/].*\n\)*\)\=\s*'
if beginword =~? '^\%(ADD\|COMPUTE\|DIVIDE\|MULTIPLY\|SUBTRACT\)$'
let beginword = beginword . suffix . '\<\%(NOT\s\+\)\=ON\s\+SIZE\s\+ERROR'
let g:beginword = beginword
let first = 1
elseif beginword =~? '^\%(STRING\|UNSTRING\)$'
let beginword = beginword . suffix . '\<\%(NOT\s\+\)\=ON\s\+OVERFLOW'
let first = 1
elseif beginword =~? '^\%(ACCEPT\|DISPLAY\)$'
let beginword = beginword . suffix . '\<\%(NOT\s\+\)\=ON\s\+EXCEPTION'
let first = 1
elseif beginword ==? 'CALL'
let beginword = beginword . suffix . '\<\%(NOT\s\+\)\=ON\s\+\%(EXCEPTION\|OVERFLOW\)'
let first = 1
elseif beginword =~? '^\%(DELETE\|REWRITE\|START\|READ\|WRITE\)$'
let first = 1
let beginword = beginword . suffix . '\<\%(NOT\s\+\)\=\(INVALID\s\+KEY'
if beginword =~? '^READ'
let first = 0
let beginword = beginword . '\|AT\s\+END\|NO\s\+DATA'
elseif beginword =~? '^WRITE'
let beginword = beginword . '\|AT\s\+END-OF-PAGE'
endif
let beginword = beginword . '\)'
endif
call cursor(a:lnum,indent(a:lnum))
let match = searchpair('\c-\@<!\<'.beginword.'\>','','\c\<'.endword.'\>\zs','bnW'.(first? 'r' : ''),s:skip)
if match > 0
let ind = indent(match)
elseif cline =~? '^\(END-\(READ\|EVALUATE\|SEARCH\|PERFORM\)\)\>'
let ind = ind - &sw
endif
endif
return ind < bshft ? bshft : ind
endfunction

View File

@@ -2,7 +2,7 @@
" Language: Fortran95 (and Fortran90, Fortran77, F and elf90)
" Version: 0.37
" URL: http://www.unb.ca/chem/ajit/indent/fortran.vim
" Last Change: 2006 Apr. 22
" Last Change: 2006 Nov 16
" Maintainer: Ajit J. Thakkar <ajit@unb.ca>; <http://www.unb.ca/chem/ajit/>
" Usage: Do :help fortran-indent from Vim
@@ -72,7 +72,7 @@ function FortranGetIndent(lnum)
let prevstat=substitute(prevline, '!.*$', '', '')
"Indent do loops only if they are all guaranteed to be of do/end do type
if exists("b:fortran_do_enddo") || exists("fortran_do_enddo")
if exists("b:fortran_do_enddo") || exists("g:fortran_do_enddo")
if prevstat =~? '^\s*\(\d\+\s\)\=\s*\(\a\w*\s*:\)\=\s*do\>'
let ind = ind + &sw
endif

View File

@@ -0,0 +1,55 @@
" Vim indent file
" Language: Hamster Script
" Version: 2.0.6.0
" Last Change: Wed Nov 08 2006 12:02:42 PM
" Maintainer: David Fishburn <fishburn@ianywhere.com>
" Only load this indent file when no other was loaded.
if exists("b:did_indent")
finish
endif
let b:did_indent = 1
setlocal indentkeys+==~if,=~else,=~endif,=~endfor,=~endwhile
setlocal indentkeys+==~do,=~until,=~while,=~repeat,=~for,=~loop
setlocal indentkeys+==~sub,=~endsub
" Define the appropriate indent function but only once
setlocal indentexpr=HamGetFreeIndent()
if exists("*HamGetFreeIndent")
finish
endif
function HamGetIndent(lnum)
let ind = indent(a:lnum)
let prevline=getline(a:lnum)
" Add a shiftwidth to statements following if, else, elseif,
" case, select, default, do, until, while, for, start
if prevline =~? '^\s*\<\(if\|else\%(if\)\?\|for\|repeat\|do\|while\|sub\)\>'
let ind = ind + &sw
endif
" Subtract a shiftwidth from else, elseif, end(if|while|for), until
let line = getline(v:lnum)
if line =~? '^\s*\(else\|elseif\|loop\|until\|end\%(if\|while\|for\|sub\)\)\>'
let ind = ind - &sw
endif
return ind
endfunction
function HamGetFreeIndent()
" Find the previous non-blank line
let lnum = prevnonblank(v:lnum - 1)
" Use zero indent at the top of the file
if lnum == 0
return 0
endif
let ind=HamGetIndent(lnum)
return ind
endfunction
" vim:sw=2 tw=80

View File

@@ -109,7 +109,7 @@ menutrans &Keymap
menutrans &Tools <09><><EFBFBD><EFBFBD>(&T)
menutrans &Jump\ to\ this\ tag<Tab>g^] <09><>ת<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ tag(&J)<Tab>g^]
menutrans Jump\ &back<Tab>^T <09><>ת<EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&B)<Tab>^T
menutrans Build\ &Tags\ File <09><><EFBFBD><EFBFBD> Tags <20>ļ<EFBFBD>(&T)
menutrans Build\ &Tags\ File <09><><EFBFBD><EFBFBD>\ Tags\ <20>ļ<EFBFBD>(&T)
" Tools.Spelling Menu
menutrans &Spelling ƴд<EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&S)
@@ -209,7 +209,7 @@ menutrans Min\ Widt&h<Tab>^W1\|
menutrans &Undo <09><><EFBFBD><EFBFBD>(&U)
menutrans Cu&t <09><><EFBFBD><EFBFBD>(&T)
menutrans &Copy <09><><EFBFBD><EFBFBD>(&C)
menutrans &Paste ճ<EFBFBD><EFBFBD>(&P)
menutrans &Paste ճ<EFBFBD><EFBFBD>(&P)
menutrans &Delete ɾ<EFBFBD><EFBFBD>(&D)
menutrans Select\ Blockwise ѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
menutrans Select\ &Word ѡ<EFBFBD>񵥴<EFBFBD>(&W)
@@ -233,7 +233,7 @@ if has("toolbar")
tmenu ToolBar.Redo <09><><EFBFBD><EFBFBD>
tmenu ToolBar.Cut <09><><EFBFBD>е<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
tmenu ToolBar.Copy <09><><EFBFBD>Ƶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
tmenu ToolBar.Paste <09>Ӽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ճ<EFBFBD><EFBFBD>
tmenu ToolBar.Paste <09>Ӽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ճ<EFBFBD><EFBFBD>
tmenu ToolBar.Find <09><><EFBFBD><EFBFBD>...
tmenu ToolBar.FindNext <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>
tmenu ToolBar.FindPrev <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>

View File

@@ -1,6 +1,6 @@
" Menu Translations: Portugu<67>s
" Maintainer: Jos<6F> de Paula <jose_de_paula@ig.com.br>
" Last Change: 2003 Jun 12
" Menu Translations: Portugu<67>s do Brasil
" Maintainer: Jos<6F> de Paula <jose@infoviaweb.com>
" Last Change: 2006-09-19 02:30:00-03:00
"
" Quit when menu translations have already been done.
@@ -25,6 +25,7 @@ menutrans &Find\.\.\. &Procurar\.\.\.
menutrans &Credits &Cr<EFBFBD>ditos
menutrans O&rphans &<26>rf<EFBFBD>os
menutrans Co&pying &Licen<EFBFBD>a
menutrans &Sponsor/Register &Doar/Registrar
menutrans &Version &Vers<EFBFBD>o
menutrans &About &Sobre
@@ -58,7 +59,8 @@ menutrans Find\ and\ Rep&lace\.\.\. Procurar\ e\ substit&uir\.\.\.
menutrans Find\ and\ Rep&lace<Tab>:%s Procurar\ e\ substit&uir<Tab>:%s
menutrans Find\ and\ Rep&lace Procurar\ e\ substit&uir
menutrans Find\ and\ Rep&lace<Tab>:s Procurar\ e\ substituir<Tab>:s
menutrans Settings\ &Window Op&<EFBFBD><EFBFBD>es
menutrans Settings\ &Window &Op<EFBFBD><EFBFBD>es
menutrans Startup\ &Settings &Inicializa<EFBFBD><EFBFBD>o
" Edit/Global Settings
menutrans &Global\ Settings Op<EFBFBD><EFBFBD>es\ &Globais
@@ -117,7 +119,7 @@ menutrans default padr
menutrans Select\ Fo&nt\.\.\. Selecionar\ fo&nte\.\.\.
menutrans &Keymap Mapa\ de\ teclado
menutrans &Keymap &Mapa\ de\ teclado
menutrans None Nenhum
" Programming menu
@@ -125,6 +127,7 @@ menutrans &Tools &Ferramentas
menutrans &Jump\ to\ this\ tag<Tab>g^] &Pular\ para\ este\ tag<Tab>g^]
menutrans Jump\ &back<Tab>^T &Voltar<Tab>^T
menutrans Build\ &Tags\ File &Construir\ Arquivo\ de\ tags
menutrans &Spelling &Ortografia
menutrans &Folding &Dobra
menutrans &Make<Tab>:make &Make<Tab>:make
menutrans &List\ Errors<Tab>:cl &Lista\ de\ erros<Tab>:cl
@@ -134,10 +137,27 @@ menutrans &Previous\ Error<Tab>:cp &Erro\ anterior<Tab>:cp
menutrans &Older\ List<Tab>:cold Listar\ erros\ &antigos<Tab>:cold
menutrans N&ewer\ List<Tab>:cnew Listar\ erros\ &novos<Tab>:cnew
menutrans Error\ &Window &Janela\ de\ erros
menutrans &Set\ Compiler Def&inir\ Compilador
menutrans Se&T\ Compiler Def&inir\ Compilador
menutrans &Convert\ to\ HEX<Tab>:%!xxd Converter\ para\ hexadecimal<Tab>:%!xxd
menutrans Conve&rt\ back<Tab>:%!xxd\ -r Conver&ter\ de\ volta<Tab>:%!xxd\ -r
" Tools.Spelling menu
menutrans &Spell Check On &Ativar Corre<EFBFBD><EFBFBD>o Ortogr<EFBFBD>fica
menutrans &Spell Check Off &Desativar Corre<EFBFBD><EFBFBD>o Ortogr<EFBFBD>fica
menutrans To &Next error<Tab>]s &Pr<EFBFBD>ximo Erro<Tab>]s
menutrans To &Previous Error<Tab>[s Erro A&nterior<Tab>[s
menutrans Suggest &Corrections<Tab>z= &Sugerir Corre<EFBFBD><EFBFBD>es<Tab>z=
menutrans &Repeat correction<Tab>:spellrepall &Repetir Corre<EFBFBD><EFBFBD>o<Tab>:spellrepall
menutrans Set\ language\ to\ "en" Ingl<EFBFBD>s
menutrans Set\ language\ to\ "en_au" Ingl<EFBFBD>s\ (en_au)
menutrans Set\ language\ to\ "en_ca" Ingl<EFBFBD>s\ (en_ca)
menutrans Set\ language\ to\ "en_gb" Ingl<EFBFBD>s\ (en_gb)
menutrans Set\ language\ to\ "en_nz" Ingl<EFBFBD>s\ (en_nz)
menutrans Set\ language\ to\ "en_us" Ingl<EFBFBD>s\ (en_us)
menutrans &Find\ More\ Languages &Buscar mais idiomas
" Tools.Fold Menu
menutrans &Enable/Disable\ folds<Tab>zi &Ativar/Desativar\ dobras<Tab>zi
menutrans &View\ Cursor\ Line<Tab>zv &Ver\ linha\ do\ cursor<Tab>zv

View File

@@ -0,0 +1,294 @@
" Menu Translations: Slovenian / Slovensko
" Maintainer: Mojca Miklavec <mojca.miklavec.lists@gmail.com>
" Originally By: Mojca Miklavec <mojca.miklavec.lists@gmail.com>
" Last Change: Sat, 17 Jun 2006
" vim:set foldmethod=marker tabstop=8:
" TODO: add/check all '&'s
" Quit when menu translations have already been done.
if exists("did_menu_trans")
finish
endif
let did_menu_trans = 1
scriptencoding utf-8
" {{{ FILE / DATOTEKA
menutrans &File &Datoteka
menutrans &Open\.\.\.<Tab>:e &Odpri\ \.\.\.<Tab>:e
menutrans Sp&lit-Open\.\.\.<Tab>:sp Odpri\ de&ljeno\ \.\.\.<Tab>:sp
menutrans Open\ Tab\.\.\.<Tab>:tabnew Odpri\ v\ zavi&hku\ \.\.\.<Tab>:tabnew
menutrans &New<Tab>:enew &Nova<Tab>:enew
menutrans &Close<Tab>:close &Zapri<Tab>:close
menutrans &Save<Tab>:w &Shrani<Tab>:w
menutrans Save\ &As\.\.\.<Tab>:sav Shrani\ &kot\ \.\.\.<Tab>:sav
menutrans &Print Na&tisni
menutrans Sa&ve-Exit<Tab>:wqa Shrani\ in\ &končaj<Tab>:wqa
menutrans E&xit<Tab>:qa &Izhod<Tab>:qa
if has("diff")
menutrans Split\ &Diff\ with\.\.\. Primerjaj\ z\ (di&ff)\ \.\.\.
menutrans Split\ Patched\ &By\.\.\. &Popravi\ z\ (patch)\ \.\.\.
endif
" }}} FILE / DATOTEKA
" {{{ EDIT / UREDI
menutrans &Edit &Uredi
menutrans &Undo<Tab>u &Razveljavi<Tab>u
menutrans &Redo<Tab>^R &Obnovi<Tab>^R
menutrans Rep&eat<Tab>\. Po&novi<Tab>\.
menutrans Cu&t<Tab>"+x &Izreži<Tab>"+x
menutrans &Copy<Tab>"+y &Kopiraj<Tab>"+y
menutrans &Paste<Tab>"+gP &Prilepi<Tab>"+gP
menutrans Put\ &Before<Tab>[p Vrini\ pred<Tab>[p
menutrans Put\ &After<Tab>]p Vrini\ za<Tab>]p
menutrans &Delete<Tab>x Iz&briši<Tab>x
menutrans &Select\ all<Tab>ggVG Izberi\ vse<Tab>ggVG
menutrans &Find\.\.\. Po&išči\ \.\.\.
menutrans Find\ and\ Rep&lace\.\.\. Poišči\ in\ &zamenjaj\ \.\.\.
" [-- SETTINGS --]
menutrans Settings\ &Window Nastavitve\ \.\.\.
menutrans Startup\ &Settings Začetne\ nastavitve
menutrans &Global\ Settings &Globalne\ nastavitve
menutrans Toggle\ Pattern\ &Highlight<Tab>:set\ hls! Vključi/izključi\ poudarjanje\ iskanega\ niza<Tab>:set\ hls!
menutrans Toggle\ &Ignore-case<Tab>:set\ ic! Vključi/izključi\ ločevanje\ velikih\ in\ malih\ črk<Tab>:set\ ic!
menutrans Toggle\ &Showmatch<Tab>:set\ sm! Vključi/izključi\ kratek\ skok\ na\ pripadajoči\ oklepaj<Tab>:set\ sm!
menutrans &Context\ lines Št\.\ vidnih\ vrstic\ pred/za\ kurzorjem
menutrans &Virtual\ Edit Dovoli\ položaj\ kazalčka,\ kjer\ ni\ besedila
menutrans Never Nikoli
menutrans Block\ Selection Le\ med\ izbiranjem\ bloka
menutrans Insert\ mode Le\ v\ načinu\ za\ pisanje
menutrans Block\ and\ Insert Pri\ obojem
menutrans Always Vedno
menutrans Toggle\ Insert\ &Mode<Tab>:set\ im! Vključi/izključi\ način\ za\ pisanje<Tab>:set\ im!
menutrans Toggle\ Vi\ C&ompatible<Tab>:set\ cp! Vključi/izključi\ združljivost\ z\ Vi-jem<Tab>:set\ cp!
menutrans Search\ &Path\.\.\. Pot\ za\ iskanje\ \.\.\.
menutrans Ta&g\ Files\.\.\. Ta&g-datoteke\.\.\.
menutrans Toggle\ &Toolbar Pokaži/skrij\ Orodja
menutrans Toggle\ &Bottom\ Scrollbar Pokaži/skrij\ spodnji\ drsnik
menutrans Toggle\ &Left\ Scrollbar Pokaži/skrij\ levi\ drsnik
menutrans Toggle\ &Right\ Scrollbar Pokaži/skrij\ desni\ drsnik
" Edit/File Settings
menutrans F&ile\ Settings &Nastavitve\ datoteke
" Boolean options
menutrans Toggle\ Line\ &Numbering<Tab>:set\ nu! Pokaži/skrij\ številke\ vrstic<Tab>:set\ nu!
menutrans Toggle\ &List\ Mode<Tab>:set\ list! Pokaži/skrij\ nevidne\ znake<Tab>:set\ list! " space/tab
menutrans Toggle\ Line\ &Wrap<Tab>:set\ wrap! Vključi/izključi\ prelome\ vrstic<Tab>:set\ wrap!
menutrans Toggle\ W&rap\ at\ word<Tab>:set\ lbr! Vključi/izključi\ prelome\ vrstic\ med\ besedami<Tab>:set\ lbr!
menutrans Toggle\ &expand-tab<Tab>:set\ et! Vključi/izključi\ zamenjavo\ tabulatorjev\ s\ presledki<Tab>:set\ et!
menutrans Toggle\ &auto-indent<Tab>:set\ ai! Vključi/izključi\ avtomatsko\ zamikanje\ vrstic<Tab>:set\ ai!
menutrans Toggle\ &C-indenting<Tab>:set\ cin! Vključi/izključi\ C-jevski\ način\ zamikanja\ vrstic<Tab>:set\ cin!
" other options
menutrans &Shiftwidth Širina\ zamika\ vrstic
menutrans Soft\ &Tabstop Širina\ &tabulatorja
menutrans Te&xt\ Width\.\.\. Širina\ besedila\ \.\.\.
menutrans &File\ Format\.\.\. Format\ &datoteke\ \.\.\.
menutrans C&olor\ Scheme &Barvna\ shema\ \.\.\.
menutrans &Keymap &Keymap
menutrans Select\ Fo&nt\.\.\. Pisava\ \.\.\.
" }}} EDIT / UREDI
" {{{ TOOLS / ORODJA
menutrans &Tools &Orodja
menutrans &Jump\ to\ this\ tag<Tab>g^] &Skoči\ k\ tej\ znački<Tab>g^]
menutrans Jump\ &back<Tab>^T Skoči\ Na&zaj<Tab>^T
menutrans Build\ &Tags\ File Napravi\ datoteke\ z\ značkami\ (tag)
if has("spell")
menutrans &Spelling Črkovalnik
menutrans &Spell\ Check\ On &Vključi
menutrans Spell\ Check\ &Off &Izključi
menutrans To\ &Next\ error<Tab>]s K\ &naslednji\ napaki<Tab>]s
menutrans To\ &Previous\ error<Tab>[s K\ &prejšnji\ napaki<Tab>[s
menutrans Suggest\ &Corrections<Tab>z= Predlagaj\ popravek<Tab>z=
menutrans &Repeat\ correction<Tab>:spellrepall Po&novi\ popravke\ na\ vseh\ besedah<Tab>:spellrepall
menutrans Set\ language\ to\ "en" Angleški\ "en"
menutrans Set\ language\ to\ "en_au" Angleški\ "en_au"
menutrans Set\ language\ to\ "en_ca" Angleški\ "en_ca"
menutrans Set\ language\ to\ "en_gb" Angleški\ "en_gb"
menutrans Set\ language\ to\ "en_nz" Angleški\ "en_nz"
menutrans Set\ language\ to\ "en_us" Angleški\ "en_us"
menutrans Set\ language\ to\ "sl" Slovenski\ "sl"
menutrans Set\ language\ to\ "de" Nemški\ "de"
menutrans Set\ language\ to\ Črkovalnik:\
menutrans &Find\ More\ Languages &Ostali\ jeziki
endif
if has("folding")
menutrans &Folding Zvijanje\ kode
" open close folds
menutrans &Enable/Disable\ folds<Tab>zi Omogoči/onemogoči\ zvijanje<Tab>zi " Omogoči/onemogoči\ zavihke
menutrans &View\ Cursor\ Line<Tab>zv Pokaži\ vrstico\ s\ kazalčkom<Tab>zv " kjer je kazalec
menutrans Vie&w\ Cursor\ Line\ only<Tab>zMzx Pokaži\ samo\ vrstico\ s\ kazalčkom<Tab>zMzx
menutrans C&lose\ more\ folds<Tab>zm Zvij\ naslednji\ nivo<Tab>zm " Zapri\ več\ zavihkov
menutrans &Close\ all\ folds<Tab>zM Zvij\ vso\ kodo<Tab>zM " Zapri\ vse\ zavihke
menutrans O&pen\ more\ folds<Tab>zr Razvij\ en\ nivo<Tab>zr " Odpri\ več\ zavihkov
menutrans &Open\ all\ folds<Tab>zR Razvij\ vso\ kodo<Tab>zR " Odpri\ vse\ zavihke
" fold method
menutrans Fold\ Met&hod Kriterij\ za\ zvijanje " Ustvarjanje\ zavihkov
menutrans M&anual &Ročno
menutrans I&ndent Glede\ na\ &poravnavo
menutrans E&xpression Z\ &izrazi\ (foldexpr)
menutrans S&yntax Glede\ na\ &sintakso
menutrans &Diff Razlike\ (&diff)
menutrans Ma&rker Z\ &markerji/označbami
" create and delete folds
" TODO accelerators
menutrans Create\ &Fold<Tab>zf Ustvari\ zvitek<Tab>zf
menutrans &Delete\ Fold<Tab>zd Izbriši\ zvitek<Tab>zd
menutrans Delete\ &All\ Folds<Tab>zD Izbriši\ vse\ zvitke<Tab>zD
" moving around in folds
menutrans Fold\ column\ &width Širina\ drevesa\ z\ zvitki
endif " has folding
if has("diff")
menutrans &Diff Razlike\ (&Diff)
menutrans &Update &Posodobi<Tab>
menutrans &Get\ Block &Sprejmi\ (spremeni\ to\ okno) " XXX: check if translation is OK
menutrans &Put\ Block &Pošlji\ (spremeni\ drugo\ okno)
endif
menutrans &Make<Tab>:make Napravi\ (&make)<Tab>:make
menutrans &List\ Errors<Tab>:cl Pokaži\ napake<Tab>:cl
menutrans L&ist\ Messages<Tab>:cl! Pokaži\ sporočila<Tab>:cl!
menutrans &Next\ Error<Tab>:cn K\ &naslednji\ napaki<Tab>:cn
menutrans &Previous\ Error<Tab>:cp K\ &prejšnji\ napaki<Tab>:cp
menutrans &Older\ List<Tab>:cold K\ &starejšemu\ seznamu\ napak<Tab>:cold
menutrans N&ewer\ List<Tab>:cnew K\ &novejšemu\ seznamu\ napak<Tab>:cnew
menutrans Error\ &Window Okno\ z\ napakami
menutrans &Update<Tab>:cwin &Posodobi<Tab>:cwin
menutrans &Open<Tab>:copen &Odpri<Tab>:copen
menutrans &Close<Tab>:cclose &Zapri<Tab>:cclose
menutrans &Set\ Compiler Nastavi\ &prevajalnik
menutrans Se&T\ Compiler Nastavi\ &prevajalnik " bug in original translation?
menutrans &Convert\ to\ HEX<Tab>:%!xxd Pretvori\ v\ HE&X<Tab>:%!xxd
menutrans Conve&rt\ back<Tab>:%!xxd\ -r Pretvori\ nazaj<Tab>:%!xxd\ -r
" }}} TOOLS / ORODJA
" {{{ SYNTAX / BARVANJE KODE
menutrans &Syntax &Barvanje\ kode
menutrans &Show\ filetypes\ in\ menu Podprte\ vrste\ datotek
menutrans Set\ '&syntax'\ only Samo\ barvanje\ ('&syntax')
menutrans Set\ '&filetype'\ too Tudi\ obnašanje\ ('&filetype')
menutrans &Off &Izključeno
menutrans &Manual &Ročno
menutrans A&utomatic &Avtomatsko
menutrans on/off\ for\ &This\ file Vključi/izključi\ za\ to\ datoteko
menutrans Co&lor\ test Preizkus\ barv
menutrans &Highlight\ test Preizkus\ barvanja\ kode
menutrans &Convert\ to\ HTML Pretvori\ v\ &HTML
" }}} SYNTAX / BARVANJE KODE
" {{{ BUFFERS / MEDPOMNILNIK
menutrans &Buffers &Medpomnilnik " XXX: ni najbolje: okno bi bolj pristajalo, ampak okno je že
menutrans &Refresh\ menu &Osveži
menutrans Delete &Briši
menutrans &Alternate &Menjaj
menutrans &Next &Naslednji
menutrans &Previous &Prejšnji
menutrans [No\ File] [Brez\ datoteke]
" }}} BUFFERS / MEDPOMNILNIK
" {{{ WINDOW / OKNO
menutrans &Window &Okno
menutrans &New<Tab>^Wn &Novo<Tab>^Wn
menutrans S&plit<Tab>^Ws Razdeli<Tab>^Ws
menutrans Split\ &Vertically<Tab>^Wv Razdeli\ navpično<Tab>^Ws
menutrans Split\ File\ E&xplorer Razdeli:\ Vsebina\ mape
menutrans Sp&lit\ To\ #<Tab>^W^^ Razdeli\ v\ #<Tab>^W^^
menutrans &Close<Tab>^Wc &Zapri<Tab>^Wc
menutrans Close\ &Other(s)<Tab>^Wo Zapri\ &ostala<Tab>^Wo
menutrans Move\ &To Premakni
menutrans &Top<Tab>^WK &Gor<Tab>^WK
menutrans &Bottom<Tab>^WJ &Dol<Tab>^WJ
menutrans &Left\ side<Tab>^WH &Levo<Tab>^WH
menutrans &Right\ side<Tab>^WL &Desno<Tab>^WL
menutrans Rotate\ &Up<Tab>^WR Zavrti\ navzgor<Tab>^WR
menutrans Rotate\ &Down<Tab>^Wr Zavrti\ navzdol<Tab>^Wr
menutrans &Equal\ Size<Tab>^W= &Enaka\ velikost<Tab>^W=
menutrans &Max\ Height<Tab>^W_ Najvišje<Tab>^W_
menutrans M&in\ Height<Tab>^W1_ Najnižje<Tab>^W1_
menutrans Max\ &Width<Tab>^W\| Najširše<Tab>^W\|
menutrans Min\ Widt&h<Tab>^W1\| Najožje<Tab>^W1\|
" }}} WINDOW / OKNO
" {{{ HELP / POMOČ
menutrans &Help &Pomoč
menutrans &Overview<Tab><F1> Hitri\ pregled<Tab><F1>
menutrans &User\ Manual P&riročnik
menutrans &How-to\ links &How-to\ kazalo
menutrans &Find\.\.\. Po&išči\ \.\.\. " conflicts with Edit.Find
menutrans &Credits &Avtorji
menutrans Co&pying &Licenca
menutrans &Sponsor/Register Registracija\ in\ &donacije
menutrans O&rphans &Sirotam
menutrans &Version &Verzija
menutrans &About &O\ programu
" }}} HELP / POMOČ
" {{{ POPUP
menutrans &Undo &Razveljavi
menutrans Cu&t &Izreži
menutrans &Copy &Kopieraj
menutrans &Paste &Prilepi
menutrans &Delete &Zbriši
menutrans Select\ Blockwise Izbiraj\ po\ blokih
menutrans Select\ &Word Izberi\ &besedo
menutrans Select\ &Sentence Izberi\ &stavek
menutrans Select\ Pa&ragraph Izberi\ &odstavek
menutrans Select\ &Line Izberi\ vrs&tico
menutrans Select\ &Block Izberi\ b&lok
menutrans &Select\ All<Tab>ggVG Izberi\ &vse<Tab>ggVG
" }}} POPUP
" {{{ TOOLBAR
if has("toolbar")
if exists("*Do_toolbar_tmenu")
delfun Do_toolbar_tmenu
endif
fun Do_toolbar_tmenu()
tmenu ToolBar.Open Odpri datoteko
tmenu ToolBar.Save Shrani datoteko
tmenu ToolBar.SaveAll Shrani vse datoteke
tmenu ToolBar.Print Natisni
tmenu ToolBar.Undo Razveljavi
tmenu ToolBar.Redo Obnovi
tmenu ToolBar.Cut Izreži
tmenu ToolBar.Copy Kopiraj
tmenu ToolBar.Paste Prilepi
tmenu ToolBar.Find Najdi ...
tmenu ToolBar.FindNext Najdi naslednje
tmenu ToolBar.FindPrev Najdi prejšnje
tmenu ToolBar.Replace Najdi in zamenjaj ...
tmenu ToolBar.LoadSesn Naloži sejo
tmenu ToolBar.SaveSesn Shrani trenutno sejo
tmenu ToolBar.RunScript Izberi Vim skripto za izvajanje
tmenu ToolBar.Make Napravi trenutni projekt (:make)
tmenu ToolBar.RunCtags Napravi značke v trenutnem direktoriju (!ctags -R.)
tmenu ToolBar.TagJump Skoči k znački pod kurzorjem
tmenu ToolBar.Help Pomoč za Vim
tmenu ToolBar.FindHelp Išči v pomoči za Vim
endfun
endif
" }}} TOOLBAR
" {{{ DIALOG TEXTS
let g:menutrans_no_file = "[Brez datoteke]"
let g:menutrans_help_dialog = "Vnesite ukaz ali besedo, za katero želite pomoč:\n\nUporabite predpono i_ za ukaze v načinu za pisanje (npr.: i_CTRL-X)\nUporabite predpono c_ za ukaze v ukazni vrstici (command-line) (npr.: c_<Del>)\nUporabite predpono ' za imena opcij (npr.: 'shiftwidth')"
let g:menutrans_path_dialog = "Vnesite poti za iskanje datotek.\nImena direktorijev ločite z vejico."
let g:menutrans_tags_dialog = "Vnesite imena datotek z značkami ('tag').\nImana ločite z vejicami."
let g:menutrans_textwidth_dialog = "Vnesite novo širino besedila (ali 0 za izklop formatiranja): "
let g:menutrans_fileformat_dialog = "Izberite format datoteke"
let g:menutrans_fileformat_choices = "&Unix\n&Dos\n&Mac\n&Prekliči"
" }}}

View File

@@ -10,7 +10,10 @@ if exists("did_menu_trans")
endif
let did_menu_trans = 1
scriptencoding gb2312
" This causes trouble for a broken iconv (symptom: last character is always
" ??). Without this it works fine anyway, because gbk/cp936 is a superset of
" gb2312. (suggested by Edward L. Fox)
" scriptencoding gb2312
" Help menu
menutrans &Help <09><><EFBFBD><EFBFBD>(&H)
@@ -109,7 +112,7 @@ menutrans &Keymap
menutrans &Tools <09><><EFBFBD><EFBFBD>(&T)
menutrans &Jump\ to\ this\ tag<Tab>g^] <09><>ת<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ tag(&J)<Tab>g^]
menutrans Jump\ &back<Tab>^T <09><>ת<EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&B)<Tab>^T
menutrans Build\ &Tags\ File <09><><EFBFBD><EFBFBD> Tags <20>ļ<EFBFBD>(&T)
menutrans Build\ &Tags\ File <09><><EFBFBD><EFBFBD>\ Tags\ <20>ļ<EFBFBD>(&T)
" Tools.Spelling Menu
menutrans &Spelling ƴд<EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&S)
@@ -209,7 +212,7 @@ menutrans Min\ Widt&h<Tab>^W1\|
menutrans &Undo <09><><EFBFBD><EFBFBD>(&U)
menutrans Cu&t <09><><EFBFBD><EFBFBD>(&T)
menutrans &Copy <09><><EFBFBD><EFBFBD>(&C)
menutrans &Paste ճ<EFBFBD><EFBFBD>(&P)
menutrans &Paste ճ<EFBFBD><EFBFBD>(&P)
menutrans &Delete ɾ<EFBFBD><EFBFBD>(&D)
menutrans Select\ Blockwise ѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
menutrans Select\ &Word ѡ<EFBFBD>񵥴<EFBFBD>(&W)
@@ -233,7 +236,7 @@ if has("toolbar")
tmenu ToolBar.Redo <09><><EFBFBD><EFBFBD>
tmenu ToolBar.Cut <09><><EFBFBD>е<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
tmenu ToolBar.Copy <09><><EFBFBD>Ƶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
tmenu ToolBar.Paste <09>Ӽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ճ<EFBFBD><EFBFBD>
tmenu ToolBar.Paste <09>Ӽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ճ<EFBFBD><EFBFBD>
tmenu ToolBar.Find <09><><EFBFBD><EFBFBD>...
tmenu ToolBar.FindNext <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>
tmenu ToolBar.FindPrev <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>

View File

@@ -1,6 +1,6 @@
" Vim script to work like "less"
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2006 May 07
" Last Change: 2006 Dec 05
" Avoid loading this file twice, allow the user to define his own script.
if exists("loaded_less")
@@ -168,7 +168,7 @@ fun! s:Forward()
else
noremap <script> N Hg0Nzt<SID>L
endif
cnoremap <script> <CR> <CR>:cunmap <lt>CR><CR>zt<SID>L
cnoremap <silent> <script> <CR> <CR>:cunmap <lt>CR><CR>zt<SID>L
endfun
fun! s:Backward()
@@ -179,7 +179,7 @@ fun! s:Backward()
noremap <script> n Hg0nzt<SID>L
endif
noremap <script> N H$Nzt<SID>L
cnoremap <script> <CR> <CR>:cunmap <lt>CR><CR>zt<SID>L
cnoremap <silent> <script> <CR> <CR>:cunmap <lt>CR><CR>zt<SID>L
endfun
call s:Forward()

View File

@@ -1,7 +1,7 @@
" matchit.vim: (global plugin) Extended "%" matching
" Last Change: Sun Feb 26 10:00 AM 2006 EST
" Last Change: Mon May 15 10:00 PM 2006 EDT
" Maintainer: Benji Fisher PhD <benji@member.AMS.org>
" Version: 1.10, for Vim 6.3
" Version: 1.11, for Vim 6.3+
" URL: http://www.vim.org/script.php?script_id=39
" Documentation:
@@ -15,7 +15,7 @@
" Support for many languages by Johannes Zellner
" Suggestions for improvement, bug reports, and support for additional
" languages by Jordi-Albert Batalla, Neil Bird, Servatius Brandt, Mark
" Collett, Stephen Wall, Dany St-Amant, and Johannes Zellner.
" Collett, Stephen Wall, Dany St-Amant, Yuheng Xie, and Johannes Zellner.
" Debugging:
" If you'd like to try the built-in debugging commands...
@@ -172,9 +172,10 @@ function! s:Match_wrapper(word, forward, mode) range
else " Find the match that ends on or after the cursor and set curcol.
let regexp = s:Wholematch(matchline, s:all, startcol-1)
let curcol = match(matchline, regexp)
let suf = strlen(matchline) - matchend(matchline, regexp)
let prefix = (curcol ? '^.\{' . curcol . '}\%(' : '^\%(')
let suffix = (suf ? '\).\{' . suf . '}$' : '\)$')
let endcol = matchend(matchline, regexp)
let suf = strlen(matchline) - endcol
let prefix = (curcol ? '^.*\%' . (curcol + 1) . 'c\%(' : '^\%(')
let suffix = (suf ? '\)\%' . (endcol + 1) . 'c.*$' : '\)$')
" If the match comes from the defaults, bail out.
if matchline !~ prefix .
\ substitute(s:pat, s:notslash.'\zs[,:]\+', '\\|', 'g') . suffix
@@ -262,10 +263,11 @@ function! s:Match_wrapper(word, forward, mode) range
normal! H
let restore_cursor = "normal!" . line(".") . "Gzt" . restore_cursor
execute restore_cursor
normal! 0
if curcol
execute "normal!" . curcol . "l"
endif
call cursor(0, curcol + 1)
" normal! 0
" if curcol
" execute "normal!" . curcol . "l"
" endif
if skip =~ 'synID' && !(has("syntax") && exists("g:syntax_on"))
let skip = "0"
else
@@ -415,9 +417,9 @@ endfun
" let match = matchstr(getline("."), regexp)
fun! s:Wholematch(string, pat, start)
let group = '\%(' . a:pat . '\)'
let prefix = (a:start ? '\(^.\{,' . a:start . '}\)\zs' : '^')
let prefix = (a:start ? '\(^.*\%<' . (a:start + 2) . 'c\)\zs' : '^')
let len = strlen(a:string)
let suffix = (a:start+1 < len ? '\(.\{,'.(len-a:start-1).'}$\)\@=' : '$')
let suffix = (a:start+1 < len ? '\(\%>'.(a:start+1).'c.*$\)\@=' : '$')
if a:string !~ prefix . group . suffix
let prefix = ''
endif

View File

@@ -0,0 +1,38 @@
" ---------------------------------------------------------------------
" getscriptPlugin.vim
" Author: Charles E. Campbell, Jr.
" Date: Jul 18, 2006
" Installing: :help glvs-install
" Usage: :help glvs
"
" GetLatestVimScripts: 642 1 :AutoInstall: GetLatestVimScripts.vim
"
" (Rom 15:11 WEB) Again, "Praise the Lord, all you Gentiles! Let
" all the peoples praise Him."
" ---------------------------------------------------------------------
" Initialization: {{{1
" if you're sourcing this file, surely you can't be
" expecting vim to be in its vi-compatible mode
if &cp || exists("g:loaded_getscriptPlugin")
if &verbose
echo "GetLatestVimScripts is not vi-compatible; not loaded (you need to set nocp)"
endif
finish
endif
let g:loaded_getscriptPlugin = 1
let s:keepfo = &fo
let s:keepcpo = &cpo
set cpo&vim
" ---------------------------------------------------------------------
" Public Interface: {{{1
com! -nargs=0 GetLatestVimScripts call getscript#GetLatestVimScripts()
com! -nargs=0 GetScripts call getscript#GetLatestVimScripts()
silent! com -nargs=0 GLVS call getscript#GetLatestVimScripts()
" Restore Options: {{{1
let &fo = s:keepfo
let &cpo= s:keepcpo
" ---------------------------------------------------------------------
" vim: ts=8 sts=2 fdm=marker nowrap

View File

@@ -1,4 +1,19 @@
# Aap recipe for Portuguese Vim spell files.
#
# Based on a shell script by Leonardo Fontenelle.
# His remarks:
#
# Makes a Vim pt dictionary from OpenOffice.org's pt_BR and pt_PT.
#
# AFAIK, will have to update the script every time a new dictionary is
# released for pt_BR. I asked the maintainer to update OOo's FTP site,
# but it didn't happen yet. As for the pt_PT dictionary, they won't be
# in OOo's FTP site for some time, because the Portuguese OOo project
# decided to adapt the pt_BR dictionary, which is much more extensive.
# I picked the Natura project unofficial dictionary, because it has been
# developed by a team with linguists, and for a longer time. At least the
# pt_PT dictionary has a "latest" file to make our lives easier.
# Use a freshly compiled Vim if it exists.
@if os.path.exists('../../../src/vim'):
@@ -10,15 +25,31 @@ SPELLDIR = ..
FILES = pt_PT.aff pt_PT.dic
pt_BR.aff pt_BR.dic
#
# Fetching the pt_PT files from the Natura project.
#
PT_DIR = http://natura.di.uminho.pt/download/sources/Dictionaries/myspell
PT_FNAME = myspell.pt-latest.zip
:attr {fetch = $PT_DIR/%file%} $PT_FNAME
#
# Fetching the pt_BR files from BrOffice.org (Brazilian OOo) 2.1. Should be
# updated really soon.
#
BR_DIR = http://www.deso-se.com.br/downloads/download.php?arquivo=pt_BR-2700g
BR_FNAME = pt_BR-2700g.zip
:attr {fetch = $BR_DIR} $BR_FNAME
all: $SPELLDIR/pt.latin1.spl $SPELLDIR/pt.utf-8.spl \
../README_pt.txt
$SPELLDIR/pt.latin1.spl : $FILES
:sys env LANG=pt_PT.ISO8859-1
:sys env LANG=pt_PT.ISO8859-1 LC_ALL=pt_PT.ISO8859-1
$VIM -u NONE -e -c "mkspell! $SPELLDIR/pt pt_PT pt_BR" -c q
$SPELLDIR/pt.utf-8.spl : $FILES
:sys env LANG=pt_PT.UTF-8
:sys env LANG=pt_PT.UTF-8 LC_ALL=pt_PT.UTF-8
$VIM -u NONE -e -c "mkspell! $SPELLDIR/pt pt_PT pt_BR" -c q
../README_pt.txt: README_pt_PT.txt README_pt_BR.txt
@@ -26,23 +57,21 @@ $SPELLDIR/pt.utf-8.spl : $FILES
:cat README_pt_PT.txt | :eval re.sub('\r', '', stdin) >>$target
:print =================================================== >>$target
:print pt_BR: >>$target
:cat README_pt_BR.txt | :eval re.sub('\r', '', stdin) >>$target
#
# Fetching the files from OpenOffice.org.
#
OODIR = http://ftp.services.openoffice.org/pub/OpenOffice.org/contrib/dictionaries
:attr {fetch = $OODIR/%file%} pt_PT.zip pt_BR.zip
:print Information is in Leia-me.pdf, see $BR_DIR >>$target
:cat README_pt_BR.txt >>$target
# The files don't depend on the .zip file so that we can delete it.
# Only download the zip file if the targets don't exist.
pt_PT.aff pt_PT.dic: {buildcheck=}
:assertpkg unzip patch
:fetch pt_PT.zip
:sys $UNZIP pt_PT.zip
:delete pt_PT.zip
:sys $VIM pt_PT.dic -e -c "set ff=unix" -c update -c q
:sys $VIM README_pt_PT.txt -e -c "set ff=unix" -c update -c q
:fetch $PT_FNAME
:sys $UNZIP $PT_FNAME
:delete $PT_FNAME
:move myspell.pt-*/pt_PT.dic .
:move myspell.pt-*/pt_PT.aff .
:move myspell.pt-*/README_pt_PT.txt .
:move myspell.pt-*/COPYING COPYING_pt_PT.txt
:deldir myspell.pt-*
@if not os.path.exists('pt_PT.orig.aff'):
:copy pt_PT.aff pt_PT.orig.aff
@if not os.path.exists('pt_PT.orig.dic'):
@@ -52,12 +81,22 @@ pt_PT.aff pt_PT.dic: {buildcheck=}
pt_BR.aff pt_BR.dic: {buildcheck=}
:assertpkg unzip patch
:fetch pt_BR.zip
:sys $UNZIP pt_BR.zip
:delete pt_BR.zip
:sys $VIM pt_BR.aff -e -c "set ff=unix" -c update -c q
:sys $VIM pt_BR.dic -e -c "set ff=unix" -c update -c q
:sys $VIM README_pt_BR.txt -e -c "set ff=unix" -c update -c q
:fetch $BR_FNAME
:sys $UNZIP $BR_FNAME
:delete $BR_FNAME
:move Leia-me.pdf Leia-me_pt_BR.pdf
# 1. pt_BR.dic contains a cp1252-specific character.
# Changing it to its latin1 equivalent.
# 2. Vim seems to ignore the dots from the word list.
# Removing words with dot to avoid misbehaviour.
:sys $VIM pt_BR.dic -e -c "set ff=unix" -c "%s/\%x92/'/g" -c "/\./d" -c update -c q
# Removing /* ... */ header to avoid warnings. Write it to the README file, it
# contains the copyright notice.
:sys $VIM pt_BR.aff -e -c "set ff=unix" -c "/\/\*/,/\*\//w README_pt_BR.txt" -c "/\/\*/,/\*\//+1d" -c update -c q
#:sys $VIM README_pt_BR.txt -e -c "set ff=unix" -c update -c q
@if not os.path.exists('pt_BR.orig.aff'):
:copy pt_BR.aff pt_BR.orig.aff
@if not os.path.exists('pt_BR.orig.dic'):
@@ -79,10 +118,11 @@ diff:
# Check for updated OpenOffice spell files. When there are changes the
# ".new.aff" and ".new.dic" files are left behind for manual inspection.
# TO BE IMPLEMENTED
check: check-us check-au
check: check-pt check-br
check-us:
check-pt:
:assertpkg unzip diff
:fetch pt_PT.zip
:mkdir tmp
@@ -101,7 +141,7 @@ check-us:
:delete {r}{f}{q} tmp
:delete pt_PT.zip
check-au:
check-br:
:assertpkg unzip diff
:fetch pt_BR.zip
:mkdir tmp

View File

@@ -1,46 +1,12 @@
*** pt_BR.orig.aff Wed Aug 31 20:05:18 2005
--- pt_BR.aff Wed Aug 31 20:05:18 2005
*** pt_BR.orig.aff Mon Apr 16 15:38:54 2007
--- pt_BR.aff Mon Apr 16 15:49:01 2007
***************
*** 3,4 ****
--- 3,22 ----
--- 3,9 ----
+ FOL <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
+ LOW <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
+ UPP <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
+
+ SOFOFROM abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ<59><5A><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޿
+ SOFOTO ebctefghejklnnepkrstevvkesebctefghejklnnepkrstevvkeseeeeeeeceeeeeeeedneeeeeeeeeeepseeeeeeeeceeeeeeeedneeeeeeeeeeep?
+
+ MAP 9
+ MAP a<><61><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
+ MAP e<><65><EFBFBD><EFBFBD>
+ MAP i<><69><EFBFBD><EFBFBD>
+ MAP o<><6F><EFBFBD><EFBFBD><EFBFBD>
+ MAP u<><75><EFBFBD><EFBFBD>
+ MAP n<>
+ MAP c<>
+ MAP y<><79>
+ MAP s<>
+
# Plural apenas
***************
*** 526,534 ****
SFX I ar <20>s dar
! SFX I iar eia [^]iar
! SFX I iar eiam [^]iar
! SFX I iar eias [^]iar
! SFX I iar eie [^]iar
! SFX I iar eiem [^]iar
! SFX I iar eies [^]iar
! SFX I iar eio [^]iar
SFX I oiar <20>ia oiar
--- 544,552 ----
SFX I ar <20>s dar
! SFX I iar eia [^o]iar
! SFX I iar eiam [^o]iar
! SFX I iar eias [^o]iar
! SFX I iar eie [^o]iar
! SFX I iar eiem [^o]iar
! SFX I iar eies [^o]iar
! SFX I iar eio [^o]iar
SFX I oiar <20>ia oiar
+ MIDWORD '

View File

@@ -1,287 +1,367 @@
" Vim syntax file
" Language: Ada (95)
" Maintainer: David A. Wheeler <dwheeler@dwheeler.com>
" URL: http://www.dwheeler.com/vim
" Last Change: 2001-11-02
"----------------------------------------------------------------------------
" Description: Vim Ada syntax file
" Language: Ada (2005)
" $Id$
" Copyright: Copyright (C) 2006 Martin Krischik
" Maintainer: Martin Krischik
" David A. Wheeler <dwheeler@dwheeler.com>
" Simon Bradley <simon.bradley@pitechnology.com>
" Contributors: Preben Randhol.
" $Author$
" $Date$
" Version: 4.2
" $Revision$
" $HeadURL: https://svn.sourceforge.net/svnroot/gnuada/trunk/tools/vim/syntax/ada.vim $
" http://www.dwheeler.com/vim
" History: 24.05.2006 MK Unified Headers
" 26.05.2006 MK ' should not be in iskeyword.
" 16.07.2006 MK Ada-Mode as vim-ball
" 02.10.2006 MK Better folding.
" 15.10.2006 MK Bram's suggestion for runtime integration
" 05.11.2006 MK Spell check for comments and strings only
" 05.11.2006 MK Bram suggested to save on spaces
" Help Page: help ft-ada-syntax
"------------------------------------------------------------------------------
" The formal spec of Ada 2005 (ARM) is the "Ada 2005 Reference Manual".
" For more Ada 2005 info, see http://www.gnuada.org and http://www.adapower.com.
"
" This vim syntax file works on vim 7.0 only and makes use of most of Voim 7.0
" advanced features.
"------------------------------------------------------------------------------
" Former Maintainer: Simon Bradley <simon.bradley@pitechnology.com>
" (was <sib93@aber.ac.uk>)
" Other contributors: Preben Randhol.
" The formal spec of Ada95 (ARM) is the "Ada95 Reference Manual".
" For more Ada95 info, see http://www.gnuada.org and http://www.adapower.com.
" This vim syntax file works on vim 5.6, 5.7, 5.8 and 6.x.
" It implements Bram Moolenaar's April 25, 2001 recommendations to make
" the syntax file maximally portable across different versions of vim.
" If vim 6.0+ is available,
" this syntax file takes advantage of the vim 6.0 advanced pattern-matching
" functions to avoid highlighting uninteresting leading spaces in
" some expressions containing "with" and "use".
" For version 5.x: Clear all syntax items
" For version 6.x: Quit when a syntax file was already loaded
if version < 600
syntax clear
elseif exists("b:current_syntax")
finish
if exists("b:current_syntax") || version < 700
finish
endif
" Ada is entirely case-insensitive.
syn case ignore
let b:current_syntax = "ada"
" We don't need to look backwards to highlight correctly;
" this speeds things up greatly.
syn sync minlines=1 maxlines=1
" Section: Ada is entirely case-insensitive. {{{1
"
syntax case ignore
setlocal nosmartcase
setlocal ignorecase
" Highlighting commands. There are 69 reserved words in total in Ada95.
" Some keywords are used in more than one way. For example:
" Section: Highlighting commands {{{1
"
" There are 72 reserved words in total in Ada2005. Some keywords are
" used in more than one way. For example:
" 1. "end" is a general keyword, but "end if" ends a Conditional.
" 2. "then" is a conditional, but "and then" is an operator.
"
for b:Item in g:ada#Keywords
" Standard Exceptions (including I/O).
" We'll highlight the standard exceptions, similar to vim's Python mode.
" It's possible to redefine the standard exceptions as something else,
" but doing so is very bad practice, so simply highlighting them makes sense.
if b:Item['kind'] == "x"
execute "syntax keyword adaException " . b:Item['word']
endif
if b:Item['kind'] == "a"
execute 'syntax match adaAttribute "\V' . b:Item['word'] . '"'
endif
" We don't normally highlight types in package Standard
" (Integer, Character, Float, etc.). I don't think it looks good
" with the other type keywords, and many Ada programs define
" so many of their own types that it looks inconsistent.
" However, if you want this highlighting, turn on "ada_standard_types".
" For package Standard's definition, see ARM section A.1.
if b:Item['kind'] == "t" && exists ("g:ada_standard_types")
execute "syntax keyword adaBuiltinType " . b:Item['word']
endif
endfor
" Section: others {{{1
"
syntax keyword adaLabel others
" Standard Exceptions (including I/O).
" We'll highlight the standard exceptions, similar to vim's Python mode.
" It's possible to redefine the standard exceptions as something else,
" but doing so is very bad practice, so simply highlighting them makes sense.
syn keyword adaException Constraint_Error Program_Error Storage_Error
syn keyword adaException Tasking_Error
syn keyword adaException Status_Error Mode_Error Name_Error Use_Error
syn keyword adaException Device_Error End_Error Data_Error Layout_Error
syn keyword adaException Length_Error Pattern_Error Index_Error
syn keyword adaException Translation_Error
syn keyword adaException Time_Error Argument_Error
syn keyword adaException Tag_Error
syn keyword adaException Picture_Error
" Interfaces
syn keyword adaException Terminator_Error Conversion_Error
syn keyword adaException Pointer_Error Dereference_Error Update_Error
" This isn't in the Ada spec, but a GNAT extension.
syn keyword adaException Assert_Failure
" We don't list ALL exceptions defined in particular compilers (e.g., GNAT),
" because it's quite reasonable to define those phrases as non-exceptions.
" Section: Operatoren {{{1
"
syntax keyword adaOperator abs mod not rem xor
syntax match adaOperator "\<and\>"
syntax match adaOperator "\<and\s\+then\>"
syntax match adaOperator "\<or\>"
syntax match adaOperator "\<or\s\+else\>"
syntax match adaOperator "[-+*/<>&]"
syntax keyword adaOperator **
syntax match adaOperator "[/<>]="
syntax keyword adaOperator =>
syntax match adaOperator "\.\."
syntax match adaOperator "="
" Section: <> {{{1
"
" Handle the box, <>, specially:
"
syntax keyword adaSpecial <>
" We don't normally highlight types in package Standard
" (Integer, Character, Float, etc.). I don't think it looks good
" with the other type keywords, and many Ada programs define
" so many of their own types that it looks inconsistent.
" However, if you want this highlighting, turn on "ada_standard_types".
" For package Standard's definition, see ARM section A.1.
if exists("ada_standard_types")
syn keyword adaBuiltinType Boolean Integer Natural Positive Float
syn keyword adaBuiltinType Character Wide_Character
syn keyword adaBuiltinType String Wide_String
syn keyword adaBuiltinType Duration
" These aren't listed in ARM section A.1's code, but they're noted as
" options in ARM sections 3.5.4 and 3.5.7:
syn keyword adaBuiltinType Short_Integer Short_Short_Integer
syn keyword adaBuiltinType Long_Integer Long_Long_Integer
syn keyword adaBuiltinType Short_Float Short_Short_Float
syn keyword adaBuiltinType Long_Float Long_Long_Float
" Section: rainbow color {{{1
"
if exists("g:ada_rainbow_color")
syntax match adaSpecial "[:;.,]"
runtime plugin/Rainbow_Parenthsis.vim
else
syntax match adaSpecial "[:;().,]"
endif
" There are MANY other predefined types; they've not been added, because
" determining when they're a type requires context in general.
" One potential addition would be Unbounded_String.
syn keyword adaLabel others
syn keyword adaOperator abs mod not rem xor
syn match adaOperator "\<and\>"
syn match adaOperator "\<and\s\+then\>"
syn match adaOperator "\<or\>"
syn match adaOperator "\<or\s\+else\>"
syn match adaOperator "[-+*/<>&]"
syn keyword adaOperator **
syn match adaOperator "[/<>]="
syn keyword adaOperator =>
syn match adaOperator "\.\."
syn match adaOperator "="
" Section: := {{{1
"
" We won't map "adaAssignment" by default, but we need to map ":=" to
" something or the "=" inside it will be mislabelled as an operator.
" Note that in Ada, assignment (:=) is not considered an operator.
syn match adaAssignment ":="
"
syntax match adaAssignment ":="
" Handle the box, <>, specially:
syn keyword adaSpecial <>
" Section: Numbers, including floating point, exponents, and alternate bases. {{{1
"
syntax match adaNumber "\<\d[0-9_]*\(\.\d[0-9_]*\)\=\([Ee][+-]\=\d[0-9_]*\)\=\>"
syntax match adaNumber "\<\d\d\=#\x[0-9A-Fa-f_]*\(\.\x[0-9A-Fa-f_]*\)\=#\([Ee][+-]\=\d[0-9_]*\)\="
" Numbers, including floating point, exponents, and alternate bases.
syn match adaNumber "\<\d[0-9_]*\(\.\d[0-9_]*\)\=\([Ee][+-]\=\d[0-9_]*\)\=\>"
syn match adaNumber "\<\d\d\=#\x[0-9A-Fa-f_]*\(\.\x[0-9A-Fa-f_]*\)\=#\([Ee][+-]\=\d[0-9_]*\)\="
" Section: Identify leading numeric signs {{{1
"
" In "A-5" the "-" is an operator, " but in "A:=-5" the "-" is a sign. This
" handles "A3+-5" (etc.) correctly. " This assumes that if you put a
" don't put a space after +/- when it's used " as an operator, you won't
" put a space before it either -- which is true " in code I've seen.
"
syntax match adaSign "[[:space:]<>=(,|:;&*/+-][+-]\d"lc=1,hs=s+1,he=e-1,me=e-1
" Identify leading numeric signs. In "A-5" the "-" is an operator,
" but in "A:=-5" the "-" is a sign. This handles "A3+-5" (etc.) correctly.
" This assumes that if you put a don't put a space after +/- when it's used
" as an operator, you won't put a space before it either -- which is true
" in code I've seen.
syn match adaSign "[[:space:]<>=(,|:;&*/+-][+-]\d"lc=1,hs=s+1,he=e-1,me=e-1
" Labels for the goto statement.
syn region adaLabel start="<<" end=">>"
" Section: Labels for the goto statement. {{{1
"
syntax region adaLabel start="<<" end=">>"
" Section: Boolean Constants {{{1
" Boolean Constants.
syn keyword adaBoolean true false
syntax keyword adaBoolean true false
" Section: Warn C/C++ {{{1
"
" Warn people who try to use C/C++ notation erroneously:
syn match adaError "//"
syn match adaError "/\*"
syn match adaError "=="
"
syntax match adaError "//"
syntax match adaError "/\*"
syntax match adaError "=="
if exists("ada_space_errors")
if !exists("ada_no_trail_space_error")
syn match adaSpaceError excludenl "\s\+$"
endif
if !exists("ada_no_tab_space_error")
syn match adaSpaceError " \+\t"me=e-1
endif
" Section: Space Errors {{{1
"
if exists("g:ada_space_errors")
if !exists("g:ada_no_trail_space_error")
syntax match adaSpaceError excludenl "\s\+$"
endif
if !exists("g:ada_no_tab_space_error")
syntax match adaSpaceError " \+\t"me=e-1
endif
if !exists("g:ada_all_tab_usage")
syntax match adaSpecial "\t"
endif
endif
" Section: end {{{1
" Unless special ("end loop", "end if", etc.), "end" marks the end of a
" begin, package, task etc. Assiging it to adaEnd.
syn match adaEnd "\<end\>"
syntax match adaEnd "\<end\>"
syn keyword adaPreproc pragma
syntax keyword adaPreproc pragma
syn keyword adaRepeat exit for loop reverse while
syn match adaRepeat "\<end\s\+loop\>"
syntax keyword adaRepeat exit for loop reverse while
syntax match adaRepeat "\<end\s\+loop\>"
syn keyword adaStatement accept delay goto raise requeue return
syn keyword adaStatement terminate
syn match adaStatement "\<abort\>"
syntax keyword adaStatement accept delay goto raise requeue return
syntax keyword adaStatement terminate
syntax match adaStatement "\<abort\>"
" Handle Ada's record keywords.
" Section: Handle Ada's record keywords. {{{1
"
" 'record' usually starts a structure, but "with null record;" does not,
" and 'end record;' ends a structure. The ordering here is critical -
" 'record;' matches a "with null record", so make it a keyword (this can
" match when the 'with' or 'null' is on a previous line).
" We see the "end" in "end record" before the word record, so we match that
" pattern as adaStructure (and it won't match the "record;" pattern).
syn match adaStructure "\<record\>"
syn match adaStructure "\<end\s\+record\>"
syn match adaKeyword "\<record;"me=e-1
"
syntax match adaStructure "\<record\>" contains=adaRecord
syntax match adaStructure "\<end\s\+record\>" contains=adaRecord
syntax match adaKeyword "\<record;"me=e-1
syn keyword adaStorageClass abstract access aliased array at constant delta
syn keyword adaStorageClass digits limited of private range tagged
syn keyword adaTypedef subtype type
" Section: type classes {{{1
"
syntax keyword adaStorageClass abstract access aliased array at constant delta
syntax keyword adaStorageClass digits limited of private range tagged
syntax keyword adaStorageClass interface synchronized
syntax keyword adaTypedef subtype type
" Conditionals. "abort" after "then" is a conditional of its own.
syn match adaConditional "\<then\>"
syn match adaConditional "\<then\s\+abort\>"
syn match adaConditional "\<else\>"
syn match adaConditional "\<end\s\+if\>"
syn match adaConditional "\<end\s\+case\>"
syn match adaConditional "\<end\s\+select\>"
syn keyword adaConditional if case select
syn keyword adaConditional elsif when
" Section: Conditionals {{{1
"
" "abort" after "then" is a conditional of its own.
"
syntax match adaConditional "\<then\>"
syntax match adaConditional "\<then\s\+abort\>"
syntax match adaConditional "\<else\>"
syntax match adaConditional "\<end\s\+if\>"
syntax match adaConditional "\<end\s\+case\>"
syntax match adaConditional "\<end\s\+select\>"
syntax keyword adaConditional if case select
syntax keyword adaConditional elsif when
syn keyword adaKeyword all do exception in is new null out
syn keyword adaKeyword separate until
" Section: other keywords {{{1
syntax match adaKeyword "\<is\>" contains=adaRecord
syntax keyword adaKeyword all do exception in new null out
syntax keyword adaKeyword separate until overriding
" Section: begin keywords {{{1
"
" These keywords begin various constructs, and you _might_ want to
" highlight them differently.
syn keyword adaBegin begin body declare entry function generic
syn keyword adaBegin package procedure protected renames task
"
syntax keyword adaBegin begin body declare entry generic
syntax keyword adaBegin protected renames task
syntax match adaBegin "\<function\>" contains=adaFunction
syntax match adaBegin "\<procedure\>" contains=adaProcedure
syntax match adaBegin "\<package\>" contains=adaPackage
if exists("ada_with_gnat_project_files")
syntax keyword adaBegin project
endif
" Section: with, use {{{1
"
if exists("ada_withuse_ordinary")
" Don't be fancy. Display "with" and "use" as ordinary keywords in all cases.
syn keyword adaKeyword with use
" Don't be fancy. Display "with" and "use" as ordinary keywords in all cases.
syntax keyword adaKeyword with use
else
" Highlight "with" and "use" clauses like C's "#include" when they're used
" to reference other compilation units; otherwise they're ordinary keywords.
" If we have vim 6.0 or later, we'll use its advanced pattern-matching
" capabilities so that we won't match leading spaces.
syn match adaKeyword "\<with\>"
syn match adaKeyword "\<use\>"
if version < 600
syn match adaBeginWith "^\s*\(\(with\(\s\+type\)\=\)\|\(use\)\)\>" contains=adaInc
syn match adaSemiWith ";\s*\(\(with\(\s\+type\)\=\)\|\(use\)\)\>"lc=1 contains=adaInc
else
syn match adaBeginWith "^\s*\zs\(\(with\(\s\+type\)\=\)\|\(use\)\)\>" contains=adaInc
syn match adaSemiWith ";\s*\zs\(\(with\(\s\+type\)\=\)\|\(use\)\)\>" contains=adaInc
endif
syn match adaInc "\<with\>" contained contains=NONE
syn match adaInc "\<with\s\+type\>" contained contains=NONE
syn match adaInc "\<use\>" contained contains=NONE
" Recognize "with null record" as a keyword (even the "record").
syn match adaKeyword "\<with\s\+null\s\+record\>"
" Consider generic formal parameters of subprograms and packages as keywords.
if version < 600
syn match adaKeyword ";\s*with\s\+\(function\|procedure\|package\)\>"
syn match adaKeyword "^\s*with\s\+\(function\|procedure\|package\)\>"
else
syn match adaKeyword ";\s*\zswith\s\+\(function\|procedure\|package\)\>"
syn match adaKeyword "^\s*\zswith\s\+\(function\|procedure\|package\)\>"
endif
" Highlight "with" and "use" clauses like C's "#include" when they're used
" to reference other compilation units; otherwise they're ordinary keywords.
" If we have vim 6.0 or later, we'll use its advanced pattern-matching
" capabilities so that we won't match leading spaces.
syntax match adaKeyword "\<with\>"
syntax match adaKeyword "\<use\>"
syntax match adaBeginWith "^\s*\zs\(\(with\(\s\+type\)\=\)\|\(use\)\)\>" contains=adaInc
syntax match adaSemiWith ";\s*\zs\(\(with\(\s\+type\)\=\)\|\(use\)\)\>" contains=adaInc
syntax match adaInc "\<with\>" contained contains=NONE
syntax match adaInc "\<with\s\+type\>" contained contains=NONE
syntax match adaInc "\<use\>" contained contains=NONE
" Recognize "with null record" as a keyword (even the "record").
syntax match adaKeyword "\<with\s\+null\s\+record\>"
" Consider generic formal parameters of subprograms and packages as keywords.
syntax match adaKeyword ";\s*\zswith\s\+\(function\|procedure\|package\)\>"
syntax match adaKeyword "^\s*\zswith\s\+\(function\|procedure\|package\)\>"
endif
" Section: String and character constants. {{{1
"
syntax region adaString contains=@Spell start=+"+ skip=+""+ end=+"+
syntax match adaCharacter "'.'"
" String and character constants.
syn region adaString start=+"+ skip=+""+ end=+"+
syn match adaCharacter "'.'"
" Section: Todo (only highlighted in comments) {{{1
"
syntax keyword adaTodo contained TODO FIXME XXX NOTE
" Todo (only highlighted in comments)
syn keyword adaTodo contained TODO FIXME XXX
" Section: Comments. {{{1
"
syntax region adaComment
\ oneline
\ contains=adaTodo,adaLineError,@Spell
\ start="--"
\ end="$"
" Comments.
syn region adaComment oneline contains=adaTodo start="--" end="$"
" Section: line errors {{{1
"
" Note: Line errors have become quite slow with Vim 7.0
"
if exists("g:ada_line_errors")
syntax match adaLineError "\(^.\{79}\)\@<=." contains=ALL containedin=ALL
endif
" Section: syntax folding {{{1
"
" Syntax folding is very tricky - for now I still suggest to use
" indent folding
"
if exists("g:ada_folding") && g:ada_folding[0] == 's'
if stridx (g:ada_folding, 'p') >= 0
syntax region adaPackage
\ start="\(\<package\s\+body\>\|\<package\>\)\s*\z(\k*\)"
\ end="end\s\+\z1\s*;"
\ keepend extend transparent fold contains=ALL
endif
if stridx (g:ada_folding, 'f') >= 0
syntax region adaProcedure
\ start="\<procedure\>\s*\z(\k*\)"
\ end="\<end\>\s\+\z1\s*;"
\ keepend extend transparent fold contains=ALL
syntax region adaFunction
\ start="\<procedure\>\s*\z(\k*\)"
\ end="end\s\+\z1\s*;"
\ keepend extend transparent fold contains=ALL
endif
if stridx (g:ada_folding, 'f') >= 0
syntax region adaRecord
\ start="\<is\s\+record\>"
\ end="\<end\s\+record\>"
\ keepend extend transparent fold contains=ALL
endif
endif
" Section: The default methods for highlighting. Can be overridden later. {{{1
"
highlight def link adaCharacter Character
highlight def link adaComment Comment
highlight def link adaConditional Conditional
highlight def link adaKeyword Keyword
highlight def link adaLabel Label
highlight def link adaNumber Number
highlight def link adaSign Number
highlight def link adaOperator Operator
highlight def link adaPreproc PreProc
highlight def link adaRepeat Repeat
highlight def link adaSpecial Special
highlight def link adaStatement Statement
highlight def link adaString String
highlight def link adaStructure Structure
highlight def link adaTodo Todo
highlight def link adaType Type
highlight def link adaTypedef Typedef
highlight def link adaStorageClass StorageClass
highlight def link adaBoolean Boolean
highlight def link adaException Exception
highlight def link adaAttribute Tag
highlight def link adaInc Include
highlight def link adaError Error
highlight def link adaSpaceError Error
highlight def link adaLineError Error
highlight def link adaBuiltinType Type
highlight def link adaAssignment Special
" Define the default highlighting.
" For version 5.7 and earlier: only when not done already
" For version 5.8 and later: only when an item doesn't have highlighting yet
if version >= 508 || !exists("did_ada_syn_inits")
if version < 508
let did_ada_syn_inits = 1
command -nargs=+ HiLink hi link <args>
else
command -nargs=+ HiLink hi def link <args>
endif
" The default methods for highlighting. Can be overridden later.
HiLink adaCharacter Character
HiLink adaComment Comment
HiLink adaConditional Conditional
HiLink adaKeyword Keyword
HiLink adaLabel Label
HiLink adaNumber Number
HiLink adaSign Number
HiLink adaOperator Operator
HiLink adaPreproc PreProc
HiLink adaRepeat Repeat
HiLink adaSpecial Special
HiLink adaStatement Statement
HiLink adaString String
HiLink adaStructure Structure
HiLink adaTodo Todo
HiLink adaType Type
HiLink adaTypedef Typedef
HiLink adaStorageClass StorageClass
HiLink adaBoolean Boolean
HiLink adaException Exception
HiLink adaInc Include
HiLink adaError Error
HiLink adaSpaceError Error
HiLink adaBuiltinType Type
if exists("ada_begin_preproc")
" Subsection: Begin, End {{{2
"
if exists ("ada_begin_preproc")
" This is the old default display:
HiLink adaBegin PreProc
HiLink adaEnd PreProc
else
highlight def link adaBegin PreProc
highlight def link adaEnd PreProc
else
" This is the new default display:
HiLink adaBegin Keyword
HiLink adaEnd Keyword
endif
delcommand HiLink
highlight def link adaBegin Keyword
highlight def link adaEnd Keyword
endif
let b:current_syntax = "ada"
" vim: ts=8
" Section: formatoptions {{{1
"
setlocal formatoptions+=ron
" Section: sync {{{1
"
" We don't need to look backwards to highlight correctly;
" this speeds things up greatly.
syntax sync minlines=1 maxlines=1
finish " 1}}}
"------------------------------------------------------------------------------
" Copyright (C) 2006 Martin Krischik
"
" Vim is Charityware - see ":help license" or uganda.txt for licence details.
"------------------------------------------------------------------------------
"vim: textwidth=78 nowrap tabstop=8 shiftwidth=3 softtabstop=3 noexpandtab
"vim: foldmethod=marker

View File

@@ -1,7 +1,6 @@
" Vim syntax file
" Language: BibTeX Bibliography Style
" Maintainer: Tim Pope <vim@rebelongto.us>
" Last Change: 2006 Apr 27
" Maintainer: Tim Pope <vimNOSPAM@tpope.info>
" Filenames: *.bst
" $Id$
@@ -23,7 +22,11 @@ delcommand SetIsk
syn case ignore
syn region bstString start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=bstField,bstType
syn match bstString +"[^"]*\%("\|$\)+ contains=bstField,bstType,bstError
" Highlight the last character of an unclosed string, but only when the cursor
" is not beyond it (i.e., it is still being edited). Imperfect.
syn match bstError '[^"]\%#\@!$' contained
syn match bstNumber "#-\=\d\+\>"
syn keyword bstNumber entry.max$ global.max$
syn match bstComment "%.*"
@@ -77,6 +80,7 @@ if version >= 508 || !exists("did_bst_syn_inits")
HiLink bstNumber Number
HiLink bstType Type
HiLink bstIdentifier Identifier
HiLink bstError Error
delcommand HiLink
endif

View File

@@ -1,9 +1,10 @@
" Vim syntax file
" Language: COBOL
" Maintainers: Davyd Ondrejko <vondraco@columbus.rr.com>
" Language: COBOL
" Maintainer: Tim Pope <vimNOSPAM@tpope.info>
" (formerly Davyd Ondrejko <vondraco@columbus.rr.com>)
" (formerly Sitaram Chamarty <sitaram@diac.com> and
" James Mitchell <james_mitchell@acm.org>)
" Last change: 2001 Sep 02
" $Id$
" For version 5.x: Clear all syntax items
" For version 6.x: Quit when a syntax file was already loaded
@@ -22,77 +23,97 @@ endif
syn case ignore
syn match cobolKeys "^\a\{1,6\}" contains=cobolReserved
syn cluster cobolStart contains=cobolAreaA,cobolAreaB,cobolComment,cobolCompiler
syn cluster cobolAreaA contains=cobolParagraph,cobolSection,cobolDivision
"syn cluster cobolAreaB contains=
syn cluster cobolAreaAB contains=cobolLine
syn cluster cobolLine contains=cobolReserved
syn match cobolMarker "^\%( \{,5\}[^ ]\)\@=.\{,6}" nextgroup=@cobolStart
syn match cobolSpace "^ \{6\}" nextgroup=@cobolStart
syn match cobolAreaA " \{1,4\}" contained nextgroup=@cobolAreaA,@cobolAreaAB
syn match cobolAreaB " \{5,\}\|- *" contained nextgroup=@cobolAreaB,@cobolAreaAB
syn match cobolComment "[/*C].*$" contained
syn match cobolCompiler "$.*$" contained
syn match cobolLine ".*$" contained contains=cobolReserved,@cobolLine
syn match cobolDivision "[A-Z][A-Z0-9-]*[A-Z0-9]\s\+DIVISION\."he=e-1 contained contains=cobolDivisionName
syn keyword cobolDivisionName contained IDENTIFICATION ENVIRONMENT DATA PROCEDURE
syn match cobolSection "[A-Z][A-Z0-9-]*[A-Z0-9]\s\+SECTION\."he=e-1 contained contains=cobolSectionName
syn keyword cobolSectionName contained CONFIGURATION INPUT-OUTPUT FILE WORKING-STORAGE LOCAL-STORAGE LINKAGE
syn match cobolParagraph "\a[A-Z0-9-]*[A-Z0-9]\.\|\d[A-Z0-9-]*[A-Z]\."he=e-1 contained contains=cobolParagraphName
syn keyword cobolParagraphName contained PROGRAM-ID SOURCE-COMPUTER OBJECT-COMPUTER SPECIAL-NAMES FILE-CONTROL I-O-CONTROL
"syn match cobolKeys "^\a\{1,6\}" contains=cobolReserved
syn keyword cobolReserved contained ACCEPT ACCESS ADD ADDRESS ADVANCING AFTER ALPHABET ALPHABETIC
syn keyword cobolReserved contained ALPHABETIC-LOWER ALPHABETIC-UPPER ALPHANUMERIC ALPHANUMERIC-EDITED ALS
syn keyword cobolReserved contained ALTERNATE AND ANY ARE AREA AREAS ASCENDING ASSIGN AT AUTHOR BEFORE BINARY
syn keyword cobolReserved contained BLANK BLOCK BOTTOM BY CANCEL CBLL CD CF CH CHARACTER CHARACTERS CLASS
syn keyword cobolReserved contained CLOCK-UNITS CLOSE COBOL CODE CODE-SET COLLATING COLUMN COMMA COMMON
syn keyword cobolReserved contained COMMUNICATIONS COMPUTATIONAL COMPUTE CONFIGURATION CONTENT CONTINUE
syn keyword cobolReserved contained CONTROL CONVERTING CORR CORRESPONDING COUNT CURRENCY DATA DATE DATE-COMPILED
syn keyword cobolReserved contained COMMUNICATIONS COMPUTATIONAL COMPUTE CONTENT CONTINUE
syn keyword cobolReserved contained CONTROL CONVERTING CORR CORRESPONDING COUNT CURRENCY DATE DATE-COMPILED
syn keyword cobolReserved contained DATE-WRITTEN DAY DAY-OF-WEEK DE DEBUG-CONTENTS DEBUG-ITEM DEBUG-LINE
syn keyword cobolReserved contained DEBUG-NAME DEBUG-SUB-1 DEBUG-SUB-2 DEBUG-SUB-3 DEBUGGING DECIMAL-POINT
syn keyword cobolReserved contained DELARATIVES DELETE DELIMITED DELIMITER DEPENDING DESCENDING DESTINATION
syn keyword cobolReserved contained DETAIL DISABLE DISPLAY DIVIDE DIVISION DOWN DUPLICATES DYNAMIC EGI ELSE EMI
syn keyword cobolReserved contained ENABLE END-ADD END-COMPUTE END-DELETE END-DIVIDE END-EVALUATE END-IF
syn keyword cobolReserved contained END-MULTIPLY END-OF-PAGE END-PERFORM END-READ END-RECEIVE END-RETURN
syn keyword cobolReserved contained END-MULTIPLY END-OF-PAGE END-READ END-RECEIVE END-RETURN
syn keyword cobolReserved contained END-REWRITE END-SEARCH END-START END-STRING END-SUBTRACT END-UNSTRING
syn keyword cobolReserved contained END-WRITE ENVIRONMENT EQUAL ERROR ESI EVALUATE EVERY EXCEPTION EXIT
syn keyword cobolReserved contained EXTEND EXTERNAL FALSE FD FILE FILE-CONTROL FILLER FINAL FIRST FOOTING FOR FROM
syn keyword cobolReserved contained END-WRITE EQUAL ERROR ESI EVALUATE EVERY EXCEPTION EXIT
syn keyword cobolReserved contained EXTEND EXTERNAL FALSE FD FILLER FINAL FIRST FOOTING FOR FROM
syn keyword cobolReserved contained GENERATE GIVING GLOBAL GREATER GROUP HEADING HIGH-VALUE HIGH-VALUES I-O
syn keyword cobolReserved contained I-O-CONTROL IDENTIFICATION IN INDEX INDEXED INDICATE INITIAL INITIALIZE
syn keyword cobolReserved contained INITIATE INPUT INPUT-OUTPUT INSPECT INSTALLATION INTO IS JUST
syn keyword cobolReserved contained IN INDEX INDEXED INDICATE INITIAL INITIALIZE
syn keyword cobolReserved contained INITIATE INPUT INSPECT INSTALLATION INTO IS JUST
syn keyword cobolReserved contained JUSTIFIED KEY LABEL LAST LEADING LEFT LENGTH LOCK MEMORY
syn keyword cobolReserved contained MERGE MESSAGE MODE MODULES MOVE MULTIPLE MULTIPLY NATIVE NEGATIVE NEXT NO NOT
syn keyword cobolReserved contained NUMBER NUMERIC NUMERIC-EDITED OBJECT-COMPUTER OCCURS OF OFF OMITTED ON OPEN
syn keyword cobolReserved contained NUMBER NUMERIC NUMERIC-EDITED OCCURS OF OFF OMITTED ON OPEN
syn keyword cobolReserved contained OPTIONAL OR ORDER ORGANIZATION OTHER OUTPUT OVERFLOW PACKED-DECIMAL PADDING
syn keyword cobolReserved contained PAGE PAGE-COUNTER PERFORM PF PH PIC PICTURE PLUS POINTER POSITION POSITIVE
syn keyword cobolReserved contained PRINTING PROCEDURE PROCEDURES PROCEDD PROGRAM PROGRAM-ID PURGE QUEUE QUOTES
syn keyword cobolReserved contained PRINTING PROCEDURES PROCEDD PROGRAM PURGE QUEUE QUOTES
syn keyword cobolReserved contained RANDOM RD READ RECEIVE RECORD RECORDS REDEFINES REEL REFERENCE REFERENCES
syn keyword cobolReserved contained RELATIVE RELEASE REMAINDER REMOVAL REPLACE REPLACING REPORT REPORTING
syn keyword cobolReserved contained REPORTS RERUN RESERVE RESET RETURN RETURNING REVERSED REWIND REWRITE RF RH
syn keyword cobolReserved contained RIGHT ROUNDED RUN SAME SD SEARCH SECTION SECURITY SEGMENT SEGMENT-LIMITED
syn keyword cobolReserved contained SELECT SEND SENTENCE SEPARATE SEQUENCE SEQUENTIAL SET SIGN SIZE SORT
syn keyword cobolReserved contained SORT-MERGE SOURCE SOURCE-COMPUTER SPECIAL-NAMES STANDARD
syn keyword cobolReserved contained SORT-MERGE SOURCE STANDARD
syn keyword cobolReserved contained STANDARD-1 STANDARD-2 START STATUS STOP STRING SUB-QUEUE-1 SUB-QUEUE-2
syn keyword cobolReserved contained SUB-QUEUE-3 SUBTRACT SUM SUPPRESS SYMBOLIC SYNC SYNCHRONIZED TABLE TALLYING
syn keyword cobolReserved contained TAPE TERMINAL TERMINATE TEST TEXT THAN THEN THROUGH THRU TIME TIMES TO TOP
syn keyword cobolReserved contained TRAILING TRUE TYPE UNIT UNSTRING UNTIL UP UPON USAGE USE USING VALUE VALUES
syn keyword cobolReserved contained VARYING WHEN WITH WORDS WORKING-STORAGE WRITE
syn keyword cobolReserved contained VARYING WHEN WITH WORDS WRITE
syn match cobolReserved contained "\<CONTAINS\>"
syn match cobolReserved contained "\<\(IF\|INVALID\|END\|EOP\)\>"
syn match cobolReserved contained "\<ALL\>"
syn cluster cobolLine add=cobolConstant,cobolNumber,cobolPic
syn keyword cobolConstant SPACE SPACES NULL ZERO ZEROES ZEROS LOW-VALUE LOW-VALUES
syn match cobolMarker "^.\{6\}"
syn match cobolBadLine "^.\{6\}[^ D\-*$/].*"hs=s+6
" If comment mark somehow gets into column past Column 7.
syn match cobolBadLine "^.\{6\}\s\+\*.*"
syn match cobolNumber "\<-\=\d*\.\=\d\+\>" contains=cobolMarker,cobolComment
syn match cobolPic "\<S*9\+\>" contains=cobolMarker,cobolComment
syn match cobolPic "\<$*\.\=9\+\>" contains=cobolMarker,cobolComment
syn match cobolPic "\<Z*\.\=9\+\>" contains=cobolMarker,cobolComment
syn match cobolPic "\<V9\+\>" contains=cobolMarker,cobolComment
syn match cobolPic "\<9\+V\>" contains=cobolMarker,cobolComment
syn match cobolPic "\<-\+[Z9]\+\>" contains=cobolMarker,cobolComment
syn match cobolTodo "todo" contained
syn match cobolComment "^.\{6\}\*.*"hs=s+6 contains=cobolTodo,cobolMarker
syn match cobolComment "^.\{6\}/.*"hs=s+6 contains=cobolTodo,cobolMarker
syn match cobolComment "^.\{6\}C.*"hs=s+6 contains=cobolTodo,cobolMarker
syn match cobolCompiler "^.\{6\}$.*"hs=s+6
syn match cobolNumber "\<-\=\d*\.\=\d\+\>" contained
syn match cobolPic "\<S*9\+\>" contained
syn match cobolPic "\<$*\.\=9\+\>" contained
syn match cobolPic "\<Z*\.\=9\+\>" contained
syn match cobolPic "\<V9\+\>" contained
syn match cobolPic "\<9\+V\>" contained
syn match cobolPic "\<-\+[Z9]\+\>" contained
syn match cobolTodo "todo" contained containedin=cobolComment
" For MicroFocus or other inline comments, include this line.
" syn region cobolComment start="*>" end="$" contains=cobolTodo,cobolMarker
syn match cobolBadLine "[^ D\*$/-].*" contained
" If comment mark somehow gets into column past Column 7.
syn match cobolBadLine "\s\+\*.*" contained
syn cluster cobolStart add=cobolBadLine
syn keyword cobolGoTo GO GOTO
syn keyword cobolCopy COPY
" cobolBAD: things that are BAD NEWS!
syn keyword cobolBAD ALTER ENTER RENAMES
syn cluster cobolLine add=cobolGoTo,cobolCopy,cobolBAD,cobolWatch,cobolEXECs
" cobolWatch: things that are important when trying to understand a program
syn keyword cobolWatch OCCURS DEPENDING VARYING BINARY COMP REDEFINES
syn keyword cobolWatch REPLACING RUN
@@ -101,39 +122,38 @@ syn match cobolWatch "COMP-[123456XN]"
syn keyword cobolEXECs EXEC END-EXEC
syn match cobolDecl "^.\{6} \{1,4}\(0\=1\|77\|78\) "hs=s+7,he=e-1 contains=cobolMarker
syn match cobolDecl "^.\{6} \+[1-4]\d "hs=s+7,he=e-1 contains=cobolMarker
syn match cobolDecl "^.\{6} \+0\=[2-9] "hs=s+7,he=e-1 contains=cobolMarker
syn match cobolDecl "^.\{6} \+66 "hs=s+7,he=e-1 contains=cobolMarker
syn cluster cobolAreaA add=cobolDeclA
syn cluster cobolAreaAB add=cobolDecl
syn match cobolDeclA "\(0\=1\|77\|78\) " contained nextgroup=cobolLine
syn match cobolDecl "[1-4]\d " contained nextgroup=cobolLine
syn match cobolDecl "0\=[2-9] " contained nextgroup=cobolLine
syn match cobolDecl "66 " contained nextgroup=cobolLine
syn match cobolWatch "^.\{6} \+88 "hs=s+7,he=e-1 contains=cobolMarker
syn match cobolWatch "88 " contained nextgroup=cobolLine
syn match cobolBadID "\k\+-\($\|[^-A-Z0-9]\)"
"syn match cobolBadID "\k\+-\($\|[^-A-Z0-9]\)" contained
syn keyword cobolCALLs CALL CANCEL GOBACK PERFORM INVOKE
syn cluster cobolLine add=cobolCALLs,cobolString,cobolCondFlow
syn keyword cobolCALLs CALL END-CALL CANCEL GOBACK PERFORM END-PERFORM INVOKE
syn match cobolCALLs "EXIT \+PROGRAM"
syn match cobolExtras /\<VALUE \+\d\+\./hs=s+6,he=e-1
syn match cobolString /"[^"]*\("\|$\)/
syn match cobolString /'[^']*\('\|$\)/
syn region cobolLine start="^.\{6} " end="$" contains=ALL
"syn region cobolLine start="^.\{6}[ D-]" end="$" contains=ALL
syn match cobolIndicator "\%7c[D-]" contained
if exists("cobol_legacy_code")
syn region cobolCondFlow contains=ALLBUT,cobolLine start="\<\(IF\|INVALID\|END\|EOP\)\>" skip=/\('\|"\)[^"]\{-}\("\|'\|$\)/ end="\." keepend
endif
if ! exists("cobol_legacy_code")
" catch junk in columns 1-6 for modern code
syn match cobolBAD "^ \{0,5\}[^ ].*"
syn region cobolCondFlow contains=ALLBUT,cobolLine start="\<\(IF\|INVALID\|END\|EOP\)\>" skip=/\('\|"\)[^"]\{-}\("\|'\|$\)/ end="\." keepend
endif
" many legacy sources have junk in columns 1-6: must be before others
" Stuff after column 72 is in error - must be after all other "match" entries
if exists("cobol_legacy_code")
syn match cobolBadLine "^.\{6}[^*/].\{66,\}"
syn match cobolBadLine "\%73c.*" containedin=ALLBUT,cobolComment
else
syn match cobolBadLine "^.\{6}.\{67,\}"
syn match cobolBadLine "\%73c.*" containedin=ALL
endif
" Define the default highlighting.
@@ -150,7 +170,11 @@ if version >= 508 || !exists("did_cobol_syntax_inits")
HiLink cobolBAD Error
HiLink cobolBadID Error
HiLink cobolBadLine Error
HiLink cobolMarker Comment
if exists("g:cobol_legacy_code")
HiLink cobolMarker Comment
else
HiLink cobolMarker Error
endif
HiLink cobolCALLs Function
HiLink cobolComment Comment
HiLink cobolKeys Comment
@@ -158,6 +182,7 @@ if version >= 508 || !exists("did_cobol_syntax_inits")
HiLink cobolCompiler PreProc
HiLink cobolCondFlow Special
HiLink cobolCopy PreProc
HiLink cobolDeclA cobolDecl
HiLink cobolDecl Type
HiLink cobolExtras Special
HiLink cobolGoTo Special
@@ -165,9 +190,16 @@ if version >= 508 || !exists("did_cobol_syntax_inits")
HiLink cobolNumber Constant
HiLink cobolPic Constant
HiLink cobolReserved Statement
HiLink cobolDivision Label
HiLink cobolSection Label
HiLink cobolParagraph Label
HiLink cobolDivisionName Keyword
HiLink cobolSectionName Keyword
HiLink cobolParagraphName Keyword
HiLink cobolString Constant
HiLink cobolTodo Todo
HiLink cobolWatch Special
HiLink cobolIndicator Special
delcommand HiLink
endif

View File

@@ -1,8 +1,10 @@
" Vim syntax file
" Language: Configuration File (ini file) for MSDOS/MS Windows
" Maintainer: Sean M. McKee <mckee@misslink.net>
" Last Change: 2001 May 09
" Version Info: @(#)dosini.vim 1.6 97/12/15 08:54:12
" Version Info: @(#)dosini.vim 1.6 97/12/15 08:54:12
" Author: Sean M. McKee <mckee@misslink.net>
" Maintainer: Nima Talebi <nima@it.net.au>
" Last Change: Mon, 26 Jun 2006 22:07:28 +1000
" For version 5.x: Clear all syntax items
" For version 6.x: Quit when a syntax file was already loaded
@@ -16,7 +18,7 @@ endif
syn case ignore
syn match dosiniLabel "^.\{-}="
syn region dosiniHeader start="\[" end="\]"
syn region dosiniHeader start="^\[" end="\]"
syn match dosiniComment "^;.*$"
" Define the default highlighting.

View File

@@ -1,11 +1,11 @@
" DoxyGen syntax hilighting extension for c/c++/idl/java
" Language: doxygen on top of c, cpp, idl, java
" Maintainer: Michael Geddes <michaelrgeddes@optushome.com.au>
" Maintainer: Michael Geddes <vimmer@frog.wheelycreek.net>
" Author: Michael Geddes
" Last Change: 12 December 2005
" Version: 1.15
" Last Change: April 2007
" Version: 1.20
"
" Copyright 2004 Michael Geddes
" Copyright 2004-2006 Michael Geddes
" Please feel free to use, modify & distribute all or part of this script,
" providing this copyright message remains.
" I would appreciate being acknowledged in any derived scripts, and would
@@ -13,26 +13,27 @@
" NOTE: Comments welcome!
"
" There are two variables that control the syntax hilighting produced by this
" There are two variables that control the syntax highlighting produced by this
" script:
" doxygen_enhanced_colour - Use the (non-standard) original colours designed for this hilighting.
" doxygen_enhanced_colour - Use the (non-standard) original colours designed
" for this highlighting.
" doxygen_my_rendering - Disable the HTML bold/italic/underline rendering.
"
" A brief description without '.' or '!' will cause the end comment
" character to be marked as an error. You can define the colour of this using
" the highlight doxygenErrorComment.
" A \link without an \endlink will cause an error hilight on the end-comment.
" A \link without an \endlink will cause an error highlight on the end-comment.
" This is defined by doxygenLinkError
"
" The variable g:doxygen_codeword_font can be set to the guifont for marking \c
" words - a 'typewriter' like font normally. Spaces must be escaped. It can
" also be set to any hilight attribute. Alternatively, a hilight for doxygenCodeWord
" also be set to any highlight attribute. Alternatively, a highlight for doxygenCodeWord
" can be used to override it.
"
" By default, hilighting is done assumng you have the JAVADOC_AUTOBRIEF
" setting tunred on in your Doxygen configuration. If you don't, you
" By default, highlighting is done assumng you have the JAVADOC_AUTOBRIEF
" setting turned on in your Doxygen configuration. If you don't, you
" can set the variable g:doxygen_javadoc_autobrief to 0 to have the
" hilighting more accurately reflect the way Doxygen will interpret your
" highlighting more accurately reflect the way Doxygen will interpret your
" comments.
"
" Special thanks to: Wu Yongwei, Toby Allsopp
@@ -55,13 +56,13 @@ try
"
" C/C++ Style line comments
syn region doxygenComment start=+/\*\(\*/\)\@![*!]+ end=+\*/+ contains=doxygenSyncStart,doxygenStart,doxygenTODO keepend
syn region doxygenCommentL start=+//[/!]<\@!+me=e-1 end=+$+ contains=doxygenStartL keepend skipwhite skipnl nextgroup=doxygenComment2
syn region doxygenCommentL start=+//[/!]<+me=e-2 end=+$+ contains=doxygenStartL keepend skipwhite skipnl
syn region doxygenCommentL start=+//@\ze[{}]+ end=+$+ contains=doxygenGroupDefine,doxygenGroupDefineSpecial
syn region doxygenComment start=+/\*\(\*/\)\@![*!]+ end=+\*/+ contains=doxygenSyncStart,doxygenStart,doxygenTODO keepend fold
syn region doxygenCommentL start=+//[/!]<\@!+me=e-1 end=+$+ contains=doxygenStartL keepend skipwhite skipnl nextgroup=doxygenComment2 fold
syn region doxygenCommentL start=+//[/!]<+me=e-2 end=+$+ contains=doxygenStartL keepend skipwhite skipnl fold
syn region doxygenCommentL start=+//@\ze[{}]+ end=+$+ contains=doxygenGroupDefine,doxygenGroupDefineSpecial fold
" Single line brief followed by multiline comment.
syn region doxygenComment2 start=+/\*\(\*/\)\@![*!]+ end=+\*/+ contained contains=doxygenSyncStart2,doxygenStart2,doxygenTODO keepend
syn region doxygenComment2 start=+/\*\(\*/\)\@![*!]+ end=+\*/+ contained contains=doxygenSyncStart2,doxygenStart2,doxygenTODO keepend fold
" This helps with sync-ing as for some reason, syncing behaves differently to a normal region, and the start pattern does not get matched.
syn match doxygenSyncStart2 +[^*/]+ contained nextgroup=doxygenBody,doxygenPrev,doxygenStartSpecial,doxygenSkipComment,doxygenStartSkip2 skipwhite skipnl
@@ -70,46 +71,56 @@ try
syn match doxygenStartSkip2 +^\s*\*$+ contained nextgroup=doxygenBody,doxygenStartSpecial,,doxygenStartSkip skipwhite skipnl
syn match doxygenStart2 +/\*[*!]+ contained nextgroup=doxygenBody,doxygenPrev,doxygenStartSpecial,doxygenStartSkip2 skipwhite skipnl
" Match the Starting pattern (effectively creating the start of a BNF)
if !exists('g:doxygen_javadoc_autobrief') || g:doxygen_javadoc_autobrief
syn match doxygenStart +/\*[*!]+ contained nextgroup=doxygenBrief,doxygenPrev,doxygenFindBriefSpecial,doxygenStartSpecial,doxygenStartSkip,doxygenPage skipwhite skipnl
syn match doxygenStartL +//[/!]+ contained nextgroup=doxygenPrevL,doxygenBriefL,doxygenSpecial skipwhite
" Match the first sentence as a brief comment
if ! exists('g:doxygen_end_punctuation')
let g:doxygen_end_punctuation='[.]'
endif
exe 'syn region doxygenBrief contained start=+[\\@]\([npcbea]\>\|em\>\|ref\>\|link\>\|f\$\|[$\\&<>#]\)\|[^ \t\\@*]+ start=+\(^\s*\)\@<!\*/\@!+ start=+\<\k+ skip=+'.doxygen_end_punctuation.'\S\@=+ end=+'.doxygen_end_punctuation.'+ end=+\(\s*\(\n\s*\*\=\s*\)[@\\]\([npcbea]\>\|em\>\|ref\>\|link\>\|f\$\|[$\\&<>#]\)\@!\)\@=+ contains=doxygenSmallSpecial,doxygenContinueComment,doxygenBriefEndComment,doxygenFindBriefSpecial,doxygenSmallSpecial,@doxygenHtmlGroup,doxygenTODO,doxygenHyperLink,doxygenHashLink,@Spell skipnl nextgroup=doxygenBody'
syn match doxygenBriefEndComment +\*/+ contained
exe 'syn region doxygenBriefL start=+@\k\@!\|[\\@]\([npcbea]\>\|em\>\|ref\>\|link\>\|f\$\|[$\\&<>#]\)\|[^ \t\\@]+ start=+\<+ skip=+'.doxygen_end_punctuation.'\S+ end=+'.doxygen_end_punctuation.'\|$+ contained contains=doxygenSmallSpecial,doxygenHyperLink,doxygenHashLink,@doxygenHtmlGroup,@Spell keepend'
syn match doxygenPrevL +<+ contained nextgroup=doxygenBriefL,doxygenSpecial skipwhite
else
syn match doxygenStart +/\*[*!]+ contained nextgroup=doxygenBody,doxygenPrev,doxygenFindBriefSpecial,doxygenStartSpecial,doxygenStartSkip,doxygenPage skipwhite skipnl
syn match doxygenStartL +//[/!]+ contained nextgroup=doxygenPrevL,doxygenLine,doxygenSpecial skipwhite
syn region doxygenLine start=+@\k\@!\|[\\@]\([npcbea]\>\|em\>\|ref\>\|link\>\|f\$\|[$\\&<>#]\)\|[^ \t\\@<]+ start=+\<+ end='$' contained contains=doxygenSmallSpecial,doxygenHyperLink,doxygenHashLink,@doxygenHtmlGroup,@Spell keepend
syn match doxygenPrevL +<+ contained nextgroup=doxygenLine,doxygenSpecial skipwhite
endif
syn match doxygenStartL +//[/!]+ contained nextgroup=doxygenPrevL,doxygenBriefL,doxygenSpecial skipwhite
" This helps with sync-ing as for some reason, syncing behaves differently to a normal region, and the start pattern does not get matched.
syn match doxygenSyncStart +\ze[^*/]+ contained nextgroup=doxygenBrief,doxygenPrev,doxygenStartSpecial,doxygenFindBriefSpecial,doxygenStartSkip,doxygenPage skipwhite skipnl
" Match the first sentence as a brief comment
if ! exists('g:doxygen_end_punctuation')
let g:doxygen_end_punctuation='[.]'
endif
exe 'syn region doxygenBrief contained start=+[\\@]\([pcbea]\>\|em\>\|ref\>\|link\>\|f\$\|[$\\&<>#]\)\|[^ \t\\@*]+ start=+\(^\s*\)\@<!\*/\@!+ start=+\<\k+ skip=+'.doxygen_end_punctuation.'\S+ end=+'.doxygen_end_punctuation.'+ end=+\(\s*\(\n\s*\*\=\s*\)[@\\]\([pcbea]\>\|em\>\|ref\>\|link\>\|f\$\|[$\\&<>#]\)\@!\)\@=+ contains=doxygenSmallSpecial,doxygenContinueComment,doxygenBriefEndComment,doxygenFindBriefSpecial,doxygenSmallSpecial,@doxygenHtmlGroup,doxygenTODO,doxygenOtherLink,doxygenHyperLink,doxygenHashLink skipnl nextgroup=doxygenBody'
syn match doxygenBriefEndComment +\*/+ contained
exe 'syn region doxygenBriefL start=+@\k\@!\|[\\@]\([pcbea]\>\|em\>\|ref\>\|link\>\|f\$\|[$\\&<>#]\)\|[^ \t\\@]+ start=+\<+ skip=+'.doxygen_end_punctuation.'\S+ end=+'.doxygen_end_punctuation.'\|$+ contained contains=doxygenSmallSpecial,doxygenHyperLink,doxygenHashLink,@doxygenHtmlGroup keepend'
syn region doxygenBriefLine contained start=+\<\k+ end=+\(\n\s*\*\=\s*\([@\\]\([pcbea]\>\|em\>\|ref\>\|link\>\|f\$\|[$\\&<>#]\)\@!\)\|\s*$\)\@=+ contains=doxygenContinueComment,doxygenFindBriefSpecial,doxygenSmallSpecial,@doxygenHtmlGroup,doxygenTODO,doxygenOtherLink,doxygenHyperLink,doxygenHashLink skipwhite keepend
syn region doxygenBriefLine contained start=+\<\k+ end=+\(\n\s*\*\=\s*\([@\\]\([npcbea]\>\|em\>\|ref\>\|link\>\|f\$\|[$\\&<>#]\)\@!\)\|\s*$\)\@=+ contains=doxygenContinueComment,doxygenFindBriefSpecial,doxygenSmallSpecial,@doxygenHtmlGroup,doxygenTODO,doxygenHyperLink,doxygenHashLink skipwhite keepend
" Match a '<' for applying a comment to the previous element.
syn match doxygenPrev +<+ contained nextgroup=doxygenBrief,doxygenSpecial,doxygenStartSkip skipwhite
syn match doxygenPrevL +<+ contained nextgroup=doxygenBriefL,doxygenSpecial skipwhite
syn match doxygenPrev +<+ contained nextgroup=doxygenBrief,doxygenBody,doxygenSpecial,doxygenStartSkip skipwhite
" These are anti-doxygen comments. If there are more than two asterisks or 3 '/'s
if exists("c_comment_strings")
" These are anti-Doxygen comments. If there are more than two asterisks or 3 '/'s
" then turn the comments back into normal C comments.
syn region cComment start="/\*\*\*" end="\*/" contains=@cCommentGroup,cCommentString,cCharacter,cNumbersCom,cSpaceError
syn region cCommentL start="////" skip="\\$" end="$" contains=@cCommentGroup,cComment2String,cCharacter,cNumbersCom,cSpaceError
else
syn region cComment start="/\*\*\*" end="\*/" contains=@cCommentGroup,cSpaceError
syn region cCommentL start="////" skip="\\$" end="$" contains=@cCommentGroup,cSpaceError
endif
" Special commands at the start of the area: starting with '@' or '\'
syn region doxygenStartSpecial contained start=+[@\\]\([pcbea]\>\|em\>\|ref\>\|link\>\|f\$\|[$\\&<>#]\)\@!+ end=+$+ end=+\*/+me=s-1,he=s-1 contains=doxygenSpecial nextgroup=doxygenSkipComment skipnl keepend
syn region doxygenStartSpecial contained start=+[@\\]\([npcbea]\>\|em\>\|ref\>\|link\>\|f\$\|[$\\&<>#]\)\@!+ end=+$+ end=+\*/+me=s-1,he=s-1 contains=doxygenSpecial nextgroup=doxygenSkipComment skipnl keepend
syn match doxygenSkipComment contained +^\s*\*/\@!+ nextgroup=doxygenBrief,doxygenStartSpecial,doxygenFindBriefSpecial,doxygenPage skipwhite
"syn region doxygenBodyBit contained start=+$+
" The main body of a doxygen comment.
syn region doxygenBody contained start=+.\|$+ matchgroup=doxygenEndComment end=+\*/+re=e-2,me=e-2 contains=doxygenContinueComment,doxygenTODO,doxygenSpecial,doxygenSmallSpecial,doxygenHyperLink,doxygenHashLink,@doxygenHtmlGroup
syn region doxygenBody contained start=+\(/\*[*!]\)\@<!<\|[^<]\|$+ matchgroup=doxygenEndComment end=+\*/+re=e-2,me=e-2 contains=doxygenContinueComment,doxygenTODO,doxygenSpecial,doxygenSmallSpecial,doxygenHyperLink,doxygenHashLink,@doxygenHtmlGroup,@Spell
" These allow the skipping of comment continuation '*' characters.
syn match doxygenContinueComment contained +^\s*\*/\@!\s*+
@@ -133,7 +144,7 @@ try
"
" syn match doxygenBriefLine contained
syn match doxygenBriefSpecial contained +[@\\]+ nextgroup=doxygenBriefWord skipwhite
syn region doxygenFindBriefSpecial start=+[@\\]brief\>+ end=+\(\n\s*\*\=\s*\([@\\]\([pcbea]\>\|em\>\|ref\>\|link\>\|f\$\|[$\\&<>#]\)\@!\)\|\s*$\)\@=+ keepend contains=doxygenBriefSpecial nextgroup=doxygenBody keepend skipwhite skipnl contained
syn region doxygenFindBriefSpecial start=+[@\\]brief\>+ end=+\(\n\s*\*\=\s*\([@\\]\([npcbea]\>\|em\>\|ref\>\|link\>\|f\$\|[$\\&<>#]\)\@!\)\|\s*$\)\@=+ keepend contains=doxygenBriefSpecial nextgroup=doxygenBody keepend skipwhite skipnl contained
" Create the single word matching special identifiers.
@@ -142,7 +153,7 @@ try
let mx='[-:0-9A-Za-z_%=&+*/!~>|]\@<!\([-0-9A-Za-z_%=+*/!~>|#]\+[-0-9A-Za-z_%=+*/!~>|]\@!\|\\[\\<>&.]@\|[.,][0-9a-zA-Z_]\@=\|::\|([^)]*)\|&[0-9a-zA-Z]\{2,7};\)\+'
exe 'syn region doxygenSpecial'.a:name.'Word contained start=+'.a:kword.'+ end=+\(\_s\+'.mx.'\)\@<=[-a-zA-Z_0-9+*/^%|~!=&\\]\@!+ skipwhite contains=doxygenContinueComment,doxygen'.a:name.'Word'
exe 'syn match doxygen'.a:name.'Word contained "\_s\@<='.mx.'" contains=doxygenHtmlSpecial keepend'
exe 'syn match doxygen'.a:name.'Word contained "\_s\@<='.mx.'" contains=doxygenHtmlSpecial,@Spell keepend'
endfun
call s:DxyCreateSmallSpecial('p', 'Code')
call s:DxyCreateSmallSpecial('c', 'Code')
@@ -153,10 +164,10 @@ try
call s:DxyCreateSmallSpecial('ref', 'Ref')
delfun s:DxyCreateSmallSpecial
syn match doxygenSmallSpecial contained +[@\\]\(\<[pcbea]\>\|\<em\>\|\<ref\>\|\<link\>\|f\$\|[$\\&<>#]\)\@=+ nextgroup=doxygenOtherLink,doxygenHyperLink,doxygenHashLink,doxygenFormula,doxygenSymbol,doxygenSpecial.*Word
syn match doxygenSmallSpecial contained +[@\\]\(\<[npcbea]\>\|\<em\>\|\<ref\>\|\<link\>\|f\$\|[$\\&<>#]\)\@=+ nextgroup=doxygenOtherLink,doxygenHyperLink,doxygenHashLink,doxygenFormula,doxygenSymbol,doxygenSpecial.*Word
" Now for special characters
syn match doxygenSpecial contained +[@\\]\(\<[pcbea]\>\|\<em\>\|\<ref\|\<link\>\>\|\<f\$\|[$\\&<>#]\)\@!+ nextgroup=doxygenParam,doxygenRetval,doxygenBriefWord,doxygenBold,doxygenBOther,doxygenOther,doxygenOtherTODO,doxygenOtherWARN,doxygenOtherBUG,doxygenPage,doxygenGroupDefine,doxygenCodeRegion,doxygenVerbatimRegion,doxygenDotRegion
syn match doxygenSpecial contained +[@\\]\(\<[npcbea]\>\|\<em\>\|\<ref\|\<link\>\>\|\<f\$\|[$\\&<>#]\)\@!+ nextgroup=doxygenParam,doxygenRetval,doxygenBriefWord,doxygenBold,doxygenBOther,doxygenOther,doxygenOtherTODO,doxygenOtherWARN,doxygenOtherBUG,doxygenPage,doxygenGroupDefine,doxygenCodeRegion,doxygenVerbatimRegion,doxygenDotRegion
" doxygenOtherLink,doxygenSymbol,doxygenFormula,doxygenErrorSpecial,doxygenSpecial.*Word
"
syn match doxygenGroupDefine contained +@\@<=[{}]+
@@ -164,8 +175,8 @@ try
syn match doxygenErrorSpecial contained +\s+
" Match Parmaters and retvals (hilighting the first word as special).
syn match doxygenParamDirection contained +\[\(\<in\>\|\<out\>\|,\)\+\]+ nextgroup=doxygenParamName skipwhite
" Match parameters and retvals (highlighting the first word as special).
syn match doxygenParamDirection contained "\v\[(\s*in>((]\s*\[|\s*,\s*)out>)=|out>((]\s*\[|\s*,\s*)in>)=)\]" nextgroup=doxygenParamName skipwhite
syn keyword doxygenParam contained param nextgroup=doxygenParamName,doxygenParamDirection skipwhite
syn match doxygenParamName contained +[A-Za-z0-9_:]\++ nextgroup=doxygenSpecialMultilineDesc skipwhite
syn keyword doxygenRetval contained retval throw exception nextgroup=doxygenParamName skipwhite
@@ -179,10 +190,10 @@ try
\ xmlonly endxmlonly
\ nextgroup=doxygenSpecialOnelineDesc
syn region doxygenCodeRegion contained matchgroup=doxygenOther start=+\<code\>+ matchgroup=doxygenOther end=+[\\@]\@<=\<endcode\>+ contains=doxygenCodeRegionSpecial,doxygenContinueComment,doxygenErrorComment
syn region doxygenCodeRegion contained matchgroup=doxygenOther start=+\<code\>+ matchgroup=doxygenOther end=+[\\@]\@<=\<endcode\>+ contains=doxygenCodeRegionSpecial,doxygenContinueComment,doxygenErrorComment,@NoSpell
syn match doxygenCodeRegionSpecial contained +[\\@]\(endcode\>\)\@=+
syn region doxygenVerbatimRegion contained matchgroup=doxygenOther start=+\<verbatim\>+ matchgroup=doxygenOther end=+[\\@]\@<=\<endverbatim\>+ contains=doxygenVerbatimRegionSpecial,doxygenContinueComment,doxygenErrorComment
syn region doxygenVerbatimRegion contained matchgroup=doxygenOther start=+\<verbatim\>+ matchgroup=doxygenOther end=+[\\@]\@<=\<endverbatim\>+ contains=doxygenVerbatimRegionSpecial,doxygenContinueComment,doxygenErrorComment,@NoSpell
syn match doxygenVerbatimRegionSpecial contained +[\\@]\(endverbatim\>\)\@=+
if exists('b:current_syntax')
@@ -199,7 +210,7 @@ try
unlet b:current_syntax
endif
syn region doxygenDotRegion contained matchgroup=doxygenOther start=+\<dot\>+ matchgroup=doxygenOther end=+[\\@]\@<=\<enddot\>+ contains=doxygenDotRegionSpecial,doxygenErrorComment,doxygenContinueComment,@Dotx
syn region doxygenDotRegion contained matchgroup=doxygenOther start=+\<dot\>+ matchgroup=doxygenOther end=+[\\@]\@<=\<enddot\>+ contains=doxygenDotRegionSpecial,doxygenErrorComment,doxygenContinueComment,@NoSpell,@Dotx
syn match doxygenDotRegionSpecial contained +[\\@]\(enddot\>\)\@=+
" Match single line identifiers.
@@ -210,13 +221,13 @@ try
syn keyword doxygenOther contained par nextgroup=doxygenHeaderLine
syn region doxygenHeaderLine start=+.+ end=+^+ contained skipwhite nextgroup=doxygenSpecialMultilineDesc
syn keyword doxygenOther contained arg author date deprecated li return see invariant note post pre remarks since test nextgroup=doxygenSpecialMultilineDesc
syn keyword doxygenOther contained arg author date deprecated li return returns see invariant note post pre remarks since test nextgroup=doxygenSpecialMultilineDesc
syn keyword doxygenOtherTODO contained todo attention nextgroup=doxygenSpecialMultilineDesc
syn keyword doxygenOtherWARN contained warning nextgroup=doxygenSpecialMultilineDesc
syn keyword doxygenOtherBUG contained bug nextgroup=doxygenSpecialMultilineDesc
" Handle \link, \endlink, hilighting the link-to and the link text bits separately.
syn region doxygenOtherLink matchgroup=doxygenOther start=+link+ end=+[\@]\@<=endlink\>+ contained contains=doxygenLinkWord,doxygenContinueComment,doxygenLinkError,doxygenEndlinkSpecial
" Handle \link, \endlink, highlighting the link-to and the link text bits separately.
syn region doxygenOtherLink matchgroup=doxygenOther start=+\<link\>+ end=+[\@]\@<=endlink\>+ contained contains=doxygenLinkWord,doxygenContinueComment,doxygenLinkError,doxygenEndlinkSpecial
syn match doxygenEndlinkSpecial contained +[\\@]\zeendlink\>+
syn match doxygenLinkWord "[_a-zA-Z:#()][_a-z0-9A-Z:#()]*\>" contained skipnl nextgroup=doxygenLinkRest,doxygenContinueLinkComment
@@ -232,12 +243,12 @@ try
syn match doxygenPage "[\\@]page\>"me=s+1 contained skipwhite nextgroup=doxygenPagePage
syn keyword doxygenPagePage page contained skipwhite nextgroup=doxygenPageIdent
syn region doxygenPageDesc start=+.\++ end=+$+ contained skipwhite contains=doxygenSmallSpecial,@doxygenHtmlGroup keepend skipwhite skipnl nextgroup=doxygenBody
syn match doxygenPageIdent "\<[a-zA-Z0-9]\+\>" contained nextgroup=doxygenPageDesc
syn match doxygenPageIdent "\<[a-zA-Z_0-9]\+\>" contained nextgroup=doxygenPageDesc
" Handle section
syn keyword doxygenOther defgroup section subsection subsubsection weakgroup contained skipwhite nextgroup=doxygenSpecialIdent
syn region doxygenSpecialSectionDesc start=+.\++ end=+$+ contained skipwhite contains=doxygenSmallSpecial,@doxygenHtmlGroup keepend skipwhite skipnl nextgroup=doxygenContinueComment
syn match doxygenSpecialIdent "\<[a-zA-Z0-9]\+\>" contained nextgroup=doxygenSpecialSectionDesc
syn match doxygenSpecialIdent "\<[a-zA-Z_0-9]\+\>" contained nextgroup=doxygenSpecialSectionDesc
" Does the one-line description for the one-line type identifiers.
syn region doxygenSpecialTypeOnelineDesc start=+.\++ end=+$+ contained skipwhite contains=doxygenSmallSpecial,@doxygenHtmlGroup keepend
@@ -246,7 +257,7 @@ try
" Handle the multiline description for the multiline type identifiers.
" Continue until an 'empty' line (can contain a '*' continuation) or until the
" next whole-line @ command \ command.
syn region doxygenSpecialMultilineDesc start=+.\++ skip=+^\s*\(\*/\@!\s*\)\=\(\<\|[@\\]\<\([pcbea]\>\|em\>\|ref\|link\>\>\|f\$\|[$\\&<>#]\)\|[^ \t\\@*]\)+ end=+^+ contained contains=doxygenSpecialContinueComment,doxygenSmallSpecial,doxygenHyperLink,doxygenHashLink,@doxygenHtmlGroup skipwhite keepend
syn region doxygenSpecialMultilineDesc start=+.\++ skip=+^\s*\(\*/\@!\s*\)\=\(\<\|[@\\]\<\([npcbea]\>\|em\>\|ref\|link\>\>\|f\$\|[$\\&<>#]\)\|[^ \t\\@*]\)+ end=+^+ contained contains=doxygenSpecialContinueComment,doxygenSmallSpecial,doxygenHyperLink,doxygenHashLink,@doxygenHtmlGroup,@Spell skipwhite keepend
syn match doxygenSpecialContinueComment contained +^\s*\*/\@!\s*+ nextgroup=doxygenSpecial skipwhite
" Handle special cases 'bold' and 'group'
@@ -257,7 +268,7 @@ try
syn keyword doxygenGroupName contained +\k\++ nextgroup=doxygenSpecialOnelineDesc skipwhite
" Handle special symbol identifiers @$, @\, @$ etc
syn match doxygenSymbol contained +[$\\&<>#]+
syn match doxygenSymbol contained +[$\\&<>#n]+
" Simplistic handling of formula regions
syn region doxygenFormula contained matchgroup=doxygenFormulaEnds start=+f\$+ end=+[@\\]f\$+ contains=doxygenFormulaSpecial,doxygenFormulaOperator
@@ -289,37 +300,37 @@ try
syn region doxygenHtmlLink contained start=+<[aA]\>\s*\(\n\s*\*\s*\)\=\(\(name\|href\)=\("[^"]*"\|'[^']*'\)\)\=\s*>+ end=+</[aA]>+me=e-4 contains=@doxygenHtmlTop
hi link doxygenHtmlLink Underlined
syn region doxygenHtmlBold contained start="\c<b\>" end="\c</b>"me=e-4 contains=@doxygenHtmlTop,doxygenHtmlBoldUnderline,doxygenHtmlBoldItalic
syn region doxygenHtmlBold contained start="\c<strong\>" end="\c</strong>"me=e-9 contains=@doxygenHtmlTop,doxygenHtmlBoldUnderline,doxygenHtmlBoldItalic
syn region doxygenHtmlBoldUnderline contained start="\c<u\>" end="\c</u>"me=e-4 contains=@doxygenHtmlTop,doxygenHtmlBoldUnderlineItalic
syn region doxygenHtmlBoldItalic contained start="\c<i\>" end="\c</i>"me=e-4 contains=@doxygenHtmlTop,doxygenHtmlBoldItalicUnderline
syn region doxygenHtmlBoldItalic contained start="\c<em\>" end="\c</em>"me=e-5 contains=@doxygenHtmlTop,doxygenHtmlBoldItalicUnderline
syn region doxygenHtmlBoldUnderlineItalic contained start="\c<i\>" end="\c</i>"me=e-4 contains=@doxygenHtmlTop
syn region doxygenHtmlBoldUnderlineItalic contained start="\c<em\>" end="\c</em>"me=e-5 contains=@doxygenHtmlTop
syn region doxygenHtmlBoldItalicUnderline contained start="\c<u\>" end="\c</u>"me=e-4 contains=@doxygenHtmlTop,doxygenHtmlBoldUnderlineItalic
syn region doxygenHtmlBold contained start="\c<b\>" end="\c</b>"me=e-4 contains=@doxygenHtmlTop,doxygenHtmlBoldUnderline,doxygenHtmlBoldItalic,@Spell
syn region doxygenHtmlBold contained start="\c<strong\>" end="\c</strong>"me=e-9 contains=@doxygenHtmlTop,doxygenHtmlBoldUnderline,doxygenHtmlBoldItalic,@Spell
syn region doxygenHtmlBoldUnderline contained start="\c<u\>" end="\c</u>"me=e-4 contains=@doxygenHtmlTop,doxygenHtmlBoldUnderlineItalic,@Spell
syn region doxygenHtmlBoldItalic contained start="\c<i\>" end="\c</i>"me=e-4 contains=@doxygenHtmlTop,doxygenHtmlBoldItalicUnderline,@Spell
syn region doxygenHtmlBoldItalic contained start="\c<em\>" end="\c</em>"me=e-5 contains=@doxygenHtmlTop,doxygenHtmlBoldItalicUnderline,@Spell
syn region doxygenHtmlBoldUnderlineItalic contained start="\c<i\>" end="\c</i>"me=e-4 contains=@doxygenHtmlTop,@Spell
syn region doxygenHtmlBoldUnderlineItalic contained start="\c<em\>" end="\c</em>"me=e-5 contains=@doxygenHtmlTop,@Spell
syn region doxygenHtmlBoldItalicUnderline contained start="\c<u\>" end="\c</u>"me=e-4 contains=@doxygenHtmlTop,doxygenHtmlBoldUnderlineItalic,@Spell
syn region doxygenHtmlUnderline contained start="\c<u\>" end="\c</u>"me=e-4 contains=@doxygenHtmlTop,doxygenHtmlUnderlineBold,doxygenHtmlUnderlineItalic
syn region doxygenHtmlUnderlineBold contained start="\c<b\>" end="\c</b>"me=e-4 contains=@doxygenHtmlTop,doxygenHtmlUnderlineBoldItalic
syn region doxygenHtmlUnderlineBold contained start="\c<strong\>" end="\c</strong>"me=e-9 contains=@doxygenHtmlTop,doxygenHtmlUnderlineBoldItalic
syn region doxygenHtmlUnderlineItalic contained start="\c<i\>" end="\c</i>"me=e-4 contains=@doxygenHtmlTop,htmUnderlineItalicBold
syn region doxygenHtmlUnderlineItalic contained start="\c<em\>" end="\c</em>"me=e-5 contains=@doxygenHtmlTop,htmUnderlineItalicBold
syn region doxygenHtmlUnderlineItalicBold contained start="\c<b\>" end="\c</b>"me=e-4 contains=@doxygenHtmlTop
syn region doxygenHtmlUnderlineItalicBold contained start="\c<strong\>" end="\c</strong>"me=e-9 contains=@doxygenHtmlTop
syn region doxygenHtmlUnderlineBoldItalic contained start="\c<i\>" end="\c</i>"me=e-4 contains=@doxygenHtmlTop
syn region doxygenHtmlUnderlineBoldItalic contained start="\c<em\>" end="\c</em>"me=e-5 contains=@doxygenHtmlTop
syn region doxygenHtmlUnderline contained start="\c<u\>" end="\c</u>"me=e-4 contains=@doxygenHtmlTop,doxygenHtmlUnderlineBold,doxygenHtmlUnderlineItalic,@Spell
syn region doxygenHtmlUnderlineBold contained start="\c<b\>" end="\c</b>"me=e-4 contains=@doxygenHtmlTop,doxygenHtmlUnderlineBoldItalic,@Spell
syn region doxygenHtmlUnderlineBold contained start="\c<strong\>" end="\c</strong>"me=e-9 contains=@doxygenHtmlTop,doxygenHtmlUnderlineBoldItalic,@Spell
syn region doxygenHtmlUnderlineItalic contained start="\c<i\>" end="\c</i>"me=e-4 contains=@doxygenHtmlTop,htmUnderlineItalicBold,@Spell
syn region doxygenHtmlUnderlineItalic contained start="\c<em\>" end="\c</em>"me=e-5 contains=@doxygenHtmlTop,htmUnderlineItalicBold,@Spell
syn region doxygenHtmlUnderlineItalicBold contained start="\c<b\>" end="\c</b>"me=e-4 contains=@doxygenHtmlTop,@Spell
syn region doxygenHtmlUnderlineItalicBold contained start="\c<strong\>" end="\c</strong>"me=e-9 contains=@doxygenHtmlTop,@Spell
syn region doxygenHtmlUnderlineBoldItalic contained start="\c<i\>" end="\c</i>"me=e-4 contains=@doxygenHtmlTop,@Spell
syn region doxygenHtmlUnderlineBoldItalic contained start="\c<em\>" end="\c</em>"me=e-5 contains=@doxygenHtmlTop,@Spell
syn region doxygenHtmlItalic contained start="\c<i\>" end="\c</i>"me=e-4 contains=@doxygenHtmlTop,doxygenHtmlItalicBold,doxygenHtmlItalicUnderline
syn region doxygenHtmlItalic contained start="\c<em\>" end="\c</em>"me=e-5 contains=@doxygenHtmlTop
syn region doxygenHtmlItalicBold contained start="\c<b\>" end="\c</b>"me=e-4 contains=@doxygenHtmlTop,doxygenHtmlItalicBoldUnderline
syn region doxygenHtmlItalicBold contained start="\c<strong\>" end="\c</strong>"me=e-9 contains=@doxygenHtmlTop,doxygenHtmlItalicBoldUnderline
syn region doxygenHtmlItalicBoldUnderline contained start="\c<u\>" end="\c</u>"me=e-4 contains=@doxygenHtmlTop
syn region doxygenHtmlItalicUnderline contained start="\c<u\>" end="\c</u>"me=e-4 contains=@doxygenHtmlTop,doxygenHtmlItalicUnderlineBold
syn region doxygenHtmlItalicUnderlineBold contained start="\c<b\>" end="\c</b>"me=e-4 contains=@doxygenHtmlTop
syn region doxygenHtmlItalicUnderlineBold contained start="\c<strong\>" end="\c</strong>"me=e-9 contains=@doxygenHtmlTop
syn region doxygenHtmlItalic contained start="\c<i\>" end="\c</i>"me=e-4 contains=@doxygenHtmlTop,doxygenHtmlItalicBold,doxygenHtmlItalicUnderline,@Spell
syn region doxygenHtmlItalic contained start="\c<em\>" end="\c</em>"me=e-5 contains=@doxygenHtmlTop,@Spell
syn region doxygenHtmlItalicBold contained start="\c<b\>" end="\c</b>"me=e-4 contains=@doxygenHtmlTop,doxygenHtmlItalicBoldUnderline,@Spell
syn region doxygenHtmlItalicBold contained start="\c<strong\>" end="\c</strong>"me=e-9 contains=@doxygenHtmlTop,doxygenHtmlItalicBoldUnderline,@Spell
syn region doxygenHtmlItalicBoldUnderline contained start="\c<u\>" end="\c</u>"me=e-4 contains=@doxygenHtmlTop,@Spell
syn region doxygenHtmlItalicUnderline contained start="\c<u\>" end="\c</u>"me=e-4 contains=@doxygenHtmlTop,doxygenHtmlItalicUnderlineBold,@Spell
syn region doxygenHtmlItalicUnderlineBold contained start="\c<b\>" end="\c</b>"me=e-4 contains=@doxygenHtmlTop,@Spell
syn region doxygenHtmlItalicUnderlineBold contained start="\c<strong\>" end="\c</strong>"me=e-9 contains=@doxygenHtmlTop,@Spell
syn region doxygenHtmlCode contained start="\c<code\>" end="\c</code>"me=e-7 contains=@doxygenHtmlTop
syn region doxygenHtmlCode contained start="\c<code\>" end="\c</code>"me=e-7 contains=@doxygenHtmlTop,@NoSpell
" Prevent the doxygen contained matches from leaking into the c groups.
" Prevent the doxygen contained matches from leaking into the c/rc groups.
syn cluster cParenGroup add=doxygen.*
syn cluster cParenGroup remove=doxygenComment,doxygenCommentL
syn cluster cPreProcGroup add=doxygen.*
@@ -389,10 +400,16 @@ try
endif
elseif has('gui_win32') || has('gui_win16') || has('gui_win95')
if &guifont == ''
let font='font=Lucida_Console:h10'
if exists('g:doxygen_use_bitsream_vera') && g:doxygen_use_bitsream_vera
let font_base='Bitstream_Vera_Sans_Mono'
else
let font='font='.substitute(&guifont, '^[^:]*', 'Lucida_Console','')
let font_base='Lucida_Console'
endif
if &guifont == ''
let font='font='.font_base.':h10'
else
let font='font='.matchstr(substitute(&guifont, '^[^:]*', font_base,''),'[^,]*')
endif
elseif has('gui_athena') || has('gui_gtk') || &guifont=~'^\(-[^-]\+\)\{14}'
if &guifont == ''
@@ -458,6 +475,7 @@ try
SynLink doxygenBody Comment
SynLink doxygenLine doxygenBody
SynLink doxygenTODO Todo
SynLink doxygenOtherTODO Todo
SynLink doxygenOtherWARN Todo
@@ -473,6 +491,7 @@ try
SynLink doxygenEndlinkSpecial doxygenSpecial
SynLink doxygenCodeRegionSpecial doxygenSpecial
SynLink doxygenVerbatimRegionSpecial doxygenSpecial
SynLink doxygenDotRegionSpecial doxygenSpecial
SynLink doxygenGroupDefine doxygenParam
SynLink doxygenSpecialMultilineDesc doxygenSpecialOnelineDesc

View File

@@ -0,0 +1,252 @@
" Vim syntax file
" Language: FreeBasic
" Maintainer: Mark Manning <markem@airmail.net>
" Updated: 10/22/2006
"
" Description:
"
" Based originally on the work done by Allan Kelly <Allan.Kelly@ed.ac.uk>
" Updated by Mark Manning <markem@airmail.net>
" Applied FreeBasic support to the already excellent support
" for standard basic syntax (like QB).
"
" First version based on Micro$soft QBASIC circa
" 1989, as documented in 'Learn BASIC Now' by
" Halvorson&Rygmyr. Microsoft Press 1989. This syntax file
" not a complete implementation yet. Send suggestions to
" the maintainer.
"
" Quit when a (custom) syntax file was already loaded (Taken from c.vim)
"
if exists("b:current_syntax")
finish
endif
"
" Be sure to turn on the "case ignore" since current versions
" of freebasic support both upper as well as lowercase
" letters. - MEM 10/1/2006
"
syn case ignore
"
" This list of keywords is taken directly from the FreeBasic
" user's guide as presented by the FreeBasic online site.
"
syn keyword freebasicArrays ERASE LBOUND REDIM PRESERVE UBOUND
syn keyword freebasicBitManipulation BIT BITRESET BITSET HIBYTE HIWORD LOBYTE LOWORD SHL SHR
syn keyword freebasicCompilerSwitches DEFBYTE DEFDBL DEFINT DEFLNG DEFLNGINT DEFSHORT DEFSNG DEFSTR
syn keyword freebasicCompilerSwitches DEFUBYTE DEFUINT DEFULNGINT DEFUSHORT
syn match freebasicCompilerSwitches "\<option\s+\(BASE\|BYVAL\|DYNAMIC\|ESCAPE\|EXPLICIT\|NOKEYWORD\)\>"
syn match freebasicCompilerSwitches "\<option\s+\(PRIVATE\|STATIC\)\>"
syn region freebasicConditional start="\son\s+" skip=".*" end="gosub"
syn region freebasicConditional start="\son\s+" skip=".*" end="goto"
syn match freebasicConditional "\<select\s+case\>"
syn keyword freebasicConditional if iif then case else elseif with
syn match freebasicConsole "\<open\s+\(CONS\|ERR\|PIPE\|SCRN\)\>"
syn keyword freebasicConsole BEEP CLS CSRLIN LOCATE PRINT POS SPC TAB VIEW WIDTH
syn keyword freebasicDataTypes BYTE AS DIM CONST DOUBLE ENUM INTEGER LONG LONGINT SHARED SHORT STRING
syn keyword freebasicDataTypes SINGLE TYPE UBYTE UINTEGER ULONGINT UNION UNSIGNED USHORT WSTRING ZSTRING
syn keyword freebasicDateTime DATE DATEADD DATEDIFF DATEPART DATESERIAL DATEVALUE DAY HOUR MINUTE
syn keyword freebasicDateTime MONTH MONTHNAME NOW SECOND SETDATE SETTIME TIME TIMESERIAL TIMEVALUE
syn keyword freebasicDateTime TIMER YEAR WEEKDAY WEEKDAYNAME
syn keyword freebasicDebug ASSERT STOP
syn keyword freebasicErrorHandling ERR ERL ERROR LOCAL RESUME
syn match freebasicErrorHandling "\<resume\s+next\>"
syn match freebasicErrorHandling "\<on\s+error\>"
syn match freebasicFiles "\<get\s+#\>"
syn match freebasicFiles "\<input\s+#\>"
syn match freebasicFiles "\<line\s+input\s+#\>"
syn match freebasicFiles "\<put\s+#\>"
syn keyword freebasicFiles ACCESS APPEND BINARY BLOAD BSAVE CLOSE EOF FREEFILE INPUT LOC
syn keyword freebasicFiles LOCK LOF OPEN OUTPUT RANDOM RESET SEEK UNLOCK WRITE
syn keyword freebasicFunctions ALIAS ANY BYREF BYVAL CALL CDECL CONSTRUCTOR DESTRUCTOR
syn keyword freebasicFunctions DECLARE FUNCTION LIB OVERLOAD PASCAL STATIC SUB STDCALL
syn keyword freebasicFunctions VA_ARG VA_FIRST VA_NEXT
syn match freebasicGraphics "\<palette\s+get\>"
syn keyword freebasicGraphics ALPHA CIRCLE CLS COLOR CUSTOM DRAW FLIP GET
syn keyword freebasicGraphics IMAGECREATE IMAGEDESTROY LINE PAINT PALETTE PCOPY PMAP POINT
syn keyword freebasicGraphics PRESET PSET PUT RGB RGBA SCREEN SCREENCOPY SCREENINFO SCREENLIST
syn keyword freebasicGraphics SCREENLOCK SCREENPTR SCREENRES SCREENSET SCREENSYNC SCREENUNLOCK
syn keyword freebasicGraphics TRANS USING VIEW WINDOW
syn match freebasicHardware "\<open\s+com\>"
syn keyword freebasicHardware INP OUT WAIT LPT LPOS LPRINT
syn keyword freebasicLogical AND EQV IMP OR NOT XOR
syn keyword freebasicMath ABS ACOS ASIN ATAN2 ATN COS EXP FIX INT LOG MOD RANDOMIZE
syn keyword freebasicMath RND SGN SIN SQR TAN
syn keyword freebasicMemory ALLOCATE CALLOCATE CLEAR DEALLOCATE FIELD FRE PEEK POKE REALLOCATE
syn keyword freebasicMisc ASM DATA LET TO READ RESTORE SIZEOF SWAP OFFSETOF
syn keyword freebasicModularizing CHAIN COMMON EXPORT EXTERN DYLIBFREE DYLIBLOAD DYLIBSYMBOL
syn keyword freebasicModularizing PRIVATE PUBLIC
syn keyword freebasicMultithreading MUTEXCREATE MUTEXDESTROY MUTEXLOCK MUTEXUNLOCK THREADCREATE THREADWAIT
syn keyword freebasicShell CHDIR DIR COMMAND ENVIRON EXEC EXEPATH KILL NAME MKDIR RMDIR RUN
syn keyword freebasicEnviron SHELL SYSTEM WINDOWTITLE POINTERS
syn keyword freebasicLoops FOR LOOP WHILE WEND DO CONTINUE STEP UNTIL next
syn match freebasicInclude "\<#\s*\(inclib\|include\)\>"
syn match freebasicInclude "\<\$\s*include\>"
syn keyword freebasicPointer PROCPTR PTR SADD STRPTR VARPTR
syn keyword freebasicPredefined __DATE__ __FB_DOS__ __FB_LINUX__ __FB_MAIN__ __FB_MIN_VERSION__
syn keyword freebasicPredefined __FB_SIGNATURE__ __FB_VERSION__ __FB_WIN32__ __FB_VER_MAJOR__
syn keyword freebasicPredefined __FB_VER_MINOR__ __FB_VER_PATCH__ __FILE__ __FUNCTION__
syn keyword freebasicPredefined __LINE__ __TIME__
syn match freebasicPreProcessor "\<^#\s*\(define\|undef\)\>"
syn match freebasicPreProcessor "\<^#\s*\(ifdef\|ifndef\|else\|elseif\|endif\|if\)\>"
syn match freebasicPreProcessor "\<#\s*error\>"
syn match freebasicPreProcessor "\<#\s*\(print\|dynamic\|static\)\>"
syn keyword freebasicPreProcessor DEFINED ONCE
syn keyword freebasicProgramFlow END EXIT GOSUB GOTO
syn keyword freebasicProgramFlow IS RETURN SCOPE SLEEP
syn keyword freebasicString INSTR LCASE LEFT LEN LSET LTRIM MID RIGHT RSET RTRIM
syn keyword freebasicString SPACE STRING TRIM UCASE ASC BIN CHR CVD CVI CVL CVLONGINT
syn keyword freebasicString CVS CVSHORT FORMAT HEX MKD MKI MKL MKLONGINT MKS MKSHORT
syn keyword freebasicString OCT STR VAL VALLNG VALINT VALUINT VALULNG
syn keyword freebasicTypeCasting CAST CBYTE CDBL CINT CLNG CLNGINT CPTR CSHORT CSIGN CSNG
syn keyword freebasicTypeCasting CUBYTE CUINT CULNGINT CUNSG CURDIR CUSHORT
syn match freebasicUserInput "\<line\s+input\>"
syn keyword freebasicUserInput GETJOYSTICK GETKEY GETMOUSE INKEY INPUT MULTIKEY SETMOUSE
"
" Do the Basic variables names first. This is because it
" is the most inclusive of the tests. Later on we change
" this so the identifiers are split up into the various
" types of identifiers like functions, basic commands and
" such. MEM 9/9/2006
"
syn match freebasicIdentifier "\<[a-zA-Z_][a-zA-Z0-9_]*\>"
syn match freebasicGenericFunction "\<[a-zA-Z_][a-zA-Z0-9_]*\>\s*("me=e-1,he=e-1
"
" Function list
"
syn keyword freebasicTodo contained TODO
"
" Catch errors caused by wrong parenthesis
"
syn region freebasicParen transparent start='(' end=')' contains=ALLBUT,@freebasicParenGroup
syn match freebasicParenError ")"
syn match freebasicInParen contained "[{}]"
syn cluster freebasicParenGroup contains=freebasicParenError,freebasicSpecial,freebasicTodo,freebasicUserCont,freebasicUserLabel,freebasicBitField
"
" Integer number, or floating point number without a dot and with "f".
"
syn region freebasicHex start="&h" end="\W"
syn region freebasicHexError start="&h\x*[g-zG-Z]" end="\W"
syn match freebasicInteger "\<\d\+\(u\=l\=\|lu\|f\)\>"
"
" Floating point number, with dot, optional exponent
"
syn match freebasicFloat "\<\d\+\.\d*\(e[-+]\=\d\+\)\=[fl]\=\>"
"
" Floating point number, starting with a dot, optional exponent
"
syn match freebasicFloat "\.\d\+\(e[-+]\=\d\+\)\=[fl]\=\>"
"
" Floating point number, without dot, with exponent
"
syn match freebasicFloat "\<\d\+e[-+]\=\d\+[fl]\=\>"
"
" Hex number
"
syn case match
syn match freebasicOctal "\<0\o*\>"
syn match freebasicOctalError "\<0\o*[89]"
"
" String and Character contstants
"
syn region freebasicString start='"' end='"' contains=freebasicSpecial,freebasicTodo
syn region freebasicString start="'" end="'" contains=freebasicSpecial,freebasicTodo
"
" Comments
"
syn match freebasicSpecial contained "\\."
syn region freebasicComment start="^rem" end="$" contains=freebasicSpecial,freebasicTodo
syn region freebasicComment start=":\s*rem" end="$" contains=freebasicSpecial,freebasicTodo
syn region freebasicComment start="\s*'" end="$" contains=freebasicSpecial,freebasicTodo
syn region freebasicComment start="^'" end="$" contains=freebasicSpecial,freebasicTodo
"
" Now do the comments and labels
"
syn match freebasicLabel "^\d"
syn match freebasicLabel "\<^\w+:\>"
syn region freebasicLineNumber start="^\d" end="\s"
"
" Create the clusters
"
syn cluster freebasicNumber contains=freebasicHex,freebasicOctal,freebasicInteger,freebasicFloat
syn cluster freebasicError contains=freebasicHexError,freebasicOctalError
"
" Used with OPEN statement
"
syn match freebasicFilenumber "#\d\+"
syn match freebasicMathOperator "[\+\-\=\|\*\/\>\<\%\()[\]]" contains=freebasicParen
"
" The default methods for highlighting. Can be overridden later
"
hi def link freebasicArrays StorageClass
hi def link freebasicBitManipulation Operator
hi def link freebasicCompilerSwitches PreCondit
hi def link freebasicConsole Special
hi def link freebasicDataTypes Type
hi def link freebasicDateTime Type
hi def link freebasicDebug Special
hi def link freebasicErrorHandling Special
hi def link freebasicFiles Special
hi def link freebasicFunctions Function
hi def link freebasicGraphics Function
hi def link freebasicHardware Special
hi def link freebasicLogical Conditional
hi def link freebasicMath Function
hi def link freebasicMemory Function
hi def link freebasicMisc Special
hi def link freebasicModularizing Special
hi def link freebasicMultithreading Special
hi def link freebasicShell Special
hi def link freebasicEnviron Special
hi def link freebasicPointer Special
hi def link freebasicPredefined PreProc
hi def link freebasicPreProcessor PreProc
hi def link freebasicProgramFlow Statement
hi def link freebasicString String
hi def link freebasicTypeCasting Type
hi def link freebasicUserInput Statement
hi def link freebasicComment Comment
hi def link freebasicConditional Conditional
hi def link freebasicError Error
hi def link freebasicIdentifier Identifier
hi def link freebasicInclude Include
hi def link freebasicGenericFunction Function
hi def link freebasicLabel Label
hi def link freebasicLineNumber Label
hi def link freebasicMathOperator Operator
hi def link freebasicNumber Number
hi def link freebasicSpecial Special
hi def link freebasicTodo Todo
let b:current_syntax = "freebasic"
" vim: ts=8

View File

@@ -1,7 +1,7 @@
" Vim syntax file
" Language: Vim help file
" Maintainer: Bram Moolenaar (Bram@vim.org)
" Last Change: 2006 Apr 13
" Last Change: 2006 May 13
" Quit when a (custom) syntax file was already loaded
if exists("b:current_syntax")

View File

@@ -2,7 +2,7 @@
" Language: HTML
" Maintainer: Claudio Fleiner <claudio@fleiner.com>
" URL: http://www.fleiner.com/vim/syntax/html.vim
" Last Change: 2006 April 13
" Last Change: 2006 Jun 19
" Please check :help html.vim for some comments and a description of the options
@@ -24,6 +24,7 @@ else
command! -nargs=+ HtmlHiLink hi def link <args>
endif
syntax spell toplevel
syn case ignore

View File

@@ -1,7 +1,7 @@
" Vim syntax file
" Language: Django HTML template
" Maintainer: Dave Hodder <dmh@dmh.org.uk>
" Last Change: 2006 Mar 06
" Last Change: 2007 Jan 26
" For version 5.x: Clear all syntax items
" For version 6.x: Quit when a syntax file was already loaded
@@ -24,7 +24,11 @@ else
unlet b:current_syntax
endif
syntax cluster htmlPreproc add=djangoPlaceHolder
syntax cluster htmlString add=djangoPlaceHolder
syn cluster djangoBlocks add=djangoTagBlock,djangoVarBlock,djangoComment,djangoComBlock
syn region djangoTagBlock start="{%" end="%}" contains=djangoStatement,djangoFilter,djangoArgument,djangoTagError display containedin=ALLBUT,@djangoBlocks
syn region djangoVarBlock start="{{" end="}}" contains=djangoFilter,djangoArgument,djangoVarError display containedin=ALLBUT,@djangoBlocks
syn region djangoComment start="{%\s*comment\s*%}" end="{%\s*endcomment\s*%}" contains=djangoTodo containedin=ALLBUT,@djangoBlocks
syn region djangoComBlock start="{#" end="#}" contains=djangoTodo containedin=ALLBUT,@djangoBlocks
let b:current_syntax = "htmldjango"

View File

@@ -1,8 +1,8 @@
" Vim syntax file
" Language: Lisp
" Maintainer: Dr. Charles E. Campbell, Jr. <NdrOchipS@PcampbellAfamily.Mbiz>
" Last Change: Oct 12, 2005
" Version: 17a
" Last Change: Apr 12, 2007
" Version: 19
" URL: http://mysite.verizon.net/astronaut/vim/index.html#vimlinks_syntax
"
" Thanks to F Xavier Noria for a list of 978 Common Lisp symbols
@@ -34,6 +34,8 @@ else
syn cluster lispListCluster contains=@lispBaseListCluster,lispString
endif
syn case ignore
" ---------------------------------------------------------------------
" Lists: {{{1
syn match lispSymbol contained ![^()'`,"; \t]\+!
@@ -436,7 +438,7 @@ syn keyword lispVar *gensym-counter* *print-miser-width* *trace-output*
" ---------------------------------------------------------------------
" Strings: {{{1
syn region lispString start=+"+ skip=+\\\\\|\\"+ end=+"+
syn region lispString start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=@Spell
if exists("g:lisp_instring")
syn region lispInString keepend matchgroup=Delimiter start=+"(+rs=s+1 skip=+|.\{-}|+ matchgroup=Delimiter end=+)"+ contains=@lispBaseListCluster,lispInStringString
syn region lispInStringString start=+\\"+ skip=+\\\\+ end=+\\"+ contained
@@ -454,14 +456,15 @@ syn keyword lispDecl do* flet multiple-value-bind
" Numbers: supporting integers and floating point numbers {{{1
syn match lispNumber "-\=\(\.\d\+\|\d\+\(\.\d*\)\=\)\(e[-+]\=\d\+\)\="
syn match lispSpecial "\*[a-zA-Z_][a-zA-Z_0-9-]*\*"
syn match lispSpecial "\*\w[a-z_0-9-]*\*"
syn match lispSpecial !#|[^()'`,"; \t]\+|#!
syn match lispSpecial !#x[0-9a-fA-F]\+!
syn match lispSpecial !#o[0-7]\+!
syn match lispSpecial !#x\x\+!
syn match lispSpecial !#o\o\+!
syn match lispSpecial !#b[01]\+!
syn match lispSpecial !#\\[ -\~]!
syn match lispSpecial !#\\[ -}\~]!
syn match lispSpecial !#[':][^()'`,"; \t]\+!
syn match lispSpecial !#([^()'`,"; \t]\+)!
syn match lispSpecial !#\\\%(Space\|Newline\|Tab\|Page\|Rubout\|Linefeed\|Return\|Backspace\)!
syn match lispConcat "\s\.\s"
syn match lispParenError ")"
@@ -471,9 +474,7 @@ syn match lispParenError ")"
syn cluster lispCommentGroup contains=lispTodo,@Spell
syn match lispComment ";.*$" contains=@lispCommentGroup
syn region lispCommentRegion start="#|" end="|#" contains=lispCommentRegion,@lispCommentGroup
syn case ignore
syn keyword lispTodo contained combak combak: todo todo:
syn case match
" ---------------------------------------------------------------------
" Synchronization: {{{1

View File

@@ -22,13 +22,15 @@ syn cluster mailQuoteExps contains=mailQuoteExp1,mailQuoteExp2,mailQuoteExp3,mai
syn case match
" For "From " matching case is required. The "From " is not matched in quoted
" emails
syn region mailHeader contains=@mailHeaderFields,@NoSpell start="^From " skip="^\s" end="\v^[-A-Za-z0-9]*([^-A-Za-z0-9:]|$)"me=s-1
" According to RFC 2822 any printable ASCII character can appear in a field
" name, except ':'.
syn region mailHeader contains=@mailHeaderFields,@NoSpell start="^From " skip="^\s" end="\v^[!-9;-~]*([^!-~]|$)"me=s-1
syn match mailHeaderKey contained contains=mailEmail,@NoSpell "^From\s.*$"
syn case ignore
" Nothing else depends on case. Headers in properly quoted (with "> " or ">")
" emails are matched
syn region mailHeader keepend contains=@mailHeaderFields,@mailQuoteExps,@NoSpell start="^\z(\(> \?\)*\)\v(newsgroups|from|((in-)?reply-)?to|b?cc|subject|return-path|received|date|replied):" skip="^\z1\s" end="\v^\z1[-a-z0-9]*([^-a-z0-9:]|$)"me=s-1 end="\v^\z1@!"me=s-1 end="\v^\z1(\> ?)+"me=s-1
syn region mailHeader keepend contains=@mailHeaderFields,@mailQuoteExps,@NoSpell start="^\z(\(> \?\)*\)\v(newsgroups|from|((in-)?reply-)?to|b?cc|subject|return-path|received|date|replied):" skip="^\z1\s" end="\v^\z1[!-9;-~]*([^!-~]|$)"me=s-1 end="\v^\z1@!"me=s-1 end="\v^\z1(\> ?)+"me=s-1
syn region mailHeaderKey contained contains=mailHeaderEmail,mailEmail,@mailQuoteExps,@NoSpell start="\v(^(\> ?)*)@<=(to|b?cc):" skip=",$" end="$"
syn match mailHeaderKey contained contains=mailHeaderEmail,mailEmail,@NoSpell "\v(^(\> ?)*)@<=(from|reply-to):.*$"

View File

@@ -0,0 +1,59 @@
" Vim syntax file
" Language: /var/log/messages file
" Maintainer: Yakov Lerner <iler.ml@gmail.com>
" Latest Revision: 2006-06-19
if exists("b:current_syntax")
finish
endif
let s:cpo_save = &cpo
set cpo&vim
syn match messagesBegin display '^' nextgroup=messagesDate
syn match messagesDate contained display '\a\a\a [ 0-9]\d *'
\ nextgroup=messagesHour
syn match messagesHour contained display '\d\d:\d\d:\d\d\s*'
\ nextgroup=messagesHost
syn match messagesHost contained display '\S*\s*'
\ nextgroup=messagesLabel
syn match messagesLabel contained display '\s*[^:]*:\s*'
\ nextgroup=messagesText contains=messagesKernel,messagesPID
syn match messagesPID contained display '\[\zs\d\+\ze\]'
syn match messagesKernel contained display 'kernel:'
syn match messagesIP '\d\+\.\d\+\.\d\+\.\d\+'
syn match messagesURL '\w\+://\S\+'
syn match messagesText contained display '.*'
\ contains=messagesNumber,messagesIP,messagesURL,messagesError
syn match messagesNumber contained '0x[0-9a-fA-F]*\|\[<[0-9a-f]\+>\]\|\<\d[0-9a-fA-F]*'
syn match messagesError contained '\c.*\<\(FATAL\|ERROR\|ERRORS\|FAILED\|FAILURE\).*'
hi def link messagesDate Constant
hi def link messagesHour Type
hi def link messagesHost Identifier
hi def link messagesLabel Operator
hi def link messagesPID Constant
hi def link messagesKernel Special
hi def link messagesError ErrorMsg
hi def link messagesIP Constant
hi def link messagesURL Underlined
hi def link messagesText Normal
hi def link messagesNumber Number
let b:current_syntax = "messages"
let &cpo = s:cpo_save
unlet s:cpo_save

View File

@@ -1,129 +1,254 @@
" Created : Wed 26 Apr 2006 01:20:53 AM CDT
" Modified : Thu 27 Apr 2006 02:29:25 PM CDT
" Modified : Mon 20 Nov 2006 12:14:16 AM PST
" Author : Gautam Iyer <gi1242@users.sourceforge.net>
" Description : Syntax file for mrxvtrc
" Description : Vim syntax file for mrxvtrc (for mrxvt-0.5.0 and up)
" Quit when a syntax file was already loaded
if exists("b:current_syntax")
finish
endif
" Define options.
let s:boolOpts = '(highlightTabOnBell|syncTabTitle|hideTabbar|autohideTabbar|bottomTabbar|hideButtons|syncTabIcon|veryBoldFont|maximized|fullscreen|reverseVideo|loginShell|jumpScroll|scrollBar|scrollbarRight|scrollbarFloating|scrollTtyOutputInhibit|scrollTtyKeypress|scrollWithBuffer|transparent|transparentForce|transparentScrollbar|transparentMenubar|transparentTabbar|tabUsePixmap|utmpInhibit|visualBell|mapAlert|meta8|mouseWheelScrollPage|multibyte_cursor|tripleclickwords|showMenu|xft|xftNomFont|xftSlowOutput|xftAntialias|xftHinting|xftAutoHint|xftGlobalAdvance|tabShell|cmdAllTabs|cmdInitTabs|protectSecondary|thai|borderLess|overrideRedirect|holdExit|broadcast|smartResize|smoothResize|pointerBlank|cursorBlink|noSysConfig|disableMacros|linuxHomeEndKey|sessionMgt)'
let s:colorOpts = '(vt\d+.(foreground|background)|background|foreground|ufBackground|textShadow|i?tab(Foreground|Background)|color([0-9]|1[0-5]|BD|UL|RV)|(scroll|trough|highlight|cursor|pointer|border|tint)Color|cursorColor2)'
let s:numOpts = '(vt\d+.saveLines|maxTabWidth|minVisibleTabs|saveLines|scrollbarThickness|xftmSize|xftSize|desktop|externalBorder|internalBorder|lineSpace|pointerBlankDelay|cursorBlinkInterval|initTermNumber|shading|backgroundFade|bgRefreshInterval|fading|opacity|opacityDegree|xftPSize)'
let s:strOpts = '(vt\d+\.(tabTitle|command)|tabTitle|termName|title|clientName|iconName|bellCommand|holdExitText|backspaceKey|deleteKey|printPipe|cutChars|answerbackString|smClientID|geometry|confFileSave|path|boldFont|m?font[1-5]?|xftFont|xftmFont|xftPFont|inputMethod|greektoggle_key|menu|menubarPixmap|vt\d+\.Pixmap|Pixmap|scrollbarPixmap|tabbarPixmap|appIcon|multichar_encoding)'
syn case match
syn match mrxvtrcComment contains=@Spell '^\s*!.*$'
syn match mrxvtrcComment '\v^\s*!\s*\w+[.*]\w+.*:.*'
" Errors
syn match mrxvtrcError contained '\v\S+'
" Comments
syn match mrxvtrcComment contains=@Spell '^\s*[!#].*$'
syn match mrxvtrcComment '\v^\s*[#!]\s*\w+[.*]\w+.*:.*'
"
" Generic options (string / color / number / boolean)
" Options.
"
syn match mrxvtrcOptErr '\v^\s*\w+[.*]?.{-}(:|$)'
exec 'syn match mrxvtrcBoolOpts nextgroup=mrxvtrcBoolVal,mrxvtrcValErr'
\ '"\v^\w+[.*]'.s:boolOpts.':\s*"'
exec 'syn match mrxvtrcNumOpts nextgroup=mrxvtrcNumVal,mrxvtrcValErr'
\ '"\v^\w+[.*]'.s:numOpts.':\s*"'
exec 'syn match mrxvtrcColorOpts nextgroup=mrxvtrcColorVal'
\ '"\v^\w+[.*]'.s:colorOpts.':\s*"'
exec 'syn match mrxvtrcStrOpts nextgroup=mrxvtrcStrVal,mrxvtrcValErr'
\ '"\v^\w+[.*]'.s:strOpts.':\s*"'
syn match mrxvtrcClass '\v^\s*\w+[.*]'
\ nextgroup=mrxvtrcOptions,mrxvtrcProfile,@mrxvtrcPOpts,mrxvtrcError
" Boolean options
syn keyword mrxvtrcOptions contained nextgroup=mrxvtrcBColon,mrxvtrcError
\ highlightTabOnBell syncTabTitle hideTabbar
\ autohideTabbar bottomTabbar hideButtons
\ syncTabIcon veryBoldFont maximized
\ fullscreen reverseVideo loginShell
\ jumpScroll scrollBar scrollbarRight
\ scrollbarFloating scrollTtyOutputInhibit
\ scrollTtyKeypress scrollWithBuffer
\ transparentForce transparentScrollbar
\ transparentMenubar transparentTabbar
\ tabUsePixmap utmpInhibit visualBell mapAlert
\ meta8 mouseWheelScrollPage multibyte_cursor
\ tripleclickwords showMenu xft xftNomFont
\ xftSlowOutput xftAntialias xftHinting
\ xftAutoHint xftGlobalAdvance cmdAllTabs
\ protectSecondary thai borderLess
\ overrideRedirect broadcast
\ smartResize smoothResize pointerBlank
\ cursorBlink noSysConfig disableMacros
\ linuxHomeEndKey sessionMgt
syn match mrxvtrcOptions contained nextgroup=mrxvtrcBColon,mrxvtrcError
\ '\v<transparent>'
syn match mrxvtrcBColon contained skipwhite
\ nextgroup=mrxvtrcBoolVal,mrxvtrcError ':'
syn case ignore
syn match mrxvtrcValErr contained '\v.+$'
syn keyword mrxvtrcBoolVal contained 0 1 yes no on off true false
syn match mrxvtrcStrVal contained '\v.+$'
syn match mrxvtrcColorVal contained '\v#[0-9a-f]{6}\s*$'
syn match mrxvtrcNumVal contained '\v[+-]?(0[0-7]+|\d+|0x[0-9a-f]+)$'
syn keyword mrxvtrcBoolVal contained skipwhite nextgroup=mrxvtrcError
\ 0 1 yes no on off true false
syn case match
"
" Options with special values
"
syn match mrxvtrcOptions nextgroup=mrxvtrcSBstyle,mrxvtrcValErr
\ '\v^\w+[.*]scrollbarStyle:\s*'
syn keyword mrxvtrcSBstyle contained plain xterm rxvt next sgi
" Color options
syn keyword mrxvtrcOptions contained nextgroup=mrxvtrcCColon,mrxvtrcError
\ ufBackground textShadow tabForeground
\ itabForeground tabBackground itabBackground
\ scrollColor troughColor highlightColor
\ cursorColor cursorColor2 pointerColor
\ borderColor tintColor
syn match mrxvtrcOptions contained nextgroup=mrxvtrcCColon,mrxvtrcError
\ '\v<color([0-9]|1[0-5]|BD|UL|RV)>'
syn match mrxvtrcCColon contained skipwhite
\ nextgroup=mrxvtrcColorVal ':'
syn match mrxvtrcColorVal contained skipwhite nextgroup=mrxvtrcError
\ '\v#[0-9a-fA-F]{6}'
syn match mrxvtrcOptions nextgroup=mrxvtrcSBalign,mrxvtrcValErr
\ '\v^\w+[.*]scrollbarAlign:\s*'
syn keyword mrxvtrcSBalign contained top bottom
" Numeric options
syn keyword mrxvtrcOptions contained nextgroup=mrxvtrcNColon,mrxvtrcError
\ maxTabWidth minVisibleTabs
\ scrollbarThickness xftmSize xftSize desktop
\ externalBorder internalBorder lineSpace
\ pointerBlankDelay cursorBlinkInterval
\ shading backgroundFade bgRefreshInterval
\ fading focusDelay opacity opacityDegree
\ xftPSize
syn match mrxvtrcNColon contained skipwhite
\ nextgroup=mrxvtrcNumVal,mrxvtrcError ':'
syn match mrxvtrcNumVal contained skipwhite nextgroup=mrxvtrcError
\ '\v[+-]?<(0[0-7]+|\d+|0x[0-9a-f]+)>'
syn match mrxvtrcOptions nextgroup=mrxvtrcTSmode,mrxvtrcValErr
\ '\v^\w+[.*]textShadowMode:\s*'
syn keyword mrxvtrcTSmode contained
" String options
syn keyword mrxvtrcOptions contained nextgroup=mrxvtrcSColon,mrxvtrcError
\ tabTitle termName title clientName iconName
\ bellCommand backspaceKey deleteKey
\ printPipe cutChars answerbackString
\ smClientID geometry path boldFont xftFont
\ xftmFont xftPFont inputMethod
\ greektoggle_key menu menubarPixmap
\ scrollbarPixmap tabbarPixmap appIcon
\ multichar_encoding initProfileList
\ winTitleFormat
syn match mrxvtrcOptions contained nextgroup=mrxvtrcSColon,mrxvtrcError
\ '\v<m?font[1-5]?>'
syn match mrxvtrcSColon contained skipwhite nextgroup=mrxvtrcStrVal ':'
syn match mrxvtrcStrVal contained '\v\S.*'
" Profile options
syn cluster mrxvtrcPOpts contains=mrxvtrcPSOpts,mrxvtrcPCOpts,mrxvtrcPNOpts
syn match mrxvtrcProfile contained nextgroup=@mrxvtrcPOpts,mrxvtrcError
\ '\vprofile\d+\.'
syn keyword mrxvtrcPSOpts contained nextgroup=mrxvtrcSColon,mrxvtrcError
\ tabTitle command holdExitText holdExitTitle
\ Pixmap workingDirectory titleFormat
syn keyword mrxvtrcPCOpts contained nextgroup=mrxvtrcCColon,mrxvtrcError
\ background foreground
syn keyword mrxvtrcPNOpts contained nextgroup=mrxvtrcNColon,mrxvtrcError
\ holdExit saveLines
" scrollbarStyle
syn match mrxvtrcOptions contained skipwhite
\ nextgroup=mrxvtrcSBstyle,mrxvtrcError
\ '\v<scrollbarStyle:'
syn keyword mrxvtrcSBstyle contained skipwhite nextgroup=mrxvtrcError
\ plain xterm rxvt next sgi
" scrollbarAlign
syn match mrxvtrcOptions contained skipwhite
\ nextgroup=mrxvtrcSBalign,mrxvtrcError
\ '\v<scrollbarAlign:'
syn keyword mrxvtrcSBalign contained skipwhite nextgroup=mrxvtrcError
\ top bottom
" textShadowMode
syn match mrxvtrcOptions contained skipwhite
\ nextgroup=mrxvtrcTSmode,mrxvtrcError
\ '\v<textShadowMode:'
syn keyword mrxvtrcTSmode contained skipwhite nextgroup=mrxvtrcError
\ none top bottom left right topleft topright
\ botleft botright
syn match mrxvtrcOptions nextgroup=mrxvtrcGrkKbd,mrxvtrcValErr
\ '\v^\w+[.*]greek_keyboard:\s*'
syn keyword mrxvtrcGrkKbd contained iso ibm
" greek_keyboard
syn match mrxvtrcOptions contained skipwhite
\ nextgroup=mrxvtrcGrkKbd,mrxvtrcError
\ '\v<greek_keyboard:'
syn keyword mrxvtrcGrkKbd contained skipwhite nextgroup=mrxvtrcError
\ iso ibm
syn match mrxvtrcOptions nextgroup=mrxvtrcXftWt,mrxvtrcValErr
\ '\v^\w+[.*]xftWeight:\s*'
syn keyword mrxvtrcXftWt contained light medium bold
" xftWeight
syn match mrxvtrcOptions contained skipwhite
\ nextgroup=mrxvtrcXftWt,mrxvtrcError
\ '\v<(xftWeight|xftBoldWeight):'
syn keyword mrxvtrcXftWt contained skipwhite nextgroup=mrxvtrcError
\ light medium demibold bold black
syn match mrxvtrcOptions nextgroup=mrxvtrcXftSl,mrxvtrcValErr
\ '\v^\w+[.*]xftSlant:\s*'
syn keyword mrxvtrcXftSl contained roman italic oblique
" xftSlant
syn match mrxvtrcOptions contained skipwhite
\ nextgroup=mrxvtrcXftSl,mrxvtrcError
\ '\v<xftSlant:'
syn keyword mrxvtrcXftSl contained skipwhite nextgroup=mrxvtrcError
\ roman italic oblique
syn match mrxvtrcOptions nextgroup=mrxvtrcXftWd,mrxvtrcValErr
\ '\v^\w+[.*]xftWidth:\s*'
syn keyword mrxvtrcXftWd contained
" xftWidth
syn match mrxvtrcOptions contained skipwhite
\ nextgroup=mrxvtrcXftWd,mrxvtrcError
\ '\v<xftWidth:'
syn keyword mrxvtrcXftWd contained skipwhite nextgroup=mrxvtrcError
\ ultracondensed ultraexpanded
\ condensed expanded normal
syn match mrxvtrcOptions nextgroup=mrxvtrcXftHt,mrxvtrcValErr
\ '\v^\w+[.*]xftRGBA:\s*'
syn keyword mrxvtrcXftHt contained rgb bgr vrgb vbgr none
" xftRGBA
syn match mrxvtrcOptions contained skipwhite
\ nextgroup=mrxvtrcXftHt,mrxvtrcError
\ '\v<xftRGBA:'
syn keyword mrxvtrcXftHt contained skipwhite nextgroup=mrxvtrcError
\ rgb bgr vrgb vbgr none
syn match mrxvtrcOptions nextgroup=mrxvtrcPedit,mrxvtrcValErr
\ '\v^\w+[.*]preeditType:\s*'
syn keyword mrxvtrcPedit contained OverTheSpot OffTheSpot Root
" preeditType
syn match mrxvtrcOptions contained skipwhite
\ nextgroup=mrxvtrcPedit,mrxvtrcError
\ '\v<preeditType:'
syn keyword mrxvtrcPedit contained skipwhite nextgroup=mrxvtrcError
\ OverTheSpot OffTheSpot Root
syn match mrxvtrcOptions nextgroup=mrxvtrcMod,mrxvtrcValErr
\ '\v^\w+[.*]modifier:\s*'
syn keyword mrxvtrcMod contained
" modifier
syn match mrxvtrcOptions contained skipwhite
\ nextgroup=mrxvtrcMod,mrxvtrcError
\ '\v<modifier:'
syn keyword mrxvtrcMod contained skipwhite nextgroup=mrxvtrcError
\ alt meta hyper super mod1 mod2 mod3 mod4 mod5
syn match mrxvtrcOptions nextgroup=mrxvtrcSelSty,mrxvtrcValErr
\ '\v^\w+[.*]selectStyle:\s*'
syn keyword mrxvtrcSelSty contained old oldword
" selectStyle
syn match mrxvtrcOptions contained skipwhite
\ nextgroup=mrxvtrcSelSty,mrxvtrcError
\ '\v<selectStyle:'
syn keyword mrxvtrcSelSty contained skipwhite nextgroup=mrxvtrcError
\ old oldword
"
" Macros
"
syn match mrxvtrcOptions nextgroup=mrxvtrcMacro,mrxvtrcValErr
\ '\v\c^\w+[.*]macro.(primary\+)?((ctrl|alt|meta|shift)\+)*\w+:\s*'
syn keyword mrxvtrcMacro contained nextgroup=mrxvtrcMacroArg
\ Dummy Esc Str NewTab Close GotoTab MoveTab
\ Scroll Copy Paste ToggleSubwin ResizeFont
\ ToggleVeryBold ToggleTransparency
\ ToggleBroadcast ToggleHold SetTitle
\ PrintScreen SaveConfig ToggleMacros
syn match mrxvtrcMacroArg contained '.\+$'
syn keyword mrxvtrcOptions contained nextgroup=mrxvtrcKey,mrxvtrcError
\ macro
syn case ignore
syn match mrxvtrcKey contained skipwhite
\ nextgroup=mrxvtrcMacro,mrxvtrcError
\ '\v\.((primary|add|ctrl|alt|meta|shift)\+)*\w+:'
syn case match
" Macros without arguments
syn keyword mrxvtrcMacro contained skipwhite nextgroup=mrxvtrcError
\ Dummy Copy Paste ToggleVeryBold
\ ToggleTransparency ToggleBroadcast
\ ToggleHold SetTitle ToggleMacros
\ ToggleFullscreen
unlet s:strOpts s:boolOpts s:colorOpts s:numOpts
" Macros with a string argument
syn keyword mrxvtrcMacro contained skipwhite nextgroup=mrxvtrcStrVal
\ Esc Str Exec Scroll PrintScreen SaveConfig
" Macros with a numeric argument
syn keyword mrxvtrcMacro contained skipwhite
\ nextgroup=mrxvtrcNumVal,mrxvtrcError
\ Close GotoTab MoveTab ResizeFont
" NewTab macro
syn keyword mrxvtrcMacro contained skipwhite
\ nextgroup=mrxvtrcTitle,mrxvtrcShell,mrxvtrcCmd
\ NewTab
syn region mrxvtrcTitle contained oneline skipwhite
\ nextgroup=mrxvtrcShell,mrxvtrcCmd
\ start='"' end='"'
syn match mrxvtrcShell contained nextgroup=mrxvtrcCmd '!'
syn match mrxvtrcCmd contained '\v[^!" \t].*'
" ToggleSubwin macro
syn keyword mrxvtrcMacro contained skipwhite
\ nextgroup=mrxvtrcSubwin,mrxvtrcError
\ ToggleSubwin
syn match mrxvtrcSubwin contained skipwhite nextgroup=mrxvtrcError
\ '\v[-+]?[bmst]>'
"
" Highlighting groups
"
hi def link mrxvtrcError Error
hi def link mrxvtrcComment Comment
hi def link mrxvtrcBoolOpts Statement
hi def link mrxvtrcColorOpts mrxvtrcBoolOpts
hi def link mrxvtrcNumOpts mrxvtrcBoolOpts
hi def link mrxvtrcStrOpts mrxvtrcBoolOpts
hi def link mrxvtrcOptions mrxvtrcBoolOpts
hi def link mrxvtrcClass Statement
hi def link mrxvtrcOptions mrxvtrcClass
hi def link mrxvtrcBColon mrxvtrcClass
hi def link mrxvtrcCColon mrxvtrcClass
hi def link mrxvtrcNColon mrxvtrcClass
hi def link mrxvtrcSColon mrxvtrcClass
hi def link mrxvtrcProfile mrxvtrcClass
hi def link mrxvtrcPSOpts mrxvtrcClass
hi def link mrxvtrcPCOpts mrxvtrcClass
hi def link mrxvtrcPNOpts mrxvtrcClass
hi def link mrxvtrcBoolVal Boolean
hi def link mrxvtrcStrVal String
@@ -143,9 +268,10 @@ hi def link mrxvtrcMod mrxvtrcStrVal
hi def link mrxvtrcSelSty mrxvtrcStrVal
hi def link mrxvtrcMacro Identifier
hi def link mrxvtrcMacroArg String
hi def link mrxvtrcOptErr Error
hi def link mrxvtrcValErr Error
hi def link mrxvtrcKey mrxvtrcClass
hi def link mrxvtrcTitle mrxvtrcStrVal
hi def link mrxvtrcShell Special
hi def link mrxvtrcCmd PreProc
hi def link mrxvtrcSubwin mrxvtrcStrVal
let b:current_syntax = "mrxvtrc"

View File

@@ -1,7 +1,7 @@
" Vim syntax file
" Language: Perl POD format
" Maintainer: Scott Bigham <dsb@killerbunnies.org>
" Last Change: 2005 Jul 05
" Last Change: 2007 Jan 21
" To add embedded POD documentation highlighting to your syntax file, add
" the commands:
@@ -53,6 +53,7 @@ syn match podSpecial "[$@%]\I\i*\(::\I\i*\)*\>" contains=@NoSpell
" Special formatting sequences
syn region podFormat start="[IBSCLFX]<[^<]"me=e-1 end=">" oneline contains=podFormat,@NoSpell
syn region podFormat start="[IBSCLFX]<<\s" end="\s>>" oneline contains=podFormat,@NoSpell
syn match podFormat "Z<>"
syn match podFormat "E<\(\d\+\|\I\i*\)>" contains=podEscape,podEscape2,@NoSpell
syn match podEscape "\I\i*>"me=e-1 contained contains=@NoSpell

View File

@@ -1,7 +1,7 @@
" Vim syntax file
" Language: Python
" Maintainer: Neil Schemenauer <nas@python.ca>
" Updated: 2002-10-18
" Updated: 2006-10-15
" Added Python 2.4 features 2006 May 4 (Dmitry Vasiliev)
"
" Options to control Python syntax highlighting:
@@ -40,7 +40,7 @@ endif
syn keyword pythonStatement break continue del
syn keyword pythonStatement except exec finally
syn keyword pythonStatement pass print raise
syn keyword pythonStatement return try
syn keyword pythonStatement return try with
syn keyword pythonStatement global assert
syn keyword pythonStatement lambda yield
syn keyword pythonStatement def class nextgroup=pythonFunction skipwhite
@@ -50,21 +50,21 @@ syn keyword pythonConditional if elif else
syn keyword pythonOperator and in is not or
" AS will be a keyword in Python 3
syn keyword pythonPreCondit import from as
syn match pythonComment "#.*$" contains=pythonTodo
syn match pythonComment "#.*$" contains=pythonTodo,@Spell
syn keyword pythonTodo TODO FIXME XXX contained
" Decorators (new in Python 2.4)
syn match pythonDecorator "@" display nextgroup=pythonFunction skipwhite
" strings
syn region pythonString matchgroup=Normal start=+[uU]\='+ end=+'+ skip=+\\\\\|\\'+ contains=pythonEscape
syn region pythonString matchgroup=Normal start=+[uU]\="+ end=+"+ skip=+\\\\\|\\"+ contains=pythonEscape
syn region pythonString matchgroup=Normal start=+[uU]\="""+ end=+"""+ contains=pythonEscape
syn region pythonString matchgroup=Normal start=+[uU]\='''+ end=+'''+ contains=pythonEscape
syn region pythonRawString matchgroup=Normal start=+[uU]\=[rR]'+ end=+'+ skip=+\\\\\|\\'+
syn region pythonRawString matchgroup=Normal start=+[uU]\=[rR]"+ end=+"+ skip=+\\\\\|\\"+
syn region pythonRawString matchgroup=Normal start=+[uU]\=[rR]"""+ end=+"""+
syn region pythonRawString matchgroup=Normal start=+[uU]\=[rR]'''+ end=+'''+
syn region pythonString matchgroup=Normal start=+[uU]\='+ end=+'+ skip=+\\\\\|\\'+ contains=pythonEscape,@Spell
syn region pythonString matchgroup=Normal start=+[uU]\="+ end=+"+ skip=+\\\\\|\\"+ contains=pythonEscape,@Spell
syn region pythonString matchgroup=Normal start=+[uU]\="""+ end=+"""+ contains=pythonEscape,@Spell
syn region pythonString matchgroup=Normal start=+[uU]\='''+ end=+'''+ contains=pythonEscape,@Spell
syn region pythonRawString matchgroup=Normal start=+[uU]\=[rR]'+ end=+'+ skip=+\\\\\|\\'+ contains=@Spell
syn region pythonRawString matchgroup=Normal start=+[uU]\=[rR]"+ end=+"+ skip=+\\\\\|\\"+ contains=@Spell
syn region pythonRawString matchgroup=Normal start=+[uU]\=[rR]"""+ end=+"""+ contains=@Spell
syn region pythonRawString matchgroup=Normal start=+[uU]\=[rR]'''+ end=+'''+ contains=@Spell
syn match pythonEscape +\\[abfnrtv'"\\]+ contained
syn match pythonEscape "\\\o\{1,3}" contained
syn match pythonEscape "\\x\x\{2}" contained

View File

@@ -1,10 +1,11 @@
" Vim syntax file
" Language: TCL/TK
" Maintainer: Dean Copsey <copsey@cs.ucdavis.edu>
" Maintainer: Brett Cannon <brett@python.org>
" (previously Dean Copsey <copsey@cs.ucdavis.edu>)
" (previously Matt Neumann <mattneu@purpleturtle.com>)
" (previously Allan Kelly <allan@fruitloaf.co.uk>)
" Original: Robin Becker <robin@jessikat.demon.co.uk>
" Last Change: 2004 May 16
" Last Change: 2006 Nov 17
"
" Keywords TODO: format clock click anchor
@@ -17,9 +18,16 @@ elseif exists("b:current_syntax")
endif
" A bunch of useful keywords
syn keyword tclStatement proc global return lindex
syn keyword tclStatement llength lappend lreplace lrange list concat incr
syn keyword tclStatement upvar set
syn keyword tclStatement tell socket subst open eof pwd glob list exec pid
syn keyword tclStatement auto_load_index time unknown eval lrange fblocked
syn keyword tclStatement lsearch auto_import gets lappend proc variable llength
syn keyword tclStatement auto_execok return linsert error catch clock info
syn keyword tclStatement split array fconfigure concat join lreplace source
syn keyword tclStatement fcopy global auto_qualify update close cd auto_load
syn keyword tclStatement file append format read package set binary namespace
syn keyword tclStatement scan trace seek flush after vwait uplevel lset rename
syn keyword tclStatement fileevent regexp upvar unset encoding expr load regsub
syn keyword tclStatement interp exit puts incr lindex lsort tclLog string
syn keyword tclLabel case default
syn keyword tclConditional if then else elseif switch
syn keyword tclRepeat while for foreach break continue

View File

@@ -1,118 +1,194 @@
" Vim syntax file
" Language: Z shell (zsh)
" Maintainer: Felix von Leitner <leitner@math.fu-berlin.de>
" Heavily based on sh.vim by Lennart Schultz
" Last Change: 2003 May 11
" Language: Zsh shell script
" Maintainer: Nikolai Weibull <now@bitwi.se>
" Latest Revision: 2006-08-06
" For version 5.x: Clear all syntax items
" For version 6.x: Quit when a syntax file was already loaded
if version < 600
syntax clear
elseif exists("b:current_syntax")
if exists("b:current_syntax")
finish
endif
" String and Character contstants
" Highlight special characters (those which have a backslash) differently
syn match zshSpecial "\\\d\d\d\|\\[abcfnrtv\\']"
syn region zshSinglequote start=+'+ skip=+\\'+ end=+'+
" A bunch of useful zsh keywords
" syn keyword zshFunction function
syn keyword zshStatement bg break cd chdir continue echo eval exec
syn keyword zshStatement exit export fg getopts hash jobs kill
syn keyword zshStatement pwd read readonly return set zshift function
syn keyword zshStatement stop suspend test times trap type ulimit
syn keyword zshStatement umask unset wait setopt compctl source
syn keyword zshStatement whence disown shift which unhash unalias
syn keyword zshStatement alias functions unfunction getln disable
syn keyword zshStatement vared getopt enable unsetopt autoload
syn keyword zshStatement bindkey pushln command limit unlimit fc
syn keyword zshStatement print builtin noglob sched r time
syn keyword zshStatement typeset declare local integer
let s:cpo_save = &cpo
set cpo&vim
syn keyword zshConditional if else esac case then elif fi in
syn keyword zshRepeat while for do done
setlocal iskeyword=@,48-57,_,-
" Following is worth to notice: command substitution, file redirection and functions (so these features turns red)
syn match zshFunctionName "\h\w*\s*()"
syn region zshCommandSub start=+`+ skip=+\\`+ end=+`+
" contains=ALLBUT,zshFunction
syn match zshRedir "\d\=\(<\|<<\|>\|>>\)\(|\|&\d\)\="
syn keyword zshTodo contained TODO FIXME XXX NOTE
syn keyword zshTodo contained TODO
syn region zshComment display oneline start='\%(^\|\s\)#' end='$'
\ contains=zshTodo,@Spell
syn keyword zshShellVariables USER LOGNAME HOME PATH CDPATH SHELL
syn keyword zshShellVariables LC_TYPE LC_MESSAGE MAIL MAILCHECK
syn keyword zshShellVariables PS1 PS2 IFS EGID EUID ERRNO GID UID
syn keyword zshShellVariables HOST LINENO MACHTYPE OLDPWD OPTARG
syn keyword zshShellVariables OPTIND OSTYPE PPID PWD RANDOM SECONDS
syn keyword zshShellVariables SHLVL TTY signals TTYIDLE USERNAME
syn keyword zshShellVariables VENDOR ZSH_NAME ZSH_VERSION ARGV0
syn keyword zshShellVariables BAUD COLUMNS cdpath DIRSTACKSIZE
syn keyword zshShellVariables FCEDIT fignore fpath histchars HISTCHARS
syn keyword zshShellVariables HISTFILE HISTSIZE KEYTIMEOUT LANG
syn keyword zshShellVariables LC_ALL LC_COLLATE LC_CTYPE LC_MESSAGES
syn keyword zshShellVariables LC_TIME LINES LISTMAX LOGCHECK mailpath
syn keyword zshShellVariables MAILPATH MANPATH manpath module_path
syn keyword zshShellVariables MODULE_PATH NULLCMD path POSTEDIT
syn keyword zshShellVariables PS3 PS4 PROMPT PROMPT2 PROMPT3 PROMPT4
syn keyword zshShellVariables psvar PSVAR prompt READNULLCMD
syn keyword zshShellVariables REPORTTIME RPROMPT RPS1 SAVEHIST
syn keyword zshShellVariables SPROMPT STTY TIMEFMT TMOUT TMPPREFIX
syn keyword zshShellVariables watch WATCH WATCHFMT WORDCHARS ZDOTDIR
syn match zshSpecialShellVar "\$[-#@*$?!0-9]"
syn keyword zshSetVariables ignoreeof noclobber
syn region zshDerefOpr start="\${" end="}" contains=zshShellVariables
syn match zshDerefIdentifier "\$[a-zA-Z_][a-zA-Z0-9_]*\>"
syn match zshOperator "[][}{&;|)(]"
syn match zshPreProc '^\%1l#\%(!\|compdef\|autoload\).*$'
syn match zshQuoted '\\.'
syn region zshString matchgroup=zshStringDelimiter start=+"+ end=+"+
\ contains=zshQuoted,@zshDerefs,@zshSubst
syn region zshString matchgroup=zshStringDelimiter start=+'+ end=+'+
" XXX: This should probably be more precise, but Zsh seems a bit confused about it itself
syn region zshPOSIXString matchgroup=zshStringDelimiter start=+\$'+
\ end=+'+ contains=zshQuoted
syn match zshJobSpec '%\(\d\+\|?\=\w\+\|[%+-]\)'
syn keyword zshPrecommand noglob nocorrect exec command builtin - time
syn match zshNumber "-\=\<\d\+\>"
syn match zshComment "#.*$" contains=zshNumber,zshTodo
syn keyword zshDelimiter do done
syn keyword zshConditional if then elif else fi case in esac select
syn match zshTestOpr "-\<[oeaznlg][tfqet]\=\>\|!\==\|-\<[b-gkLprsStuwjxOG]\>"
"syn region zshTest start="\[" skip="\\$" end="\]" contains=zshString,zshTestOpr,zshDerefIdentifier,zshDerefOpr
syn region zshString start=+"+ skip=+\\"+ end=+"+ contains=zshSpecial,zshOperator,zshDerefIdentifier,zshDerefOpr,zshSpecialShellVar,zshSinglequote,zshCommandSub
syn keyword zshRepeat for while until repeat foreach
" Define the default highlighting.
" For version 5.7 and earlier: only when not done already
" For version 5.8 and later: only when an item doesn't have highlighting yet
if version >= 508 || !exists("did_zsh_syntax_inits")
if version < 508
let did_zsh_syntax_inits = 1
command -nargs=+ HiLink hi link <args>
else
command -nargs=+ HiLink hi def link <args>
endif
syn keyword zshException always
HiLink zshSinglequote zshString
HiLink zshConditional zshStatement
HiLink zshRepeat zshStatement
HiLink zshFunctionName zshFunction
HiLink zshCommandSub zshOperator
HiLink zshRedir zshOperator
HiLink zshSetVariables zshShellVariables
HiLink zshSpecialShellVar zshShellVariables
HiLink zshTestOpr zshOperator
HiLink zshDerefOpr zshSpecial
HiLink zshDerefIdentifier zshShellVariables
HiLink zshOperator Operator
HiLink zshStatement Statement
HiLink zshNumber Number
HiLink zshString String
HiLink zshComment Comment
HiLink zshSpecial Special
HiLink zshTodo Todo
HiLink zshShellVariables Special
" hi zshOperator term=underline ctermfg=6 guifg=Purple gui=bold
" hi zshShellVariables term=underline ctermfg=2 guifg=SeaGreen gui=bold
" hi zshFunction term=bold ctermbg=1 guifg=Red
syn keyword zshKeyword function nextgroup=zshKSHFunction skipwhite
delcommand HiLink
syn match zshKSHFunction contained '\k\+'
syn match zshFunction '^\s*\k\+\ze\s*()'
syn match zshOperator '||\|&&\|;\|&!\='
syn match zshRedir '\d\=\(<\|<>\|<<<\|<&\s*[0-9p-]\=\)'
syn match zshRedir '\d\=\(>\|>>\|>&\s*[0-9p-]\=\|&>\|>>&\|&>>\)[|!]\='
syn match zshRedir '|&\='
syn region zshHereDoc matchgroup=zshRedir start='<<\s*\z(\S*\)'
\ end='^\z1\>' contains=@zshSubst
syn region zshHereDoc matchgroup=zshRedir start='<<-\s*\z(\S*\)'
\ end='^\s*\z1\>' contains=@zshSubst
syn region zshHereDoc matchgroup=zshRedir
\ start=+<<\s*\(["']\)\z(\S*\)\1+ end='^\z1\>'
syn region zshHereDoc matchgroup=zshRedir
\ start=+<<-\s*\(["']\)\z(\S*\)\1+
\ end='^\s*\z1\>'
syn match zshVariable '\<\h\w*\ze+\=='
" XXX: how safe is this?
syn region zshVariable oneline
\ start='\$\@<!\<\h\w*\[' end='\]\ze+\=='
\ contains=@zshSubst
syn cluster zshDerefs contains=zshShortDeref,zshLongDeref,zshDeref
if !exists("g:zsh_syntax_variables")
let s:zsh_syntax_variables = 'all'
else
let s:zsh_syntax_variables = g:zsh_syntax_variables
endif
if s:zsh_syntax_variables =~ 'short\|all'
syn match zshShortDeref '\$[!#$*@?_-]\w\@!'
syn match zshShortDeref '\$[=^~]*[#+]*\d\+\>'
endif
if s:zsh_syntax_variables =~ 'long\|all'
syn match zshLongDeref '\$\%(ARGC\|argv\|status\|pipestatus\|CPUTYPE\|EGID\|EUID\|ERRNO\|GID\|HOST\|LINENO\|LOGNAME\)'
syn match zshLongDeref '\$\%(MACHTYPE\|OLDPWD OPTARG\|OPTIND\|OSTYPE\|PPID\|PWD\|RANDOM\|SECONDS\|SHLVL\|signals\)'
syn match zshLongDeref '\$\%(TRY_BLOCK_ERROR\|TTY\|TTYIDLE\|UID\|USERNAME\|VENDOR\|ZSH_NAME\|ZSH_VERSION\|REPLY\|reply\|TERM\)'
endif
if s:zsh_syntax_variables =~ 'all'
syn match zshDeref '\$[=^~]*[#+]*\h\w*\>'
else
syn match zshDeref transparent '\$[=^~]*[#+]*\h\w*\>'
endif
syn match zshCommands '\%(^\|\s\)[.:]\ze\s'
syn keyword zshCommands alias autoload bg bindkey break bye cap cd
\ chdir clone comparguments compcall compctl
\ compdescribe compfiles compgroups compquote
\ comptags comptry compvalues continue dirs
\ disable disown echo echotc echoti emulate
\ enable eval exec exit export false fc fg
\ functions getcap getln getopts hash history
\ jobs kill let limit log logout popd print
\ printf pushd pushln pwd r read readonly
\ rehash return sched set setcap setopt shift
\ source stat suspend test times trap true
\ ttyctl type ulimit umask unalias unfunction
\ unhash unlimit unset unsetopt vared wait
\ whence where which zcompile zformat zftp zle
\ zmodload zparseopts zprof zpty zregexparse
\ zsocket zstyle ztcp
syn keyword zshTypes float integer local typeset declare
" XXX: this may be too much
" syn match zshSwitches '\s\zs--\=[a-zA-Z0-9-]\+'
syn match zshNumber '[+-]\=\<\d\+\>'
syn match zshNumber '[+-]\=\<0x\x\+\>'
syn match zshNumber '[+-]\=\<0\o\+\>'
syn match zshNumber '[+-]\=\d\+#[-+]\=\w\+\>'
syn match zshNumber '[+-]\=\d\+\.\d\+\>'
syn cluster zshSubst contains=zshSubst,zshOldSubst,zshMathSubst
syn region zshSubst matchgroup=zshSubstDelim transparent
\ start='\$(' skip='\\)' end=')' contains=TOP
syn region zshParentheses transparent start='(' skip='\\)' end=')'
syn region zshMathSubst matchgroup=zshSubstDelim transparent
\ start='\$((' skip='\\)'
\ matchgroup=zshSubstDelim end='))'
\ contains=zshParentheses,@zshSubst,zshNumber,
\ @zshDerefs,zshString
syn region zshBrackets contained transparent start='{' skip='\\}'
\ end='}'
syn region zshSubst matchgroup=zshSubstDelim start='\${' skip='\\}'
\ end='}' contains=@zshSubst,zshBrackets,zshQuoted
syn region zshOldSubst matchgroup=zshSubstDelim start=+`+ skip=+\\`+
\ end=+`+ contains=TOP,zshOldSubst
hi def link zshTodo Todo
hi def link zshComment Comment
hi def link zshPreProc PreProc
hi def link zshQuoted SpecialChar
hi def link zshString String
hi def link zshStringDelimiter zshString
hi def link zshPOSIXString zshString
hi def link zshJobSpec Special
hi def link zshPrecommand Special
hi def link zshDelimiter Keyword
hi def link zshConditional Conditional
hi def link zshException Exception
hi def link zshRepeat Repeat
hi def link zshKeyword Keyword
hi def link zshFunction None
hi def link zshKSHFunction zshFunction
hi def link zshHereDoc String
if 0
hi def link zshOperator Operator
else
hi def link zshOperator None
endif
if 1
hi def link zshRedir Operator
else
hi def link zshRedir None
endif
hi def link zshVariable None
hi def link zshDereferencing PreProc
if s:zsh_syntax_variables =~ 'short\|all'
hi def link zshShortDeref zshDereferencing
else
hi def link zshShortDeref None
endif
if s:zsh_syntax_variables =~ 'long\|all'
hi def link zshLongDeref zshDereferencing
else
hi def link zshLongDeref None
endif
if s:zsh_syntax_variables =~ 'all'
hi def link zshDeref zshDereferencing
else
hi def link zshDeref None
endif
hi def link zshCommands Keyword
hi def link zshTypes Type
hi def link zshSwitches Special
hi def link zshNumber Number
hi def link zshSubst PreProc
hi def link zshMathSubst zshSubst
hi def link zshOldSubst zshSubst
hi def link zshSubstDelim zshSubst
let b:current_syntax = "zsh"
" vim: ts=8
let &cpo = s:cpo_save
unlet s:cpo_save

File diff suppressed because it is too large Load Diff

View File

@@ -557,7 +557,7 @@
** <20><><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> :#,# w <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> **
1. <20><><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> :!dir <20> :!ls <20><><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD>
1. <20><><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> :!dir <20> :!ls <20><><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD>
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> TEST.
2. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
@@ -646,7 +646,7 @@
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 6.2: <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> a <20><><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>Ԣ <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. **
** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> a <20><><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. **
1. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> ---> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> $ <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.

View File

@@ -87,7 +87,7 @@
---> The ccow jumpedd ovverr thhe mooon.
5. <20><20><><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD> <20><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><EFBFBD><E19F9E> 1.4.
5. <20><20><><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD> <20><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><EFBFBD><E19F9E> 1.4.
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E2AE9C> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><E39A9E>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD>
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><E5A49C> <20><> <20><> <20><>㩞.
@@ -124,7 +124,7 @@
2. <20><><EFBFBD> <20><> <20><><EFBFBD><20><><EFBFBD><EFBFBD> Vim (<28><><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> %) <20><><EFBFBD>: vim <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <ENTER>
3. <20><><EFBFBD> <20><> <20><><EFBFBD><20><><EFBFBD>: <ESC> :q! <ENTER> <20><><EFBFBD> <20><><EFBFBD><E6A8A8><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
<20> <20><><EFBFBD>: <ESC> :wq <ENTER> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><E3A19C><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
<20> <20><><EFBFBD>: <ESC> :wq <ENTER> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><E3A19C><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
4. <20><><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E1AF9C><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E1A9AB><EFBFBD> <20><><EFBFBD><EFBFBD>: x
@@ -157,7 +157,7 @@
---> There are a some words fun that don't belong paper in this sentence.
5. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E1999C> <20><> <20><EFBFBD><E3A398> 3 <20><><EFBFBD> 4 <20><EFBFBD> <20> <20><><EFBFBD><E6AB98> <20><> <20><EFBFBD> <20><EFBFBD> <20><><EFBFBD>
<20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><EFBFBD><E19F9E> 2.2.
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><EFBFBD><E19F9E> 2.2.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<20><EFBFBD><E19F9E> 2.2: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
@@ -277,6 +277,7 @@
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<09><EFBFBD><E19F9E> 3.1: <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
** <20><><EFBFBD><EFBFBD> p <20><><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E3A99C> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. **
1. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>.
@@ -304,7 +305,7 @@
** <20><><EFBFBD><EFBFBD> r <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><20><><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><E1A59C> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><EFBFBD>
<20><><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. **
1. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> --->.
1. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> --->.
2. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><> <20><> <20><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><20><EFBFBD>.
@@ -603,7 +604,7 @@
1. :!<21><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><E0AB9C><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E3A9A0> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E59AA3><EFBFBD> <20><EFBFBD> (MS-DOS):
:!dir - <20><><EFBFBD><EFBFBD><E1A4A0> <20><EFBFBD><E5A9AB> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
:!dir - <20><><EFBFBD><EFBFBD><E1A4A0> <20><EFBFBD><E5A9AB> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
:!del <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
2. :w <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> Vim <20><><EFBFBD> <20><EFBFBD> <20><><><E6A4A6> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
@@ -645,7 +646,7 @@
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<20><EFBFBD><E19F9E> 6.2: <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
** <20><><EFBFBD><EFBFBD> a <20><><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><E19A9C> <20><><EFBFBD><E5A39C> <20><><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. **
** <20><><EFBFBD><EFBFBD> a <20><><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><E19A9C> <20><><EFBFBD><E5A39C> <20><><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. **
1. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><EFBFBD> <20><><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><20><> ---> <20><><EFBFBD><EFBFBD><E9A4AB> $ <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E1A9AB><EFBFBD>.
@@ -660,7 +661,7 @@
3. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><20><><EFBFBD> <20><><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><20> <20><><EFBFBD><EFBFBD><EFBFBD><20><EFBFBD>
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E1A9AB><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><E1A9AB><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD>
<20><><EFBFBD> <20><> <20><20><><EFBFBD> <20><><EFBFBD><EFBFBD><E19A9C><EFBFBD> <20><> <20><><EFBFBD><E5A39C>.
<20><><EFBFBD> <20><> <20><20><><EFBFBD> <20><><EFBFBD><EFBFBD><E19A9C><EFBFBD> <20><> <20><><EFBFBD><E5A39C>.
---> This line will allow you to practice
---> This line will allow you to practice appending text to the end of a line.
@@ -812,4 +813,3 @@
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD> Vim <20><><EFBFBD> <20><><EFBFBD> Bram Moolenaar.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

File diff suppressed because it is too large Load Diff

Some files were not shown because too many files have changed in this diff Show More