mirror of
https://github.com/vim/vim.git
synced 2025-07-26 11:04:33 -04:00
updated for version 7.0d05
This commit is contained in:
parent
01a347a1bb
commit
c6249bb246
308
runtime/autoload/rubycomplete.vim
Normal file
308
runtime/autoload/rubycomplete.vim
Normal file
@ -0,0 +1,308 @@
|
||||
" Vim completion script
|
||||
" Language: Ruby
|
||||
" Maintainer: Mark Guzman ( segfault AT hasno DOT info )
|
||||
" Info: $Id$
|
||||
" URL: http://vim-ruby.rubyforge.org
|
||||
" Anon CVS: See above site
|
||||
" Release Coordinator: Doug Kearns <dougkearns@gmail.com>
|
||||
" ----------------------------------------------------------------------------
|
||||
"
|
||||
" Ruby IRB/Complete author: Keiju ISHITSUKA(keiju@ishitsuka.com)
|
||||
" ----------------------------------------------------------------------------
|
||||
|
||||
if !has('ruby')
|
||||
echo "Error: Required vim compiled with +ruby"
|
||||
finish
|
||||
endif
|
||||
|
||||
if version < 700
|
||||
echo "Error: Required vim >= 7.0"
|
||||
finish
|
||||
endif
|
||||
|
||||
func! GetRubyVarType(v)
|
||||
let stopline = 1
|
||||
let vtp = ''
|
||||
let pos = getpos('.')
|
||||
let [lnum,lcol] = searchpos('^\s*#\s*@var\s*'.a:v.'\>\s\+[^ \t]\+\s*$','nb',stopline)
|
||||
if lnum != 0 && lcol != 0
|
||||
call setpos('.',pos)
|
||||
let str = getline(lnum)
|
||||
let vtp = substitute(str,'^\s*#\s*@var\s*'.a:v.'\>\s\+\([^ \t]\+\)\s*$','\1','')
|
||||
return vtp
|
||||
endif
|
||||
call setpos('.',pos)
|
||||
let [lnum,lcol] = searchpos(''.a:v.'\>\s*[+\-*/]*=\s*\([^ \t]\+.\(now\|new\|open\|get_instance\)\>\|[\[{"'']\)','nb',stopline)
|
||||
if lnum != 0 && lcol != 0
|
||||
let str = matchstr(getline(lnum),'=\s*\([^ \t]\+.\(now\|new\|open\|get_instance\)\>\|[\[{"'']\)',lcol)
|
||||
let str = substitute(str,'^=\s*','','')
|
||||
call setpos('.',pos)
|
||||
if str == '"' || str == ''''
|
||||
return 'String'
|
||||
elseif str == '['
|
||||
return 'Array'
|
||||
elseif str == '{'
|
||||
return 'Hash'
|
||||
elseif strlen(str) > 4
|
||||
let l = stridx(str,'.')
|
||||
return str[0:l-1]
|
||||
end
|
||||
return ''
|
||||
endif
|
||||
call setpos('.',pos)
|
||||
return ''
|
||||
endf
|
||||
|
||||
function! rubycomplete#Complete(findstart, base)
|
||||
"findstart = 1 when we need to get the text length
|
||||
if a:findstart
|
||||
let line = getline('.')
|
||||
let idx = col('.')
|
||||
while idx > 0
|
||||
let idx -= 1
|
||||
let c = line[idx-1]
|
||||
if c =~ '\w'
|
||||
continue
|
||||
elseif ! c =~ '\.'
|
||||
idx = -1
|
||||
break
|
||||
else
|
||||
break
|
||||
endif
|
||||
endwhile
|
||||
|
||||
return idx
|
||||
"findstart = 0 when we need to return the list of completions
|
||||
else
|
||||
execute "ruby get_completions('" . a:base . "')"
|
||||
return g:rbcomplete_completions
|
||||
endif
|
||||
endfunction
|
||||
|
||||
|
||||
function! s:DefRuby()
|
||||
ruby << RUBYEOF
|
||||
ReservedWords = [
|
||||
"BEGIN", "END",
|
||||
"alias", "and",
|
||||
"begin", "break",
|
||||
"case", "class",
|
||||
"def", "defined", "do",
|
||||
"else", "elsif", "end", "ensure",
|
||||
"false", "for",
|
||||
"if", "in",
|
||||
"module",
|
||||
"next", "nil", "not",
|
||||
"or",
|
||||
"redo", "rescue", "retry", "return",
|
||||
"self", "super",
|
||||
"then", "true",
|
||||
"undef", "unless", "until",
|
||||
"when", "while",
|
||||
"yield",
|
||||
]
|
||||
|
||||
Operators = [ "%", "&", "*", "**", "+", "-", "/",
|
||||
"<", "<<", "<=", "<=>", "==", "===", "=~", ">", ">=", ">>",
|
||||
"[]", "[]=", "^", ]
|
||||
|
||||
def identify_type(var)
|
||||
@buf = VIM::Buffer.current
|
||||
enum = @buf.line_number
|
||||
snum = (enum-10).abs
|
||||
nums = Range.new( snum, enum )
|
||||
regxs = '/.*(%s)\s*=(.*)/' % var
|
||||
regx = Regexp.new( regxs )
|
||||
nums.each do |x|
|
||||
ln = @buf[x]
|
||||
#print $~ if regx.match( ln )
|
||||
end
|
||||
end
|
||||
|
||||
def load_requires
|
||||
@buf = VIM::Buffer.current
|
||||
enum = @buf.line_number
|
||||
nums = Range.new( 1, enum )
|
||||
nums.each do |x|
|
||||
ln = @buf[x]
|
||||
begin
|
||||
eval( "require %s" % $1 ) if /.*require\s*(.*)$/.match( ln )
|
||||
rescue Exception
|
||||
#ignore?
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def get_completions(base)
|
||||
load_requires
|
||||
input = VIM::evaluate('expand("<cWORD>")')
|
||||
input += base
|
||||
message = nil
|
||||
|
||||
|
||||
case input
|
||||
when /^(\/[^\/]*\/)\.([^.]*)$/
|
||||
# Regexp
|
||||
receiver = $1
|
||||
message = Regexp.quote($2)
|
||||
|
||||
candidates = Regexp.instance_methods(true)
|
||||
select_message(receiver, message, candidates)
|
||||
|
||||
when /^([^\]]*\])\.([^.]*)$/
|
||||
# Array
|
||||
receiver = $1
|
||||
message = Regexp.quote($2)
|
||||
|
||||
candidates = Array.instance_methods(true)
|
||||
select_message(receiver, message, candidates)
|
||||
|
||||
when /^([^\}]*\})\.([^.]*)$/
|
||||
# Proc or Hash
|
||||
receiver = $1
|
||||
message = Regexp.quote($2)
|
||||
|
||||
candidates = Proc.instance_methods(true) | Hash.instance_methods(true)
|
||||
select_message(receiver, message, candidates)
|
||||
|
||||
when /^(:[^:.]*)$/
|
||||
# Symbol
|
||||
if Symbol.respond_to?(:all_symbols)
|
||||
sym = $1
|
||||
candidates = Symbol.all_symbols.collect{|s| ":" + s.id2name}
|
||||
candidates.grep(/^#{sym}/)
|
||||
else
|
||||
[]
|
||||
end
|
||||
|
||||
when /^::([A-Z][^:\.\(]*)$/
|
||||
# Absolute Constant or class methods
|
||||
receiver = $1
|
||||
candidates = Object.constants
|
||||
candidates.grep(/^#{receiver}/).collect{|e| "::" + e}
|
||||
|
||||
when /^(((::)?[A-Z][^:.\(]*)+)::?([^:.]*)$/
|
||||
# Constant or class methods
|
||||
receiver = $1
|
||||
message = Regexp.quote($4)
|
||||
begin
|
||||
candidates = eval("#{receiver}.constants | #{receiver}.methods")
|
||||
rescue Exception
|
||||
candidates = []
|
||||
end
|
||||
candidates.grep(/^#{message}/).collect{|e| receiver + "::" + e}
|
||||
|
||||
when /^(:[^:.]+)\.([^.]*)$/
|
||||
# Symbol
|
||||
receiver = $1
|
||||
message = Regexp.quote($2)
|
||||
|
||||
candidates = Symbol.instance_methods(true)
|
||||
select_message(receiver, message, candidates)
|
||||
|
||||
when /^([0-9_]+(\.[0-9_]+)?(e[0-9]+)?)\.([^.]*)$/
|
||||
# Numeric
|
||||
receiver = $1
|
||||
message = Regexp.quote($4)
|
||||
|
||||
begin
|
||||
candidates = eval(receiver).methods
|
||||
rescue Exception
|
||||
candidates
|
||||
end
|
||||
select_message(receiver, message, candidates)
|
||||
|
||||
when /^(\$[^.]*)$/
|
||||
candidates = global_variables.grep(Regexp.new(Regexp.quote($1)))
|
||||
|
||||
# when /^(\$?(\.?[^.]+)+)\.([^.]*)$/
|
||||
when /^((\.?[^.]+)+)\.([^.]*)$/
|
||||
# variable
|
||||
receiver = $1
|
||||
message = Regexp.quote($3)
|
||||
|
||||
cv = eval("self.class.constants")
|
||||
|
||||
vartype = VIM::evaluate("GetRubyVarType('%s')" % receiver)
|
||||
if vartype != ''
|
||||
candidates = eval("#{vartype}.instance_methods")
|
||||
elsif (cv).include?(receiver)
|
||||
# foo.func and foo is local var.
|
||||
candidates = eval("#{receiver}.methods")
|
||||
elsif /^[A-Z]/ =~ receiver and /\./ !~ receiver
|
||||
# Foo::Bar.func
|
||||
begin
|
||||
candidates = eval("#{receiver}.methods")
|
||||
rescue Exception
|
||||
candidates = []
|
||||
end
|
||||
else
|
||||
# func1.func2
|
||||
candidates = []
|
||||
ObjectSpace.each_object(Module){|m|
|
||||
next if m.name != "IRB::Context" and
|
||||
/^(IRB|SLex|RubyLex|RubyToken)/ =~ m.name
|
||||
candidates.concat m.instance_methods(false)
|
||||
}
|
||||
candidates.sort!
|
||||
candidates.uniq!
|
||||
end
|
||||
#identify_type( receiver )
|
||||
select_message(receiver, message, candidates)
|
||||
|
||||
#when /^((\.?[^.]+)+)\.([^.]*)\(\s*\)*$/
|
||||
#function call
|
||||
#obj = $1
|
||||
#func = $3
|
||||
|
||||
when /^\.([^.]*)$/
|
||||
# unknown(maybe String)
|
||||
|
||||
receiver = ""
|
||||
message = Regexp.quote($1)
|
||||
|
||||
candidates = String.instance_methods(true)
|
||||
select_message(receiver, message, candidates)
|
||||
|
||||
else
|
||||
candidates = eval("self.class.constants")
|
||||
|
||||
(candidates|ReservedWords).grep(/^#{Regexp.quote(input)}/)
|
||||
end
|
||||
|
||||
#print candidates
|
||||
if message != nil && message.length > 0
|
||||
rexp = '^%s' % message.downcase
|
||||
candidates.delete_if do |c|
|
||||
c.downcase.match( rexp )
|
||||
$~ == nil
|
||||
end
|
||||
end
|
||||
|
||||
outp = ""
|
||||
# tags = VIM::evaluate("taglist('^%s$')" %
|
||||
(candidates-Object.instance_methods).each { |c| outp += "{'word':'%s','item':'%s'}," % [ c, c ] }
|
||||
outp.sub!(/,$/, '')
|
||||
VIM::command("let g:rbcomplete_completions = [%s]" % outp)
|
||||
end
|
||||
|
||||
|
||||
def select_message(receiver, message, candidates)
|
||||
candidates.grep(/^#{message}/).collect do |e|
|
||||
case e
|
||||
when /^[a-zA-Z_]/
|
||||
receiver + "." + e
|
||||
when /^[0-9]/
|
||||
when *Operators
|
||||
#receiver + " " + e
|
||||
end
|
||||
end
|
||||
candidates.delete_if { |x| x == nil }
|
||||
candidates.uniq!
|
||||
candidates.sort!
|
||||
end
|
||||
RUBYEOF
|
||||
endfunction
|
||||
|
||||
call s:DefRuby()
|
||||
" vim: set et ts=4:
|
@ -1,6 +1,6 @@
|
||||
" Vim color file
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2006 Apr 14
|
||||
" Last Change: 2006 Apr 15
|
||||
|
||||
" This color scheme uses a light grey background.
|
||||
|
||||
@ -22,7 +22,7 @@ hi ModeMsg term=bold cterm=bold gui=bold
|
||||
hi StatusLine term=reverse,bold cterm=reverse,bold gui=reverse,bold
|
||||
hi StatusLineNC term=reverse cterm=reverse gui=reverse
|
||||
hi VertSplit term=reverse cterm=reverse gui=reverse
|
||||
hi Visual term=reverse ctermbg=grey guibg=grey90
|
||||
hi Visual term=reverse ctermbg=grey guibg=grey80
|
||||
hi VisualNOS term=underline,bold cterm=underline,bold gui=underline,bold
|
||||
hi DiffText term=reverse cterm=bold ctermbg=Red gui=bold guibg=Red
|
||||
hi Cursor guibg=Green guifg=NONE
|
||||
|
@ -1,10 +1,10 @@
|
||||
" Vim compiler file
|
||||
" Language: eRuby
|
||||
" Maintainer: Doug Kearns <djkea2 at gus.gscit.monash.edu.au>
|
||||
" Info: $Id$
|
||||
" URL: http://vim-ruby.rubyforge.org
|
||||
" Anon CVS: See above site
|
||||
" ----------------------------------------------------------------------------
|
||||
" Language: eRuby
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Info: $Id$
|
||||
" URL: http://vim-ruby.rubyforge.org
|
||||
" Anon CVS: See above site
|
||||
" Release Coordinator: Doug Kearns <dougkearns@gmail.com>
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
|
@ -1,10 +1,11 @@
|
||||
" Vim compiler file
|
||||
" Language: Ruby
|
||||
" Function: Syntax check and/or error reporting
|
||||
" Maintainer: Tim Hammerquist <timh at rubyforge.org>
|
||||
" Info: $Id$
|
||||
" URL: http://vim-ruby.rubyforge.org
|
||||
" Anon CVS: See above site
|
||||
" Language: Ruby
|
||||
" Function: Syntax check and/or error reporting
|
||||
" Maintainer: Tim Hammerquist <timh at rubyforge.org>
|
||||
" Info: $Id$
|
||||
" URL: http://vim-ruby.rubyforge.org
|
||||
" Anon CVS: See above site
|
||||
" Release Coordinator: Doug Kearns <dougkearns@gmail.com>
|
||||
" ----------------------------------------------------------------------------
|
||||
"
|
||||
" Changelog:
|
||||
|
@ -1,4 +1,4 @@
|
||||
*eval.txt* For Vim version 7.0d. Last change: 2006 Apr 14
|
||||
*eval.txt* For Vim version 7.0d. Last change: 2006 Apr 15
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -1597,6 +1597,8 @@ getpos( {expr}) List position of cursor, mark, etc.
|
||||
getqflist() List list of quickfix items
|
||||
getreg( [{regname} [, 1]]) String contents of register
|
||||
getregtype( [{regname}]) String type of register
|
||||
gettabwinvar( {tabnr}, {winnr}, {name})
|
||||
any {name} in {winnr} in tab page {tabnr}
|
||||
getwinposx() Number X coord in pixels of GUI Vim window
|
||||
getwinposy() Number Y coord in pixels of GUI Vim window
|
||||
getwinvar( {nr}, {varname}) any variable {varname} in window {nr}
|
||||
@ -1702,6 +1704,8 @@ setloclist( {nr}, {list}[, {action}])
|
||||
setpos( {expr}, {list}) none set the {expr} position to {list}
|
||||
setqflist( {list}[, {action}]) Number modify quickfix list using {list}
|
||||
setreg( {n}, {v}[, {opt}]) Number set register to value and type
|
||||
settabwinvar( {tabnr}, {winnr}, {varname}, {val}) set {varname} in window
|
||||
{winnr} in tab page {tabnr} to {val}
|
||||
setwinvar( {nr}, {varname}, {val}) set {varname} in window {nr} to {val}
|
||||
simplify( {filename}) String simplify filename as much as possible
|
||||
sort( {list} [, {func}]) List sort {list}, using {func} to compare
|
||||
@ -2865,6 +2869,20 @@ getregtype([{regname}]) *getregtype()*
|
||||
<CTRL-V> is one character with value 0x16.
|
||||
If {regname} is not specified, |v:register| is used.
|
||||
|
||||
gettabwinvar({tabnr}, {winnr}, {varname}) *gettabwinvar()*
|
||||
Get the value of an option or local window variable {varname}
|
||||
in window {winnr} in tab page {tabnr}.
|
||||
Tabs are numbered starting with one. For the current tabpage
|
||||
use |getwinvar()|.
|
||||
When {winnr} is zero the current window is used.
|
||||
This also works for a global option, buffer-local option and
|
||||
window-local option, but it doesn't work for a global variable
|
||||
or buffer-local variable.
|
||||
Note that the name without "w:" must be used.
|
||||
Examples: >
|
||||
:let list_is_on = gettabwinvar(1, 2, '&list')
|
||||
:echo "myvar = " . gettabwinvar(3, 1, 'myvar')
|
||||
|
||||
*getwinposx()*
|
||||
getwinposx() The result is a Number, which is the X coordinate in pixels of
|
||||
the left hand side of the GUI Vim window. The result will be
|
||||
@ -2875,14 +2893,8 @@ getwinposy() The result is a Number, which is the Y coordinate in pixels of
|
||||
the top of the GUI Vim window. The result will be -1 if the
|
||||
information is not available.
|
||||
|
||||
getwinvar({nr}, {varname}) *getwinvar()*
|
||||
The result is the value of option or local window variable
|
||||
{varname} in window {nr}. When {nr} is zero the current
|
||||
window is used.
|
||||
This also works for a global option, buffer-local option and
|
||||
window-local option, but it doesn't work for a global variable
|
||||
or buffer-local variable.
|
||||
Note that the name without "w:" must be used.
|
||||
getwinvar({winnr}, {varname}) *getwinvar()*
|
||||
Like |gettabwinvar()| for the current tabpage.
|
||||
Examples: >
|
||||
:let list_is_on = getwinvar(2, '&list')
|
||||
:echo "myvar = " . getwinvar(1, 'myvar')
|
||||
@ -4359,17 +4371,28 @@ setreg({regname}, {value} [,{options}])
|
||||
nothing: >
|
||||
:call setreg('a', '', 'al')
|
||||
|
||||
setwinvar({nr}, {varname}, {val}) *setwinvar()*
|
||||
Set option or local variable {varname} in window {nr} to
|
||||
{val}. When {nr} is zero the current window is used.
|
||||
settabwinvar({tabnr}, {winnr}, {varname}, {val}) *settabwinvar()*
|
||||
Set option or local variable {varname} in window {winnr} to
|
||||
{val}.
|
||||
Tabs are numbered starting with one. For the current tabpage
|
||||
use |setwinvar()|.
|
||||
When {winnr} is zero the current window is used.
|
||||
This also works for a global or local buffer option, but it
|
||||
doesn't work for a global or local buffer variable.
|
||||
For a local buffer option the global value is unchanged.
|
||||
Note that the variable name without "w:" must be used.
|
||||
Vim briefly goes to the tab page {tabnr}, this may trigger
|
||||
TabLeave and TabEnter autocommands.
|
||||
Examples: >
|
||||
:call settabwinvar(1, 1, "&list", 0)
|
||||
:call settabwinvar(3, 2, "myvar", "foobar")
|
||||
< This function is not available in the |sandbox|.
|
||||
|
||||
setwinvar({nr}, {varname}, {val}) *setwinvar()*
|
||||
Like |settabwinvar()| for the current tab page.
|
||||
Examples: >
|
||||
:call setwinvar(1, "&list", 0)
|
||||
:call setwinvar(2, "myvar", "foobar")
|
||||
< This function is not available in the |sandbox|.
|
||||
|
||||
simplify({filename}) *simplify()*
|
||||
Simplify the file name as much as possible without changing
|
||||
|
@ -4976,6 +4976,8 @@ dos32 os_msdos.txt /*dos32*
|
||||
dosbatch.vim syntax.txt /*dosbatch.vim*
|
||||
double-click term.txt /*double-click*
|
||||
download intro.txt /*download*
|
||||
doxygen-syntax syntax.txt /*doxygen-syntax*
|
||||
doxygen.vim syntax.txt /*doxygen.vim*
|
||||
dp diff.txt /*dp*
|
||||
drag-n-drop gui.txt /*drag-n-drop*
|
||||
drag-n-drop-win32 gui_w32.txt /*drag-n-drop-win32*
|
||||
@ -5482,6 +5484,7 @@ getreg() eval.txt /*getreg()*
|
||||
getregtype() eval.txt /*getregtype()*
|
||||
getscript getscript.txt /*getscript*
|
||||
getscript.txt getscript.txt /*getscript.txt*
|
||||
gettabwinvar() eval.txt /*gettabwinvar()*
|
||||
getwinposx() eval.txt /*getwinposx()*
|
||||
getwinposy() eval.txt /*getwinposy()*
|
||||
getwinvar() eval.txt /*getwinvar()*
|
||||
@ -6788,6 +6791,7 @@ setloclist() eval.txt /*setloclist()*
|
||||
setpos() eval.txt /*setpos()*
|
||||
setqflist() eval.txt /*setqflist()*
|
||||
setreg() eval.txt /*setreg()*
|
||||
settabwinvar() eval.txt /*settabwinvar()*
|
||||
setting-guifont gui.txt /*setting-guifont*
|
||||
setting-guitablabel tabpage.txt /*setting-guitablabel*
|
||||
setting-tabline tabpage.txt /*setting-tabline*
|
||||
|
@ -1,4 +1,4 @@
|
||||
*usr_41.txt* For Vim version 7.0d. Last change: 2006 Apr 09
|
||||
*usr_41.txt* For Vim version 7.0d. Last change: 2006 Apr 15
|
||||
|
||||
VIM USER MANUAL - by Bram Moolenaar
|
||||
|
||||
@ -652,8 +652,10 @@ Variables:
|
||||
function() get a Funcref for a function name
|
||||
getbufvar() get a variable value from a specific buffer
|
||||
setbufvar() set a variable in a specific buffer
|
||||
getwinvar() get a variable value from a specific window
|
||||
getwinvar() get a variable from specific window
|
||||
gettabwinvar() get a variable from specific window & tab page
|
||||
setwinvar() set a variable in a specific window
|
||||
settabwinvar() set a variable in a specific window & tab page
|
||||
garbagecollect() possibly free memory
|
||||
|
||||
Cursor and mark position:
|
||||
|
@ -1,7 +1,7 @@
|
||||
" Vim support file to detect file types
|
||||
"
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2006 Apr 12
|
||||
" Last Change: 2006 Apr 15
|
||||
|
||||
" Listen very carefully, I will say this only once
|
||||
if exists("did_load_filetypes")
|
||||
@ -1653,6 +1653,12 @@ au BufNewFile,BufRead ssh_config,*/.ssh/config setf sshconfig
|
||||
" OpenSSH server configuration
|
||||
au BufNewFile,BufRead sshd_config setf sshdconfig
|
||||
|
||||
" Stata
|
||||
au BufNewFile,BufRead *.ado,*.class,*.do,*.imata,*.mata setf stata
|
||||
|
||||
" SMCL
|
||||
au BufNewFile,BufRead *.hlp,*.ihlp,*.smcl setf smcl
|
||||
|
||||
" Stored Procedures
|
||||
au BufNewFile,BufRead *.stp setf stp
|
||||
|
||||
|
@ -1,10 +1,10 @@
|
||||
" Vim filetype plugin
|
||||
" Language: eRuby
|
||||
" Maintainer: Doug Kearns <djkea2 at gus.gscit.monash.edu.au>
|
||||
" Info: $Id$
|
||||
" URL: http://vim-ruby.rubyforge.org
|
||||
" Anon CVS: See above site
|
||||
" ----------------------------------------------------------------------------
|
||||
" Language: eRuby
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Info: $Id$
|
||||
" URL: http://vim-ruby.rubyforge.org
|
||||
" Anon CVS: See above site
|
||||
" Release Coordinator: Doug Kearns <dougkearns@gmail.com>
|
||||
|
||||
" Only do this when not done yet for this buffer
|
||||
if (exists("b:did_ftplugin"))
|
||||
|
@ -1,9 +1,10 @@
|
||||
" Vim filetype plugin
|
||||
" Language: Ruby
|
||||
" Maintainer: Gavin Sinclair <gsinclair at soyabean.com.au>
|
||||
" Info: $Id$
|
||||
" URL: http://vim-ruby.rubyforge.org
|
||||
" Anon CVS: See above site
|
||||
" Language: Ruby
|
||||
" Maintainer: Gavin Sinclair <gsinclair at soyabean.com.au>
|
||||
" Info: $Id$
|
||||
" URL: http://vim-ruby.rubyforge.org
|
||||
" Anon CVS: See above site
|
||||
" Release Coordinator: Doug Kearns <dougkearns@gmail.com>
|
||||
" ----------------------------------------------------------------------------
|
||||
"
|
||||
" Original matchit support thanks to Ned Konz. See his ftplugin/ruby.vim at
|
||||
@ -51,7 +52,10 @@ setlocal formatoptions-=t formatoptions+=croql
|
||||
setlocal include=^\\s*\\<\\(load\\\|\w*require\\)\\>
|
||||
setlocal includeexpr=substitute(substitute(v:fname,'::','/','g'),'$','.rb','')
|
||||
setlocal suffixesadd=.rb
|
||||
setlocal omnifunc=rubycomplete#Complete
|
||||
|
||||
if version >= 700
|
||||
setlocal omnifunc=rubycomplete#Complete
|
||||
endif
|
||||
|
||||
" TODO:
|
||||
"setlocal define=^\\s*def
|
||||
|
@ -1,10 +1,10 @@
|
||||
" Vim indent file
|
||||
" Language: Ruby
|
||||
" Maintainer: Doug Kearns <djkea2 at gus.gscit.monash.edu.au>
|
||||
" Info: $Id$
|
||||
" URL: http://vim-ruby.rubyforge.org
|
||||
" Anon CVS: See above site
|
||||
" ----------------------------------------------------------------------------
|
||||
" Language: Ruby
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Info: $Id$
|
||||
" URL: http://vim-ruby.rubyforge.org
|
||||
" Anon CVS: See above site
|
||||
" Release Coordinator: Doug Kearns <dougkearns@gmail.com>
|
||||
|
||||
" Only load this indent file when no other was loaded.
|
||||
if exists("b:did_indent")
|
||||
@ -12,3 +12,5 @@ if exists("b:did_indent")
|
||||
endif
|
||||
|
||||
runtime! indent/html.vim
|
||||
|
||||
" vim: nowrap sw=2 sts=2 ts=8 ff=unix:
|
||||
|
@ -420,11 +420,13 @@ an 50.100.520 &Syntax.Sh-S.SQR :cal SetSyn("sqr")<CR>
|
||||
an 50.100.530 &Syntax.Sh-S.Ssh.ssh_config :cal SetSyn("sshconfig")<CR>
|
||||
an 50.100.540 &Syntax.Sh-S.Ssh.sshd_config :cal SetSyn("sshdconfig")<CR>
|
||||
an 50.100.550 &Syntax.Sh-S.Standard\ ML :cal SetSyn("sml")<CR>
|
||||
an 50.100.560 &Syntax.Sh-S.Stored\ Procedures :cal SetSyn("stp")<CR>
|
||||
an 50.100.570 &Syntax.Sh-S.Strace :cal SetSyn("strace")<CR>
|
||||
an 50.100.580 &Syntax.Sh-S.Subversion\ commit :cal SetSyn("svn")<CR>
|
||||
an 50.100.590 &Syntax.Sh-S.Sudoers :cal SetSyn("sudoers")<CR>
|
||||
an 50.100.600 &Syntax.Sh-S.Sysctl\.conf :cal SetSyn("sysctl")<CR>
|
||||
an 50.100.560 &Syntax.Sh-S.Stata.SMCL :cal SetSyn("smcl")<CR>
|
||||
an 50.100.570 &Syntax.Sh-S.Stata.Stata :cal SetSyn("stata")<CR>
|
||||
an 50.100.580 &Syntax.Sh-S.Stored\ Procedures :cal SetSyn("stp")<CR>
|
||||
an 50.100.590 &Syntax.Sh-S.Strace :cal SetSyn("strace")<CR>
|
||||
an 50.100.600 &Syntax.Sh-S.Subversion\ commit :cal SetSyn("svn")<CR>
|
||||
an 50.100.610 &Syntax.Sh-S.Sudoers :cal SetSyn("sudoers")<CR>
|
||||
an 50.100.620 &Syntax.Sh-S.Sysctl\.conf :cal SetSyn("sysctl")<CR>
|
||||
an 50.110.100 &Syntax.TUV.TADS :cal SetSyn("tads")<CR>
|
||||
an 50.110.110 &Syntax.TUV.Tags :cal SetSyn("tags")<CR>
|
||||
an 50.110.120 &Syntax.TUV.TAK.TAK\ compare :cal SetSyn("takcmp")<CR>
|
||||
|
557
runtime/syntax/doxygen.vim
Normal file
557
runtime/syntax/doxygen.vim
Normal file
@ -0,0 +1,557 @@
|
||||
" 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>
|
||||
" Author: Michael Geddes
|
||||
" Last Change: 12 December 2005
|
||||
" Version: 1.15
|
||||
"
|
||||
" Copyright 2004 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
|
||||
" appreciate and welcome any updates, modifications or suggestions.
|
||||
|
||||
" NOTE: Comments welcome!
|
||||
"
|
||||
" There are two variables that control the syntax hilighting produced by this
|
||||
" script:
|
||||
" doxygen_enhanced_colour - Use the (non-standard) original colours designed for this hilighting.
|
||||
" 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.
|
||||
" 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
|
||||
" 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
|
||||
" can set the variable g:doxygen_javadoc_autobrief to 0 to have the
|
||||
" hilighting more accurately reflect the way Doxygen will interpret your
|
||||
" comments.
|
||||
"
|
||||
" Special thanks to: Wu Yongwei, Toby Allsopp
|
||||
"
|
||||
|
||||
if exists('b:suppress_doxygen')
|
||||
unlet b:suppress_doxygen
|
||||
finish
|
||||
endif
|
||||
|
||||
if exists('b:current_syntax') && b:current_syntax =~ 'doxygen' && !exists('doxygen_debug_script')
|
||||
finish
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
" Start of Doxygen syntax hilighting:
|
||||
"
|
||||
|
||||
" 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
|
||||
|
||||
" Single line brief followed by multiline comment.
|
||||
syn region doxygenComment2 start=+/\*\(\*/\)\@![*!]+ end=+\*/+ contained contains=doxygenSyncStart2,doxygenStart2,doxygenTODO keepend
|
||||
" 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
|
||||
|
||||
" Skip empty lines at the start for when comments start on the 2nd/3rd line.
|
||||
syn match doxygenStartSkip2 +^\s*\*[^/]+me=e-1 contained nextgroup=doxygenBody,doxygenStartSpecial,doxygenStartSkip skipwhite skipnl
|
||||
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
|
||||
else
|
||||
syn match doxygenStart +/\*[*!]+ contained nextgroup=doxygenBody,doxygenPrev,doxygenFindBriefSpecial,doxygenStartSpecial,doxygenStartSkip,doxygenPage skipwhite skipnl
|
||||
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
|
||||
|
||||
" 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
|
||||
|
||||
" 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
|
||||
|
||||
" 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 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
|
||||
|
||||
" These allow the skipping of comment continuation '*' characters.
|
||||
syn match doxygenContinueComment contained +^\s*\*/\@!\s*+
|
||||
|
||||
" Catch a Brief comment without punctuation - flag it as an error but
|
||||
" make sure the end comment is picked up also.
|
||||
syn match doxygenErrorComment contained +\*/+
|
||||
|
||||
|
||||
" Skip empty lines at the start for when comments start on the 2nd/3rd line.
|
||||
if !exists('g:doxygen_javadoc_autobrief') || g:doxygen_javadoc_autobrief
|
||||
syn match doxygenStartSkip +^\s*\*[^/]+me=e-1 contained nextgroup=doxygenBrief,doxygenStartSpecial,doxygenFindBriefSpecial,doxygenStartSkip,doxygenPage skipwhite skipnl
|
||||
syn match doxygenStartSkip +^\s*\*$+ contained nextgroup=doxygenBrief,doxygenStartSpecial,doxygenFindBriefSpecial,doxygenStartSkip,doxygenPage skipwhite skipnl
|
||||
else
|
||||
syn match doxygenStartSkip +^\s*\*[^/]+me=e-1 contained nextgroup=doxygenStartSpecial,doxygenFindBriefSpecial,doxygenStartSkip,doxygenPage,doxygenBody skipwhite skipnl
|
||||
syn match doxygenStartSkip +^\s*\*$+ contained nextgroup=doxygenStartSpecial,doxygenFindBriefSpecial,doxygenStartSkip,doxygenPage,doxygenBody skipwhite skipnl
|
||||
endif
|
||||
|
||||
" Match an [@\]brief so that it moves to body-mode.
|
||||
"
|
||||
"
|
||||
" 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
|
||||
|
||||
|
||||
" Create the single word matching special identifiers.
|
||||
|
||||
fun! s:DxyCreateSmallSpecial( kword, name )
|
||||
|
||||
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'
|
||||
endfun
|
||||
call s:DxyCreateSmallSpecial('p', 'Code')
|
||||
call s:DxyCreateSmallSpecial('c', 'Code')
|
||||
call s:DxyCreateSmallSpecial('b', 'Bold')
|
||||
call s:DxyCreateSmallSpecial('e', 'Emphasised')
|
||||
call s:DxyCreateSmallSpecial('em', 'Emphasised')
|
||||
call s:DxyCreateSmallSpecial('a', 'Argument')
|
||||
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
|
||||
|
||||
" 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
|
||||
" doxygenOtherLink,doxygenSymbol,doxygenFormula,doxygenErrorSpecial,doxygenSpecial.*Word
|
||||
"
|
||||
syn match doxygenGroupDefine contained +@\@<=[{}]+
|
||||
syn match doxygenGroupDefineSpecial contained +@\ze[{}]+
|
||||
|
||||
syn match doxygenErrorSpecial contained +\s+
|
||||
|
||||
" Match Parmaters and retvals (hilighting the first word as special).
|
||||
syn match doxygenParamDirection contained +\[\(\<in\>\|\<out\>\|,\)\+\]+ 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
|
||||
|
||||
" Match one line identifiers.
|
||||
syn keyword doxygenOther contained addindex anchor
|
||||
\ dontinclude endhtmlonly endlatexonly showinitializer hideinitializer
|
||||
\ example htmlonly image include ingroup internal latexonly line
|
||||
\ overload relates relatesalso sa skip skipline
|
||||
\ until verbinclude version addtogroup htmlinclude copydoc dotfile
|
||||
\ xmlonly endxmlonly
|
||||
\ nextgroup=doxygenSpecialOnelineDesc
|
||||
|
||||
syn region doxygenCodeRegion contained matchgroup=doxygenOther start=+\<code\>+ matchgroup=doxygenOther end=+[\\@]\@<=\<endcode\>+ contains=doxygenCodeRegionSpecial,doxygenContinueComment,doxygenErrorComment
|
||||
syn match doxygenCodeRegionSpecial contained +[\\@]\(endcode\>\)\@=+
|
||||
|
||||
syn region doxygenVerbatimRegion contained matchgroup=doxygenOther start=+\<verbatim\>+ matchgroup=doxygenOther end=+[\\@]\@<=\<endverbatim\>+ contains=doxygenVerbatimRegionSpecial,doxygenContinueComment,doxygenErrorComment
|
||||
syn match doxygenVerbatimRegionSpecial contained +[\\@]\(endverbatim\>\)\@=+
|
||||
|
||||
let b:doxygen_syntax_save=b:current_syntax
|
||||
unlet b:current_syntax
|
||||
syn include @Dotx syntax/dot.vim
|
||||
let b:current_syntax=b:doxygen_syntax_save
|
||||
unlet b:doxygen_syntax_save
|
||||
syn region doxygenDotRegion contained matchgroup=doxygenOther start=+\<dot\>+ matchgroup=doxygenOther end=+[\\@]\@<=\<enddot\>+ contains=doxygenDotRegionSpecial,doxygenErrorComment,doxygenContinueComment,@Dotx
|
||||
syn match doxygenDotRegionSpecial contained +[\\@]\(enddot\>\)\@=+
|
||||
|
||||
" Match single line identifiers.
|
||||
syn keyword doxygenBOther contained class enum file fn mainpage interface
|
||||
\ namespace struct typedef union var def name
|
||||
\ nextgroup=doxygenSpecialTypeOnelineDesc
|
||||
|
||||
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 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
|
||||
syn match doxygenEndlinkSpecial contained +[\\@]\zeendlink\>+
|
||||
|
||||
syn match doxygenLinkWord "[_a-zA-Z:#()][_a-z0-9A-Z:#()]*\>" contained skipnl nextgroup=doxygenLinkRest,doxygenContinueLinkComment
|
||||
syn match doxygenLinkRest +[^*@\\]\|\*/\@!\|[@\\]\(endlink\>\)\@!+ contained skipnl nextgroup=doxygenLinkRest,doxygenContinueLinkComment
|
||||
syn match doxygenContinueLinkComment contained +^\s*\*\=[^/]+me=e-1 nextgroup=doxygenLinkRest
|
||||
syn match doxygenLinkError "\*/" contained
|
||||
" #Link hilighting.
|
||||
syn match doxygenHashLink /\([a-zA-Z_][0-9a-zA-Z_]*\)\?#\(\.[0-9a-zA-Z_]\@=\|[a-zA-Z0-9_]\+\|::\|()\)\+/ contained contains=doxygenHashSpecial
|
||||
syn match doxygenHashSpecial /#/ contained
|
||||
syn match doxygenHyperLink /\(\s\|^\s*\*\?\)\@<=\(http\|https\|ftp\):\/\/[-0-9a-zA-Z_?&=+#%/.!':;@]\+/ contained
|
||||
|
||||
" Handle \page. This does not use doxygenBrief.
|
||||
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
|
||||
|
||||
" 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
|
||||
|
||||
" Does the one-line description for the one-line type identifiers.
|
||||
syn region doxygenSpecialTypeOnelineDesc start=+.\++ end=+$+ contained skipwhite contains=doxygenSmallSpecial,@doxygenHtmlGroup keepend
|
||||
syn region doxygenSpecialOnelineDesc start=+.\++ end=+$+ contained skipwhite contains=doxygenSmallSpecial,@doxygenHtmlGroup keepend
|
||||
|
||||
" 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 match doxygenSpecialContinueComment contained +^\s*\*/\@!\s*+ nextgroup=doxygenSpecial skipwhite
|
||||
|
||||
" Handle special cases 'bold' and 'group'
|
||||
syn keyword doxygenBold contained bold nextgroup=doxygenSpecialHeading
|
||||
syn keyword doxygenBriefWord contained brief nextgroup=doxygenBriefLine skipwhite
|
||||
syn match doxygenSpecialHeading +.\++ contained skipwhite
|
||||
syn keyword doxygenGroup contained group nextgroup=doxygenGroupName skipwhite
|
||||
syn keyword doxygenGroupName contained +\k\++ nextgroup=doxygenSpecialOnelineDesc skipwhite
|
||||
|
||||
" Handle special symbol identifiers @$, @\, @$ etc
|
||||
syn match doxygenSymbol contained +[$\\&<>#]+
|
||||
|
||||
" Simplistic handling of formula regions
|
||||
syn region doxygenFormula contained matchgroup=doxygenFormulaEnds start=+f\$+ end=+[@\\]f\$+ contains=doxygenFormulaSpecial,doxygenFormulaOperator
|
||||
syn match doxygenFormulaSpecial contained +[@\\]\(f[^$]\|[^f]\)+me=s+1 nextgroup=doxygenFormulaKeyword,doxygenFormulaEscaped
|
||||
syn match doxygenFormulaEscaped contained "."
|
||||
syn match doxygenFormulaKeyword contained "[a-z]\+"
|
||||
syn match doxygenFormulaOperator contained +[_^]+
|
||||
|
||||
syn region doxygenFormula contained matchgroup=doxygenFormulaEnds start=+f\[+ end=+[@\\]f]+ contains=doxygenFormulaSpecial,doxygenFormulaOperator,doxygenAtom
|
||||
syn region doxygenAtom contained transparent matchgroup=doxygenFormulaOperator start=+{+ end=+}+ contains=doxygenAtom,doxygenFormulaSpecial,doxygenFormulaOperator
|
||||
|
||||
" Add TODO hilighting.
|
||||
syn keyword doxygenTODO contained TODO README XXX FIXME
|
||||
|
||||
" Supported HTML subset. Not perfect, but okay.
|
||||
syn case ignore
|
||||
syn region doxygenHtmlTag contained matchgroup=doxygenHtmlCh start=+\v\</=\ze([biuap]|em|strong|img|br|center|code|dfn|d[ldt]|hr|h[0-3]|li|[ou]l|pre|small|sub|sup|table|tt|var|caption|src|alt|longdesc|name|height|width|usemap|ismap|href|type)>+ skip=+\\<\|\<\k\+=\("[^"]*"\|'[^']*\)+ end=+>+ contains=doxygenHtmlCmd,doxygenContinueComment,doxygenHtmlVar
|
||||
syn keyword doxygenHtmlCmd contained b i em strong u img a br p center code dfn dl dd dt hr h1 h2 h3 li ol ul pre small sub sup table tt var caption nextgroup=doxygenHtmlVar skipwhite
|
||||
syn keyword doxygenHtmlVar contained src alt longdesc name height width usemap ismap href type nextgroup=doxygenHtmlEqu skipwhite
|
||||
syn match doxygenHtmlEqu contained +=+ nextgroup=doxygenHtmlExpr skipwhite
|
||||
syn match doxygenHtmlExpr contained +"\(\\.\|[^"]\)*"\|'\(\\.\|[^']\)*'+ nextgroup=doxygenHtmlVar skipwhite
|
||||
syn case match
|
||||
syn match doxygenHtmlSpecial contained "&\(copy\|quot\|[AEIOUYaeiouy]uml\|[AEIOUYaeiouy]acute\|[AEIOUaeiouy]grave\|[AEIOUaeiouy]circ\|[ANOano]tilde\|szlig\|[Aa]ring\|nbsp\|gt\|lt\|amp\);"
|
||||
|
||||
syn cluster doxygenHtmlGroup contains=doxygenHtmlCode,doxygenHtmlBold,doxygenHtmlUnderline,doxygenHtmlItalic,doxygenHtmlSpecial,doxygenHtmlTag,doxygenHtmlLink
|
||||
|
||||
syn cluster doxygenHtmlTop contains=@Spell,doxygenHtmlSpecial,doxygenHtmlTag,doxygenContinueComment
|
||||
" Html Support
|
||||
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 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 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 doxygenHtmlCode contained start="\c<code\>" end="\c</code>"me=e-7 contains=@doxygenHtmlTop
|
||||
|
||||
" Prevent the doxygen contained matches from leaking into the c groups.
|
||||
syn cluster cParenGroup add=doxygen.*
|
||||
syn cluster cParenGroup remove=doxygenComment,doxygenCommentL
|
||||
syn cluster cPreProcGroup add=doxygen.*
|
||||
syn cluster cMultiGroup add=doxygen.*
|
||||
syn cluster rcParenGroup add=doxygen.*
|
||||
syn cluster rcParenGroup remove=doxygenComment,doxygenCommentL
|
||||
syn cluster rcGroup add=doxygen.*
|
||||
|
||||
" Trick to force special doxygen hilighting if the background changes (need to
|
||||
" syn clear first)
|
||||
if exists("did_doxygen_syntax_inits")
|
||||
if did_doxygen_syntax_inits != &background && synIDattr(highlightID('doxygen_Dummy'), 'fg', 'gui')==''
|
||||
command -nargs=+ SynColor hi <args>
|
||||
unlet did_doxygen_syntax_inits
|
||||
endif
|
||||
else
|
||||
command -nargs=+ SynColor hi def <args>
|
||||
endif
|
||||
|
||||
if !exists("did_doxygen_syntax_inits")
|
||||
command -nargs=+ SynLink hi def link <args>
|
||||
let did_doxygen_syntax_inits = &background
|
||||
hi doxygen_Dummy guifg=black
|
||||
|
||||
fun! s:Doxygen_Hilights_Base()
|
||||
SynLink doxygenHtmlSpecial Special
|
||||
SynLink doxygenHtmlVar Type
|
||||
SynLink doxygenHtmlExpr String
|
||||
|
||||
SynLink doxygenSmallSpecial SpecialChar
|
||||
|
||||
SynLink doxygenSpecialCodeWord doxygenSmallSpecial
|
||||
SynLink doxygenSpecialBoldWord doxygenSmallSpecial
|
||||
SynLink doxygenSpecialEmphasisedWord doxygenSmallSpecial
|
||||
SynLink doxygenSpecialArgumentWord doxygenSmallSpecial
|
||||
|
||||
" SynColor doxygenFormulaKeyword cterm=bold ctermfg=DarkMagenta guifg=DarkMagenta gui=bold
|
||||
SynLink doxygenFormulaKeyword Keyword
|
||||
"SynColor doxygenFormulaEscaped ctermfg=DarkMagenta guifg=DarkMagenta gui=bold
|
||||
SynLink doxygenFormulaEscaped Special
|
||||
SynLink doxygenFormulaOperator Operator
|
||||
SynLink doxygenFormula Statement
|
||||
SynLink doxygenSymbol Constant
|
||||
SynLink doxygenSpecial Special
|
||||
SynLink doxygenFormulaSpecial Special
|
||||
"SynColor doxygenFormulaSpecial ctermfg=DarkBlue guifg=DarkBlue
|
||||
endfun
|
||||
call s:Doxygen_Hilights_Base()
|
||||
|
||||
fun! s:Doxygen_Hilights()
|
||||
" Pick a sensible default for 'codeword'.
|
||||
let font=''
|
||||
if exists('g:doxygen_codeword_font')
|
||||
if g:doxygen_codeword_font !~ '\<\k\+='
|
||||
let font='font='.g:doxygen_codeword_font
|
||||
else
|
||||
let font=g:doxygen_codeword_font
|
||||
endif
|
||||
else
|
||||
" Try and pick a font (only some platforms have been tested).
|
||||
if has('gui_running')
|
||||
if has('gui_gtk2')
|
||||
if &guifont == ''
|
||||
let font="font='FreeSerif 12'"
|
||||
else
|
||||
let font="font='".substitute(&guifont, '^.\{-}\([0-9]\+\)$', 'FreeSerif \1','')."'"
|
||||
endif
|
||||
|
||||
elseif has('gui_win32') || has('gui_win16') || has('gui_win95')
|
||||
if &guifont == ''
|
||||
let font='font=Lucida_Console:h10'
|
||||
else
|
||||
let font='font='.substitute(&guifont, '^[^:]*', 'Lucida_Console','')
|
||||
endif
|
||||
elseif has('gui_athena') || has('gui_gtk') || &guifont=~'^\(-[^-]\+\)\{14}'
|
||||
if &guifont == ''
|
||||
let font='font=-b&h-lucidatypewriter-medium-r-normal-*-*-140-*-*-m-*-iso8859-1'
|
||||
else
|
||||
" let font='font='.substitute(&guifont,'^\(-[^-]\+\)\{7}-\([0-9]\+\).*', '-b\&h-lucidatypewriter-medium-r-normal-*-*-\2-*-*-m-*-iso8859-1','')
|
||||
" The above line works, but it is hard to expect the combination of
|
||||
" the two fonts will look good.
|
||||
endif
|
||||
elseif has('gui_kde')
|
||||
" let font='font=Bitstream\ Vera\ Sans\ Mono/12/-1/5/50/0/0/0/0/0'
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
if font=='' | let font='gui=bold' | endif
|
||||
exe 'SynColor doxygenCodeWord term=bold cterm=bold '.font
|
||||
if (exists('g:doxygen_enhanced_color') && g:doxygen_enhanced_color) || (exists('g:doxygen_enhanced_colour') && g:doxygen_enhanced_colour)
|
||||
if &background=='light'
|
||||
SynColor doxygenComment ctermfg=DarkRed guifg=DarkRed
|
||||
SynColor doxygenBrief cterm=bold ctermfg=Cyan guifg=DarkBlue gui=bold
|
||||
SynColor doxygenBody ctermfg=DarkBlue guifg=DarkBlue
|
||||
SynColor doxygenSpecialTypeOnelineDesc cterm=bold ctermfg=DarkRed guifg=firebrick3 gui=bold
|
||||
SynColor doxygenBOther cterm=bold ctermfg=DarkMagenta guifg=#aa50aa gui=bold
|
||||
SynColor doxygenParam ctermfg=DarkGray guifg=#aa50aa
|
||||
SynColor doxygenParamName cterm=italic ctermfg=DarkBlue guifg=DeepSkyBlue4 gui=italic,bold
|
||||
SynColor doxygenSpecialOnelineDesc cterm=bold ctermfg=DarkCyan guifg=DodgerBlue3 gui=bold
|
||||
SynColor doxygenSpecialHeading cterm=bold ctermfg=DarkBlue guifg=DeepSkyBlue4 gui=bold
|
||||
SynColor doxygenPrev ctermfg=DarkGreen guifg=DarkGreen
|
||||
else
|
||||
SynColor doxygenComment ctermfg=LightRed guifg=LightRed
|
||||
SynColor doxygenBrief cterm=bold ctermfg=Cyan ctermbg=darkgrey guifg=LightBlue gui=Bold,Italic
|
||||
SynColor doxygenBody ctermfg=Cyan guifg=LightBlue
|
||||
SynColor doxygenSpecialTypeOnelineDesc cterm=bold ctermfg=Red guifg=firebrick3 gui=bold
|
||||
SynColor doxygenBOther cterm=bold ctermfg=Magenta guifg=#aa50aa gui=bold
|
||||
SynColor doxygenParam ctermfg=LightGray guifg=LightGray
|
||||
SynColor doxygenParamName cterm=italic ctermfg=LightBlue guifg=LightBlue gui=italic,bold
|
||||
SynColor doxygenSpecialOnelineDesc cterm=bold ctermfg=LightCyan guifg=LightCyan gui=bold
|
||||
SynColor doxygenSpecialHeading cterm=bold ctermfg=LightBlue guifg=LightBlue gui=bold
|
||||
SynColor doxygenPrev ctermfg=LightGreen guifg=LightGreen
|
||||
endif
|
||||
else
|
||||
SynLink doxygenComment SpecialComment
|
||||
SynLink doxygenBrief Statement
|
||||
SynLink doxygenBody Comment
|
||||
SynLink doxygenSpecialTypeOnelineDesc Statement
|
||||
SynLink doxygenBOther Constant
|
||||
SynLink doxygenParam SpecialComment
|
||||
SynLink doxygenParamName Underlined
|
||||
SynLink doxygenSpecialOnelineDesc Statement
|
||||
SynLink doxygenSpecialHeading Statement
|
||||
SynLink doxygenPrev SpecialComment
|
||||
endif
|
||||
endfun
|
||||
call s:Doxygen_Hilights()
|
||||
" This is still a proposal, but won't do any harm.
|
||||
au Syntax UserColor_reset nested call s:Doxygen_Hilights_Base()
|
||||
au Syntax UserColor_{on,reset,enable} nested call s:Doxygen_Hilights()
|
||||
|
||||
SynLink doxygenBody Comment
|
||||
SynLink doxygenTODO Todo
|
||||
SynLink doxygenOtherTODO Todo
|
||||
SynLink doxygenOtherWARN Todo
|
||||
SynLink doxygenOtherBUG Todo
|
||||
|
||||
SynLink doxygenErrorSpecial Error
|
||||
SynLink doxygenErrorEnd Error
|
||||
SynLink doxygenErrorComment Error
|
||||
SynLink doxygenLinkError Error
|
||||
SynLink doxygenBriefSpecial doxygenSpecial
|
||||
SynLink doxygenHashSpecial doxygenSpecial
|
||||
SynLink doxygenGroupDefineSpecial doxygenSpecial
|
||||
SynLink doxygenEndlinkSpecial doxygenSpecial
|
||||
SynLink doxygenCodeRegionSpecial doxygenSpecial
|
||||
SynLink doxygenVerbatimRegionSpecial doxygenSpecial
|
||||
SynLink doxygenGroupDefine doxygenParam
|
||||
|
||||
SynLink doxygenSpecialMultilineDesc doxygenSpecialOnelineDesc
|
||||
SynLink doxygenFormulaEnds doxygenSpecial
|
||||
SynLink doxygenBold doxygenParam
|
||||
SynLink doxygenBriefWord doxygenParam
|
||||
SynLink doxygenRetval doxygenParam
|
||||
SynLink doxygenOther doxygenParam
|
||||
SynLink doxygenStart doxygenComment
|
||||
SynLink doxygenStart2 doxygenStart
|
||||
SynLink doxygenComment2 doxygenComment
|
||||
SynLink doxygenCommentL doxygenComment
|
||||
SynLink doxygenContinueComment doxygenComment
|
||||
SynLink doxygenSpecialContinueComment doxygenComment
|
||||
SynLink doxygenSkipComment doxygenComment
|
||||
SynLink doxygenEndComment doxygenComment
|
||||
SynLink doxygenStartL doxygenComment
|
||||
SynLink doxygenBriefEndComment doxygenComment
|
||||
SynLink doxygenPrevL doxygenPrev
|
||||
SynLink doxygenBriefL doxygenBrief
|
||||
SynLink doxygenBriefLine doxygenBrief
|
||||
SynLink doxygenHeaderLine doxygenSpecialHeading
|
||||
SynLink doxygenStartSkip doxygenContinueComment
|
||||
SynLink doxygenLinkWord doxygenParamName
|
||||
SynLink doxygenLinkRest doxygenSpecialMultilineDesc
|
||||
SynLink doxygenHyperLink doxygenLinkWord
|
||||
SynLink doxygenHashLink doxygenLinkWord
|
||||
|
||||
SynLink doxygenPage doxygenSpecial
|
||||
SynLink doxygenPagePage doxygenBOther
|
||||
SynLink doxygenPageIdent doxygenParamName
|
||||
SynLink doxygenPageDesc doxygenSpecialTypeOnelineDesc
|
||||
|
||||
SynLink doxygenSpecialIdent doxygenPageIdent
|
||||
SynLink doxygenSpecialSectionDesc doxygenSpecialMultilineDesc
|
||||
|
||||
SynLink doxygenSpecialRefWord doxygenOther
|
||||
SynLink doxygenRefWord doxygenPageIdent
|
||||
SynLink doxygenContinueLinkComment doxygenComment
|
||||
|
||||
SynLink doxygenHtmlCh Function
|
||||
SynLink doxygenHtmlCmd Statement
|
||||
SynLink doxygenHtmlBoldItalicUnderline doxygenHtmlBoldUnderlineItalic
|
||||
SynLink doxygenHtmlUnderlineBold doxygenHtmlBoldUnderline
|
||||
SynLink doxygenHtmlUnderlineItalicBold doxygenHtmlBoldUnderlineItalic
|
||||
SynLink doxygenHtmlUnderlineBoldItalic doxygenHtmlBoldUnderlineItalic
|
||||
SynLink doxygenHtmlItalicUnderline doxygenHtmlUnderlineItalic
|
||||
SynLink doxygenHtmlItalicBold doxygenHtmlBoldItalic
|
||||
SynLink doxygenHtmlItalicBoldUnderline doxygenHtmlBoldUnderlineItalic
|
||||
SynLink doxygenHtmlItalicUnderlineBold doxygenHtmlBoldUnderlineItalic
|
||||
SynLink doxygenHtmlLink Underlined
|
||||
|
||||
SynLink doxygenParamDirection StorageClass
|
||||
|
||||
|
||||
if !exists("doxygen_my_rendering") && !exists("html_my_rendering")
|
||||
SynColor doxygenBoldWord term=bold cterm=bold gui=bold
|
||||
SynColor doxygenEmphasisedWord term=italic cterm=italic gui=italic
|
||||
SynLink doxygenArgumentWord doxygenEmphasisedWord
|
||||
SynLink doxygenHtmlCode doxygenCodeWord
|
||||
SynLink doxygenHtmlBold doxygenBoldWord
|
||||
SynColor doxygenHtmlBoldUnderline term=bold,underline cterm=bold,underline gui=bold,underline
|
||||
SynColor doxygenHtmlBoldItalic term=bold,italic cterm=bold,italic gui=bold,italic
|
||||
SynColor doxygenHtmlBoldUnderlineItalic term=bold,italic,underline cterm=bold,italic,underline gui=bold,italic,underline
|
||||
SynColor doxygenHtmlUnderline term=underline cterm=underline gui=underline
|
||||
SynColor doxygenHtmlUnderlineItalic term=italic,underline cterm=italic,underline gui=italic,underline
|
||||
SynColor doxygenHtmlItalic term=italic cterm=italic gui=italic
|
||||
endif
|
||||
delcommand SynLink
|
||||
delcommand SynColor
|
||||
endif
|
||||
|
||||
if &syntax=='idl'
|
||||
syn cluster idlCommentable add=doxygenComment,doxygenCommentL
|
||||
endif
|
||||
|
||||
"syn sync clear
|
||||
"syn sync maxlines=500
|
||||
"syn sync minlines=50
|
||||
if v:version >= 600
|
||||
syn sync match doxygenComment groupthere cComment "/\@<!/\*"
|
||||
syn sync match doxygenSyncComment grouphere doxygenComment "/\@<!/\*[*!]"
|
||||
else
|
||||
syn sync match doxygencComment groupthere cComment "/\*"
|
||||
syn sync match doxygenSyncComment grouphere doxygenComment "/\*[*!]"
|
||||
endif
|
||||
"syn sync match doxygenSyncComment grouphere doxygenComment "/\*[*!]" contains=doxygenStart,doxygenTODO keepend
|
||||
syn sync match doxygenSyncEndComment groupthere NONE "\*/"
|
||||
|
||||
if !exists('b:current_syntax')
|
||||
let b:current_syntax = "doxygen"
|
||||
else
|
||||
let b:current_syntax = b:current_syntax.'+doxygen'
|
||||
endif
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
" vim:et sw=2 sts=2
|
@ -1,10 +1,10 @@
|
||||
" Vim syntax file
|
||||
" Language: eRuby
|
||||
" Maintainer: Doug Kearns <djkea2 at gus.gscit.monash.edu.au>
|
||||
" Info: $Id$
|
||||
" URL: http://vim-ruby.rubyforge.org
|
||||
" Anon CVS: See above site
|
||||
" ----------------------------------------------------------------------------
|
||||
" Language: eRuby
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Info: $Id$
|
||||
" URL: http://vim-ruby.rubyforge.org
|
||||
" Anon CVS: See above site
|
||||
" Release Coordinator: Doug Kearns <dougkearns@gmail.com>
|
||||
|
||||
" For version 5.x: Clear all syntax items
|
||||
" For version 6.x: Quit when a syntax file was already loaded
|
||||
|
@ -1,9 +1,10 @@
|
||||
" Vim syntax file
|
||||
" Language: Ruby
|
||||
" Maintainer: Doug Kearns <djkea2 at gus.gscit.monash.edu.au>
|
||||
" Info: $Id$
|
||||
" URL: http://vim-ruby.rubyforge.org
|
||||
" Anon CVS: See above site
|
||||
" Language: Ruby
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Info: $Id$
|
||||
" URL: http://vim-ruby.rubyforge.org
|
||||
" Anon CVS: See above site
|
||||
" Release Coordinator: Doug Kearns <dougkearns@gmail.com>
|
||||
" ----------------------------------------------------------------------------
|
||||
"
|
||||
" Previous Maintainer: Mirko Nasato
|
||||
|
308
runtime/syntax/smcl.vim
Normal file
308
runtime/syntax/smcl.vim
Normal file
@ -0,0 +1,308 @@
|
||||
" stata_smcl.vim -- Vim syntax file for smcl files.
|
||||
" Language: SMCL -- Stata Markup and Control Language
|
||||
" Maintainer: Jeff Pitblado <jpitblado@stata.com>
|
||||
" Last Change: 14apr2006
|
||||
" Version: 1.1.1
|
||||
" Location: http://www.stata.com/users/jpitblado/files/vimfiles/syntax/stata_smcl.vim
|
||||
|
||||
" Log:
|
||||
" 20mar2003 updated the match definition for cmdab
|
||||
" 14apr2006 'syntax clear' only under version control
|
||||
" check for 'b:current_syntax', removed 'did_smcl_syntax_inits'
|
||||
|
||||
if version < 600
|
||||
syntax clear
|
||||
elseif exists("b:current_syntax")
|
||||
finish
|
||||
endif
|
||||
|
||||
syntax case match
|
||||
|
||||
syn keyword smclCCLword current_date contained
|
||||
syn keyword smclCCLword current_time contained
|
||||
syn keyword smclCCLword rmsg_time contained
|
||||
syn keyword smclCCLword stata_version contained
|
||||
syn keyword smclCCLword version contained
|
||||
syn keyword smclCCLword born_date contained
|
||||
syn keyword smclCCLword flavor contained
|
||||
syn keyword smclCCLword SE contained
|
||||
syn keyword smclCCLword mode contained
|
||||
syn keyword smclCCLword console contained
|
||||
syn keyword smclCCLword os contained
|
||||
syn keyword smclCCLword osdtl contained
|
||||
syn keyword smclCCLword machine_type contained
|
||||
syn keyword smclCCLword byteorder contained
|
||||
syn keyword smclCCLword sysdir_stata contained
|
||||
syn keyword smclCCLword sysdir_updates contained
|
||||
syn keyword smclCCLword sysdir_base contained
|
||||
syn keyword smclCCLword sysdir_site contained
|
||||
syn keyword smclCCLword sysdir_plus contained
|
||||
syn keyword smclCCLword sysdir_personal contained
|
||||
syn keyword smclCCLword sysdir_oldplace contained
|
||||
syn keyword smclCCLword adopath contained
|
||||
syn keyword smclCCLword pwd contained
|
||||
syn keyword smclCCLword dirsep contained
|
||||
syn keyword smclCCLword max_N_theory contained
|
||||
syn keyword smclCCLword max_N_current contained
|
||||
syn keyword smclCCLword max_k_theory contained
|
||||
syn keyword smclCCLword max_k_current contained
|
||||
syn keyword smclCCLword max_width_theory contained
|
||||
syn keyword smclCCLword max_width_current contained
|
||||
syn keyword smclCCLword max_matsize contained
|
||||
syn keyword smclCCLword min_matsize contained
|
||||
syn keyword smclCCLword max_macrolen contained
|
||||
syn keyword smclCCLword macrolen contained
|
||||
syn keyword smclCCLword max_cmdlen contained
|
||||
syn keyword smclCCLword cmdlen contained
|
||||
syn keyword smclCCLword namelen contained
|
||||
syn keyword smclCCLword mindouble contained
|
||||
syn keyword smclCCLword maxdouble contained
|
||||
syn keyword smclCCLword epsdouble contained
|
||||
syn keyword smclCCLword minfloat contained
|
||||
syn keyword smclCCLword maxfloat contained
|
||||
syn keyword smclCCLword epsfloat contained
|
||||
syn keyword smclCCLword minlong contained
|
||||
syn keyword smclCCLword maxlong contained
|
||||
syn keyword smclCCLword minint contained
|
||||
syn keyword smclCCLword maxint contained
|
||||
syn keyword smclCCLword minbyte contained
|
||||
syn keyword smclCCLword maxbyte contained
|
||||
syn keyword smclCCLword maxstrvarlen contained
|
||||
syn keyword smclCCLword memory contained
|
||||
syn keyword smclCCLword maxvar contained
|
||||
syn keyword smclCCLword matsize contained
|
||||
syn keyword smclCCLword N contained
|
||||
syn keyword smclCCLword k contained
|
||||
syn keyword smclCCLword width contained
|
||||
syn keyword smclCCLword changed contained
|
||||
syn keyword smclCCLword filename contained
|
||||
syn keyword smclCCLword filedate contained
|
||||
syn keyword smclCCLword more contained
|
||||
syn keyword smclCCLword rmsg contained
|
||||
syn keyword smclCCLword dp contained
|
||||
syn keyword smclCCLword linesize contained
|
||||
syn keyword smclCCLword pagesize contained
|
||||
syn keyword smclCCLword logtype contained
|
||||
syn keyword smclCCLword linegap contained
|
||||
syn keyword smclCCLword scrollbufsize contained
|
||||
syn keyword smclCCLword varlabelpos contained
|
||||
syn keyword smclCCLword reventries contained
|
||||
syn keyword smclCCLword graphics contained
|
||||
syn keyword smclCCLword scheme contained
|
||||
syn keyword smclCCLword printcolor contained
|
||||
syn keyword smclCCLword adosize contained
|
||||
syn keyword smclCCLword maxdb contained
|
||||
syn keyword smclCCLword virtual contained
|
||||
syn keyword smclCCLword checksum contained
|
||||
syn keyword smclCCLword timeout1 contained
|
||||
syn keyword smclCCLword timeout2 contained
|
||||
syn keyword smclCCLword httpproxy contained
|
||||
syn keyword smclCCLword h_current contained
|
||||
syn keyword smclCCLword max_matsize contained
|
||||
syn keyword smclCCLword min_matsize contained
|
||||
syn keyword smclCCLword max_macrolen contained
|
||||
syn keyword smclCCLword macrolen contained
|
||||
syn keyword smclCCLword max_cmdlen contained
|
||||
syn keyword smclCCLword cmdlen contained
|
||||
syn keyword smclCCLword namelen contained
|
||||
syn keyword smclCCLword mindouble contained
|
||||
syn keyword smclCCLword maxdouble contained
|
||||
syn keyword smclCCLword epsdouble contained
|
||||
syn keyword smclCCLword minfloat contained
|
||||
syn keyword smclCCLword maxfloat contained
|
||||
syn keyword smclCCLword epsfloat contained
|
||||
syn keyword smclCCLword minlong contained
|
||||
syn keyword smclCCLword maxlong contained
|
||||
syn keyword smclCCLword minint contained
|
||||
syn keyword smclCCLword maxint contained
|
||||
syn keyword smclCCLword minbyte contained
|
||||
syn keyword smclCCLword maxbyte contained
|
||||
syn keyword smclCCLword maxstrvarlen contained
|
||||
syn keyword smclCCLword memory contained
|
||||
syn keyword smclCCLword maxvar contained
|
||||
syn keyword smclCCLword matsize contained
|
||||
syn keyword smclCCLword N contained
|
||||
syn keyword smclCCLword k contained
|
||||
syn keyword smclCCLword width contained
|
||||
syn keyword smclCCLword changed contained
|
||||
syn keyword smclCCLword filename contained
|
||||
syn keyword smclCCLword filedate contained
|
||||
syn keyword smclCCLword more contained
|
||||
syn keyword smclCCLword rmsg contained
|
||||
syn keyword smclCCLword dp contained
|
||||
syn keyword smclCCLword linesize contained
|
||||
syn keyword smclCCLword pagesize contained
|
||||
syn keyword smclCCLword logtype contained
|
||||
syn keyword smclCCLword linegap contained
|
||||
syn keyword smclCCLword scrollbufsize contained
|
||||
syn keyword smclCCLword varlabelpos contained
|
||||
syn keyword smclCCLword reventries contained
|
||||
syn keyword smclCCLword graphics contained
|
||||
syn keyword smclCCLword scheme contained
|
||||
syn keyword smclCCLword printcolor contained
|
||||
syn keyword smclCCLword adosize contained
|
||||
syn keyword smclCCLword maxdb contained
|
||||
syn keyword smclCCLword virtual contained
|
||||
syn keyword smclCCLword checksum contained
|
||||
syn keyword smclCCLword timeout1 contained
|
||||
syn keyword smclCCLword timeout2 contained
|
||||
syn keyword smclCCLword httpproxy contained
|
||||
syn keyword smclCCLword httpproxyhost contained
|
||||
syn keyword smclCCLword httpproxyport contained
|
||||
syn keyword smclCCLword httpproxyauth contained
|
||||
syn keyword smclCCLword httpproxyuser contained
|
||||
syn keyword smclCCLword httpproxypw contained
|
||||
syn keyword smclCCLword trace contained
|
||||
syn keyword smclCCLword tracedepth contained
|
||||
syn keyword smclCCLword tracesep contained
|
||||
syn keyword smclCCLword traceindent contained
|
||||
syn keyword smclCCLword traceexapnd contained
|
||||
syn keyword smclCCLword tracenumber contained
|
||||
syn keyword smclCCLword type contained
|
||||
syn keyword smclCCLword level contained
|
||||
syn keyword smclCCLword seed contained
|
||||
syn keyword smclCCLword searchdefault contained
|
||||
syn keyword smclCCLword pi contained
|
||||
syn keyword smclCCLword rc contained
|
||||
|
||||
" Directive for the contant and current-value class
|
||||
syn region smclCCL start=/{ccl / end=/}/ oneline contains=smclCCLword
|
||||
|
||||
" The order of the following syntax definitions is roughly that of the on-line
|
||||
" documentation for smcl in Stata, from within Stata see help smcl.
|
||||
|
||||
" Format directives for line and paragraph modes
|
||||
syn match smclFormat /{smcl}/
|
||||
syn match smclFormat /{sf\(\|:[^}]\+\)}/
|
||||
syn match smclFormat /{it\(\|:[^}]\+\)}/
|
||||
syn match smclFormat /{bf\(\|:[^}]\+\)}/
|
||||
syn match smclFormat /{inp\(\|:[^}]\+\)}/
|
||||
syn match smclFormat /{input\(\|:[^}]\+\)}/
|
||||
syn match smclFormat /{err\(\|:[^}]\+\)}/
|
||||
syn match smclFormat /{error\(\|:[^}]\+\)}/
|
||||
syn match smclFormat /{res\(\|:[^}]\+\)}/
|
||||
syn match smclFormat /{result\(\|:[^}]\+\)}/
|
||||
syn match smclFormat /{txt\(\|:[^}]\+\)}/
|
||||
syn match smclFormat /{text\(\|:[^}]\+\)}/
|
||||
syn match smclFormat /{com\(\|:[^}]\+\)}/
|
||||
syn match smclFormat /{cmd\(\|:[^}]\+\)}/
|
||||
syn match smclFormat /{cmdab:[^:}]\+:[^:}()]*\(\|:\|:(\|:()\)}/
|
||||
syn match smclFormat /{hi\(\|:[^}]\+\)}/
|
||||
syn match smclFormat /{hilite\(\|:[^}]\+\)}/
|
||||
syn match smclFormat /{ul \(on\|off\)}/
|
||||
syn match smclFormat /{ul:[^}]\+}/
|
||||
syn match smclFormat /{hline\(\| \d\+\| -\d\+\|:[^}]\+\)}/
|
||||
syn match smclFormat /{dup \d\+:[^}]\+}/
|
||||
syn match smclFormat /{c [^}]\+}/
|
||||
syn match smclFormat /{char [^}]\+}/
|
||||
syn match smclFormat /{reset}/
|
||||
|
||||
" Formatting directives for line mode
|
||||
syn match smclFormat /{title:[^}]\+}/
|
||||
syn match smclFormat /{center:[^}]\+}/
|
||||
syn match smclFormat /{centre:[^}]\+}/
|
||||
syn match smclFormat /{center \d\+:[^}]\+}/
|
||||
syn match smclFormat /{centre \d\+:[^}]\+}/
|
||||
syn match smclFormat /{right:[^}]\+}/
|
||||
syn match smclFormat /{lalign \d\+:[^}]\+}/
|
||||
syn match smclFormat /{ralign \d\+:[^}]\+}/
|
||||
syn match smclFormat /{\.\.\.}/
|
||||
syn match smclFormat /{col \d\+}/
|
||||
syn match smclFormat /{space \d\+}/
|
||||
syn match smclFormat /{tab}/
|
||||
|
||||
" Formatting directives for paragraph mode
|
||||
syn match smclFormat /{bind:[^}]\+}/
|
||||
syn match smclFormat /{break}/
|
||||
|
||||
syn match smclFormat /{p}/
|
||||
syn match smclFormat /{p \d\+}/
|
||||
syn match smclFormat /{p \d\+ \d\+}/
|
||||
syn match smclFormat /{p \d\+ \d\+ \d\+}/
|
||||
syn match smclFormat /{pstd}/
|
||||
syn match smclFormat /{psee}/
|
||||
syn match smclFormat /{phang\(\|2\|3\)}/
|
||||
syn match smclFormat /{pmore\(\|2\|3\)}/
|
||||
syn match smclFormat /{pin\(\|2\|3\)}/
|
||||
syn match smclFormat /{p_end}/
|
||||
|
||||
syn match smclFormat /{opt \w\+\(\|:\w\+\)\(\|([^)}]*)\)}/
|
||||
|
||||
syn match smclFormat /{opth \w*\(\|:\w\+\)(\w*)}/
|
||||
syn match smclFormat /{opth "\w\+\((\w\+:[^)}]\+)\)"}/
|
||||
syn match smclFormat /{opth \w\+:\w\+(\w\+:[^)}]\+)}/
|
||||
|
||||
syn match smclFormat /{dlgtab\s*\(\|\d\+\|\d\+\s\+\d\+\):[^}]\+}/
|
||||
|
||||
syn match smclFormat /{p2colset\s\+\d\+\s\+\d\+\s\+\d\+\s\+\d\+}/
|
||||
syn match smclFormat /{p2col\s\+:[^{}]*}.*{p_end}/
|
||||
syn match smclFormat /{p2col\s\+:{[^{}]*}}.*{p_end}/
|
||||
syn match smclFormat /{p2coldent\s*:[^{}]*}.*{p_end}/
|
||||
syn match smclFormat /{p2coldent\s*:{[^{}]*}}.*{p_end}/
|
||||
syn match smclFormat /{p2line\s*\(\|\d\+\s\+\d\+\)}/
|
||||
syn match smclFormat /{p2colreset}/
|
||||
|
||||
syn match smclFormat /{synoptset\s\+\d\+\s\+\w\+}/
|
||||
syn match smclFormat /{synopt\s*:[^{}]*}.*{p_end}/
|
||||
syn match smclFormat /{synopt\s*:{[^{}]*}}.*{p_end}/
|
||||
syn match smclFormat /{syntab\s*:[^{}]*}/
|
||||
syn match smclFormat /{synopthdr}/
|
||||
syn match smclFormat /{synoptline}/
|
||||
|
||||
" Link directive for line and paragraph modes
|
||||
syn match smclLink /{help [^}]\+}/
|
||||
syn match smclLink /{helpb [^}]\+}/
|
||||
syn match smclLink /{help_d:[^}]\+}/
|
||||
syn match smclLink /{search [^}]\+}/
|
||||
syn match smclLink /{search_d:[^}]\+}/
|
||||
syn match smclLink /{browse [^}]\+}/
|
||||
syn match smclLink /{view [^}]\+}/
|
||||
syn match smclLink /{view_d:[^}]\+}/
|
||||
syn match smclLink /{news:[^}]\+}/
|
||||
syn match smclLink /{net [^}]\+}/
|
||||
syn match smclLink /{net_d:[^}]\+}/
|
||||
syn match smclLink /{netfrom_d:[^}]\+}/
|
||||
syn match smclLink /{ado [^}]\+}/
|
||||
syn match smclLink /{ado_d:[^}]\+}/
|
||||
syn match smclLink /{update [^}]\+}/
|
||||
syn match smclLink /{update_d:[^}]\+}/
|
||||
syn match smclLink /{dialog [^}]\+}/
|
||||
syn match smclLink /{back:[^}]\+}/
|
||||
syn match smclLink /{clearmore:[^}]\+}/
|
||||
syn match smclLink /{stata [^}]\+}/
|
||||
|
||||
syn match smclLink /{newvar\(\|:[^}]\+\)}/
|
||||
syn match smclLink /{var\(\|:[^}]\+\)}/
|
||||
syn match smclLink /{varname\(\|:[^}]\+\)}/
|
||||
syn match smclLink /{vars\(\|:[^}]\+\)}/
|
||||
syn match smclLink /{varlist\(\|:[^}]\+\)}/
|
||||
syn match smclLink /{depvar\(\|:[^}]\+\)}/
|
||||
syn match smclLink /{depvars\(\|:[^}]\+\)}/
|
||||
syn match smclLink /{depvarlist\(\|:[^}]\+\)}/
|
||||
syn match smclLink /{indepvars\(\|:[^}]\+\)}/
|
||||
|
||||
syn match smclLink /{dtype}/
|
||||
syn match smclLink /{ifin}/
|
||||
syn match smclLink /{weight}/
|
||||
|
||||
" Comment
|
||||
syn region smclComment start=/{\*/ end=/}/ oneline
|
||||
|
||||
" Strings
|
||||
syn region smclString matchgroup=Nothing start=/"/ end=/"/ oneline
|
||||
syn region smclEString matchgroup=Nothing start=/`"/ end=/"'/ oneline contains=smclEString
|
||||
|
||||
" assign highlight groups
|
||||
|
||||
hi def link smclEString smclString
|
||||
|
||||
hi def link smclCCLword Statement
|
||||
hi def link smclCCL Type
|
||||
hi def link smclFormat Statement
|
||||
hi def link smclLink Underlined
|
||||
hi def link smclComment Comment
|
||||
hi def link smclString String
|
||||
|
||||
let b:current_syntax = "stata_smcl"
|
||||
|
||||
" vim: ts=8
|
449
runtime/syntax/stata.vim
Normal file
449
runtime/syntax/stata.vim
Normal file
@ -0,0 +1,449 @@
|
||||
" stata.vim -- Vim syntax file for Stata do, ado, and class files.
|
||||
" Language: Stata and/or Mata
|
||||
" Maintainer: Jeff Pitblado <jpitblado@stata.com>
|
||||
" Last Change: 14apr2006
|
||||
" Version: 1.1.1
|
||||
" Location: http://www.stata.com/users/jpitblado/files/vimfiles/syntax/stata.vim
|
||||
|
||||
" Log:
|
||||
" 14apr2006 renamed syntax groups st* to stata*
|
||||
" 'syntax clear' only under version control
|
||||
" check for 'b:current_syntax', removed 'did_stat_syntax_inits'
|
||||
|
||||
if version < 600
|
||||
syntax clear
|
||||
elseif exists("b:current_syntax")
|
||||
finish
|
||||
endif
|
||||
|
||||
syntax case match
|
||||
|
||||
" comments - single line
|
||||
" note that the triple slash continuing line comment comes free
|
||||
syn region stataStarComment start=/^\s*\*/ end=/$/ contains=stataComment oneline
|
||||
syn region stataSlashComment start="\s//" end=/$/ contains=stataComment oneline
|
||||
syn region stataSlashComment start="^//" end=/$/ contains=stataComment oneline
|
||||
" comments - multiple line
|
||||
syn region stataComment start="/\*" end="\*/" contains=stataComment
|
||||
|
||||
" global macros - simple case
|
||||
syn match stataGlobal /\$\a\w*/
|
||||
" global macros - general case
|
||||
syn region stataGlobal start=/\${/ end=/}/ oneline contains=@stataMacroGroup
|
||||
" local macros - general case
|
||||
syn region stataLocal start=/`/ end=/'/ oneline contains=@stataMacroGroup
|
||||
|
||||
" numeric formats
|
||||
syn match stataFormat /%-\=\d\+\.\d\+[efg]c\=/
|
||||
" numeric hex format
|
||||
syn match stataFormat /%-\=21x/
|
||||
" string format
|
||||
syn match stataFormat /%\(\|-\|\~\)\d\+s/
|
||||
|
||||
" Statements
|
||||
syn keyword stataConditional else if
|
||||
syn keyword stataRepeat foreach
|
||||
syn keyword stataRepeat forv[alues]
|
||||
syn keyword stataRepeat while
|
||||
|
||||
" Common programming commands
|
||||
syn keyword stataCommand about
|
||||
syn keyword stataCommand adopath
|
||||
syn keyword stataCommand adoupdate
|
||||
syn keyword stataCommand assert
|
||||
syn keyword stataCommand break
|
||||
syn keyword stataCommand by
|
||||
syn keyword stataCommand cap[ture]
|
||||
syn keyword stataCommand cd
|
||||
syn keyword stataCommand chdir
|
||||
syn keyword stataCommand checksum
|
||||
syn keyword stataCommand class
|
||||
syn keyword stataCommand classutil
|
||||
syn keyword stataCommand compress
|
||||
syn keyword stataCommand conf[irm]
|
||||
syn keyword stataCommand conren
|
||||
syn keyword stataCommand continue
|
||||
syn keyword stataCommand cou[nt]
|
||||
syn keyword stataCommand cscript
|
||||
syn keyword stataCommand cscript_log
|
||||
syn keyword stataCommand #delimit
|
||||
syn keyword stataCommand d[escribe]
|
||||
syn keyword stataCommand dir
|
||||
syn keyword stataCommand discard
|
||||
syn keyword stataCommand di[splay]
|
||||
syn keyword stataCommand do
|
||||
syn keyword stataCommand doedit
|
||||
syn keyword stataCommand drop
|
||||
syn keyword stataCommand edit
|
||||
syn keyword stataCommand end
|
||||
syn keyword stataCommand erase
|
||||
syn keyword stataCommand eret[urn]
|
||||
syn keyword stataCommand err[or]
|
||||
syn keyword stataCommand e[xit]
|
||||
syn keyword stataCommand expand
|
||||
syn keyword stataCommand expandcl
|
||||
syn keyword stataCommand file
|
||||
syn keyword stataCommand findfile
|
||||
syn keyword stataCommand format
|
||||
syn keyword stataCommand g[enerate]
|
||||
syn keyword stataCommand gettoken
|
||||
syn keyword stataCommand gl[obal]
|
||||
syn keyword stataCommand help
|
||||
syn keyword stataCommand hexdump
|
||||
syn keyword stataCommand include
|
||||
syn keyword stataCommand infile
|
||||
syn keyword stataCommand infix
|
||||
syn keyword stataCommand input
|
||||
syn keyword stataCommand insheet
|
||||
syn keyword stataCommand joinby
|
||||
syn keyword stataCommand la[bel]
|
||||
syn keyword stataCommand levelsof
|
||||
syn keyword stataCommand list
|
||||
syn keyword stataCommand loc[al]
|
||||
syn keyword stataCommand log
|
||||
syn keyword stataCommand ma[cro]
|
||||
syn keyword stataCommand mark
|
||||
syn keyword stataCommand markout
|
||||
syn keyword stataCommand marksample
|
||||
syn keyword stataCommand mata
|
||||
syn keyword stataCommand matrix
|
||||
syn keyword stataCommand memory
|
||||
syn keyword stataCommand merge
|
||||
syn keyword stataCommand mkdir
|
||||
syn keyword stataCommand more
|
||||
syn keyword stataCommand net
|
||||
syn keyword stataCommand nobreak
|
||||
syn keyword stataCommand n[oisily]
|
||||
syn keyword stataCommand note[s]
|
||||
syn keyword stataCommand numlist
|
||||
syn keyword stataCommand outfile
|
||||
syn keyword stataCommand outsheet
|
||||
syn keyword stataCommand _parse
|
||||
syn keyword stataCommand pause
|
||||
syn keyword stataCommand plugin
|
||||
syn keyword stataCommand post
|
||||
syn keyword stataCommand postclose
|
||||
syn keyword stataCommand postfile
|
||||
syn keyword stataCommand preserve
|
||||
syn keyword stataCommand print
|
||||
syn keyword stataCommand printer
|
||||
syn keyword stataCommand profiler
|
||||
syn keyword stataCommand pr[ogram]
|
||||
syn keyword stataCommand q[uery]
|
||||
syn keyword stataCommand qui[etly]
|
||||
syn keyword stataCommand rcof
|
||||
syn keyword stataCommand reg[ress]
|
||||
syn keyword stataCommand rename
|
||||
syn keyword stataCommand repeat
|
||||
syn keyword stataCommand replace
|
||||
syn keyword stataCommand reshape
|
||||
syn keyword stataCommand ret[urn]
|
||||
syn keyword stataCommand _rmcoll
|
||||
syn keyword stataCommand _rmcoll
|
||||
syn keyword stataCommand _rmcollright
|
||||
syn keyword stataCommand rmdir
|
||||
syn keyword stataCommand _robust
|
||||
syn keyword stataCommand save
|
||||
syn keyword stataCommand sca[lar]
|
||||
syn keyword stataCommand search
|
||||
syn keyword stataCommand serset
|
||||
syn keyword stataCommand set
|
||||
syn keyword stataCommand shell
|
||||
syn keyword stataCommand sleep
|
||||
syn keyword stataCommand sort
|
||||
syn keyword stataCommand split
|
||||
syn keyword stataCommand sret[urn]
|
||||
syn keyword stataCommand ssc
|
||||
syn keyword stataCommand su[mmarize]
|
||||
syn keyword stataCommand syntax
|
||||
syn keyword stataCommand sysdescribe
|
||||
syn keyword stataCommand sysdir
|
||||
syn keyword stataCommand sysuse
|
||||
syn keyword stataCommand token[ize]
|
||||
syn keyword stataCommand translate
|
||||
syn keyword stataCommand type
|
||||
syn keyword stataCommand unab
|
||||
syn keyword stataCommand unabcmd
|
||||
syn keyword stataCommand update
|
||||
syn keyword stataCommand use
|
||||
syn keyword stataCommand vers[ion]
|
||||
syn keyword stataCommand view
|
||||
syn keyword stataCommand viewsource
|
||||
syn keyword stataCommand webdescribe
|
||||
syn keyword stataCommand webseek
|
||||
syn keyword stataCommand webuse
|
||||
syn keyword stataCommand which
|
||||
syn keyword stataCommand who
|
||||
syn keyword stataCommand window
|
||||
|
||||
" Literals
|
||||
syn match stataQuote /"/
|
||||
syn region stataEString matchgroup=Nothing start=/`"/ end=/"'/ oneline contains=@stataMacroGroup,stataQuote,stataString,stataEString
|
||||
syn region stataString matchgroup=Nothing start=/"/ end=/"/ oneline contains=@stataMacroGroup
|
||||
|
||||
" define clusters
|
||||
syn cluster stataFuncGroup contains=@stataMacroGroup,stataFunc,stataString,stataEstring
|
||||
syn cluster stataMacroGroup contains=stataGlobal,stataLocal
|
||||
syn cluster stataParenGroup contains=stataParenError,stataBracketError,stataBraceError,stataSpecial,stataFormat
|
||||
|
||||
" Stata functions
|
||||
" Math
|
||||
syn region stataFunc matchgroup=Function start=/abs(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/acos(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/asin(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/atan(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/atan2(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/atanh(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/ceil(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/cloglog(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/comb(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/cos(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/digamma(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/exp(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/floor(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/int(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/invcloglog(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/invlogit(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/ln(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/lnfact(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/lnfactorial(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/lngamma(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/log(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/log10(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/logit(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/max(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/mod(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/reldif(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/round(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/sign(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/sin(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/sqrt(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/sum(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/tan(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/tanh(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/trigamma(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/trunc(/ end=/)/ contains=@stataFuncGroup
|
||||
" Probability distriubtions and density functions
|
||||
syn region stataFunc matchgroup=Function start=/betaden(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/Binomial(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/binorm(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/binormal(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/chi2(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/chi2tail(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/dgammapda(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/dgammapdada(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/dgammapdadx(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/dgammapdx(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/dgammapdxdx(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/F(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/Fden(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/Ftail(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/gammaden(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/gammap(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/ibeta(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/invbinomial(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/invchi2(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/invchi2tail(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/invF(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/invFtail(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/invgammap(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/invibeta(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/invnchi2(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/invFtail(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/invibeta(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/invnorm(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/invnormal(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/invttail(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/lnnormal(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/lnnormalden(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/nbetaden(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/nchi2(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/nFden(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/nFtail(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/nibeta(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/norm(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/normal(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/normalden(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/normden(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/npnchi2(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/tden(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/ttail(/ end=/)/ contains=@stataFuncGroup
|
||||
" Random numbers
|
||||
syn region stataFunc matchgroup=Function start=/uniform(/ end=/)/ contains=@stataFuncGroup
|
||||
" String
|
||||
syn region stataFunc matchgroup=Function start=/abbrev(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/hchar(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/indexnot(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/itrim(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/length(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/lower(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/ltrim(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/plural(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/proper(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/real(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/regexm(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/regexr(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/regexs(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/reverse(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/rtrim(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/string(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/strlen(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/strmatch(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/strpos(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/subinstr(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/subinword(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/substr(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/trim(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/upper(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/word(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/wordcount(/ end=/)/ contains=@stataFuncGroup
|
||||
" Programming
|
||||
syn region stataFunc matchgroup=Function start=/autocode(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/byteorder(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/c(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/_caller(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/chop(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/clip(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/cond(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/e(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/epsdouble(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/epsfloat(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/float(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/has_eprop(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/has_eprop(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/inlist(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/inrange(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/irecode(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/matrix(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/maxbyte(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/maxdouble(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/maxfloat(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/maxint(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/maxlong(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/mi(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/minbyte(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/mindouble(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/minfloat(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/minint(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/minlong(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/missing(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/r(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/recode(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/replay(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/return(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/s(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/scalar(/ end=/)/ contains=@stataFuncGroup
|
||||
" Date
|
||||
syn region stataFunc matchgroup=Function start=/d(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/date(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/day(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/dow(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/doy(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/halfyear(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/mdy(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/month(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/quarter(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/week(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/year(/ end=/)/ contains=@stataFuncGroup
|
||||
" Time-series
|
||||
syn region stataFunc matchgroup=Function start=/daily(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/halfyearly(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/monthly(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/quarterly(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/weekly(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/yearly(/ end=/)/ contains=@stataFuncGroup
|
||||
"
|
||||
syn region stataFunc matchgroup=Function start=/yh(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/ym(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/yq(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/yw(/ end=/)/ contains=@stataFuncGroup
|
||||
"
|
||||
syn region stataFunc matchgroup=Function start=/d(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/h(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/m(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/q(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/w(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/y(/ end=/)/ contains=@stataFuncGroup
|
||||
"
|
||||
syn region stataFunc matchgroup=Function start=/dofd(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/dofh(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/dofm(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/dofq(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/dofw(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/dofy(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/hofd(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/mofd(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/qofd(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/wofd(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/yofd(/ end=/)/ contains=@stataFuncGroup
|
||||
"
|
||||
syn region stataFunc matchgroup=Function start=/tin(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/twithin(/ end=/)/ contains=@stataFuncGroup
|
||||
" Matrix
|
||||
syn region stataFunc matchgroup=Function start=/colnumb(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/colsof(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/det(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/diag0cnt(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/el(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/issymmetric(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/matmissing(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/mreldif(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/rownumb(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/rowsof(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/trace(/ end=/)/ contains=@stataFuncGroup
|
||||
"
|
||||
syn region stataFunc matchgroup=Function start=/cholsky(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/corr(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/diag(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/get(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/hadamard(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/I(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/inv(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/invsym(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/J(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/matuniform(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/nullmat(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/sweep(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/vec(/ end=/)/ contains=@stataFuncGroup
|
||||
syn region stataFunc matchgroup=Function start=/vecdiag(/ end=/)/ contains=@stataFuncGroup
|
||||
|
||||
" Errors to catch
|
||||
" taken from $VIMRUNTIME/syntax/c.vim
|
||||
" catch errors caused by wrong parenthesis, braces and brackets
|
||||
syn region stataParen transparent start=/(/ end=/)/ contains=ALLBUT,@stataParenGroup,stataErrInBracket,stataErrInBrace
|
||||
syn region stataBracket transparent start=/\[/ end=/]/ contains=ALLBUT,@stataParenGroup,stataErrInParen,stataErrInBrace
|
||||
syn region stataBrace transparent start=/{/ end=/}/ contains=ALLBUT,@stataParenGroup,stataErrInParen,stataErrInBracket
|
||||
syn match stataParenError /[\])}]/
|
||||
syn match stataBracketError /]/
|
||||
syn match stataBraceError /}/
|
||||
syn match stataErrInParen contained /[\]{}]/
|
||||
syn match stataErrInBracket contained /[){}]/
|
||||
syn match stataErrInBrace contained /[)\]]/
|
||||
|
||||
" assign highlight groups
|
||||
hi def link stataBraceError stataError
|
||||
hi def link stataBracketError stataError
|
||||
hi def link stataErrInBrace stataError
|
||||
hi def link stataErrInBracket stataError
|
||||
hi def link stataErrInParen stataError
|
||||
hi def link stataEString stataString
|
||||
hi def link stataFormat stataSpecial
|
||||
hi def link stataGlobal stataMacro
|
||||
hi def link stataLocal stataMacro
|
||||
hi def link stataParenError stataError
|
||||
hi def link stataSlashComment stataComment
|
||||
hi def link stataStarComment stataComment
|
||||
|
||||
hi def link stataCommand Define
|
||||
hi def link stataComment Comment
|
||||
hi def link stataConditional Conditional
|
||||
hi def link stataError Error
|
||||
hi def link stataFunc None
|
||||
hi def link stataMacro Define
|
||||
hi def link stataRepeat Repeat
|
||||
hi def link stataSpecial SpecialChar
|
||||
hi def link stataString String
|
||||
|
||||
let b:current_syntax = "stata"
|
||||
|
||||
" vim: ts=8
|
@ -3997,13 +3997,15 @@ addstar(fname, len, context)
|
||||
vim_strncpy(retval, fname, len);
|
||||
|
||||
/*
|
||||
* Don't add a star to ~, ~user, $var or `cmd`.
|
||||
* Don't add a star to *, ~, ~user, $var or `cmd`.
|
||||
* * would become **, which walks the whole tree.
|
||||
* ~ would be at the start of the file name, but not the tail.
|
||||
* $ could be anywhere in the tail.
|
||||
* ` could be anywhere in the file name.
|
||||
*/
|
||||
tail = gettail(retval);
|
||||
if ((*retval != '~' || tail != retval)
|
||||
&& (len == 0 || retval[len - 1] != '*')
|
||||
&& vim_strchr(tail, '$') == NULL
|
||||
&& vim_strchr(retval, '`') == NULL)
|
||||
retval[len++] = '*';
|
||||
|
@ -35,6 +35,6 @@
|
||||
*/
|
||||
#define VIM_VERSION_NODOT "vim70d"
|
||||
#define VIM_VERSION_SHORT "7.0d"
|
||||
#define VIM_VERSION_MEDIUM "7.0d04 BETA"
|
||||
#define VIM_VERSION_LONG "VIM - Vi IMproved 7.0d04 BETA (2006 Apr 14)"
|
||||
#define VIM_VERSION_LONG_DATE "VIM - Vi IMproved 7.0d04 BETA (2006 Apr 14, compiled "
|
||||
#define VIM_VERSION_MEDIUM "7.0d05 BETA"
|
||||
#define VIM_VERSION_LONG "VIM - Vi IMproved 7.0d05 BETA (2006 Apr 15)"
|
||||
#define VIM_VERSION_LONG_DATE "VIM - Vi IMproved 7.0d05 BETA (2006 Apr 15, compiled "
|
||||
|
Loading…
x
Reference in New Issue
Block a user