mirror of
https://github.com/vim/vim.git
synced 2025-07-04 23:07:33 -04:00
updated for version 7.0e04
This commit is contained in:
parent
8424a624ce
commit
fc1421eb53
@ -1,7 +1,7 @@
|
|||||||
" Vim completion script
|
" Vim completion script
|
||||||
" Language: HTML (XHTML 1.0 Strict by default)
|
" Language: HTML and XHTML
|
||||||
" Maintainer: Mikolaj Machowski ( mikmach AT wp DOT pl )
|
" Maintainer: Mikolaj Machowski ( mikmach AT wp DOT pl )
|
||||||
" Last Change: 2006 Apr 17
|
" Last Change: 2006 Apr 20
|
||||||
|
|
||||||
function! htmlcomplete#CompleteTags(findstart, base)
|
function! htmlcomplete#CompleteTags(findstart, base)
|
||||||
if a:findstart
|
if a:findstart
|
||||||
@ -159,12 +159,12 @@ function! htmlcomplete#CompleteTags(findstart, base)
|
|||||||
if exists("b:entitiescompl")
|
if exists("b:entitiescompl")
|
||||||
unlet! b:entitiescompl
|
unlet! b:entitiescompl
|
||||||
|
|
||||||
if !exists("g:html_omni")
|
if !exists("b:html_omni")
|
||||||
"runtime! autoload/xml/xhtml10s.vim
|
"runtime! autoload/xml/xhtml10s.vim
|
||||||
call htmlcomplete#LoadData()
|
call htmlcomplete#LoadData()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
let entities = g:html_omni['vimxmlentities']
|
let entities = b:html_omni['vimxmlentities']
|
||||||
|
|
||||||
if len(a:base) == 1
|
if len(a:base) == 1
|
||||||
for m in entities
|
for m in entities
|
||||||
@ -462,8 +462,8 @@ function! htmlcomplete#CompleteTags(findstart, base)
|
|||||||
endfor
|
endfor
|
||||||
endif
|
endif
|
||||||
else
|
else
|
||||||
if has_key(g:html_omni, tag) && has_key(g:html_omni[tag][1], attrname)
|
if has_key(b:html_omni, tag) && has_key(b:html_omni[tag][1], attrname)
|
||||||
let values = g:html_omni[tag][1][attrname]
|
let values = b:html_omni[tag][1][attrname]
|
||||||
else
|
else
|
||||||
return []
|
return []
|
||||||
endif
|
endif
|
||||||
@ -503,13 +503,13 @@ function! htmlcomplete#CompleteTags(findstart, base)
|
|||||||
let sbase = matchstr(context, '.*\ze\s.*')
|
let sbase = matchstr(context, '.*\ze\s.*')
|
||||||
|
|
||||||
" Load data {{{
|
" Load data {{{
|
||||||
if !exists("g:html_omni_gen")
|
if !exists("b:html_omni_gen")
|
||||||
call htmlcomplete#LoadData()
|
call htmlcomplete#LoadData()
|
||||||
endif
|
endif
|
||||||
" }}}
|
" }}}
|
||||||
|
|
||||||
if has_key(g:html_omni, tag)
|
if has_key(b:html_omni, tag)
|
||||||
let attrs = keys(g:html_omni[tag][1])
|
let attrs = keys(b:html_omni[tag][1])
|
||||||
else
|
else
|
||||||
return []
|
return []
|
||||||
endif
|
endif
|
||||||
@ -522,13 +522,13 @@ function! htmlcomplete#CompleteTags(findstart, base)
|
|||||||
endif
|
endif
|
||||||
endfor
|
endfor
|
||||||
let menu = res + res2
|
let menu = res + res2
|
||||||
if has_key(g:html_omni, 'vimxmlattrinfo')
|
if has_key(b:html_omni, 'vimxmlattrinfo')
|
||||||
let final_menu = []
|
let final_menu = []
|
||||||
for i in range(len(menu))
|
for i in range(len(menu))
|
||||||
let item = menu[i]
|
let item = menu[i]
|
||||||
if has_key(g:html_omni['vimxmlattrinfo'], item)
|
if has_key(b:html_omni['vimxmlattrinfo'], item)
|
||||||
let m_menu = g:html_omni['vimxmlattrinfo'][item][0]
|
let m_menu = b:html_omni['vimxmlattrinfo'][item][0]
|
||||||
let m_info = g:html_omni['vimxmlattrinfo'][item][1]
|
let m_info = b:html_omni['vimxmlattrinfo'][item][1]
|
||||||
if m_menu !~ 'Bool'
|
if m_menu !~ 'Bool'
|
||||||
let item .= '="'
|
let item .= '="'
|
||||||
endif
|
endif
|
||||||
@ -558,7 +558,7 @@ function! htmlcomplete#CompleteTags(findstart, base)
|
|||||||
endif
|
endif
|
||||||
" }}}
|
" }}}
|
||||||
" Load data {{{
|
" Load data {{{
|
||||||
if !exists("g:html_omni")
|
if !exists("b:html_omni")
|
||||||
"runtime! autoload/xml/xhtml10s.vim
|
"runtime! autoload/xml/xhtml10s.vim
|
||||||
call htmlcomplete#LoadData()
|
call htmlcomplete#LoadData()
|
||||||
endif
|
endif
|
||||||
@ -568,16 +568,16 @@ function! htmlcomplete#CompleteTags(findstart, base)
|
|||||||
let opentag = tolower(xmlcomplete#GetLastOpenTag("b:unaryTagsStack"))
|
let opentag = tolower(xmlcomplete#GetLastOpenTag("b:unaryTagsStack"))
|
||||||
" MM: TODO: GLOT works always the same but with some weird situation it
|
" MM: TODO: GLOT works always the same but with some weird situation it
|
||||||
" behaves as intended in HTML but screws in PHP
|
" behaves as intended in HTML but screws in PHP
|
||||||
if opentag == '' || &ft == 'php' && !has_key(g:html_omni, opentag)
|
if opentag == '' || &ft == 'php' && !has_key(b:html_omni, opentag)
|
||||||
" Hack for sometimes failing GetLastOpenTag.
|
" Hack for sometimes failing GetLastOpenTag.
|
||||||
" As far as I tested fail isn't GLOT fault but problem
|
" As far as I tested fail isn't GLOT fault but problem
|
||||||
" of invalid document - not properly closed tags and other mish-mash.
|
" of invalid document - not properly closed tags and other mish-mash.
|
||||||
" Also when document is empty. Return list of *all* tags.
|
" Also when document is empty. Return list of *all* tags.
|
||||||
let tags = keys(g:html_omni)
|
let tags = keys(b:html_omni)
|
||||||
call filter(tags, 'v:val !~ "^vimxml"')
|
call filter(tags, 'v:val !~ "^vimxml"')
|
||||||
else
|
else
|
||||||
if has_key(g:html_omni, opentag)
|
if has_key(b:html_omni, opentag)
|
||||||
let tags = g:html_omni[opentag][0]
|
let tags = b:html_omni[opentag][0]
|
||||||
else
|
else
|
||||||
return []
|
return []
|
||||||
endif
|
endif
|
||||||
@ -596,17 +596,20 @@ function! htmlcomplete#CompleteTags(findstart, base)
|
|||||||
endif
|
endif
|
||||||
endfor
|
endfor
|
||||||
let menu = res + res2
|
let menu = res + res2
|
||||||
if has_key(g:html_omni, 'vimxmltaginfo')
|
if has_key(b:html_omni, 'vimxmltaginfo')
|
||||||
let final_menu = []
|
let final_menu = []
|
||||||
for i in range(len(menu))
|
for i in range(len(menu))
|
||||||
let item = menu[i]
|
let item = menu[i]
|
||||||
if has_key(g:html_omni['vimxmltaginfo'], item)
|
if has_key(b:html_omni['vimxmltaginfo'], item)
|
||||||
let m_menu = g:html_omni['vimxmltaginfo'][item][0]
|
let m_menu = b:html_omni['vimxmltaginfo'][item][0]
|
||||||
let m_info = g:html_omni['vimxmltaginfo'][item][1]
|
let m_info = b:html_omni['vimxmltaginfo'][item][1]
|
||||||
else
|
else
|
||||||
let m_menu = ''
|
let m_menu = ''
|
||||||
let m_info = ''
|
let m_info = ''
|
||||||
endif
|
endif
|
||||||
|
if &ft == 'html' && exists("uppercase_tag") && uppercase_tag == 1
|
||||||
|
let item = toupper(item)
|
||||||
|
endif
|
||||||
let final_menu += [{'word':item, 'menu':m_menu, 'info':m_info}]
|
let final_menu += [{'word':item, 'menu':m_menu, 'info':m_info}]
|
||||||
endfor
|
endfor
|
||||||
else
|
else
|
||||||
@ -619,25 +622,39 @@ function! htmlcomplete#CompleteTags(findstart, base)
|
|||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! htmlcomplete#LoadData() " {{{
|
function! htmlcomplete#LoadData() " {{{
|
||||||
if !exists("g:html_omni_flavor")
|
if !exists("b:html_omni_flavor")
|
||||||
let g:html_omni_flavor = 'xhtml10s'
|
if &ft == 'html'
|
||||||
|
let b:html_omni_flavor = 'html401t'
|
||||||
|
else
|
||||||
|
let b:html_omni_flavor = 'xhtml10s'
|
||||||
|
endif
|
||||||
endif
|
endif
|
||||||
exe 'runtime! autoload/xml/'.g:html_omni_flavor.'.vim'
|
" With that if we still have bloated memory but create new buffer
|
||||||
" This one is necessary because we don't know if
|
" variables only by linking to existing g:variable, not sourcing whole
|
||||||
" g:html_omni_flavor file exists and was sourced
|
" file.
|
||||||
|
if exists('g:xmldata_'.b:html_omni_flavor)
|
||||||
|
exe 'let b:html_omni = g:xmldata_'.b:html_omni_flavor
|
||||||
|
else
|
||||||
|
exe 'runtime! autoload/xml/'.b:html_omni_flavor.'.vim'
|
||||||
|
exe 'let b:html_omni = g:xmldata_'.b:html_omni_flavor
|
||||||
|
endif
|
||||||
|
" This repetition is necessary because we don't know if
|
||||||
|
" b:html_omni_flavor file exists and was sourced
|
||||||
" Proper checking for files would require iterating through 'rtp'
|
" Proper checking for files would require iterating through 'rtp'
|
||||||
" and could introduce OS dependent mess.
|
" and could introduce OS dependent mess.
|
||||||
if !exists("g:xmldata_".g:html_omni_flavor)
|
if !exists("g:xmldata_".b:html_omni_flavor)
|
||||||
let g:html_omni_flavor = 'xhtml10s'
|
if &ft == 'html'
|
||||||
runtime! autoload/xml/xhtml10s.vim
|
let b:html_omni_flavor = 'html401t'
|
||||||
|
else
|
||||||
|
let b:html_omni_flavor = 'xhtml10s'
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
if exists('g:xmldata_'.b:html_omni_flavor)
|
||||||
|
exe 'let b:html_omni = g:xmldata_'.b:html_omni_flavor
|
||||||
|
else
|
||||||
|
exe 'runtime! autoload/xml/'.b:html_omni_flavor.'.vim'
|
||||||
|
exe 'let b:html_omni = g:xmldata_'.b:html_omni_flavor
|
||||||
endif
|
endif
|
||||||
|
|
||||||
exe 'let g:html_omni = g:xmldata_'.g:html_omni_flavor
|
|
||||||
|
|
||||||
" Free some memory
|
|
||||||
exe 'unlet! g:xmldata_'.g:html_omni_flavor
|
|
||||||
|
|
||||||
"call htmlcomplete#LoadData()
|
|
||||||
endfunction
|
endfunction
|
||||||
" }}}
|
" }}}
|
||||||
" vim:set foldmethod=marker:
|
" vim:set foldmethod=marker:
|
||||||
|
@ -1,20 +1,16 @@
|
|||||||
"pythoncomplete.vim - Omni Completion for python
|
"pythoncomplete.vim - Omni Completion for python
|
||||||
" Maintainer: Aaron Griffin
|
" Maintainer: Aaron Griffin <aaronmgriffin@gmail.com>
|
||||||
" Version: 0.3
|
" Version: 0.5
|
||||||
" Last Updated: 23 January 2006
|
" Last Updated: 19 April 2006
|
||||||
"
|
"
|
||||||
" v0.3 Changes:
|
" Yeah, I skipped a version number - 0.4 was never public.
|
||||||
" added top level def parsing
|
" It was a bugfix version on top of 0.3. This is a complete
|
||||||
" for safety, call returns are not evaluated
|
" rewrite.
|
||||||
" handful of parsing changes
|
|
||||||
" trailing ( and . characters
|
|
||||||
" argument completion on open parens
|
|
||||||
" stop parsing at current line - ++performance, local var resolution
|
|
||||||
"
|
"
|
||||||
" TODO
|
" TODO:
|
||||||
" RExec subclass
|
" User defined docstrings aren't handled right...
|
||||||
" Code cleanup + make class
|
" 'info' item output can use some formatting work
|
||||||
" use internal dict, not globals()
|
" Add an "unsafe eval" mode, to allow for return type evaluation
|
||||||
|
|
||||||
if !has('python')
|
if !has('python')
|
||||||
echo "Error: Required vim compiled with +python"
|
echo "Error: Required vim compiled with +python"
|
||||||
@ -23,12 +19,12 @@ endif
|
|||||||
|
|
||||||
function! pythoncomplete#Complete(findstart, base)
|
function! pythoncomplete#Complete(findstart, base)
|
||||||
"findstart = 1 when we need to get the text length
|
"findstart = 1 when we need to get the text length
|
||||||
if a:findstart
|
if a:findstart == 1
|
||||||
let line = getline('.')
|
let line = getline('.')
|
||||||
let idx = col('.')
|
let idx = col('.')
|
||||||
while idx > 0
|
while idx > 0
|
||||||
let idx -= 1
|
let idx -= 1
|
||||||
let c = line[idx-1]
|
let c = line[idx]
|
||||||
if c =~ '\w'
|
if c =~ '\w'
|
||||||
continue
|
continue
|
||||||
elseif ! c =~ '\.'
|
elseif ! c =~ '\.'
|
||||||
@ -42,310 +38,530 @@ function! pythoncomplete#Complete(findstart, base)
|
|||||||
return idx
|
return idx
|
||||||
"findstart = 0 when we need to return the list of completions
|
"findstart = 0 when we need to return the list of completions
|
||||||
else
|
else
|
||||||
execute "python get_completions('" . a:base . "')"
|
"vim no longer moves the cursor upon completion... fix that
|
||||||
|
let line = getline('.')
|
||||||
|
let idx = col('.')
|
||||||
|
let cword = ''
|
||||||
|
while idx > 0
|
||||||
|
let idx -= 1
|
||||||
|
let c = line[idx]
|
||||||
|
if c =~ '\w' || c =~ '\.'
|
||||||
|
let cword = c . cword
|
||||||
|
continue
|
||||||
|
elseif strlen(cword) > 0 || idx == 0
|
||||||
|
break
|
||||||
|
endif
|
||||||
|
endwhile
|
||||||
|
execute "python vimcomplete('" . cword . "', '" . a:base . "')"
|
||||||
return g:pythoncomplete_completions
|
return g:pythoncomplete_completions
|
||||||
endif
|
endif
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! s:DefPython()
|
function! s:DefPython()
|
||||||
python << PYTHONEOF
|
python << PYTHONEOF
|
||||||
import vim, sys, types
|
import sys, tokenize, cStringIO, types
|
||||||
import __builtin__
|
from token import NAME, DEDENT, NEWLINE, STRING
|
||||||
import tokenize, keyword, cStringIO
|
|
||||||
|
|
||||||
LOCALDEFS = \
|
debugstmts=[]
|
||||||
['LOCALDEFS', 'clean_up','eval_source_code', \
|
def dbg(s): debugstmts.append(s)
|
||||||
'get_completions', '__builtin__', '__builtins__', \
|
def showdbg():
|
||||||
'dbg', '__name__', 'vim', 'sys', 'parse_to_end', \
|
for d in debugstmts: print "DBG: %s " % d
|
||||||
'parse_statement', 'tokenize', 'keyword', 'cStringIO', \
|
|
||||||
'debug_level', 'safe_eval', '_ctor', 'get_arguments', \
|
|
||||||
'strip_calls', 'types', 'parse_block']
|
|
||||||
|
|
||||||
def dbg(level,msg):
|
def vimcomplete(context,match):
|
||||||
debug_level = 1
|
global debugstmts
|
||||||
|
debugstmts = []
|
||||||
try:
|
try:
|
||||||
debug_level = vim.eval("g:pythoncomplete_debug_level")
|
import vim
|
||||||
except:
|
def complsort(x,y):
|
||||||
pass
|
return x['abbr'] > y['abbr']
|
||||||
if level <= debug_level: print(msg)
|
cmpl = Completer()
|
||||||
|
cmpl.evalsource('\n'.join(vim.current.buffer),vim.eval("line('.')"))
|
||||||
|
all = cmpl.get_completions(context,match)
|
||||||
|
all.sort(complsort)
|
||||||
|
dictstr = '['
|
||||||
|
# have to do this for double quoting
|
||||||
|
for cmpl in all:
|
||||||
|
dictstr += '{'
|
||||||
|
for x in cmpl: dictstr += '"%s":"%s",' % (x,cmpl[x])
|
||||||
|
dictstr += '"icase":0},'
|
||||||
|
if dictstr[-1] == ',': dictstr = dictstr[:-1]
|
||||||
|
dictstr += ']'
|
||||||
|
dbg("dict: %s" % dictstr)
|
||||||
|
vim.command("silent let g:pythoncomplete_completions = %s" % dictstr)
|
||||||
|
#dbg("Completion dict:\n%s" % all)
|
||||||
|
except vim.error:
|
||||||
|
dbg("VIM Error: %s" % vim.error)
|
||||||
|
|
||||||
def strip_calls(stmt):
|
class Completer(object):
|
||||||
parsed=''
|
def __init__(self):
|
||||||
level = 0
|
self.compldict = {}
|
||||||
for c in stmt:
|
self.parser = PyParser()
|
||||||
if c in ['[','(']:
|
|
||||||
level += 1
|
|
||||||
elif c in [')',']']:
|
|
||||||
level -= 1
|
|
||||||
elif level == 0:
|
|
||||||
parsed += c
|
|
||||||
##dbg(10,"stripped: %s" % parsed)
|
|
||||||
return parsed
|
|
||||||
|
|
||||||
def get_completions(base):
|
def evalsource(self,text,line=0):
|
||||||
stmt = vim.eval('expand("<cWORD>")')
|
sc = self.parser.parse(text,line)
|
||||||
#dbg(1,"statement: %s - %s" % (stmt, base))
|
src = sc.get_code()
|
||||||
stmt = stmt+base
|
dbg("source: %s" % src)
|
||||||
eval_source_code()
|
try: exec(src) in self.compldict
|
||||||
|
except: dbg("parser: %s, %s" % (sys.exc_info()[0],sys.exc_info()[1]))
|
||||||
|
for l in sc.locals:
|
||||||
|
try: exec(l) in self.compldict
|
||||||
|
except: dbg("locals: %s, %s [%s]" % (sys.exc_info()[0],sys.exc_info()[1],l))
|
||||||
|
|
||||||
try:
|
def _cleanstr(self,doc):
|
||||||
ridx = stmt.rfind('.')
|
return doc.replace('"',' ')\
|
||||||
if stmt[-1] == '(':
|
.replace("'",' ')\
|
||||||
match = ""
|
.replace('\n',' ')\
|
||||||
stmt = strip_calls(stmt[:len(stmt)-1])
|
.replace('\r',' ')\
|
||||||
all = get_arguments(eval(stmt))
|
.replace('
',' ')
|
||||||
elif ridx == -1:
|
|
||||||
match = stmt
|
|
||||||
all = globals() + __builtin__.__dict__
|
|
||||||
else:
|
|
||||||
match = stmt[ridx+1:]
|
|
||||||
stmt = strip_calls(stmt[:ridx])
|
|
||||||
all = eval(stmt).__dict__
|
|
||||||
|
|
||||||
#dbg(15,"completions for: %s, match=%s" % (stmt,match))
|
def get_arguments(self,func_obj):
|
||||||
completions = []
|
def _ctor(obj):
|
||||||
if type(all) == types.DictType:
|
try: return class_ob.__init__.im_func
|
||||||
for m in all:
|
except AttributeError:
|
||||||
if m.find('_') != 0 and m.find(match) == 0 and \
|
for base in class_ob.__bases__:
|
||||||
m not in LOCALDEFS:
|
rc = _find_constructor(base)
|
||||||
#dbg(25,"matched... %s, %s" % (m, m.find(match)))
|
if rc is not None: return rc
|
||||||
typestr = str(all[m])
|
return None
|
||||||
if "function" in typestr: m += '('
|
|
||||||
elif "method" in typestr: m += '('
|
|
||||||
elif "module" in typestr: m += '.'
|
|
||||||
elif "class" in typestr: m += '('
|
|
||||||
completions.append(m)
|
|
||||||
completions.sort()
|
|
||||||
else:
|
|
||||||
completions.append(all)
|
|
||||||
#dbg(10,"all completions: %s" % completions)
|
|
||||||
vim.command("let g:pythoncomplete_completions = %s" % completions)
|
|
||||||
except:
|
|
||||||
vim.command("let g:pythoncomplete_completions = []")
|
|
||||||
#dbg(1,"exception: %s" % sys.exc_info()[1])
|
|
||||||
clean_up()
|
|
||||||
|
|
||||||
def get_arguments(func_obj):
|
arg_offset = 1
|
||||||
def _ctor(obj):
|
if type(func_obj) == types.ClassType: func_obj = _ctor(func_obj)
|
||||||
try:
|
elif type(func_obj) == types.MethodType: func_obj = func_obj.im_func
|
||||||
return class_ob.__init__.im_func
|
else: arg_offset = 0
|
||||||
except AttributeError:
|
|
||||||
for base in class_ob.__bases__:
|
arg_text = ')'
|
||||||
rc = _find_constructor(base)
|
if type(func_obj) in [types.FunctionType, types.LambdaType]:
|
||||||
if rc is not None: return rc
|
|
||||||
return None
|
|
||||||
|
|
||||||
arg_offset = 1
|
|
||||||
if type(func_obj) == types.ClassType: func_obj = _ctor(func_obj)
|
|
||||||
elif type(func_obj) == types.MethodType: func_obj = func_obj.im_func
|
|
||||||
else: arg_offset = 0
|
|
||||||
|
|
||||||
#dbg(20,"%s, offset=%s" % (str(func_obj), arg_offset))
|
|
||||||
|
|
||||||
arg_text = ''
|
|
||||||
if type(func_obj) in [types.FunctionType, types.LambdaType]:
|
|
||||||
try:
|
|
||||||
cd = func_obj.func_code
|
|
||||||
real_args = cd.co_varnames[arg_offset:cd.co_argcount]
|
|
||||||
defaults = func_obj.func_defaults or []
|
|
||||||
defaults = list(map(lambda name: "=%s" % name, defaults))
|
|
||||||
defaults = [""] * (len(real_args)-len(defaults)) + defaults
|
|
||||||
items = map(lambda a,d: a+d, real_args, defaults)
|
|
||||||
if func_obj.func_code.co_flags & 0x4:
|
|
||||||
items.append("...")
|
|
||||||
if func_obj.func_code.co_flags & 0x8:
|
|
||||||
items.append("***")
|
|
||||||
arg_text = ", ".join(items) + ')'
|
|
||||||
|
|
||||||
except:
|
|
||||||
#dbg(1,"exception: %s" % sys.exc_info()[1])
|
|
||||||
pass
|
|
||||||
if len(arg_text) == 0:
|
|
||||||
# The doc string sometimes contains the function signature
|
|
||||||
# this works for alot of C modules that are part of the
|
|
||||||
# standard library
|
|
||||||
doc = getattr(func_obj, '__doc__', '')
|
|
||||||
if doc:
|
|
||||||
doc = doc.lstrip()
|
|
||||||
pos = doc.find('\n')
|
|
||||||
if pos > 0:
|
|
||||||
sigline = doc[:pos]
|
|
||||||
lidx = sigline.find('(')
|
|
||||||
ridx = sigline.find(')')
|
|
||||||
retidx = sigline.find('->')
|
|
||||||
ret = sigline[retidx+2:].strip()
|
|
||||||
if lidx > 0 and ridx > 0:
|
|
||||||
arg_text = sigline[lidx+1:ridx] + ')'
|
|
||||||
if len(ret) > 0: arg_text += ' #returns %s' % ret
|
|
||||||
#dbg(15,"argument completion: %s" % arg_text)
|
|
||||||
return arg_text
|
|
||||||
|
|
||||||
def parse_to_end(gen):
|
|
||||||
stmt=''
|
|
||||||
level = 0
|
|
||||||
for type, str, begin, end, line in gen:
|
|
||||||
if line == vim.eval('getline(\'.\')'): break
|
|
||||||
elif str == '\\': continue
|
|
||||||
elif str == ';':
|
|
||||||
break
|
|
||||||
elif type == tokenize.NEWLINE and level == 0:
|
|
||||||
break
|
|
||||||
elif str in ['[','(']:
|
|
||||||
level += 1
|
|
||||||
elif str in [')',']']:
|
|
||||||
level -= 1
|
|
||||||
elif level == 0:
|
|
||||||
stmt += str
|
|
||||||
#dbg(10,"current statement: %s" % stmt)
|
|
||||||
return stmt
|
|
||||||
|
|
||||||
def parse_block(gen):
|
|
||||||
lines = []
|
|
||||||
level = 0
|
|
||||||
for type, str, begin, end, line in gen:
|
|
||||||
if line.replace('\n','') == vim.eval('getline(\'.\')'): break
|
|
||||||
elif type == tokenize.INDENT:
|
|
||||||
level += 1
|
|
||||||
elif type == tokenize.DEDENT:
|
|
||||||
level -= 1
|
|
||||||
if level == 0: break;
|
|
||||||
else:
|
|
||||||
stmt = parse_statement(gen,str)
|
|
||||||
if len(stmt) > 0: lines.append(stmt)
|
|
||||||
return lines
|
|
||||||
|
|
||||||
def parse_statement(gen,curstr=''):
|
|
||||||
var = curstr
|
|
||||||
type, str, begin, end, line = gen.next()
|
|
||||||
if str == '=':
|
|
||||||
type, str, begin, end, line = gen.next()
|
|
||||||
if type == tokenize.NEWLINE:
|
|
||||||
return ''
|
|
||||||
elif type == tokenize.STRING or str == 'str':
|
|
||||||
return '%s = str' % var
|
|
||||||
elif str == '[' or str == 'list':
|
|
||||||
return '%s= list' % var
|
|
||||||
elif str == '{' or str == 'dict':
|
|
||||||
return '%s = dict' % var
|
|
||||||
elif type == tokenize.NUMBER:
|
|
||||||
return '%s = 0' % var
|
|
||||||
elif str == 'Set':
|
|
||||||
return '%s = Set' % var
|
|
||||||
elif str == 'open' or str == 'file':
|
|
||||||
return '%s = file' % var
|
|
||||||
else:
|
|
||||||
inst = str + parse_to_end(gen)
|
|
||||||
if len(inst) > 0:
|
|
||||||
#dbg(5,"found [%s = %s]" % (var, inst))
|
|
||||||
return '%s = %s' % (var, inst)
|
|
||||||
return ''
|
|
||||||
|
|
||||||
def eval_source_code():
|
|
||||||
LINE=vim.eval('getline(\'.\')')
|
|
||||||
s = cStringIO.StringIO('\n'.join(vim.current.buffer[:]) + '\n')
|
|
||||||
g = tokenize.generate_tokens(s.readline)
|
|
||||||
|
|
||||||
stmts = []
|
|
||||||
lineNo = 0
|
|
||||||
try:
|
|
||||||
for type, str, begin, end, line in g:
|
|
||||||
if line.replace('\n','') == vim.eval('getline(\'.\')'): break
|
|
||||||
elif begin[0] == lineNo: continue
|
|
||||||
#junk
|
|
||||||
elif type == tokenize.INDENT or \
|
|
||||||
type == tokenize.DEDENT or \
|
|
||||||
type == tokenize.ERRORTOKEN or \
|
|
||||||
type == tokenize.ENDMARKER or \
|
|
||||||
type == tokenize.NEWLINE or \
|
|
||||||
type == tokenize.COMMENT:
|
|
||||||
continue
|
|
||||||
#import statement
|
|
||||||
elif str == 'import':
|
|
||||||
import_stmt=parse_to_end(g)
|
|
||||||
if len(import_stmt) > 0:
|
|
||||||
#dbg(5,"found [import %s]" % import_stmt)
|
|
||||||
stmts.append("import %s" % import_stmt)
|
|
||||||
#import from statement
|
|
||||||
elif str == 'from':
|
|
||||||
type, str, begin, end, line = g.next()
|
|
||||||
mod = str
|
|
||||||
|
|
||||||
type, str, begin, end, line = g.next()
|
|
||||||
if str != "import": break
|
|
||||||
from_stmt=parse_to_end(g)
|
|
||||||
if len(from_stmt) > 0:
|
|
||||||
#dbg(5,"found [from %s import %s]" % (mod, from_stmt))
|
|
||||||
stmts.append("from %s import %s" % (mod, from_stmt))
|
|
||||||
#def statement
|
|
||||||
elif str == 'def':
|
|
||||||
funcstr = ''
|
|
||||||
for type, str, begin, end, line in g:
|
|
||||||
if line.replace('\n','') == vim.eval('getline(\'.\')'): break
|
|
||||||
elif str == ':':
|
|
||||||
stmts += parse_block(g)
|
|
||||||
break
|
|
||||||
funcstr += str
|
|
||||||
if len(funcstr) > 0:
|
|
||||||
#dbg(5,"found [def %s]" % funcstr)
|
|
||||||
stmts.append("def %s:\n pass" % funcstr)
|
|
||||||
#class declaration
|
|
||||||
elif str == 'class':
|
|
||||||
type, str, begin, end, line = g.next()
|
|
||||||
classname = str
|
|
||||||
#dbg(5,"found [class %s]" % classname)
|
|
||||||
|
|
||||||
level = 0
|
|
||||||
members = []
|
|
||||||
for type, str, begin, end, line in g:
|
|
||||||
if line.replace('\n','') == vim.eval('getline(\'.\')'): break
|
|
||||||
elif type == tokenize.INDENT:
|
|
||||||
level += 1
|
|
||||||
elif type == tokenize.DEDENT:
|
|
||||||
level -= 1
|
|
||||||
if level == 0: break;
|
|
||||||
elif str == 'def':
|
|
||||||
memberstr = ''
|
|
||||||
for type, str, begin, end, line in g:
|
|
||||||
if line.replace('\n','') == vim.eval('getline(\'.\')'): break
|
|
||||||
elif str == ':':
|
|
||||||
stmts += parse_block(g)
|
|
||||||
break
|
|
||||||
memberstr += str
|
|
||||||
#dbg(5," member [%s]" % memberstr)
|
|
||||||
members.append(memberstr)
|
|
||||||
classstr = 'class %s:' % classname
|
|
||||||
for m in members:
|
|
||||||
classstr += ("\n def %s:\n pass" % m)
|
|
||||||
stmts.append("%s\n" % classstr)
|
|
||||||
elif keyword.iskeyword(str) or str in globals():
|
|
||||||
#dbg(5,"keyword = %s" % str)
|
|
||||||
lineNo = begin[0]
|
|
||||||
else:
|
|
||||||
assign = parse_statement(g,str)
|
|
||||||
if len(assign) > 0: stmts.append(assign)
|
|
||||||
|
|
||||||
for s in stmts:
|
|
||||||
try:
|
try:
|
||||||
#dbg(15,"evaluating: %s\n" % s)
|
cd = func_obj.func_code
|
||||||
exec(s) in globals()
|
real_args = cd.co_varnames[arg_offset:cd.co_argcount]
|
||||||
|
defaults = func_obj.func_defaults or []
|
||||||
|
defaults = [map(lambda name: "=%s" % name, defaults)]
|
||||||
|
defaults = [""] * (len(real_args)-len(defaults)) + defaults
|
||||||
|
items = map(lambda a,d: a+d, real_args, defaults)
|
||||||
|
if func_obj.func_code.co_flags & 0x4:
|
||||||
|
items.append("...")
|
||||||
|
if func_obj.func_code.co_flags & 0x8:
|
||||||
|
items.append("***")
|
||||||
|
arg_text = ", ".join(items) + ')'
|
||||||
|
|
||||||
except:
|
except:
|
||||||
#dbg(1,"exception: %s" % sys.exc_info()[1])
|
dbg("completion: %s: %s" % (sys.exc_info()[0],sys.exc_info()[1]))
|
||||||
pass
|
pass
|
||||||
except:
|
if len(arg_text) == 0:
|
||||||
#dbg(1,"exception: %s" % sys.exc_info()[1])
|
# The doc string sometimes contains the function signature
|
||||||
pass
|
# this works for alot of C modules that are part of the
|
||||||
|
# standard library
|
||||||
|
doc = func_obj.__doc__
|
||||||
|
if doc:
|
||||||
|
doc = doc.lstrip()
|
||||||
|
pos = doc.find('\n')
|
||||||
|
if pos > 0:
|
||||||
|
sigline = doc[:pos]
|
||||||
|
lidx = sigline.find('(')
|
||||||
|
ridx = sigline.find(')')
|
||||||
|
if lidx > 0 and ridx > 0:
|
||||||
|
arg_text = sigline[lidx+1:ridx] + ')'
|
||||||
|
return arg_text
|
||||||
|
|
||||||
def clean_up():
|
def get_completions(self,context,match):
|
||||||
for o in globals().keys():
|
dbg("get_completions('%s','%s')" % (context,match))
|
||||||
if o not in LOCALDEFS:
|
stmt = ''
|
||||||
try:
|
if context: stmt += str(context)
|
||||||
exec('del %s' % o) in globals()
|
if match: stmt += str(match)
|
||||||
except: pass
|
try:
|
||||||
|
result = None
|
||||||
|
all = {}
|
||||||
|
ridx = stmt.rfind('.')
|
||||||
|
if len(stmt) > 0 and stmt[-1] == '(':
|
||||||
|
#TODO
|
||||||
|
result = eval(_sanitize(stmt[:-1]), self.compldict)
|
||||||
|
doc = result.__doc__
|
||||||
|
if doc == None: doc = ''
|
||||||
|
args = self.get_arguments(res)
|
||||||
|
return [{'word':self._cleanstr(args),'info':self._cleanstr(doc),'kind':'p'}]
|
||||||
|
elif ridx == -1:
|
||||||
|
match = stmt
|
||||||
|
all = self.compldict
|
||||||
|
else:
|
||||||
|
match = stmt[ridx+1:]
|
||||||
|
stmt = _sanitize(stmt[:ridx])
|
||||||
|
result = eval(stmt, self.compldict)
|
||||||
|
all = dir(result)
|
||||||
|
|
||||||
|
dbg("completing: stmt:%s" % stmt)
|
||||||
|
completions = []
|
||||||
|
|
||||||
|
try: maindoc = result.__doc__
|
||||||
|
except: maindoc = ' '
|
||||||
|
if maindoc == None: maindoc = ' '
|
||||||
|
for m in all:
|
||||||
|
if m == "_PyCmplNoType": continue #this is internal
|
||||||
|
try:
|
||||||
|
dbg('possible completion: %s' % m)
|
||||||
|
if m.find(match) == 0:
|
||||||
|
if result == None: inst = all[m]
|
||||||
|
else: inst = getattr(result,m)
|
||||||
|
try: doc = inst.__doc__
|
||||||
|
except: doc = maindoc
|
||||||
|
typestr = str(inst)
|
||||||
|
if doc == None or doc == '': doc = maindoc
|
||||||
|
|
||||||
|
wrd = m[len(match):]
|
||||||
|
c = {'word':wrd, 'abbr':m, 'info':self._cleanstr(doc),'kind':'m'}
|
||||||
|
if "function" in typestr:
|
||||||
|
c['word'] += '('
|
||||||
|
c['abbr'] += '(' + self._cleanstr(self.get_arguments(inst))
|
||||||
|
c['kind'] = 'f'
|
||||||
|
elif "method" in typestr:
|
||||||
|
c['word'] += '('
|
||||||
|
c['abbr'] += '(' + self._cleanstr(self.get_arguments(inst))
|
||||||
|
c['kind'] = 'f'
|
||||||
|
elif "module" in typestr:
|
||||||
|
c['word'] += '.'
|
||||||
|
c['kind'] = 'm'
|
||||||
|
elif "class" in typestr:
|
||||||
|
c['word'] += '('
|
||||||
|
c['abbr'] += '('
|
||||||
|
c['kind']='c'
|
||||||
|
completions.append(c)
|
||||||
|
except:
|
||||||
|
i = sys.exc_info()
|
||||||
|
dbg("inner completion: %s,%s [stmt='%s']" % (i[0],i[1],stmt))
|
||||||
|
return completions
|
||||||
|
except:
|
||||||
|
i = sys.exc_info()
|
||||||
|
dbg("completion: %s,%s [stmt='%s']" % (i[0],i[1],stmt))
|
||||||
|
return []
|
||||||
|
|
||||||
|
class Scope(object):
|
||||||
|
def __init__(self,name,indent):
|
||||||
|
self.subscopes = []
|
||||||
|
self.docstr = ''
|
||||||
|
self.locals = []
|
||||||
|
self.parent = None
|
||||||
|
self.name = name
|
||||||
|
self.indent = indent
|
||||||
|
|
||||||
|
def add(self,sub):
|
||||||
|
#print 'push scope: [%s@%s]' % (sub.name,sub.indent)
|
||||||
|
sub.parent = self
|
||||||
|
self.subscopes.append(sub)
|
||||||
|
return sub
|
||||||
|
|
||||||
|
def doc(self,str):
|
||||||
|
""" Clean up a docstring """
|
||||||
|
d = str.replace('\n',' ')
|
||||||
|
d = d.replace('\t',' ')
|
||||||
|
while d.find(' ') > -1: d = d.replace(' ',' ')
|
||||||
|
while d[0] in '"\'\t ': d = d[1:]
|
||||||
|
while d[-1] in '"\'\t ': d = d[:-1]
|
||||||
|
self.docstr = d
|
||||||
|
|
||||||
|
def local(self,loc):
|
||||||
|
if not self._hasvaralready(loc):
|
||||||
|
self.locals.append(loc)
|
||||||
|
|
||||||
|
def copy_decl(self,indent=0):
|
||||||
|
""" Copy a scope's declaration only, at the specified indent level - not local variables """
|
||||||
|
return Scope(self.name,indent)
|
||||||
|
|
||||||
|
def _hasvaralready(self,test):
|
||||||
|
"Convienance function... keep out duplicates"
|
||||||
|
if test.find('=') > -1:
|
||||||
|
var = test.split('=')[0].strip()
|
||||||
|
for l in self.locals:
|
||||||
|
if l.find('=') > -1 and var == l.split('=')[0].strip():
|
||||||
|
return True
|
||||||
|
return False
|
||||||
|
|
||||||
|
def get_code(self):
|
||||||
|
# we need to start with this, to fix up broken completions
|
||||||
|
# hopefully this name is unique enough...
|
||||||
|
str = '"""'+self.docstr+'"""\n'
|
||||||
|
str += 'class _PyCmplNoType:\n def __getattr__(self,name):\n return None\n'
|
||||||
|
for sub in self.subscopes:
|
||||||
|
str += sub.get_code()
|
||||||
|
#str += '\n'.join(self.locals)+'\n'
|
||||||
|
|
||||||
|
return str
|
||||||
|
|
||||||
|
def pop(self,indent):
|
||||||
|
#print 'pop scope: [%s] to [%s]' % (self.indent,indent)
|
||||||
|
outer = self
|
||||||
|
while outer.parent != None and outer.indent >= indent:
|
||||||
|
outer = outer.parent
|
||||||
|
return outer
|
||||||
|
|
||||||
|
def currentindent(self):
|
||||||
|
#print 'parse current indent: %s' % self.indent
|
||||||
|
return ' '*self.indent
|
||||||
|
|
||||||
|
def childindent(self):
|
||||||
|
#print 'parse child indent: [%s]' % (self.indent+1)
|
||||||
|
return ' '*(self.indent+1)
|
||||||
|
|
||||||
|
class Class(Scope):
|
||||||
|
def __init__(self, name, supers, indent):
|
||||||
|
Scope.__init__(self,name,indent)
|
||||||
|
self.supers = supers
|
||||||
|
def copy_decl(self,indent=0):
|
||||||
|
c = Class(self.name,self.supers,indent)
|
||||||
|
for s in self.subscopes:
|
||||||
|
c.add(s.copy_decl(indent+1))
|
||||||
|
return c
|
||||||
|
def get_code(self):
|
||||||
|
str = '%sclass %s' % (self.currentindent(),self.name)
|
||||||
|
if len(self.supers) > 0: str += '(%s)' % ','.join(self.supers)
|
||||||
|
str += ':\n'
|
||||||
|
if len(self.docstr) > 0: str += self.childindent()+'"""'+self.docstr+'"""\n'
|
||||||
|
if len(self.subscopes) > 0:
|
||||||
|
for s in self.subscopes: str += s.get_code()
|
||||||
|
else:
|
||||||
|
str += '%spass\n' % self.childindent()
|
||||||
|
return str
|
||||||
|
|
||||||
|
|
||||||
|
class Function(Scope):
|
||||||
|
def __init__(self, name, params, indent):
|
||||||
|
Scope.__init__(self,name,indent)
|
||||||
|
self.params = params
|
||||||
|
def copy_decl(self,indent=0):
|
||||||
|
return Function(self.name,self.params,indent)
|
||||||
|
def get_code(self):
|
||||||
|
str = "%sdef %s(%s):\n" % \
|
||||||
|
(self.currentindent(),self.name,','.join(self.params))
|
||||||
|
if len(self.docstr) > 0: str += self.childindent()+'"""'+self.docstr+'"""\n'
|
||||||
|
str += "%spass\n" % self.childindent()
|
||||||
|
return str
|
||||||
|
|
||||||
|
class PyParser:
|
||||||
|
def __init__(self):
|
||||||
|
self.top = Scope('global',0)
|
||||||
|
self.scope = self.top
|
||||||
|
|
||||||
|
def _parsedotname(self,pre=None):
|
||||||
|
#returns (dottedname, nexttoken)
|
||||||
|
name = []
|
||||||
|
if pre == None:
|
||||||
|
tokentype, token, indent = self.next()
|
||||||
|
if tokentype != NAME and token != '*':
|
||||||
|
return ('', token)
|
||||||
|
else: token = pre
|
||||||
|
name.append(token)
|
||||||
|
while True:
|
||||||
|
tokentype, token, indent = self.next()
|
||||||
|
if token != '.': break
|
||||||
|
tokentype, token, indent = self.next()
|
||||||
|
if tokentype != NAME: break
|
||||||
|
name.append(token)
|
||||||
|
return (".".join(name), token)
|
||||||
|
|
||||||
|
def _parseimportlist(self):
|
||||||
|
imports = []
|
||||||
|
while True:
|
||||||
|
name, token = self._parsedotname()
|
||||||
|
if not name: break
|
||||||
|
name2 = ''
|
||||||
|
if token == 'as': name2, token = self._parsedotname()
|
||||||
|
imports.append((name, name2))
|
||||||
|
while token != "," and "\n" not in token:
|
||||||
|
tokentype, token, indent = self.next()
|
||||||
|
if token != ",": break
|
||||||
|
return imports
|
||||||
|
|
||||||
|
def _parenparse(self):
|
||||||
|
name = ''
|
||||||
|
names = []
|
||||||
|
level = 1
|
||||||
|
while True:
|
||||||
|
tokentype, token, indent = self.next()
|
||||||
|
if token in (')', ',') and level == 1:
|
||||||
|
names.append(name)
|
||||||
|
name = ''
|
||||||
|
if token == '(':
|
||||||
|
level += 1
|
||||||
|
elif token == ')':
|
||||||
|
level -= 1
|
||||||
|
if level == 0: break
|
||||||
|
elif token == ',' and level == 1:
|
||||||
|
pass
|
||||||
|
else:
|
||||||
|
name += str(token)
|
||||||
|
return names
|
||||||
|
|
||||||
|
def _parsefunction(self,indent):
|
||||||
|
self.scope=self.scope.pop(indent)
|
||||||
|
tokentype, fname, ind = self.next()
|
||||||
|
if tokentype != NAME: return None
|
||||||
|
|
||||||
|
tokentype, open, ind = self.next()
|
||||||
|
if open != '(': return None
|
||||||
|
params=self._parenparse()
|
||||||
|
|
||||||
|
tokentype, colon, ind = self.next()
|
||||||
|
if colon != ':': return None
|
||||||
|
|
||||||
|
return Function(fname,params,indent)
|
||||||
|
|
||||||
|
def _parseclass(self,indent):
|
||||||
|
self.scope=self.scope.pop(indent)
|
||||||
|
tokentype, cname, ind = self.next()
|
||||||
|
if tokentype != NAME: return None
|
||||||
|
|
||||||
|
super = []
|
||||||
|
tokentype, next, ind = self.next()
|
||||||
|
if next == '(':
|
||||||
|
super=self._parenparse()
|
||||||
|
elif next != ':': return None
|
||||||
|
|
||||||
|
return Class(cname,super,indent)
|
||||||
|
|
||||||
|
def _parseassignment(self):
|
||||||
|
assign=''
|
||||||
|
tokentype, token, indent = self.next()
|
||||||
|
if tokentype == tokenize.STRING or token == 'str':
|
||||||
|
return '""'
|
||||||
|
elif token == '[' or token == 'list':
|
||||||
|
return '[]'
|
||||||
|
elif token == '{' or token == 'dict':
|
||||||
|
return '{}'
|
||||||
|
elif tokentype == tokenize.NUMBER:
|
||||||
|
return '0'
|
||||||
|
elif token == 'open' or token == 'file':
|
||||||
|
return 'file'
|
||||||
|
elif token == 'None':
|
||||||
|
return '_PyCmplNoType()'
|
||||||
|
elif token == 'type':
|
||||||
|
return 'type(_PyCmplNoType)' #only for method resolution
|
||||||
|
else:
|
||||||
|
assign += token
|
||||||
|
level = 0
|
||||||
|
while True:
|
||||||
|
tokentype, token, indent = self.next()
|
||||||
|
if token in ('(','{','['):
|
||||||
|
level += 1
|
||||||
|
elif token in (']','}',')'):
|
||||||
|
level -= 1
|
||||||
|
if level == 0: break
|
||||||
|
elif level == 0:
|
||||||
|
if token in (';','\n'): break
|
||||||
|
assign += token
|
||||||
|
return "%s" % assign
|
||||||
|
|
||||||
|
def next(self):
|
||||||
|
type, token, (lineno, indent), end, self.parserline = self.gen.next()
|
||||||
|
if lineno == self.curline:
|
||||||
|
#print 'line found [%s] scope=%s' % (line.replace('\n',''),self.scope.name)
|
||||||
|
self.currentscope = self.scope
|
||||||
|
return (type, token, indent)
|
||||||
|
|
||||||
|
def _adjustvisibility(self):
|
||||||
|
newscope = Scope('result',0)
|
||||||
|
scp = self.currentscope
|
||||||
|
while scp != None:
|
||||||
|
if type(scp) == Function:
|
||||||
|
slice = 0
|
||||||
|
#Handle 'self' params
|
||||||
|
if scp.parent != None and type(scp.parent) == Class:
|
||||||
|
slice = 1
|
||||||
|
p = scp.params[0]
|
||||||
|
i = p.find('=')
|
||||||
|
if i != -1: p = p[:i]
|
||||||
|
newscope.local('%s = %s' % (scp.params[0],scp.parent.name))
|
||||||
|
for p in scp.params[slice:]:
|
||||||
|
i = p.find('=')
|
||||||
|
if i == -1:
|
||||||
|
newscope.local('%s = _PyCmplNoType()' % p)
|
||||||
|
else:
|
||||||
|
newscope.local('%s = %s' % (p[:i],_sanitize(p[i+1])))
|
||||||
|
|
||||||
|
for s in scp.subscopes:
|
||||||
|
ns = s.copy_decl(0)
|
||||||
|
newscope.add(ns)
|
||||||
|
for l in scp.locals: newscope.local(l)
|
||||||
|
scp = scp.parent
|
||||||
|
|
||||||
|
self.currentscope = newscope
|
||||||
|
return self.currentscope
|
||||||
|
|
||||||
|
#p.parse(vim.current.buffer[:],vim.eval("line('.')"))
|
||||||
|
def parse(self,text,curline=0):
|
||||||
|
self.curline = int(curline)
|
||||||
|
buf = cStringIO.StringIO(''.join(text) + '\n')
|
||||||
|
self.gen = tokenize.generate_tokens(buf.readline)
|
||||||
|
self.currentscope = self.scope
|
||||||
|
|
||||||
|
try:
|
||||||
|
freshscope=True
|
||||||
|
while True:
|
||||||
|
tokentype, token, indent = self.next()
|
||||||
|
#print 'main: token=[%s] indent=[%s]' % (token,indent)
|
||||||
|
|
||||||
|
if tokentype == DEDENT:
|
||||||
|
self.scope = self.scope.pop(indent)
|
||||||
|
elif token == 'def':
|
||||||
|
func = self._parsefunction(indent)
|
||||||
|
if func == None:
|
||||||
|
print "function: syntax error..."
|
||||||
|
continue
|
||||||
|
freshscope = True
|
||||||
|
self.scope = self.scope.add(func)
|
||||||
|
elif token == 'class':
|
||||||
|
cls = self._parseclass(indent)
|
||||||
|
if cls == None:
|
||||||
|
print "class: syntax error..."
|
||||||
|
continue
|
||||||
|
freshscope = True
|
||||||
|
self.scope = self.scope.add(cls)
|
||||||
|
|
||||||
|
elif token == 'import':
|
||||||
|
imports = self._parseimportlist()
|
||||||
|
for mod, alias in imports:
|
||||||
|
loc = "import %s" % mod
|
||||||
|
if len(alias) > 0: loc += " as %s" % alias
|
||||||
|
self.scope.local(loc)
|
||||||
|
freshscope = False
|
||||||
|
elif token == 'from':
|
||||||
|
mod, token = self._parsedotname()
|
||||||
|
if not mod or token != "import":
|
||||||
|
print "from: syntax error..."
|
||||||
|
continue
|
||||||
|
names = self._parseimportlist()
|
||||||
|
for name, alias in names:
|
||||||
|
loc = "from %s import %s" % (mod,name)
|
||||||
|
if len(alias) > 0: loc += " as %s" % alias
|
||||||
|
self.scope.local(loc)
|
||||||
|
freshscope = False
|
||||||
|
elif tokentype == STRING:
|
||||||
|
if freshscope: self.scope.doc(token)
|
||||||
|
elif tokentype == NAME:
|
||||||
|
name,token = self._parsedotname(token)
|
||||||
|
if token == '=':
|
||||||
|
stmt = self._parseassignment()
|
||||||
|
if stmt != None:
|
||||||
|
self.scope.local("%s = %s" % (name,stmt))
|
||||||
|
freshscope = False
|
||||||
|
except StopIteration: #thrown on EOF
|
||||||
|
pass
|
||||||
|
except:
|
||||||
|
dbg("parse error: %s, %s @ %s" %
|
||||||
|
(sys.exc_info()[0], sys.exc_info()[1], self.parserline))
|
||||||
|
return self._adjustvisibility()
|
||||||
|
|
||||||
|
def _sanitize(str):
|
||||||
|
val = ''
|
||||||
|
level = 0
|
||||||
|
for c in str:
|
||||||
|
if c in ('(','{','['):
|
||||||
|
level += 1
|
||||||
|
elif c in (']','}',')'):
|
||||||
|
level -= 1
|
||||||
|
elif level == 0:
|
||||||
|
val += c
|
||||||
|
return val
|
||||||
|
|
||||||
sys.path.extend(['.','..'])
|
sys.path.extend(['.','..'])
|
||||||
PYTHONEOF
|
PYTHONEOF
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
let g:pythoncomplete_debug_level = 0
|
|
||||||
call s:DefPython()
|
call s:DefPython()
|
||||||
" vim: set et ts=4:
|
" vim: set et ts=4:
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
" Vim completion script
|
" Vim completion script
|
||||||
" Language: Ruby
|
" Language: Ruby
|
||||||
" Maintainer: Mark Guzman ( segfault AT hasno DOT info )
|
" Maintainer: Mark Guzman <segfault@hasno.info>
|
||||||
" Info: $Id$
|
" Info: $Id$
|
||||||
" URL: http://vim-ruby.rubyforge.org
|
" URL: http://vim-ruby.rubyforge.org
|
||||||
" Anon CVS: See above site
|
" Anon CVS: See above site
|
||||||
@ -11,16 +11,64 @@
|
|||||||
" ----------------------------------------------------------------------------
|
" ----------------------------------------------------------------------------
|
||||||
|
|
||||||
if !has('ruby')
|
if !has('ruby')
|
||||||
|
echohl ErrorMsg
|
||||||
echo "Error: Required vim compiled with +ruby"
|
echo "Error: Required vim compiled with +ruby"
|
||||||
|
echohl None
|
||||||
finish
|
finish
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if version < 700
|
if version < 700
|
||||||
|
echohl ErrorMsg
|
||||||
echo "Error: Required vim >= 7.0"
|
echo "Error: Required vim >= 7.0"
|
||||||
|
echohl None
|
||||||
finish
|
finish
|
||||||
endif
|
endif
|
||||||
|
|
||||||
func! GetRubyVarType(v)
|
|
||||||
|
function! GetBufferRubyModule(name)
|
||||||
|
let [snum,enum] = GetBufferRubyEntity(a:name, "module")
|
||||||
|
return snum . '..' . enum
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function! GetBufferRubyClass(name)
|
||||||
|
let [snum,enum] = GetBufferRubyEntity(a:name, "class")
|
||||||
|
return snum . '..' . enum
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function! GetBufferRubySingletonMethods(name)
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function! GetBufferRubyEntity( name, type )
|
||||||
|
let stopline = 1
|
||||||
|
let crex = '^\s*' . a:type . '\s*' . a:name . '\s*\(<\s*.*\s*\)\?\n*\(\(\s\|#\).*\n*\)*\n*\s*end$'
|
||||||
|
let [lnum,lcol] = searchpos( crex, 'nbw')
|
||||||
|
if lnum == 0 && lcol == 0
|
||||||
|
return [0,0]
|
||||||
|
endif
|
||||||
|
|
||||||
|
let [enum,ecol] = searchpos( crex, 'nebw')
|
||||||
|
if lnum > enum
|
||||||
|
let realdef = getline( lnum )
|
||||||
|
let crexb = '^' . realdef . '\n*\(\(\s\|#\).*\n*\)*\n*\s*end$'
|
||||||
|
let [enum,ecol] = searchpos( crexb, 'necw' )
|
||||||
|
endif
|
||||||
|
" we found a the class def
|
||||||
|
return [lnum,enum]
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function! IsInClassDef()
|
||||||
|
let [snum,enum] = GetBufferRubyEntity( '.*', "class" )
|
||||||
|
let ret = 'nil'
|
||||||
|
let pos = line('.')
|
||||||
|
|
||||||
|
if snum < pos && pos < enum
|
||||||
|
let ret = snum . '..' . enum
|
||||||
|
endif
|
||||||
|
|
||||||
|
return ret
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function! GetRubyVarType(v)
|
||||||
let stopline = 1
|
let stopline = 1
|
||||||
let vtp = ''
|
let vtp = ''
|
||||||
let pos = getpos('.')
|
let pos = getpos('.')
|
||||||
@ -32,9 +80,9 @@ func! GetRubyVarType(v)
|
|||||||
return vtp
|
return vtp
|
||||||
endif
|
endif
|
||||||
call setpos('.',pos)
|
call setpos('.',pos)
|
||||||
let [lnum,lcol] = searchpos(''.a:v.'\>\s*[+\-*/]*=\s*\([^ \t]\+.\(now\|new\|open\|get_instance\)\>\|[\[{"'']\)','nb',stopline)
|
let [lnum,lcol] = searchpos(''.a:v.'\>\s*[+\-*/]*=\s*\([^ \t]\+.\(now\|new\|open\|get_instance\)\>\|[\[{"''/]\|%r{\)','nb',stopline)
|
||||||
if lnum != 0 && lcol != 0
|
if lnum != 0 && lcol != 0
|
||||||
let str = matchstr(getline(lnum),'=\s*\([^ \t]\+.\(now\|new\|open\|get_instance\)\>\|[\[{"'']\)',lcol)
|
let str = matchstr(getline(lnum),'=\s*\([^ \t]\+.\(now\|new\|open\|get_instance\)\>\|[\[{"''/]\|%r{\)',lcol)
|
||||||
let str = substitute(str,'^=\s*','','')
|
let str = substitute(str,'^=\s*','','')
|
||||||
call setpos('.',pos)
|
call setpos('.',pos)
|
||||||
if str == '"' || str == ''''
|
if str == '"' || str == ''''
|
||||||
@ -43,6 +91,8 @@ func! GetRubyVarType(v)
|
|||||||
return 'Array'
|
return 'Array'
|
||||||
elseif str == '{'
|
elseif str == '{'
|
||||||
return 'Hash'
|
return 'Hash'
|
||||||
|
elseif str == '/' || str == '%r{'
|
||||||
|
return 'Regexp'
|
||||||
elseif strlen(str) > 4
|
elseif strlen(str) > 4
|
||||||
let l = stridx(str,'.')
|
let l = stridx(str,'.')
|
||||||
return str[0:l-1]
|
return str[0:l-1]
|
||||||
@ -51,7 +101,7 @@ func! GetRubyVarType(v)
|
|||||||
endif
|
endif
|
||||||
call setpos('.',pos)
|
call setpos('.',pos)
|
||||||
return ''
|
return ''
|
||||||
endf
|
endfunction
|
||||||
|
|
||||||
function! rubycomplete#Complete(findstart, base)
|
function! rubycomplete#Complete(findstart, base)
|
||||||
"findstart = 1 when we need to get the text length
|
"findstart = 1 when we need to get the text length
|
||||||
@ -74,14 +124,20 @@ function! rubycomplete#Complete(findstart, base)
|
|||||||
return idx
|
return idx
|
||||||
"findstart = 0 when we need to return the list of completions
|
"findstart = 0 when we need to return the list of completions
|
||||||
else
|
else
|
||||||
|
let g:rubycomplete_completions = []
|
||||||
execute "ruby get_completions('" . a:base . "')"
|
execute "ruby get_completions('" . a:base . "')"
|
||||||
return g:rbcomplete_completions
|
return g:rubycomplete_completions
|
||||||
endif
|
endif
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
|
|
||||||
function! s:DefRuby()
|
function! s:DefRuby()
|
||||||
ruby << RUBYEOF
|
ruby << RUBYEOF
|
||||||
|
RailsWords = [
|
||||||
|
"has_many", "has_one",
|
||||||
|
"belongs_to",
|
||||||
|
]
|
||||||
|
|
||||||
ReservedWords = [
|
ReservedWords = [
|
||||||
"BEGIN", "END",
|
"BEGIN", "END",
|
||||||
"alias", "and",
|
"alias", "and",
|
||||||
@ -106,188 +162,290 @@ 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
|
def load_requires
|
||||||
@buf = VIM::Buffer.current
|
@buf = VIM::Buffer.current
|
||||||
enum = @buf.line_number
|
enum = @buf.line_number
|
||||||
nums = Range.new( 1, enum )
|
nums = Range.new( 1, enum )
|
||||||
nums.each do |x|
|
nums.each do |x|
|
||||||
ln = @buf[x]
|
ln = @buf[x]
|
||||||
begin
|
begin
|
||||||
eval( "require %s" % $1 ) if /.*require\s*(.*)$/.match( ln )
|
eval( "require %s" % $1 ) if /.*require\s*(.*)$/.match( ln )
|
||||||
rescue Exception
|
rescue Exception
|
||||||
#ignore?
|
#ignore?
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def load_buffer_class(name)
|
||||||
|
classdef = get_buffer_entity(name, 'GetBufferRubyClass("%s")')
|
||||||
|
return if classdef == nil
|
||||||
|
|
||||||
|
pare = /^\s*class\s*(.*)\s*<\s*(.*)\s*\n/.match( classdef )
|
||||||
|
load_buffer_class( $2 ) if pare != nil
|
||||||
|
|
||||||
|
mixre = /.*\n\s*include\s*(.*)\s*\n/.match( classdef )
|
||||||
|
load_buffer_module( $2 ) if mixre != nil
|
||||||
|
|
||||||
|
eval classdef
|
||||||
|
end
|
||||||
|
|
||||||
|
def load_buffer_module(name)
|
||||||
|
classdef = get_buffer_entity(name, 'GetBufferRubyModule("%s")')
|
||||||
|
return if classdef == nil
|
||||||
|
|
||||||
|
eval classdef
|
||||||
|
end
|
||||||
|
|
||||||
|
def get_buffer_entity(name, vimfun)
|
||||||
|
@buf = VIM::Buffer.current
|
||||||
|
nums = eval( VIM::evaluate( vimfun % name ) )
|
||||||
|
return nil if nums == nil
|
||||||
|
return nil if nums.min == nums.max && nums.min == 0
|
||||||
|
|
||||||
|
cur_line = VIM::Buffer.current.line_number
|
||||||
|
classdef = ""
|
||||||
|
nums.each do |x|
|
||||||
|
if x != cur_line
|
||||||
|
ln = @buf[x]
|
||||||
|
classdef += "%s\n" % ln
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
return classdef
|
||||||
|
end
|
||||||
|
|
||||||
|
def load_rails()
|
||||||
|
allow_rails = VIM::evaluate('g:rubycomplete_rails')
|
||||||
|
return if allow_rails != '1'
|
||||||
|
|
||||||
|
buf_path = VIM::evaluate('expand("%:p")')
|
||||||
|
file_name = VIM::evaluate('expand("%:t")')
|
||||||
|
path = buf_path.gsub( file_name, '' )
|
||||||
|
path.gsub!( /\\/, "/" )
|
||||||
|
pup = [ "../", "../../", "../../../", "../../../../" ]
|
||||||
|
pok = nil
|
||||||
|
|
||||||
|
pup.each do |sup|
|
||||||
|
tpok = "%s%sconfig" % [ path, sup ]
|
||||||
|
if File.exists?( tpok )
|
||||||
|
pok = tpok
|
||||||
|
break
|
||||||
|
end
|
||||||
|
end
|
||||||
|
bootfile = pok + "/boot.rb"
|
||||||
|
require bootfile if pok != nil && File.exists?( bootfile )
|
||||||
|
end
|
||||||
|
|
||||||
|
def get_rails_helpers
|
||||||
|
allow_rails = VIM::evaluate('g:rubycomplete_rails')
|
||||||
|
return [] if allow_rails != '1'
|
||||||
|
return RailsWords
|
||||||
end
|
end
|
||||||
|
|
||||||
def get_completions(base)
|
def get_completions(base)
|
||||||
load_requires
|
load_requires
|
||||||
input = VIM::evaluate('expand("<cWORD>")')
|
load_rails
|
||||||
input += base
|
|
||||||
message = nil
|
input = VIM::evaluate('expand("<cWORD>")')
|
||||||
|
input += base
|
||||||
|
input.lstrip!
|
||||||
|
if input.length == 0
|
||||||
|
input = VIM::Buffer.current.line
|
||||||
|
input.strip!
|
||||||
|
end
|
||||||
|
message = nil
|
||||||
|
|
||||||
|
|
||||||
case input
|
case input
|
||||||
when /^(\/[^\/]*\/)\.([^.]*)$/
|
when /^(\/[^\/]*\/)\.([^.]*)$/
|
||||||
# Regexp
|
# Regexp
|
||||||
receiver = $1
|
receiver = $1
|
||||||
message = Regexp.quote($2)
|
message = Regexp.quote($2)
|
||||||
|
|
||||||
candidates = Regexp.instance_methods(true)
|
candidates = Regexp.instance_methods(true)
|
||||||
select_message(receiver, message, candidates)
|
select_message(receiver, message, candidates)
|
||||||
|
|
||||||
when /^([^\]]*\])\.([^.]*)$/
|
when /^([^\]]*\])\.([^.]*)$/
|
||||||
# Array
|
# Array
|
||||||
receiver = $1
|
receiver = $1
|
||||||
message = Regexp.quote($2)
|
message = Regexp.quote($2)
|
||||||
|
|
||||||
candidates = Array.instance_methods(true)
|
candidates = Array.instance_methods(true)
|
||||||
select_message(receiver, message, candidates)
|
select_message(receiver, message, candidates)
|
||||||
|
|
||||||
when /^([^\}]*\})\.([^.]*)$/
|
when /^([^\}]*\})\.([^.]*)$/
|
||||||
# Proc or Hash
|
# Proc or Hash
|
||||||
receiver = $1
|
receiver = $1
|
||||||
message = Regexp.quote($2)
|
message = Regexp.quote($2)
|
||||||
|
|
||||||
candidates = Proc.instance_methods(true) | Hash.instance_methods(true)
|
candidates = Proc.instance_methods(true) | Hash.instance_methods(true)
|
||||||
select_message(receiver, message, candidates)
|
select_message(receiver, message, candidates)
|
||||||
|
|
||||||
when /^(:[^:.]*)$/
|
when /^(:[^:.]*)$/
|
||||||
# Symbol
|
# Symbol
|
||||||
if Symbol.respond_to?(:all_symbols)
|
if Symbol.respond_to?(:all_symbols)
|
||||||
sym = $1
|
sym = $1
|
||||||
candidates = Symbol.all_symbols.collect{|s| ":" + s.id2name}
|
candidates = Symbol.all_symbols.collect{|s| ":" + s.id2name}
|
||||||
candidates.grep(/^#{sym}/)
|
candidates.grep(/^#{sym}/)
|
||||||
else
|
candidates.delete_if do |c|
|
||||||
[]
|
c.match( /'/ )
|
||||||
end
|
end
|
||||||
|
candidates.uniq!
|
||||||
|
candidates.sort!
|
||||||
|
else
|
||||||
|
[]
|
||||||
|
end
|
||||||
|
|
||||||
when /^::([A-Z][^:\.\(]*)$/
|
when /^::([A-Z][^:\.\(]*)$/
|
||||||
# Absolute Constant or class methods
|
# Absolute Constant or class methods
|
||||||
receiver = $1
|
receiver = $1
|
||||||
candidates = Object.constants
|
candidates = Object.constants
|
||||||
candidates.grep(/^#{receiver}/).collect{|e| "::" + e}
|
candidates.grep(/^#{receiver}/).collect{|e| "::" + e}
|
||||||
|
|
||||||
when /^(((::)?[A-Z][^:.\(]*)+)::?([^:.]*)$/
|
when /^(((::)?[A-Z][^:.\(]*)+)::?([^:.]*)$/
|
||||||
# Constant or class methods
|
# Constant or class methods
|
||||||
receiver = $1
|
receiver = $1
|
||||||
message = Regexp.quote($4)
|
message = Regexp.quote($4)
|
||||||
begin
|
begin
|
||||||
candidates = eval("#{receiver}.constants | #{receiver}.methods")
|
candidates = eval("#{receiver}.constants | #{receiver}.methods")
|
||||||
rescue Exception
|
rescue Exception
|
||||||
candidates = []
|
candidates = []
|
||||||
end
|
end
|
||||||
candidates.grep(/^#{message}/).collect{|e| receiver + "::" + e}
|
candidates.grep(/^#{message}/).collect{|e| receiver + "::" + e}
|
||||||
|
|
||||||
when /^(:[^:.]+)\.([^.]*)$/
|
when /^(:[^:.]+)\.([^.]*)$/
|
||||||
# Symbol
|
# Symbol
|
||||||
receiver = $1
|
receiver = $1
|
||||||
message = Regexp.quote($2)
|
message = Regexp.quote($2)
|
||||||
|
|
||||||
candidates = Symbol.instance_methods(true)
|
candidates = Symbol.instance_methods(true)
|
||||||
select_message(receiver, message, candidates)
|
select_message(receiver, message, candidates)
|
||||||
|
|
||||||
when /^([0-9_]+(\.[0-9_]+)?(e[0-9]+)?)\.([^.]*)$/
|
when /^([0-9_]+(\.[0-9_]+)?(e[0-9]+)?)\.([^.]*)$/
|
||||||
# Numeric
|
# Numeric
|
||||||
receiver = $1
|
receiver = $1
|
||||||
message = Regexp.quote($4)
|
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)
|
||||||
|
load_buffer_class( receiver )
|
||||||
|
|
||||||
|
cv = eval("self.class.constants")
|
||||||
|
|
||||||
|
vartype = VIM::evaluate("GetRubyVarType('%s')" % receiver)
|
||||||
|
if vartype != ''
|
||||||
|
load_buffer_class( vartype )
|
||||||
|
|
||||||
begin
|
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")
|
candidates = eval("#{vartype}.instance_methods")
|
||||||
elsif (cv).include?(receiver)
|
rescue Exception
|
||||||
# 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 = []
|
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
|
end
|
||||||
#identify_type( receiver )
|
elsif (cv).include?(receiver)
|
||||||
select_message(receiver, message, candidates)
|
# 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*\)*$/
|
#when /^((\.?[^.]+)+)\.([^.]*)\(\s*\)*$/
|
||||||
#function call
|
#function call
|
||||||
#obj = $1
|
#obj = $1
|
||||||
#func = $3
|
#func = $3
|
||||||
|
|
||||||
when /^\.([^.]*)$/
|
when /^\.([^.]*)$/
|
||||||
# unknown(maybe String)
|
# unknown(maybe String)
|
||||||
|
|
||||||
receiver = ""
|
receiver = ""
|
||||||
message = Regexp.quote($1)
|
message = Regexp.quote($1)
|
||||||
|
|
||||||
candidates = String.instance_methods(true)
|
candidates = String.instance_methods(true)
|
||||||
|
select_message(receiver, message, candidates)
|
||||||
|
|
||||||
|
else
|
||||||
|
inclass = eval( VIM::evaluate("IsInClassDef()") )
|
||||||
|
|
||||||
|
if inclass != nil
|
||||||
|
classdef = "%s\n" % VIM::Buffer.current[ inclass.min ]
|
||||||
|
found = /^\s*class\s*([A-Za-z0-9_-]*)(\s*<\s*([A-Za-z0-9_:-]*))?\s*\n$/.match( classdef )
|
||||||
|
|
||||||
|
if found != nil
|
||||||
|
receiver = $1
|
||||||
|
message = input
|
||||||
|
load_buffer_class( receiver )
|
||||||
|
candidates = eval( "#{receiver}.instance_methods" )
|
||||||
|
candidates += get_rails_helpers
|
||||||
select_message(receiver, message, candidates)
|
select_message(receiver, message, candidates)
|
||||||
|
end
|
||||||
else
|
end
|
||||||
|
|
||||||
|
if inclass == nil || found == nil
|
||||||
candidates = eval("self.class.constants")
|
candidates = eval("self.class.constants")
|
||||||
|
|
||||||
(candidates|ReservedWords).grep(/^#{Regexp.quote(input)}/)
|
(candidates|ReservedWords).grep(/^#{Regexp.quote(input)}/)
|
||||||
end
|
end
|
||||||
|
end
|
||||||
|
|
||||||
#print candidates
|
#print candidates
|
||||||
if message != nil && message.length > 0
|
if message != nil && message.length > 0
|
||||||
rexp = '^%s' % message.downcase
|
rexp = '^%s' % message.downcase
|
||||||
candidates.delete_if do |c|
|
candidates.delete_if do |c|
|
||||||
c.downcase.match( rexp )
|
c.downcase.match( rexp )
|
||||||
$~ == nil
|
$~ == nil
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
end
|
||||||
|
|
||||||
outp = ""
|
outp = ""
|
||||||
# tags = VIM::evaluate("taglist('^%s$')" %
|
|
||||||
(candidates-Object.instance_methods).each { |c| outp += "{'word':'%s','item':'%s'}," % [ c, c ] }
|
# tags = VIM::evaluate("taglist('^%s$')" %
|
||||||
|
valid = (candidates-Object.instance_methods)
|
||||||
|
|
||||||
|
rg = 0..valid.length
|
||||||
|
rg.step(150) do |x|
|
||||||
|
stpos = 0+x
|
||||||
|
enpos = 150+x
|
||||||
|
valid[stpos..enpos].each { |c| outp += "{'word':'%s','item':'%s'}," % [ c, c ] }
|
||||||
outp.sub!(/,$/, '')
|
outp.sub!(/,$/, '')
|
||||||
VIM::command("let g:rbcomplete_completions = [%s]" % outp)
|
|
||||||
|
VIM::command("call extend(g:rubycomplete_completions, [%s])" % outp)
|
||||||
|
outp = ""
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
def select_message(receiver, message, candidates)
|
def select_message(receiver, message, candidates)
|
||||||
|
#tags = VIM::evaluate("taglist('%s')" % receiver)
|
||||||
|
#print tags
|
||||||
candidates.grep(/^#{message}/).collect do |e|
|
candidates.grep(/^#{message}/).collect do |e|
|
||||||
case e
|
case e
|
||||||
when /^[a-zA-Z_]/
|
when /^[a-zA-Z_]/
|
||||||
@ -304,5 +462,7 @@ end
|
|||||||
RUBYEOF
|
RUBYEOF
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
|
|
||||||
|
let g:rubycomplete_rails = 0
|
||||||
call s:DefRuby()
|
call s:DefRuby()
|
||||||
" vim: set et ts=4:
|
" vim: set et ts=4:
|
||||||
|
File diff suppressed because it is too large
Load Diff
461
runtime/autoload/xml/xhtml10t.vim
Normal file
461
runtime/autoload/xml/xhtml10t.vim
Normal file
@ -0,0 +1,461 @@
|
|||||||
|
let g:xmldata_xhtml10t = {
|
||||||
|
\ 'vimxmlentities' : ["AElig", "Aacute", "Acirc", "Agrave", "Alpha", "Aring", "Atilde", "Auml", "Beta", "Ccedil", "Chi", "Dagger", "Delta", "ETH", "Eacute", "Ecirc", "Egrave", "Epsilon", "Eta", "Euml", "Gamma", "Iacute", "Icirc", "Igrave", "Iota", "Iuml", "Kappa", "Lambda", "Mu", "Ntilde", "Nu", "OElig", "Oacute", "Ocirc", "Ograve", "Omega", "Omicron", "Oslash", "Otilde", "Ouml", "Phi", "Pi", "Prime", "Psi", "Rho", "Scaron", "Sigma", "THORN", "TITY", "Tau", "Theta", "Uacute", "Ucirc", "Ugrave", "Upsilon", "Uuml", "Xi", "Yacute", "Yuml", "Zeta", "amp", "aacute", "acirc", "acute", "aelig", "agrave", "alefsym", "alpha", "and", "ang", "apos", "aring", "asymp", "atilde", "auml", "bdquo", "beta", "brvbar", "bull", "cap", "ccedil", "cedil", "cent", "chi", "circ", "clubs", "copy", "cong", "crarr", "cup", "curren", "dArr", "dagger", "darr", "deg", "delta", "diams", "divide", "eacute", "ecirc", "egrave", "empty", "ensp", "emsp", "epsilon", "equiv", "eta", "eth", "euro", "euml", "exist", "fnof", "forall", "frac12", "frac14", "frac34", "frasl", "gt", "gamma", "ge", "hArr", "harr", "hearts", "hellip", "iacute", "icirc", "iexcl", "igrave", "image", "infin", "int", "iota", "iquest", "isin", "iuml", "kappa", "lt", "laquo", "lArr", "lambda", "lang", "larr", "lceil", "ldquo", "le", "lfloor", "lowast", "loz", "lrm", "lsaquo", "lsquo", "macr", "mdash", "micro", "middot", "minus", "mu", "nbsp", "nabla", "ndash", "ne", "ni", "not", "notin", "nsub", "ntilde", "nu", "oacute", "ocirc", "oelig", "ograve", "oline", "omega", "omicron", "oplus", "or", "ordf", "ordm", "oslash", "otilde", "otimes", "ouml", "para", "part", "permil", "perp", "phi", "pi", "piv", "plusmn", "pound", "prime", "prod", "prop", "psi", "quot", "rArr", "raquo", "radic", "rang", "rarr", "rceil", "rdquo", "real", "reg", "rfloor", "rho", "rlm", "rsaquo", "rsquo", "sbquo", "scaron", "sdot", "sect", "shy", "sigma", "sigmaf", "sim", "spades", "sub", "sube", "sum", "sup", "sup1", "sup2", "sup3", "supe", "szlig", "tau", "there4", "theta", "thetasym", "thinsp", "thorn", "tilde", "times", "trade", "uArr", "uacute", "uarr", "ucirc", "ugrave", "uml", "upsih", "upsilon", "uuml", "weierp", "xi", "yacute", "yen", "yuml", "zeta", "zwj", "zwnj"],
|
||||||
|
\ 'vimxmlroot': ['html'],
|
||||||
|
\ 'a': [
|
||||||
|
\ ['br', 'span', 'bdo', 'object', 'applet', 'img', 'map', 'iframe', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'font', 'basefont', 'em', 'strong', 'dfn', 'code', 'q', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'sub', 'sup', 'input', 'select', 'textarea', 'label', 'button', 'ins', 'del', 'script'],
|
||||||
|
\ { 'accesskey': [], 'rel': [], 'coords': [], 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onblur': [], 'onkeydown': [], 'target': [], 'onfocus': [], 'onkeyup': [], 'href': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'tabindex': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'name': [], 'charset': [], 'xml:lang': [], 'hreflang': [], 'onkeypress': [], 'onmousedown': [], 'rev': [], 'class': [], 'title': [], 'onclick': [], 'type': [], 'shape': ['rect', 'rect', 'circle', 'poly', 'default']}
|
||||||
|
\ ],
|
||||||
|
\ 'abbr': [
|
||||||
|
\ ['a', 'br', 'span', 'bdo', 'object', 'applet', 'img', 'map', 'iframe', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'font', 'basefont', 'em', 'strong', 'dfn', 'code', 'q', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'sub', 'sup', 'input', 'select', 'textarea', 'label', 'button', 'ins', 'del', 'script'],
|
||||||
|
\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'xml:lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []}
|
||||||
|
\ ],
|
||||||
|
\ 'acronym': [
|
||||||
|
\ ['a', 'br', 'span', 'bdo', 'object', 'applet', 'img', 'map', 'iframe', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'font', 'basefont', 'em', 'strong', 'dfn', 'code', 'q', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'sub', 'sup', 'input', 'select', 'textarea', 'label', 'button', 'ins', 'del', 'script'],
|
||||||
|
\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'xml:lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []}
|
||||||
|
\ ],
|
||||||
|
\ 'address': [
|
||||||
|
\ ['a', 'br', 'span', 'bdo', 'object', 'applet', 'img', 'map', 'iframe', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'font', 'basefont', 'em', 'strong', 'dfn', 'code', 'q', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'sub', 'sup', 'input', 'select', 'textarea', 'label', 'button', 'ins', 'del', 'script', 'p'],
|
||||||
|
\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'xml:lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []}
|
||||||
|
\ ],
|
||||||
|
\ 'applet': [
|
||||||
|
\ ['param', 'p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'div', 'ul', 'ol', 'dl', 'menu', 'dir', 'pre', 'hr', 'blockquote', 'address', 'center', 'noframes', 'isindex', 'fieldset', 'table', 'form', 'a', 'br', 'span', 'bdo', 'object', 'applet', 'img', 'map', 'iframe', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'font', 'basefont', 'em', 'strong', 'dfn', 'code', 'q', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'sub', 'sup', 'input', 'select', 'textarea', 'label', 'button', 'noscript', 'ins', 'del', 'script'],
|
||||||
|
\ { 'width': [], 'object': [], 'id': [], 'code': [], 'vspace': [], 'archive': [], 'alt': [], 'align': ['top', 'middle', 'bottom', 'left', 'right'], 'style': [], 'name': [], 'height': [], 'hspace': [], 'title': [], 'class': [], 'codebase': []}
|
||||||
|
\ ],
|
||||||
|
\ 'area': [
|
||||||
|
\ [],
|
||||||
|
\ { 'accesskey': [], 'coords': [], 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onblur': [], 'onkeydown': [], 'onfocus': [], 'nohref': ['BOOL'], 'target': [], 'onkeyup': [], 'href': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'tabindex': [], 'lang': [], 'alt': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'xml:lang': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'shape': ['rect', 'rect', 'circle', 'poly', 'default']}
|
||||||
|
\ ],
|
||||||
|
\ 'b': [
|
||||||
|
\ ['a', 'br', 'span', 'bdo', 'object', 'applet', 'img', 'map', 'iframe', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'font', 'basefont', 'em', 'strong', 'dfn', 'code', 'q', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'sub', 'sup', 'input', 'select', 'textarea', 'label', 'button', 'ins', 'del', 'script'],
|
||||||
|
\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'xml:lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []}
|
||||||
|
\ ],
|
||||||
|
\ 'base': [
|
||||||
|
\ [],
|
||||||
|
\ { 'target': [], 'href': [], 'id': []}
|
||||||
|
\ ],
|
||||||
|
\ 'basefont': [
|
||||||
|
\ [],
|
||||||
|
\ { 'size': [], 'face': [], 'color': [], 'id': []}
|
||||||
|
\ ],
|
||||||
|
\ 'bdo': [
|
||||||
|
\ ['a', 'br', 'span', 'bdo', 'object', 'applet', 'img', 'map', 'iframe', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'font', 'basefont', 'em', 'strong', 'dfn', 'code', 'q', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'sub', 'sup', 'input', 'select', 'textarea', 'label', 'button', 'ins', 'del', 'script'],
|
||||||
|
\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'xml:lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []}
|
||||||
|
\ ],
|
||||||
|
\ 'big': [
|
||||||
|
\ ['a', 'br', 'span', 'bdo', 'object', 'applet', 'img', 'map', 'iframe', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'font', 'basefont', 'em', 'strong', 'dfn', 'code', 'q', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'sub', 'sup', 'input', 'select', 'textarea', 'label', 'button', 'ins', 'del', 'script'],
|
||||||
|
\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'xml:lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []}
|
||||||
|
\ ],
|
||||||
|
\ 'blockquote': [
|
||||||
|
\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'div', 'ul', 'ol', 'dl', 'menu', 'dir', 'pre', 'hr', 'blockquote', 'address', 'center', 'noframes', 'isindex', 'fieldset', 'table', 'form', 'a', 'br', 'span', 'bdo', 'object', 'applet', 'img', 'map', 'iframe', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'font', 'basefont', 'em', 'strong', 'dfn', 'code', 'q', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'sub', 'sup', 'input', 'select', 'textarea', 'label', 'button', 'noscript', 'ins', 'del', 'script'],
|
||||||
|
\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'cite': [], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'xml:lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []}
|
||||||
|
\ ],
|
||||||
|
\ 'body': [
|
||||||
|
\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'div', 'ul', 'ol', 'dl', 'menu', 'dir', 'pre', 'hr', 'blockquote', 'address', 'center', 'noframes', 'isindex', 'fieldset', 'table', 'form', 'a', 'br', 'span', 'bdo', 'object', 'applet', 'img', 'map', 'iframe', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'font', 'basefont', 'em', 'strong', 'dfn', 'code', 'q', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'sub', 'sup', 'input', 'select', 'textarea', 'label', 'button', 'noscript', 'ins', 'del', 'script'],
|
||||||
|
\ { 'vlink': [], 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'alink': [], 'onkeyup': [], 'bgcolor': [], 'text': [], 'onmouseup': [], 'id': [], 'link': [], 'onmouseover': [], 'lang': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'background': [], 'xml:lang': [], 'onunload': [], 'onkeypress': [], 'onmousedown': [], 'onload': [], 'class': [], 'title': [], 'onclick': []}
|
||||||
|
\ ],
|
||||||
|
\ 'br': [
|
||||||
|
\ [],
|
||||||
|
\ { 'clear': ['none', 'left', 'all', 'right', 'none'], 'id': [], 'style': [], 'class': [], 'title': []}
|
||||||
|
\ ],
|
||||||
|
\ 'button': [
|
||||||
|
\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'div', 'ul', 'ol', 'dl', 'menu', 'dir', 'pre', 'hr', 'blockquote', 'address', 'center', 'noframes', 'table', 'br', 'span', 'bdo', 'object', 'applet', 'img', 'map', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'font', 'basefont', 'em', 'strong', 'dfn', 'code', 'q', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'sub', 'sup', 'noscript', 'ins', 'del', 'script'],
|
||||||
|
\ { 'accesskey': [], 'disabled': ['BOOL'], 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onblur': [], 'onkeydown': [], 'onfocus': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'tabindex': [], 'lang': [], 'value': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'name': [], 'xml:lang': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'type': ['submit', 'button', 'submit', 'reset']}
|
||||||
|
\ ],
|
||||||
|
\ 'caption': [
|
||||||
|
\ ['a', 'br', 'span', 'bdo', 'object', 'applet', 'img', 'map', 'iframe', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'font', 'basefont', 'em', 'strong', 'dfn', 'code', 'q', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'sub', 'sup', 'input', 'select', 'textarea', 'label', 'button', 'ins', 'del', 'script'],
|
||||||
|
\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'align': ['top', 'bottom', 'left', 'right'], 'lang': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'xml:lang': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': []}
|
||||||
|
\ ],
|
||||||
|
\ 'center': [
|
||||||
|
\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'div', 'ul', 'ol', 'dl', 'menu', 'dir', 'pre', 'hr', 'blockquote', 'address', 'center', 'noframes', 'isindex', 'fieldset', 'table', 'form', 'a', 'br', 'span', 'bdo', 'object', 'applet', 'img', 'map', 'iframe', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'font', 'basefont', 'em', 'strong', 'dfn', 'code', 'q', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'sub', 'sup', 'input', 'select', 'textarea', 'label', 'button', 'noscript', 'ins', 'del', 'script'],
|
||||||
|
\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'xml:lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []}
|
||||||
|
\ ],
|
||||||
|
\ 'cite': [
|
||||||
|
\ ['a', 'br', 'span', 'bdo', 'object', 'applet', 'img', 'map', 'iframe', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'font', 'basefont', 'em', 'strong', 'dfn', 'code', 'q', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'sub', 'sup', 'input', 'select', 'textarea', 'label', 'button', 'ins', 'del', 'script'],
|
||||||
|
\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'xml:lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []}
|
||||||
|
\ ],
|
||||||
|
\ 'code': [
|
||||||
|
\ ['a', 'br', 'span', 'bdo', 'object', 'applet', 'img', 'map', 'iframe', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'font', 'basefont', 'em', 'strong', 'dfn', 'code', 'q', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'sub', 'sup', 'input', 'select', 'textarea', 'label', 'button', 'ins', 'del', 'script'],
|
||||||
|
\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'xml:lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []}
|
||||||
|
\ ],
|
||||||
|
\ 'col': [
|
||||||
|
\ [],
|
||||||
|
\ { 'width': [], 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'charoff': [], 'onmouseover': [], 'lang': [], 'align': ['left', 'center', 'right', 'justify', 'char'], 'valign': ['top', 'middle', 'bottom', 'baseline'], 'onmouseout': [], 'onmousemove': [], 'style': [], 'xml:lang': [], 'onkeypress': [], 'onmousedown': [], 'char': [], 'span': ['1'], 'class': [], 'title': [], 'onclick': []}
|
||||||
|
\ ],
|
||||||
|
\ 'colgroup': [
|
||||||
|
\ ['col'],
|
||||||
|
\ { 'width': [], 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'charoff': [], 'onmouseover': [], 'lang': [], 'align': ['left', 'center', 'right', 'justify', 'char'], 'valign': ['top', 'middle', 'bottom', 'baseline'], 'onmouseout': [], 'onmousemove': [], 'style': [], 'xml:lang': [], 'onkeypress': [], 'onmousedown': [], 'char': [], 'span': ['1'], 'class': [], 'title': [], 'onclick': []}
|
||||||
|
\ ],
|
||||||
|
\ 'dd': [
|
||||||
|
\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'div', 'ul', 'ol', 'dl', 'menu', 'dir', 'pre', 'hr', 'blockquote', 'address', 'center', 'noframes', 'isindex', 'fieldset', 'table', 'form', 'a', 'br', 'span', 'bdo', 'object', 'applet', 'img', 'map', 'iframe', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'font', 'basefont', 'em', 'strong', 'dfn', 'code', 'q', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'sub', 'sup', 'input', 'select', 'textarea', 'label', 'button', 'noscript', 'ins', 'del', 'script'],
|
||||||
|
\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'xml:lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []}
|
||||||
|
\ ],
|
||||||
|
\ 'del': [
|
||||||
|
\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'div', 'ul', 'ol', 'dl', 'menu', 'dir', 'pre', 'hr', 'blockquote', 'address', 'center', 'noframes', 'isindex', 'fieldset', 'table', 'form', 'a', 'br', 'span', 'bdo', 'object', 'applet', 'img', 'map', 'iframe', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'font', 'basefont', 'em', 'strong', 'dfn', 'code', 'q', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'sub', 'sup', 'input', 'select', 'textarea', 'label', 'button', 'noscript', 'ins', 'del', 'script'],
|
||||||
|
\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'datetime': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'cite': [], 'onmouseover': [], 'lang': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'xml:lang': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': []}
|
||||||
|
\ ],
|
||||||
|
\ 'dfn': [
|
||||||
|
\ ['a', 'br', 'span', 'bdo', 'object', 'applet', 'img', 'map', 'iframe', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'font', 'basefont', 'em', 'strong', 'dfn', 'code', 'q', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'sub', 'sup', 'input', 'select', 'textarea', 'label', 'button', 'ins', 'del', 'script'],
|
||||||
|
\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'xml:lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []}
|
||||||
|
\ ],
|
||||||
|
\ 'dir': [
|
||||||
|
\ ['li'],
|
||||||
|
\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'compact': ['BOOL'], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'xml:lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []}
|
||||||
|
\ ],
|
||||||
|
\ 'div': [
|
||||||
|
\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'div', 'ul', 'ol', 'dl', 'menu', 'dir', 'pre', 'hr', 'blockquote', 'address', 'center', 'noframes', 'isindex', 'fieldset', 'table', 'form', 'a', 'br', 'span', 'bdo', 'object', 'applet', 'img', 'map', 'iframe', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'font', 'basefont', 'em', 'strong', 'dfn', 'code', 'q', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'sub', 'sup', 'input', 'select', 'textarea', 'label', 'button', 'noscript', 'ins', 'del', 'script'],
|
||||||
|
\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'align': ['left', 'center', 'right', 'justify'], 'lang': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'xml:lang': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': []}
|
||||||
|
\ ],
|
||||||
|
\ 'dl': [
|
||||||
|
\ ['dt', 'dd'],
|
||||||
|
\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'compact': ['BOOL'], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'xml:lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []}
|
||||||
|
\ ],
|
||||||
|
\ 'dt': [
|
||||||
|
\ ['a', 'br', 'span', 'bdo', 'object', 'applet', 'img', 'map', 'iframe', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'font', 'basefont', 'em', 'strong', 'dfn', 'code', 'q', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'sub', 'sup', 'input', 'select', 'textarea', 'label', 'button', 'ins', 'del', 'script'],
|
||||||
|
\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'xml:lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []}
|
||||||
|
\ ],
|
||||||
|
\ 'em': [
|
||||||
|
\ ['a', 'br', 'span', 'bdo', 'object', 'applet', 'img', 'map', 'iframe', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'font', 'basefont', 'em', 'strong', 'dfn', 'code', 'q', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'sub', 'sup', 'input', 'select', 'textarea', 'label', 'button', 'ins', 'del', 'script'],
|
||||||
|
\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'xml:lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []}
|
||||||
|
\ ],
|
||||||
|
\ 'fieldset': [
|
||||||
|
\ ['legend', 'p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'div', 'ul', 'ol', 'dl', 'menu', 'dir', 'pre', 'hr', 'blockquote', 'address', 'center', 'noframes', 'isindex', 'fieldset', 'table', 'form', 'a', 'br', 'span', 'bdo', 'object', 'applet', 'img', 'map', 'iframe', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'font', 'basefont', 'em', 'strong', 'dfn', 'code', 'q', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'sub', 'sup', 'input', 'select', 'textarea', 'label', 'button', 'noscript', 'ins', 'del', 'script'],
|
||||||
|
\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'xml:lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []}
|
||||||
|
\ ],
|
||||||
|
\ 'font': [
|
||||||
|
\ ['a', 'br', 'span', 'bdo', 'object', 'applet', 'img', 'map', 'iframe', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'font', 'basefont', 'em', 'strong', 'dfn', 'code', 'q', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'sub', 'sup', 'input', 'select', 'textarea', 'label', 'button', 'ins', 'del', 'script'],
|
||||||
|
\ { 'dir': ['ltr', 'rtl'], 'size': [], 'face': [], 'color': [], 'id': [], 'lang': [], 'style': [], 'xml:lang': [], 'title': [], 'class': []}
|
||||||
|
\ ],
|
||||||
|
\ 'form': [
|
||||||
|
\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'div', 'ul', 'ol', 'dl', 'menu', 'dir', 'pre', 'hr', 'blockquote', 'address', 'center', 'noframes', 'isindex', 'fieldset', 'table', 'a', 'br', 'span', 'bdo', 'object', 'applet', 'img', 'map', 'iframe', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'font', 'basefont', 'em', 'strong', 'dfn', 'code', 'q', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'sub', 'sup', 'input', 'select', 'textarea', 'label', 'button', 'noscript', 'ins', 'del', 'script'],
|
||||||
|
\ { 'enctype': ['application/x-www-form-urlencoded'], 'onsubmit': [], 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'target': [], 'onkeyup': [], 'onmouseup': [], 'onreset': [], 'id': [], 'method': ['get', 'get', 'post'], 'onmouseover': [], 'lang': [], 'accept': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'name': [], 'xml:lang': [], 'accept-charset': [], 'onkeypress': [], 'onmousedown': [], 'action': [], 'class': [], 'title': [], 'onclick': []}
|
||||||
|
\ ],
|
||||||
|
\ 'h1': [
|
||||||
|
\ ['a', 'br', 'span', 'bdo', 'object', 'applet', 'img', 'map', 'iframe', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'font', 'basefont', 'em', 'strong', 'dfn', 'code', 'q', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'sub', 'sup', 'input', 'select', 'textarea', 'label', 'button', 'ins', 'del', 'script'],
|
||||||
|
\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'align': ['left', 'center', 'right', 'justify'], 'lang': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'xml:lang': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': []}
|
||||||
|
\ ],
|
||||||
|
\ 'h2': [
|
||||||
|
\ ['a', 'br', 'span', 'bdo', 'object', 'applet', 'img', 'map', 'iframe', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'font', 'basefont', 'em', 'strong', 'dfn', 'code', 'q', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'sub', 'sup', 'input', 'select', 'textarea', 'label', 'button', 'ins', 'del', 'script'],
|
||||||
|
\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'align': ['left', 'center', 'right', 'justify'], 'lang': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'xml:lang': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': []}
|
||||||
|
\ ],
|
||||||
|
\ 'h3': [
|
||||||
|
\ ['a', 'br', 'span', 'bdo', 'object', 'applet', 'img', 'map', 'iframe', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'font', 'basefont', 'em', 'strong', 'dfn', 'code', 'q', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'sub', 'sup', 'input', 'select', 'textarea', 'label', 'button', 'ins', 'del', 'script'],
|
||||||
|
\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'align': ['left', 'center', 'right', 'justify'], 'lang': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'xml:lang': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': []}
|
||||||
|
\ ],
|
||||||
|
\ 'h4': [
|
||||||
|
\ ['a', 'br', 'span', 'bdo', 'object', 'applet', 'img', 'map', 'iframe', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'font', 'basefont', 'em', 'strong', 'dfn', 'code', 'q', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'sub', 'sup', 'input', 'select', 'textarea', 'label', 'button', 'ins', 'del', 'script'],
|
||||||
|
\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'align': ['left', 'center', 'right', 'justify'], 'lang': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'xml:lang': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': []}
|
||||||
|
\ ],
|
||||||
|
\ 'h5': [
|
||||||
|
\ ['a', 'br', 'span', 'bdo', 'object', 'applet', 'img', 'map', 'iframe', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'font', 'basefont', 'em', 'strong', 'dfn', 'code', 'q', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'sub', 'sup', 'input', 'select', 'textarea', 'label', 'button', 'ins', 'del', 'script'],
|
||||||
|
\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'align': ['left', 'center', 'right', 'justify'], 'lang': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'xml:lang': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': []}
|
||||||
|
\ ],
|
||||||
|
\ 'h6': [
|
||||||
|
\ ['a', 'br', 'span', 'bdo', 'object', 'applet', 'img', 'map', 'iframe', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'font', 'basefont', 'em', 'strong', 'dfn', 'code', 'q', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'sub', 'sup', 'input', 'select', 'textarea', 'label', 'button', 'ins', 'del', 'script'],
|
||||||
|
\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'align': ['left', 'center', 'right', 'justify'], 'lang': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'xml:lang': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': []}
|
||||||
|
\ ],
|
||||||
|
\ 'head': [
|
||||||
|
\ ['script', 'style', 'meta', 'link', 'object', 'isindex', 'title', 'script', 'style', 'meta', 'link', 'object', 'isindex', 'base', 'script', 'style', 'meta', 'link', 'object', 'isindex', 'base', 'script', 'style', 'meta', 'link', 'object', 'isindex', 'title', 'script', 'style', 'meta', 'link', 'object', 'isindex'],
|
||||||
|
\ { 'profile': [], 'dir': ['ltr', 'rtl'], 'id': [], 'lang': [], 'xml:lang': []}
|
||||||
|
\ ],
|
||||||
|
\ 'hr': [
|
||||||
|
\ [],
|
||||||
|
\ { 'width': [], 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'size': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'align': ['left', 'center', 'right'], 'lang': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'xml:lang': [], 'noshade': ['BOOL'], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': []}
|
||||||
|
\ ],
|
||||||
|
\ 'html': [
|
||||||
|
\ ['head', 'body'],
|
||||||
|
\ { 'xmlns': ['http://www.w3.org/1999/xhtml'], 'dir': ['ltr', 'rtl'], 'id': [], 'lang': [], 'xml:lang': []}
|
||||||
|
\ ],
|
||||||
|
\ 'i': [
|
||||||
|
\ ['a', 'br', 'span', 'bdo', 'object', 'applet', 'img', 'map', 'iframe', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'font', 'basefont', 'em', 'strong', 'dfn', 'code', 'q', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'sub', 'sup', 'input', 'select', 'textarea', 'label', 'button', 'ins', 'del', 'script'],
|
||||||
|
\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'xml:lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []}
|
||||||
|
\ ],
|
||||||
|
\ 'iframe': [
|
||||||
|
\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'div', 'ul', 'ol', 'dl', 'menu', 'dir', 'pre', 'hr', 'blockquote', 'address', 'center', 'noframes', 'isindex', 'fieldset', 'table', 'form', 'a', 'br', 'span', 'bdo', 'object', 'applet', 'img', 'map', 'iframe', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'font', 'basefont', 'em', 'strong', 'dfn', 'code', 'q', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'sub', 'sup', 'input', 'select', 'textarea', 'label', 'button', 'noscript', 'ins', 'del', 'script'],
|
||||||
|
\ { 'width': [], 'scrolling': ['auto', 'yes', 'no', 'auto'], 'marginwidth': [], 'id': [], 'marginheight': [], 'align': ['top', 'middle', 'bottom', 'left', 'right'], 'longdesc': [], 'src': [], 'style': [], 'name': [], 'height': [], 'frameborder': ['1', '1', '0'], 'title': [], 'class': []}
|
||||||
|
\ ],
|
||||||
|
\ 'img': [
|
||||||
|
\ [],
|
||||||
|
\ { 'width': [], 'usemap': [], 'ismap': ['BOOL'], 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'vspace': [], 'onmouseover': [], 'alt': [], 'lang': [], 'align': ['top', 'middle', 'bottom', 'left', 'right'], 'src': [], 'longdesc': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'name': [], 'xml:lang': [], 'height': [], 'border': [], 'hspace': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': []}
|
||||||
|
\ ],
|
||||||
|
\ 'input': [
|
||||||
|
\ [],
|
||||||
|
\ { 'ondblclick': [], 'onkeydown': [], 'readonly': ['BOOL'], 'onchange': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'align': ['top', 'middle', 'bottom', 'left', 'right'], 'value': [], 'src': [], 'name': [], 'checked': ['BOOL'], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'type': ['text', 'text', 'password', 'checkbox', 'radio', 'submit', 'reset', 'file', 'hidden', 'image', 'button'], 'accesskey': [], 'disabled': ['BOOL'], 'usemap': [], 'dir': ['ltr', 'rtl'], 'onblur': [], 'size': [], 'onfocus': [], 'maxlength': [], 'onselect': [], 'accept': [], 'tabindex': [], 'alt': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'xml:lang': []}
|
||||||
|
\ ],
|
||||||
|
\ 'ins': [
|
||||||
|
\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'div', 'ul', 'ol', 'dl', 'menu', 'dir', 'pre', 'hr', 'blockquote', 'address', 'center', 'noframes', 'isindex', 'fieldset', 'table', 'form', 'a', 'br', 'span', 'bdo', 'object', 'applet', 'img', 'map', 'iframe', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'font', 'basefont', 'em', 'strong', 'dfn', 'code', 'q', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'sub', 'sup', 'input', 'select', 'textarea', 'label', 'button', 'noscript', 'ins', 'del', 'script'],
|
||||||
|
\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'dir': ['ltr', 'rtl'], 'datetime': [], 'cite': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'xml:lang': []}
|
||||||
|
\ ],
|
||||||
|
\ 'isindex': [
|
||||||
|
\ [],
|
||||||
|
\ { 'id': [], 'lang': [], 'prompt': [], 'title': [], 'class': [], 'dir': ['ltr', 'rtl'], 'style': [], 'xml:lang': []}
|
||||||
|
\ ],
|
||||||
|
\ 'kbd': [
|
||||||
|
\ ['a', 'br', 'span', 'bdo', 'object', 'applet', 'img', 'map', 'iframe', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'font', 'basefont', 'em', 'strong', 'dfn', 'code', 'q', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'sub', 'sup', 'input', 'select', 'textarea', 'label', 'button', 'ins', 'del', 'script'],
|
||||||
|
\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'dir': ['ltr', 'rtl'], 'style': [], 'onmousemove': [], 'onmouseout': [], 'xml:lang': []}
|
||||||
|
\ ],
|
||||||
|
\ 'label': [
|
||||||
|
\ ['a', 'br', 'span', 'bdo', 'object', 'applet', 'img', 'map', 'iframe', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'font', 'basefont', 'em', 'strong', 'dfn', 'code', 'q', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'sub', 'sup', 'input', 'select', 'textarea', 'label', 'button', 'ins', 'del', 'script'],
|
||||||
|
\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'for': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'accesskey': [], 'dir': ['ltr', 'rtl'], 'onblur': [], 'onfocus': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'xml:lang': []}
|
||||||
|
\ ],
|
||||||
|
\ 'legend': [
|
||||||
|
\ ['a', 'br', 'span', 'bdo', 'object', 'applet', 'img', 'map', 'iframe', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'font', 'basefont', 'em', 'strong', 'dfn', 'code', 'q', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'sub', 'sup', 'input', 'select', 'textarea', 'label', 'button', 'ins', 'del', 'script'],
|
||||||
|
\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'align': ['top', 'bottom', 'left', 'right'], 'lang': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'accesskey': [], 'dir': ['ltr', 'rtl'], 'onmouseout': [], 'onmousemove': [], 'style': [], 'xml:lang': []}
|
||||||
|
\ ],
|
||||||
|
\ 'li': [
|
||||||
|
\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'div', 'ul', 'ol', 'dl', 'menu', 'dir', 'pre', 'hr', 'blockquote', 'address', 'center', 'noframes', 'isindex', 'fieldset', 'table', 'form', 'a', 'br', 'span', 'bdo', 'object', 'applet', 'img', 'map', 'iframe', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'font', 'basefont', 'em', 'strong', 'dfn', 'code', 'q', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'sub', 'sup', 'input', 'select', 'textarea', 'label', 'button', 'noscript', 'ins', 'del', 'script'],
|
||||||
|
\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'value': [], 'onkeypress': [], 'onmousedown': [], 'type': [], 'class': [], 'title': [], 'onclick': [], 'dir': ['ltr', 'rtl'], 'onmouseout': [], 'onmousemove': [], 'style': [], 'xml:lang': []}
|
||||||
|
\ ],
|
||||||
|
\ 'link': [
|
||||||
|
\ [],
|
||||||
|
\ { 'rel': [], 'ondblclick': [], 'onkeydown': [], 'target': [], 'onkeyup': [], 'href': [], 'media': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'charset': [], 'hreflang': [], 'onkeypress': [], 'onmousedown': [], 'rev': [], 'class': [], 'title': [], 'onclick': [], 'type': [], 'dir': ['ltr', 'rtl'], 'onmouseout': [], 'onmousemove': [], 'style': [], 'xml:lang': []}
|
||||||
|
\ ],
|
||||||
|
\ 'map': [
|
||||||
|
\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'div', 'ul', 'ol', 'dl', 'menu', 'dir', 'pre', 'hr', 'blockquote', 'address', 'center', 'noframes', 'isindex', 'fieldset', 'table', 'form', 'noscript', 'ins', 'del', 'script', 'area'],
|
||||||
|
\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'name': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'onclick': [], 'title': [], 'dir': ['ltr', 'rtl'], 'style': [], 'onmouseout': [], 'onmousemove': [], 'xml:lang': []}
|
||||||
|
\ ],
|
||||||
|
\ 'menu': [
|
||||||
|
\ ['li'],
|
||||||
|
\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'compact': ['BOOL'], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'dir': ['ltr', 'rtl'], 'style': [], 'onmousemove': [], 'onmouseout': [], 'xml:lang': []}
|
||||||
|
\ ],
|
||||||
|
\ 'meta': [
|
||||||
|
\ [],
|
||||||
|
\ { 'http-equiv': [], 'content': [], 'id': [], 'lang': [], 'name': [], 'scheme': [], 'dir': ['ltr', 'rtl'], 'xml:lang': []}
|
||||||
|
\ ],
|
||||||
|
\ 'noframes': [
|
||||||
|
\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'div', 'ul', 'ol', 'dl', 'menu', 'dir', 'pre', 'hr', 'blockquote', 'address', 'center', 'noframes', 'isindex', 'fieldset', 'table', 'form', 'a', 'br', 'span', 'bdo', 'object', 'applet', 'img', 'map', 'iframe', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'font', 'basefont', 'em', 'strong', 'dfn', 'code', 'q', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'sub', 'sup', 'input', 'select', 'textarea', 'label', 'button', 'noscript', 'ins', 'del', 'script'],
|
||||||
|
\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'dir': ['ltr', 'rtl'], 'style': [], 'onmousemove': [], 'onmouseout': [], 'xml:lang': []}
|
||||||
|
\ ],
|
||||||
|
\ 'noscript': [
|
||||||
|
\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'div', 'ul', 'ol', 'dl', 'menu', 'dir', 'pre', 'hr', 'blockquote', 'address', 'center', 'noframes', 'isindex', 'fieldset', 'table', 'form', 'a', 'br', 'span', 'bdo', 'object', 'applet', 'img', 'map', 'iframe', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'font', 'basefont', 'em', 'strong', 'dfn', 'code', 'q', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'sub', 'sup', 'input', 'select', 'textarea', 'label', 'button', 'noscript', 'ins', 'del', 'script'],
|
||||||
|
\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'dir': ['ltr', 'rtl'], 'style': [], 'onmousemove': [], 'onmouseout': [], 'xml:lang': []}
|
||||||
|
\ ],
|
||||||
|
\ 'object': [
|
||||||
|
\ ['param', 'p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'div', 'ul', 'ol', 'dl', 'menu', 'dir', 'pre', 'hr', 'blockquote', 'address', 'center', 'noframes', 'isindex', 'fieldset', 'table', 'form', 'a', 'br', 'span', 'bdo', 'object', 'applet', 'img', 'map', 'iframe', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'font', 'basefont', 'em', 'strong', 'dfn', 'code', 'q', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'sub', 'sup', 'input', 'select', 'textarea', 'label', 'button', 'noscript', 'ins', 'del', 'script'],
|
||||||
|
\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'align': ['top', 'middle', 'bottom', 'left', 'right'], 'name': [], 'data': [], 'declare': ['BOOL'], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'type': [], 'width': [], 'usemap': [], 'dir': ['ltr', 'rtl'], 'vspace': [], 'tabindex': [], 'standby': [], 'archive': [], 'classid': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'height': [], 'xml:lang': [], 'border': [], 'codetype': [], 'hspace': [], 'codebase': []}
|
||||||
|
\ ],
|
||||||
|
\ 'ol': [
|
||||||
|
\ ['li'],
|
||||||
|
\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'compact': ['BOOL'], 'onmouseover': [], 'lang': [], 'onkeypress': [], 'onmousedown': [], 'type': [], 'class': [], 'title': [], 'onclick': [], 'start': [], 'dir': ['ltr', 'rtl'], 'onmouseout': [], 'onmousemove': [], 'style': [], 'xml:lang': []}
|
||||||
|
\ ],
|
||||||
|
\ 'optgroup': [
|
||||||
|
\ ['option'],
|
||||||
|
\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'label': [], 'disabled': ['BOOL'], 'dir': ['ltr', 'rtl'], 'onmouseout': [], 'onmousemove': [], 'style': [], 'xml:lang': []}
|
||||||
|
\ ],
|
||||||
|
\ 'option': [
|
||||||
|
\ [''],
|
||||||
|
\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'value': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'label': [], 'disabled': ['BOOL'], 'dir': ['ltr', 'rtl'], 'onmouseout': [], 'onmousemove': [], 'style': [], 'xml:lang': [], 'selected': ['BOOL']}
|
||||||
|
\ ],
|
||||||
|
\ 'p': [
|
||||||
|
\ ['a', 'br', 'span', 'bdo', 'object', 'applet', 'img', 'map', 'iframe', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'font', 'basefont', 'em', 'strong', 'dfn', 'code', 'q', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'sub', 'sup', 'input', 'select', 'textarea', 'label', 'button', 'ins', 'del', 'script'],
|
||||||
|
\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'align': ['left', 'center', 'right', 'justify'], 'lang': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'dir': ['ltr', 'rtl'], 'onmouseout': [], 'onmousemove': [], 'style': [], 'xml:lang': []}
|
||||||
|
\ ],
|
||||||
|
\ 'param': [
|
||||||
|
\ [],
|
||||||
|
\ { 'id': [], 'value': [], 'name': [], 'type': [], 'valuetype': ['data', 'data', 'ref', 'object']}
|
||||||
|
\ ],
|
||||||
|
\ 'pre': [
|
||||||
|
\ ['a', 'br', 'span', 'bdo', 'tt', 'i', 'b', 'u', 's', 'strike', 'em', 'strong', 'dfn', 'code', 'q', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'input', 'select', 'textarea', 'label', 'button', 'ins', 'del', 'script'],
|
||||||
|
\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'xml:space': ['preserve', 'preserve'], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'width': [], 'dir': ['ltr', 'rtl'], 'onmouseout': [], 'onmousemove': [], 'style': [], 'xml:lang': []}
|
||||||
|
\ ],
|
||||||
|
\ 'q': [
|
||||||
|
\ ['a', 'br', 'span', 'bdo', 'object', 'applet', 'img', 'map', 'iframe', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'font', 'basefont', 'em', 'strong', 'dfn', 'code', 'q', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'sub', 'sup', 'input', 'select', 'textarea', 'label', 'button', 'ins', 'del', 'script'],
|
||||||
|
\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'dir': ['ltr', 'rtl'], 'cite': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'xml:lang': []}
|
||||||
|
\ ],
|
||||||
|
\ 's': [
|
||||||
|
\ ['a', 'br', 'span', 'bdo', 'object', 'applet', 'img', 'map', 'iframe', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'font', 'basefont', 'em', 'strong', 'dfn', 'code', 'q', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'sub', 'sup', 'input', 'select', 'textarea', 'label', 'button', 'ins', 'del', 'script'],
|
||||||
|
\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'dir': ['ltr', 'rtl'], 'style': [], 'onmousemove': [], 'onmouseout': [], 'xml:lang': []}
|
||||||
|
\ ],
|
||||||
|
\ 'samp': [
|
||||||
|
\ ['a', 'br', 'span', 'bdo', 'object', 'applet', 'img', 'map', 'iframe', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'font', 'basefont', 'em', 'strong', 'dfn', 'code', 'q', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'sub', 'sup', 'input', 'select', 'textarea', 'label', 'button', 'ins', 'del', 'script'],
|
||||||
|
\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'dir': ['ltr', 'rtl'], 'style': [], 'onmousemove': [], 'onmouseout': [], 'xml:lang': []}
|
||||||
|
\ ],
|
||||||
|
\ 'script': [
|
||||||
|
\ [''],
|
||||||
|
\ { 'id': [], 'src': [], 'charset': [], 'xml:space': ['preserve', 'preserve'], 'type': ['text/javascript'], 'defer': ['BOOL'], 'language': []}
|
||||||
|
\ ],
|
||||||
|
\ 'select': [
|
||||||
|
\ ['optgroup', 'option'],
|
||||||
|
\ { 'ondblclick': [], 'onkeydown': [], 'onchange': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'name': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'disabled': ['BOOL'], 'dir': ['ltr', 'rtl'], 'size': [], 'onblur': [], 'onfocus': [], 'tabindex': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'xml:lang': [], 'multiple': ['BOOL']}
|
||||||
|
\ ],
|
||||||
|
\ 'small': [
|
||||||
|
\ ['a', 'br', 'span', 'bdo', 'object', 'applet', 'img', 'map', 'iframe', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'font', 'basefont', 'em', 'strong', 'dfn', 'code', 'q', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'sub', 'sup', 'input', 'select', 'textarea', 'label', 'button', 'ins', 'del', 'script'],
|
||||||
|
\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'dir': ['ltr', 'rtl'], 'style': [], 'onmousemove': [], 'onmouseout': [], 'xml:lang': []}
|
||||||
|
\ ],
|
||||||
|
\ 'span': [
|
||||||
|
\ ['a', 'br', 'span', 'bdo', 'object', 'applet', 'img', 'map', 'iframe', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'font', 'basefont', 'em', 'strong', 'dfn', 'code', 'q', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'sub', 'sup', 'input', 'select', 'textarea', 'label', 'button', 'ins', 'del', 'script'],
|
||||||
|
\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'dir': ['ltr', 'rtl'], 'style': [], 'onmousemove': [], 'onmouseout': [], 'xml:lang': []}
|
||||||
|
\ ],
|
||||||
|
\ 'strike': [
|
||||||
|
\ ['a', 'br', 'span', 'bdo', 'object', 'applet', 'img', 'map', 'iframe', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'font', 'basefont', 'em', 'strong', 'dfn', 'code', 'q', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'sub', 'sup', 'input', 'select', 'textarea', 'label', 'button', 'ins', 'del', 'script'],
|
||||||
|
\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'dir': ['ltr', 'rtl'], 'style': [], 'onmousemove': [], 'onmouseout': [], 'xml:lang': []}
|
||||||
|
\ ],
|
||||||
|
\ 'strong': [
|
||||||
|
\ ['a', 'br', 'span', 'bdo', 'object', 'applet', 'img', 'map', 'iframe', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'font', 'basefont', 'em', 'strong', 'dfn', 'code', 'q', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'sub', 'sup', 'input', 'select', 'textarea', 'label', 'button', 'ins', 'del', 'script'],
|
||||||
|
\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'dir': ['ltr', 'rtl'], 'style': [], 'onmousemove': [], 'onmouseout': [], 'xml:lang': []}
|
||||||
|
\ ],
|
||||||
|
\ 'style': [
|
||||||
|
\ [''],
|
||||||
|
\ { 'media': [], 'id': [], 'lang': [], 'xml:space': ['preserve', 'preserve'], 'title': [], 'type': ['text/css'], 'dir': ['ltr', 'rtl'], 'xml:lang': []}
|
||||||
|
\ ],
|
||||||
|
\ 'sub': [
|
||||||
|
\ ['a', 'br', 'span', 'bdo', 'object', 'applet', 'img', 'map', 'iframe', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'font', 'basefont', 'em', 'strong', 'dfn', 'code', 'q', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'sub', 'sup', 'input', 'select', 'textarea', 'label', 'button', 'ins', 'del', 'script'],
|
||||||
|
\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'dir': ['ltr', 'rtl'], 'style': [], 'onmousemove': [], 'onmouseout': [], 'xml:lang': []}
|
||||||
|
\ ],
|
||||||
|
\ 'sup': [
|
||||||
|
\ ['a', 'br', 'span', 'bdo', 'object', 'applet', 'img', 'map', 'iframe', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'font', 'basefont', 'em', 'strong', 'dfn', 'code', 'q', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'sub', 'sup', 'input', 'select', 'textarea', 'label', 'button', 'ins', 'del', 'script'],
|
||||||
|
\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'dir': ['ltr', 'rtl'], 'style': [], 'onmousemove': [], 'onmouseout': [], 'xml:lang': []}
|
||||||
|
\ ],
|
||||||
|
\ 'table': [
|
||||||
|
\ ['caption', 'col', 'colgroup', 'thead', 'tfoot', 'tbody', 'tr'],
|
||||||
|
\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'align': ['left', 'center', 'right'], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'width': [], 'frame': ['void', 'above', 'below', 'hsides', 'lhs', 'rhs', 'vsides', 'box', 'border'], 'rules': ['none', 'groups', 'rows', 'cols', 'all'], 'dir': ['ltr', 'rtl'], 'summary': [], 'bgcolor': [], 'cellspacing': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'xml:lang': [], 'border': [], 'cellpadding': []}
|
||||||
|
\ ],
|
||||||
|
\ 'tbody': [
|
||||||
|
\ ['tr'],
|
||||||
|
\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'align': ['left', 'center', 'right', 'justify', 'char'], 'lang': [], 'valign': ['top', 'middle', 'bottom', 'baseline'], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'dir': ['ltr', 'rtl'], 'charoff': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'xml:lang': [], 'char': []}
|
||||||
|
\ ],
|
||||||
|
\ 'td': [
|
||||||
|
\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'div', 'ul', 'ol', 'dl', 'menu', 'dir', 'pre', 'hr', 'blockquote', 'address', 'center', 'noframes', 'isindex', 'fieldset', 'table', 'form', 'a', 'br', 'span', 'bdo', 'object', 'applet', 'img', 'map', 'iframe', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'font', 'basefont', 'em', 'strong', 'dfn', 'code', 'q', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'sub', 'sup', 'input', 'select', 'textarea', 'label', 'button', 'noscript', 'ins', 'del', 'script'],
|
||||||
|
\ { 'ondblclick': [], 'axis': [], 'onkeydown': [], 'abbr': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'scope': ['row', 'col', 'rowgroup', 'colgroup'], 'onmouseover': [], 'lang': [], 'align': ['left', 'center', 'right', 'justify', 'char'], 'valign': ['top', 'middle', 'bottom', 'baseline'], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'width': [], 'headers': [], 'nowrap': ['BOOL'], 'dir': ['ltr', 'rtl'], 'rowspan': ['1'], 'colspan': ['1'], 'bgcolor': [], 'charoff': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'xml:lang': [], 'height': [], 'char': []}
|
||||||
|
\ ],
|
||||||
|
\ 'textarea': [
|
||||||
|
\ [''],
|
||||||
|
\ { 'ondblclick': [], 'cols': [], 'onkeydown': [], 'readonly': ['BOOL'], 'onchange': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'name': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'accesskey': [], 'disabled': ['BOOL'], 'rows': [], 'dir': ['ltr', 'rtl'], 'onblur': [], 'onfocus': [], 'onselect': [], 'tabindex': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'xml:lang': []}
|
||||||
|
\ ],
|
||||||
|
\ 'tfoot': [
|
||||||
|
\ ['tr'],
|
||||||
|
\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'align': ['left', 'center', 'right', 'justify', 'char'], 'lang': [], 'valign': ['top', 'middle', 'bottom', 'baseline'], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'dir': ['ltr', 'rtl'], 'charoff': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'xml:lang': [], 'char': []}
|
||||||
|
\ ],
|
||||||
|
\ 'th': [
|
||||||
|
\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'div', 'ul', 'ol', 'dl', 'menu', 'dir', 'pre', 'hr', 'blockquote', 'address', 'center', 'noframes', 'isindex', 'fieldset', 'table', 'form', 'a', 'br', 'span', 'bdo', 'object', 'applet', 'img', 'map', 'iframe', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'font', 'basefont', 'em', 'strong', 'dfn', 'code', 'q', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'sub', 'sup', 'input', 'select', 'textarea', 'label', 'button', 'noscript', 'ins', 'del', 'script'],
|
||||||
|
\ { 'ondblclick': [], 'axis': [], 'onkeydown': [], 'abbr': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'scope': ['row', 'col', 'rowgroup', 'colgroup'], 'onmouseover': [], 'lang': [], 'align': ['left', 'center', 'right', 'justify', 'char'], 'valign': ['top', 'middle', 'bottom', 'baseline'], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'width': [], 'headers': [], 'nowrap': ['BOOL'], 'dir': ['ltr', 'rtl'], 'rowspan': ['1'], 'colspan': ['1'], 'bgcolor': [], 'charoff': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'xml:lang': [], 'height': [], 'char': []}
|
||||||
|
\ ],
|
||||||
|
\ 'thead': [
|
||||||
|
\ ['tr'],
|
||||||
|
\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'align': ['left', 'center', 'right', 'justify', 'char'], 'lang': [], 'valign': ['top', 'middle', 'bottom', 'baseline'], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'dir': ['ltr', 'rtl'], 'charoff': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'xml:lang': [], 'char': []}
|
||||||
|
\ ],
|
||||||
|
\ 'title': [
|
||||||
|
\ [''],
|
||||||
|
\ { 'id': [], 'lang': [], 'dir': ['ltr', 'rtl'], 'xml:lang': []}
|
||||||
|
\ ],
|
||||||
|
\ 'tr': [
|
||||||
|
\ ['th', 'td'],
|
||||||
|
\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'align': ['left', 'center', 'right', 'justify', 'char'], 'lang': [], 'valign': ['top', 'middle', 'bottom', 'baseline'], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'dir': ['ltr', 'rtl'], 'bgcolor': [], 'charoff': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'xml:lang': [], 'char': []}
|
||||||
|
\ ],
|
||||||
|
\ 'tt': [
|
||||||
|
\ ['a', 'br', 'span', 'bdo', 'object', 'applet', 'img', 'map', 'iframe', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'font', 'basefont', 'em', 'strong', 'dfn', 'code', 'q', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'sub', 'sup', 'input', 'select', 'textarea', 'label', 'button', 'ins', 'del', 'script'],
|
||||||
|
\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'dir': ['ltr', 'rtl'], 'style': [], 'onmousemove': [], 'onmouseout': [], 'xml:lang': []}
|
||||||
|
\ ],
|
||||||
|
\ 'u': [
|
||||||
|
\ ['a', 'br', 'span', 'bdo', 'object', 'applet', 'img', 'map', 'iframe', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'font', 'basefont', 'em', 'strong', 'dfn', 'code', 'q', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'sub', 'sup', 'input', 'select', 'textarea', 'label', 'button', 'ins', 'del', 'script'],
|
||||||
|
\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'dir': ['ltr', 'rtl'], 'style': [], 'onmousemove': [], 'onmouseout': [], 'xml:lang': []}
|
||||||
|
\ ],
|
||||||
|
\ 'ul': [
|
||||||
|
\ ['li'],
|
||||||
|
\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'compact': ['BOOL'], 'onmouseover': [], 'lang': [], 'onkeypress': [], 'onmousedown': [], 'type': ['disc', 'square', 'circle'], 'class': [], 'title': [], 'onclick': [], 'dir': ['ltr', 'rtl'], 'onmouseout': [], 'onmousemove': [], 'style': [], 'xml:lang': []}
|
||||||
|
\ ],
|
||||||
|
\ 'var': [
|
||||||
|
\ ['a', 'br', 'span', 'bdo', 'object', 'applet', 'img', 'map', 'iframe', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'font', 'basefont', 'em', 'strong', 'dfn', 'code', 'q', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'sub', 'sup', 'input', 'select', 'textarea', 'label', 'button', 'ins', 'del', 'script'],
|
||||||
|
\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'dir': ['ltr', 'rtl'], 'style': [], 'onmousemove': [], 'onmouseout': [], 'xml:lang': []}
|
||||||
|
\ ],
|
||||||
|
\ 'vimxmlattrinfo' : {
|
||||||
|
\ 'accept' : ['ContentType', ''],
|
||||||
|
\ 'accesskey' : ['Character', ''],
|
||||||
|
\ 'action' : ['*URI', ''],
|
||||||
|
\ 'align' : ['String', ''],
|
||||||
|
\ 'alt' : ['*Text', ''],
|
||||||
|
\ 'archive' : ['UriList', ''],
|
||||||
|
\ 'axis' : ['CDATA', ''],
|
||||||
|
\ 'border' : ['Pixels', ''],
|
||||||
|
\ 'cellpadding' : ['Length', ''],
|
||||||
|
\ 'cellspacing' : ['Length', ''],
|
||||||
|
\ 'char' : ['Character', ''],
|
||||||
|
\ 'charoff' : ['Length', ''],
|
||||||
|
\ 'charset' : ['LangCode', ''],
|
||||||
|
\ 'checked' : ['Bool', ''],
|
||||||
|
\ 'class' : ['CDATA', ''],
|
||||||
|
\ 'codetype' : ['ContentType', ''],
|
||||||
|
\ 'cols' : ['*Number', ''],
|
||||||
|
\ 'colspan' : ['Number', ''],
|
||||||
|
\ 'content' : ['*CDATA', ''],
|
||||||
|
\ 'coords' : ['Coords', ''],
|
||||||
|
\ 'data' : ['URI', ''],
|
||||||
|
\ 'datetime' : ['DateTime', ''],
|
||||||
|
\ 'declare' : ['Bool', ''],
|
||||||
|
\ 'defer' : ['Bool', ''],
|
||||||
|
\ 'dir' : ['String', ''],
|
||||||
|
\ 'disabled' : ['Bool', ''],
|
||||||
|
\ 'enctype' : ['ContentType', ''],
|
||||||
|
\ 'for' : ['ID', ''],
|
||||||
|
\ 'headers' : ['IDREFS', ''],
|
||||||
|
\ 'height' : ['Number', ''],
|
||||||
|
\ 'href' : ['*URI', ''],
|
||||||
|
\ 'hreflang' : ['LangCode', ''],
|
||||||
|
\ 'id' : ['ID', 'Unique string'],
|
||||||
|
\ 'ismap' : ['Bool', ''],
|
||||||
|
\ 'label' : ['*Text', ''],
|
||||||
|
\ 'lang' : ['LangCode', ''],
|
||||||
|
\ 'longdesc' : ['URI', ''],
|
||||||
|
\ 'maxlength' : ['Number', ''],
|
||||||
|
\ 'media' : ['MediaDesc', ''],
|
||||||
|
\ 'method' : ['String', ''],
|
||||||
|
\ 'multiple' : ['Bool', ''],
|
||||||
|
\ 'name' : ['CDATA', ''],
|
||||||
|
\ 'nohref' : ['Bool', ''],
|
||||||
|
\ 'onblur' : ['Script', ''],
|
||||||
|
\ 'onchange' : ['Script', ''],
|
||||||
|
\ 'onclick' : ['Script', ''],
|
||||||
|
\ 'ondblclick' : ['Script', ''],
|
||||||
|
\ 'onfocus' : ['Script', ''],
|
||||||
|
\ 'onkeydown' : ['Script', ''],
|
||||||
|
\ 'onkeypress' : ['Script', ''],
|
||||||
|
\ 'onkeyup' : ['Script', ''],
|
||||||
|
\ 'onload' : ['Script', ''],
|
||||||
|
\ 'onmousedown' : ['Script', ''],
|
||||||
|
\ 'onmousemove' : ['Script', ''],
|
||||||
|
\ 'onmouseout' : ['Script', ''],
|
||||||
|
\ 'onmouseover' : ['Script', ''],
|
||||||
|
\ 'onmouseup' : ['Script', ''],
|
||||||
|
\ 'onreset' : ['Script', ''],
|
||||||
|
\ 'onselect' : ['Script', ''],
|
||||||
|
\ 'onsubmit' : ['Script', ''],
|
||||||
|
\ 'onunload' : ['Script', ''],
|
||||||
|
\ 'profile' : ['URI', ''],
|
||||||
|
\ 'readonly' : ['Bool', ''],
|
||||||
|
\ 'rel' : ['LinkTypes', ''],
|
||||||
|
\ 'rev' : ['LinkTypes', ''],
|
||||||
|
\ 'rows' : ['*Number', ''],
|
||||||
|
\ 'rules' : ['String', ''],
|
||||||
|
\ 'scheme' : ['CDATA', ''],
|
||||||
|
\ 'selected' : ['Bool', ''],
|
||||||
|
\ 'shape' : ['Shape', ''],
|
||||||
|
\ 'size' : ['CDATA', ''],
|
||||||
|
\ 'span' : ['Number', ''],
|
||||||
|
\ 'src' : ['*URI', ''],
|
||||||
|
\ 'standby' : ['Text', ''],
|
||||||
|
\ 'style' : ['StyleSheet', ''],
|
||||||
|
\ 'summary' : ['*Text', ''],
|
||||||
|
\ 'tabindex' : ['Number', ''],
|
||||||
|
\ 'title' : ['Text', ''],
|
||||||
|
\ 'type' : ['*ContentType', ''],
|
||||||
|
\ 'usemap' : ['URI', ''],
|
||||||
|
\ 'valign' : ['String', ''],
|
||||||
|
\ 'valuetype' : ['String', ''],
|
||||||
|
\ 'width' : ['Number', ''],
|
||||||
|
\ 'xmlns' : ['URI', '']
|
||||||
|
\ },
|
||||||
|
\ 'vimxmltaginfo': {
|
||||||
|
\ 'area': ['/>', ''],
|
||||||
|
\ 'base': ['/>', ''],
|
||||||
|
\ 'basefont': ['/>', ''],
|
||||||
|
\ 'br': ['/>', ''],
|
||||||
|
\ 'col': ['/>', ''],
|
||||||
|
\ 'hr': ['/>', ''],
|
||||||
|
\ 'img': ['/>', ''],
|
||||||
|
\ 'input': ['/>', ''],
|
||||||
|
\ 'isindex': ['/>', ''],
|
||||||
|
\ 'link': ['/>', ''],
|
||||||
|
\ 'meta': ['/>', ''],
|
||||||
|
\ 'param': ['/>', ''],
|
||||||
|
\ }
|
||||||
|
\ }
|
||||||
|
" vim:ft=vim:ff=unix
|
@ -1,4 +1,4 @@
|
|||||||
*insert.txt* For Vim version 7.0e. Last change: 2006 Apr 18
|
*insert.txt* For Vim version 7.0e. Last change: 2006 Apr 20
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@ -1026,7 +1026,8 @@ The "menu" item is used in the popup menu and may be truncated, thus it should
|
|||||||
be relatively short. The "info" item can be longer, it will be displayed in
|
be relatively short. The "info" item can be longer, it will be displayed in
|
||||||
the preview window when "preview" appears in 'completeopt'. The "info" item
|
the preview window when "preview" appears in 'completeopt'. The "info" item
|
||||||
will also remain displayed after the popup menu has been removed. This is
|
will also remain displayed after the popup menu has been removed. This is
|
||||||
useful for function arguments.
|
useful for function arguments. Use a single space for "info" to remove
|
||||||
|
existing text in the preview window.
|
||||||
|
|
||||||
The "kind" item uses a single letter to indicate the kind of completion. This
|
The "kind" item uses a single letter to indicate the kind of completion. This
|
||||||
may be used to show the completion differently (different color or icon).
|
may be used to show the completion differently (different color or icon).
|
||||||
@ -1266,22 +1267,32 @@ run |:make| command to detect formatting problems.
|
|||||||
|
|
||||||
HTML flavor *html-flavor*
|
HTML flavor *html-flavor*
|
||||||
|
|
||||||
By default HTML completion provides completion for XHTML 1.0 Strict. This is
|
Default HTML completion depends on filetype. For HTML files it is HTML
|
||||||
not the only HTML version. To use another data file and still have benefits of
|
4.01 Transitional (&ft=='html'), for XHTML it is XHTML 1.0 Strict
|
||||||
custom completion for class, style, etc. attributes set g:html_omni_flavor
|
(&ft=='xhtml').
|
||||||
variable. Example (in .vimrc or filetype plugin file): >
|
|
||||||
|
|
||||||
let g:html_omni_flavor = 'xhtml10t'
|
These are not the only HTML versions. To use another data file and still
|
||||||
|
have benefits of custom completion for class, style, etc. attributes set
|
||||||
|
b:html_omni_flavor variable. Example (in .vimrc or filetype plugin
|
||||||
|
file): >
|
||||||
|
|
||||||
Data for HTML completion will be read from 'autoload/xml/xhtml10t.vim' file
|
let g:html_omni_flavor = 'xhtml10s'
|
||||||
located somewhere in 'runtimepath' (not in default distribution).
|
|
||||||
|
|
||||||
More about format of data file in |xml-omni-datafile|. Some of data files may
|
(Completion data file for HTML 4.01 Strict is also provided by Vim
|
||||||
in future be found on vim-online site (|www|).
|
distribution.)
|
||||||
|
|
||||||
Note that g:html_omni_flavor may point to file with any XML data. This makes
|
Data for HTML completion will be read from 'autoload/xml/html10s.vim' file
|
||||||
possible to mix PHP (|ft-php-omni|) completion with whatever XML dialect
|
located somewhere in 'runtimepath'.
|
||||||
(assuming you have data file for it).
|
|
||||||
|
Note: HTML completion files are also located in 'autoload/xml'
|
||||||
|
directory.
|
||||||
|
|
||||||
|
More about format of data file in |xml-omni-datafile|. Some of data
|
||||||
|
files may in future be found on vim-online site (|www|).
|
||||||
|
|
||||||
|
Note that b:html_omni_flavor may point to file with any XML data. This
|
||||||
|
makes possible to mix PHP (|ft-php-omni|) completion with whatever XML
|
||||||
|
dialect (assuming you have data file for it).
|
||||||
|
|
||||||
|
|
||||||
JAVASCRIPT *ft-javascript-omni*
|
JAVASCRIPT *ft-javascript-omni*
|
||||||
@ -1359,6 +1370,39 @@ automatically switch to HTML/CSS/JavaScript completion. Note: contrary to
|
|||||||
original HTML files completion of tags (and only tags) isn't context aware.
|
original HTML files completion of tags (and only tags) isn't context aware.
|
||||||
|
|
||||||
|
|
||||||
|
RUBY *ft-ruby-omni*
|
||||||
|
|
||||||
|
Completion of Ruby code requires that vim be built with |+ruby|.
|
||||||
|
|
||||||
|
Ruby completion will parse your buffer on demand in order to provide a list of
|
||||||
|
completions. These completions will be drawn from modules loaded by 'require'
|
||||||
|
and modules defined in the current buffer.
|
||||||
|
|
||||||
|
The completions provided by CTRL-X CTRL-O are sensitive to the context:
|
||||||
|
|
||||||
|
CONTEXT COMPLETIONS PROVIDED ~
|
||||||
|
|
||||||
|
1. Not inside a class definition Classes, constants and globals
|
||||||
|
|
||||||
|
2. Inside a class definition Methods or constants defined in the class
|
||||||
|
|
||||||
|
3. After '.', '::' or ':' Methods applicable to the object being
|
||||||
|
dereferenced
|
||||||
|
|
||||||
|
4. After ':' or ':foo' Symbol name (beginning with 'foo')
|
||||||
|
|
||||||
|
Notes:
|
||||||
|
- Vim will load/evaluate code in order to provide completions. This may
|
||||||
|
cause some code execution, which may be a concern.
|
||||||
|
- In context 2 above, anonymous classes are not supported.
|
||||||
|
- In context 3 above, Vim will attempt to determine the methods supported by
|
||||||
|
the object.
|
||||||
|
- Vim can detect and load the Rails environment for files within a rails
|
||||||
|
project. The feature is disabled by default, to enable it add >
|
||||||
|
let g:rubycomplete_rails = 1
|
||||||
|
< to your vimrc.
|
||||||
|
|
||||||
|
|
||||||
SYNTAX *ft-syntax-omni*
|
SYNTAX *ft-syntax-omni*
|
||||||
|
|
||||||
This uses the current syntax highlighting for completion. It can be used for
|
This uses the current syntax highlighting for completion. It can be used for
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
*intro.txt* For Vim version 7.0e. Last change: 2006 Apr 09
|
*intro.txt* For Vim version 7.0e. Last change: 2006 Apr 20
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@ -75,7 +75,7 @@ Published by O'Reilly. ISBN: 1-56592-426-6.
|
|||||||
==============================================================================
|
==============================================================================
|
||||||
2. Vim on the internet *internet*
|
2. Vim on the internet *internet*
|
||||||
|
|
||||||
*www* *faq* *FAQ* *distribution* *download*
|
*www* *WWW* *faq* *FAQ* *distribution* *download*
|
||||||
The Vim pages contain the most recent information about Vim. They also
|
The Vim pages contain the most recent information about Vim. They also
|
||||||
contain links to the most recent version of Vim. The FAQ is a list of
|
contain links to the most recent version of Vim. The FAQ is a list of
|
||||||
Frequently Asked Questions. Read this if you have problems.
|
Frequently Asked Questions. Read this if you have problems.
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
*map.txt* For Vim version 7.0e. Last change: 2006 Apr 19
|
*map.txt* For Vim version 7.0e. Last change: 2006 Apr 20
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@ -882,10 +882,11 @@ See |:verbose-cmd| for more information.
|
|||||||
avoid that a typed {lhs} is expanded, since
|
avoid that a typed {lhs} is expanded, since
|
||||||
command-line abbreviations apply here.
|
command-line abbreviations apply here.
|
||||||
|
|
||||||
:ab[breviate] {lhs} {rhs}
|
:ab[breviate] [<expr>] {lhs} {rhs}
|
||||||
add abbreviation for {lhs} to {rhs}. If {lhs} already
|
add abbreviation for {lhs} to {rhs}. If {lhs} already
|
||||||
existed it is replaced with the new {rhs}. {rhs} may
|
existed it is replaced with the new {rhs}. {rhs} may
|
||||||
contain spaces.
|
contain spaces.
|
||||||
|
See |:map-<expr>| for the optional <expr> argument.
|
||||||
|
|
||||||
*:una* *:unabbreviate*
|
*:una* *:unabbreviate*
|
||||||
:una[bbreviate] {lhs} Remove abbreviation for {lhs} from the list. If none
|
:una[bbreviate] {lhs} Remove abbreviation for {lhs} from the list. If none
|
||||||
@ -895,12 +896,13 @@ See |:verbose-cmd| for more information.
|
|||||||
expansion insert a CTRL-V (type it twice).
|
expansion insert a CTRL-V (type it twice).
|
||||||
|
|
||||||
*:norea* *:noreabbrev*
|
*:norea* *:noreabbrev*
|
||||||
:norea[bbrev] [lhs] [rhs]
|
:norea[bbrev] [<expr>] [lhs] [rhs]
|
||||||
same as ":ab", but no remapping for this {rhs} {not
|
same as ":ab", but no remapping for this {rhs} {not
|
||||||
in Vi}
|
in Vi}
|
||||||
|
|
||||||
*:ca* *:cabbrev*
|
*:ca* *:cabbrev*
|
||||||
:ca[bbrev] [lhs] [rhs] same as ":ab", but for Command-line mode only. {not
|
:ca[bbrev] [<expr>] [lhs] [rhs]
|
||||||
|
same as ":ab", but for Command-line mode only. {not
|
||||||
in Vi}
|
in Vi}
|
||||||
|
|
||||||
*:cuna* *:cunabbrev*
|
*:cuna* *:cunabbrev*
|
||||||
@ -908,19 +910,20 @@ See |:verbose-cmd| for more information.
|
|||||||
in Vi}
|
in Vi}
|
||||||
|
|
||||||
*:cnorea* *:cnoreabbrev*
|
*:cnorea* *:cnoreabbrev*
|
||||||
:cnorea[bbrev] [lhs] [rhs]
|
:cnorea[bbrev] [<expr>] [lhs] [rhs]
|
||||||
same as ":ab", but for Command-line mode only and no
|
same as ":ab", but for Command-line mode only and no
|
||||||
remapping for this {rhs} {not in Vi}
|
remapping for this {rhs} {not in Vi}
|
||||||
|
|
||||||
*:ia* *:iabbrev*
|
*:ia* *:iabbrev*
|
||||||
:ia[bbrev] [lhs] [rhs] same as ":ab", but for Insert mode only. {not in Vi}
|
:ia[bbrev] [<expr>] [lhs] [rhs]
|
||||||
|
same as ":ab", but for Insert mode only. {not in Vi}
|
||||||
|
|
||||||
*:iuna* *:iunabbrev*
|
*:iuna* *:iunabbrev*
|
||||||
:iuna[bbrev] {lhs} same as ":una", but for insert mode only. {not in
|
:iuna[bbrev] {lhs} same as ":una", but for insert mode only. {not in
|
||||||
Vi}
|
Vi}
|
||||||
|
|
||||||
*:inorea* *:inoreabbrev*
|
*:inorea* *:inoreabbrev*
|
||||||
:inorea[bbrev] [lhs] [rhs]
|
:inorea[bbrev] [<expr>] [lhs] [rhs]
|
||||||
same as ":ab", but for Insert mode only and no
|
same as ":ab", but for Insert mode only and no
|
||||||
remapping for this {rhs} {not in Vi}
|
remapping for this {rhs} {not in Vi}
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
*options.txt* For Vim version 7.0e. Last change: 2006 Apr 18
|
*options.txt* For Vim version 7.0e. Last change: 2006 Apr 20
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@ -6684,6 +6684,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
this. 'textwidth' is set to 0 when the 'paste' option is set. When
|
this. 'textwidth' is set to 0 when the 'paste' option is set. When
|
||||||
'textwidth' is zero, 'wrapmargin' may be used. See also
|
'textwidth' is zero, 'wrapmargin' may be used. See also
|
||||||
'formatoptions' and |ins-textwidth|.
|
'formatoptions' and |ins-textwidth|.
|
||||||
|
When 'formatexpr' is set it will be used to break the line.
|
||||||
NOTE: This option is set to 0 when 'compatible' is set.
|
NOTE: This option is set to 0 when 'compatible' is set.
|
||||||
|
|
||||||
*'thesaurus'* *'tsr'*
|
*'thesaurus'* *'tsr'*
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
*spell.txt* For Vim version 7.0e. Last change: 2006 Apr 12
|
*spell.txt* For Vim version 7.0e. Last change: 2006 Apr 20
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@ -161,6 +161,10 @@ z= For the word under/after the cursor suggest correctly
|
|||||||
mode and when there are no line wraps). Click on the
|
mode and when there are no line wraps). Click on the
|
||||||
first line (the header) to cancel.
|
first line (the header) to cancel.
|
||||||
|
|
||||||
|
The suggestions listed normally replace a highlighted
|
||||||
|
bad word. Sometimes they include other text, in that
|
||||||
|
case the replaced text is also listed after a "<".
|
||||||
|
|
||||||
If a count is used that suggestion is used, without
|
If a count is used that suggestion is used, without
|
||||||
prompting. For example, "1z=" always takes the first
|
prompting. For example, "1z=" always takes the first
|
||||||
suggestion.
|
suggestion.
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
*syntax.txt* For Vim version 7.0e. Last change: 2006 Apr 15
|
*syntax.txt* For Vim version 7.0e. Last change: 2006 Apr 20
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@ -1606,12 +1606,22 @@ instead, and the name of your source file should be *.pike
|
|||||||
|
|
||||||
LUA *lua.vim* *ft-lua-syntax*
|
LUA *lua.vim* *ft-lua-syntax*
|
||||||
|
|
||||||
This syntax file may be used for Lua 4.0 and Lua 5.0 (default). If you are
|
This syntax file may be used for Lua 4.0, Lua 5.0 or Lua 5.1 (the latter is
|
||||||
programming in Lua 4.0, use this: >
|
the default). You can select one of these versions using the global variables
|
||||||
|
lua_version and lua_subversion. For example, to activate Lua
|
||||||
|
4.0 syntax highlighting, use this command: >
|
||||||
|
|
||||||
:let lua_version = 4
|
:let lua_version = 4
|
||||||
|
|
||||||
If lua_version variable doesn't exist, it is set to 5.
|
If you are using Lua 5.0, use these commands: >
|
||||||
|
|
||||||
|
:let lua_version = 5
|
||||||
|
:let lua_subversion = 0
|
||||||
|
|
||||||
|
To restore highlighting for Lua 5.1: >
|
||||||
|
|
||||||
|
:let lua_version = 5
|
||||||
|
:let lua_subversion = 1
|
||||||
|
|
||||||
|
|
||||||
MAIL *mail.vim* *ft-mail.vim*
|
MAIL *mail.vim* *ft-mail.vim*
|
||||||
@ -2765,7 +2775,7 @@ DEFINING KEYWORDS *:syn-keyword*
|
|||||||
:syntax keyword Type contained int long char
|
:syntax keyword Type contained int long char
|
||||||
:syntax keyword Type int long contained char
|
:syntax keyword Type int long contained char
|
||||||
:syntax keyword Type int long char contained
|
:syntax keyword Type int long char contained
|
||||||
< *E747*
|
< *E789*
|
||||||
When you have a keyword with an optional tail, like Ex commands in
|
When you have a keyword with an optional tail, like Ex commands in
|
||||||
Vim, you can put the optional characters inside [], to define all the
|
Vim, you can put the optional characters inside [], to define all the
|
||||||
variations at once: >
|
variations at once: >
|
||||||
|
@ -3959,7 +3959,6 @@ E744 netbeans.txt /*E744*
|
|||||||
E745 eval.txt /*E745*
|
E745 eval.txt /*E745*
|
||||||
E746 eval.txt /*E746*
|
E746 eval.txt /*E746*
|
||||||
E747 editing.txt /*E747*
|
E747 editing.txt /*E747*
|
||||||
E747 syntax.txt /*E747*
|
|
||||||
E748 repeat.txt /*E748*
|
E748 repeat.txt /*E748*
|
||||||
E749 eval.txt /*E749*
|
E749 eval.txt /*E749*
|
||||||
E75 vi_diff.txt /*E75*
|
E75 vi_diff.txt /*E75*
|
||||||
@ -4005,6 +4004,7 @@ E785 eval.txt /*E785*
|
|||||||
E786 eval.txt /*E786*
|
E786 eval.txt /*E786*
|
||||||
E787 diff.txt /*E787*
|
E787 diff.txt /*E787*
|
||||||
E788 autocmd.txt /*E788*
|
E788 autocmd.txt /*E788*
|
||||||
|
E789 syntax.txt /*E789*
|
||||||
E79 message.txt /*E79*
|
E79 message.txt /*E79*
|
||||||
E80 message.txt /*E80*
|
E80 message.txt /*E80*
|
||||||
E800 arabic.txt /*E800*
|
E800 arabic.txt /*E800*
|
||||||
@ -4264,6 +4264,7 @@ W16 message.txt /*W16*
|
|||||||
W17 arabic.txt /*W17*
|
W17 arabic.txt /*W17*
|
||||||
W18 syntax.txt /*W18*
|
W18 syntax.txt /*W18*
|
||||||
WORD motion.txt /*WORD*
|
WORD motion.txt /*WORD*
|
||||||
|
WWW intro.txt /*WWW*
|
||||||
Win32 os_win32.txt /*Win32*
|
Win32 os_win32.txt /*Win32*
|
||||||
WinEnter autocmd.txt /*WinEnter*
|
WinEnter autocmd.txt /*WinEnter*
|
||||||
WinLeave autocmd.txt /*WinLeave*
|
WinLeave autocmd.txt /*WinLeave*
|
||||||
@ -5314,6 +5315,7 @@ ft-python-syntax syntax.txt /*ft-python-syntax*
|
|||||||
ft-quake-syntax syntax.txt /*ft-quake-syntax*
|
ft-quake-syntax syntax.txt /*ft-quake-syntax*
|
||||||
ft-readline-syntax syntax.txt /*ft-readline-syntax*
|
ft-readline-syntax syntax.txt /*ft-readline-syntax*
|
||||||
ft-rexx-syntax syntax.txt /*ft-rexx-syntax*
|
ft-rexx-syntax syntax.txt /*ft-rexx-syntax*
|
||||||
|
ft-ruby-omni insert.txt /*ft-ruby-omni*
|
||||||
ft-ruby-syntax syntax.txt /*ft-ruby-syntax*
|
ft-ruby-syntax syntax.txt /*ft-ruby-syntax*
|
||||||
ft-scheme-syntax syntax.txt /*ft-scheme-syntax*
|
ft-scheme-syntax syntax.txt /*ft-scheme-syntax*
|
||||||
ft-sdl-syntax syntax.txt /*ft-sdl-syntax*
|
ft-sdl-syntax syntax.txt /*ft-sdl-syntax*
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
*todo.txt* For Vim version 7.0e. Last change: 2006 Apr 19
|
*todo.txt* For Vim version 7.0e. Last change: 2006 Apr 20
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@ -30,14 +30,13 @@ be worked on, but only if you sponsor Vim development. See |sponsor|.
|
|||||||
*known-bugs*
|
*known-bugs*
|
||||||
-------------------- Known bugs and current work -----------------------
|
-------------------- Known bugs and current work -----------------------
|
||||||
|
|
||||||
Hang in omni completion when 'lines' is 6. (dtsfan)
|
For a tooltip of at GUI tab label we need a new field. Also 'guitabtip'?
|
||||||
|
|
||||||
Crash in "z=" when the change triggers checking out the file, FileChangedRO
|
Crash in "z=" when the change triggers checking out the file, FileChangedRO
|
||||||
event. Problem in move_lines()? FileChangedShell also involved? (Neil Bird)
|
event. Problem in move_lines()? FileChangedShell also involved? (Neil Bird)
|
||||||
Added a few checks for valid buffer, did that help?
|
Added a few checks for valid buffer, did that help?
|
||||||
|
|
||||||
Check findoption() return value.
|
Fix coverity false positives?
|
||||||
Other coverity false positives?
|
|
||||||
|
|
||||||
Add more tests for all new functionality in Vim 7. Especially new functions.
|
Add more tests for all new functionality in Vim 7. Especially new functions.
|
||||||
|
|
||||||
@ -1086,6 +1085,7 @@ User Friendlier:
|
|||||||
Tab pages:
|
Tab pages:
|
||||||
9 GUI implementation for the tab pages line for other systems.
|
9 GUI implementation for the tab pages line for other systems.
|
||||||
8 Make GUI menu in tab pages line configurable. Like the popup menu.
|
8 Make GUI menu in tab pages line configurable. Like the popup menu.
|
||||||
|
8 balloons for the tab page labels that are shortened to show the full path.
|
||||||
8 :tabmove +N move tab page N pages forward
|
8 :tabmove +N move tab page N pages forward
|
||||||
8 :tabmove -N move tab page N pages backward
|
8 :tabmove -N move tab page N pages backward
|
||||||
7 :tabdup duplicate the tab with all its windows.
|
7 :tabdup duplicate the tab with all its windows.
|
||||||
@ -2009,7 +2009,8 @@ Autocommands:
|
|||||||
Error - When an error happens
|
Error - When an error happens
|
||||||
NormalEnter - Entering Normal mode
|
NormalEnter - Entering Normal mode
|
||||||
ReplaceEnter - Entering Replace mode
|
ReplaceEnter - Entering Replace mode
|
||||||
CmdEnter - Entering Cmdline mode
|
CmdEnter - Entering Cmdline mode (with type of cmdline to allow
|
||||||
|
different mapping)
|
||||||
VisualEnter - Entering Visual mode
|
VisualEnter - Entering Visual mode
|
||||||
*Leave - Leaving a mode (in pair with the above *Enter)
|
*Leave - Leaving a mode (in pair with the above *Enter)
|
||||||
VimLeaveCheck - Before Vim decides to exit, so that it can be cancelled
|
VimLeaveCheck - Before Vim decides to exit, so that it can be cancelled
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
*version7.txt* For Vim version 7.0e. Last change: 2006 Apr 19
|
*version7.txt* For Vim version 7.0e. Last change: 2006 Apr 20
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@ -243,6 +243,7 @@ Currently supported languages:
|
|||||||
(X)HTML with CSS |ft-html-omni|
|
(X)HTML with CSS |ft-html-omni|
|
||||||
JavaScript |ft-javascript-omni|
|
JavaScript |ft-javascript-omni|
|
||||||
Python
|
Python
|
||||||
|
Ruby |ft-ruby-omni|
|
||||||
XML |ft-xml-omni|
|
XML |ft-xml-omni|
|
||||||
any language wih syntax highligting |ft-syntax-omni|
|
any language wih syntax highligting |ft-syntax-omni|
|
||||||
|
|
||||||
@ -2559,4 +2560,14 @@ The taglist() function could hang on a tags line with a non-ASCII character.
|
|||||||
Win32: When 'encoding' differs from the system encoding tab page labels with
|
Win32: When 'encoding' differs from the system encoding tab page labels with
|
||||||
non-ASCII characters looked wrong. (Yegappan Lakshmanan)
|
non-ASCII characters looked wrong. (Yegappan Lakshmanan)
|
||||||
|
|
||||||
|
Motif: building failed when Xm/Notebook.h doesn't exist. Added a configure
|
||||||
|
check, disable GUI tabline when it's missing.
|
||||||
|
|
||||||
|
Mac: When compiled without multi-byte feature the clipboard didn't work.
|
||||||
|
|
||||||
|
It was possible to switch to another tab page when the cmdline window is open.
|
||||||
|
|
||||||
|
Completion could hang when 'lines' is 6 and a preview window was opened.
|
||||||
|
|
||||||
|
|
||||||
vim:tw=78:ts=8:ft=help:norl:
|
vim:tw=78:ts=8:ft=help:norl:
|
||||||
|
@ -31,7 +31,7 @@
|
|||||||
! REP l·l l
|
! REP l·l l
|
||||||
|
|
||||||
*** ca_ES.orig.dic Sat Aug 13 18:33:44 2005
|
*** ca_ES.orig.dic Sat Aug 13 18:33:44 2005
|
||||||
--- ca_ES.dic Thu Jan 12 21:55:39 2006
|
--- ca_ES.dic Thu Apr 20 20:31:16 2006
|
||||||
***************
|
***************
|
||||||
*** 1,2 ****
|
*** 1,2 ****
|
||||||
! 149661
|
! 149661
|
||||||
|
@ -24,7 +24,7 @@
|
|||||||
+
|
+
|
||||||
SFX J Y 12
|
SFX J Y 12
|
||||||
*** es_ES.orig.dic Thu Aug 25 19:19:44 2005
|
*** es_ES.orig.dic Thu Aug 25 19:19:44 2005
|
||||||
--- es_ES.dic Thu Aug 25 20:18:55 2005
|
--- es_ES.dic Thu Apr 20 20:30:24 2006
|
||||||
***************
|
***************
|
||||||
*** 485,487 ****
|
*** 485,487 ****
|
||||||
acercóse
|
acercóse
|
||||||
@ -74,8 +74,14 @@
|
|||||||
inadecuación/S
|
inadecuación/S
|
||||||
--- 25126,25127 ----
|
--- 25126,25127 ----
|
||||||
***************
|
***************
|
||||||
*** 28007,28009 ****
|
*** 28008,28010 ****
|
||||||
librancista/S
|
|
||||||
- líbranos
|
|
||||||
líbranos
|
líbranos
|
||||||
--- 27999,28000 ----
|
- líbranos
|
||||||
|
libranza/S
|
||||||
|
--- 28000,28001 ----
|
||||||
|
***************
|
||||||
|
*** 48480,48481 ****
|
||||||
|
--- 48471,48473 ----
|
||||||
|
xilotila/S
|
||||||
|
+ y
|
||||||
|
ya
|
||||||
|
@ -1,9 +1,12 @@
|
|||||||
" Vim syntax file
|
" Vim syntax file
|
||||||
" Language: BIND 8.x zone files (RFC1035)
|
" Language: BIND zone files (RFC1035)
|
||||||
" Maintainer: glory hump <rnd@web-drive.ru>
|
" Maintainer: Julian Mehnle <julian@mehnle.net>
|
||||||
" Last change: Thu Apr 26 02:16:18 SAMST 2001
|
" URL: http://www.mehnle.net/source/odds+ends/vim/syntax/
|
||||||
" Filenames: /var/named/*
|
" Last Change: Thu 2006-04-20 12:30:45 UTC
|
||||||
" URL: http://rnd.web-drive.ru/vim/syntax/bindzone.vim
|
"
|
||||||
|
" Based on an earlier version by Вячеслав Горбанев (Slava Gorbanev), with
|
||||||
|
" heavy modifications.
|
||||||
|
"
|
||||||
" $Id$
|
" $Id$
|
||||||
|
|
||||||
" For version 5.x: Clear all syntax items
|
" For version 5.x: Clear all syntax items
|
||||||
@ -16,54 +19,55 @@ endif
|
|||||||
|
|
||||||
syn case match
|
syn case match
|
||||||
|
|
||||||
if version >= 600
|
" Directives
|
||||||
setlocal iskeyword=.,-,48-58,A-Z,a-z,_
|
syn region zoneRRecord start=/^/ end=/$/ contains=zoneOwnerName,zoneSpecial,zoneTTL,zoneClass,zoneRRType,zoneComment,zoneUnknown
|
||||||
else
|
|
||||||
set iskeyword=.,-,48-58,A-Z,a-z,_
|
|
||||||
endif
|
|
||||||
|
|
||||||
|
syn match zoneDirective /^\$ORIGIN\s\+/ nextgroup=zoneOrigin,zoneUnknown
|
||||||
|
syn match zoneDirective /^\$TTL\s\+/ nextgroup=zoneNumber,zoneUnknown
|
||||||
|
syn match zoneDirective /^\$INCLUDE\s\+/ nextgroup=zoneText,zoneUnknown
|
||||||
|
syn match zoneDirective /^\$GENERATE\s/
|
||||||
|
|
||||||
" Master File Format (rfc 1035)
|
syn match zoneUnknown contained /\S\+/
|
||||||
|
|
||||||
" directives
|
syn match zoneOwnerName contained /^[^[:space:]!"#$%&'()*+,\/:;<=>?@[\]\^`{|}~]\+\(\s\|;\)\@=/ nextgroup=zoneTTL,zoneClass,zoneRRType skipwhite
|
||||||
syn region zoneRRecord start=+^+ end=+$+ contains=zoneLHSDomain,zoneLHSIP,zoneIllegalDom,zoneWhitespace,zoneComment,zoneParen,zoneSpecial
|
syn match zoneOrigin contained /[^[:space:]!"#$%&'()*+,\/:;<=>?@[\]\^`{|}~]\+\(\s\|;\|$\)\@=/
|
||||||
syn match zoneDirective /\$ORIGIN\s\+/ nextgroup=zoneDomain,zoneIllegalDom
|
syn match zoneDomain contained /[^[:space:]!"#$%&'()*+,\/:;<=>?@[\]\^`{|}~]\+\(\s\|;\|$\)\@=/
|
||||||
syn match zoneDirective /\$TTL\s\+/ nextgroup=zoneTTL
|
|
||||||
syn match zoneDirective /\$INCLUDE\s\+/
|
|
||||||
syn match zoneDirective /\$GENERATE\s/
|
|
||||||
|
|
||||||
syn match zoneWhitespace contained /^\s\+/ nextgroup=zoneTTL,zoneClass,zoneRRType
|
syn match zoneSpecial contained /^[@*.]\s/
|
||||||
syn match zoneError "\s\+$"
|
syn match zoneTTL contained /\<\d[0-9HhWwDd]*\>/ nextgroup=zoneClass,zoneRRType skipwhite
|
||||||
syn match zoneSpecial contained /^[@.]\s\+/ nextgroup=zoneTTL,zoneClass,zoneRRType
|
syn keyword zoneClass contained IN CHAOS nextgroup=zoneRRType,zoneTTL skipwhite
|
||||||
syn match zoneSpecial contained /@$/
|
syn keyword zoneRRType contained A AAAA CNAME HINFO MX NS PTR SOA SRV TXT nextgroup=zoneRData skipwhite
|
||||||
|
syn match zoneRData contained /[^;]*/ contains=zoneDomain,zoneIPAddr,zoneIP6Addr,zoneText,zoneNumber,zoneParen,zoneUnknown
|
||||||
|
|
||||||
" domains and IPs
|
syn match zoneIPAddr contained /\<[0-9]\{1,3}\(\.[0-9]\{1,3}\)\{,3}\>/
|
||||||
syn match zoneLHSDomain contained /^[-0-9A-Za-z.]\+\s\+/ nextgroup=zoneTTL,zoneClass,zoneRRType
|
|
||||||
syn match zoneLHSIP contained /^[0-9]\{1,3}\(\.[0-9]\{1,3}\)\{,3}\s\+/ nextgroup=zoneTTL,zoneClass,zoneRRType
|
|
||||||
syn match zoneIPaddr contained /\<[0-9]\{1,3}\(\.[0-9]\{1,3}\)\{,3}\>/
|
|
||||||
syn match zoneDomain contained /\<[0-9A-Za-z][-0-9A-Za-z.]\+\>/
|
|
||||||
|
|
||||||
syn match zoneIllegalDom contained /\S*[^-A-Za-z0-9.[:space:]]\S*\>/
|
" Plain IPv6 address IPv6-embedded-IPv4 address
|
||||||
"syn match zoneIllegalDom contained /[0-9]\S*[-A-Za-z]\S*/
|
" 1111:2:3:4:5:6:7:8 1111:2:3:4:5:6:127.0.0.1
|
||||||
|
syn match zoneIP6Addr contained /\<\(\x\{1,4}:\)\{6}\(\x\{1,4}:\x\{1,4}\|\([0-2]\?\d\{1,2}\.\)\{3}[0-2]\?\d\{1,2}\)\>/
|
||||||
|
" ::[...:]8 ::[...:]127.0.0.1
|
||||||
|
syn match zoneIP6Addr contained /\s\@<=::\(\(\x\{1,4}:\)\{,6}\x\{1,4}\|\(\x\{1,4}:\)\{,5}\([0-2]\?\d\{1,2}\.\)\{3}[0-2]\?\d\{1,2}\)\>/
|
||||||
|
" 1111::[...:]8 1111::[...:]127.0.0.1
|
||||||
|
syn match zoneIP6Addr contained /\<\(\x\{1,4}:\)\{1}:\(\(\x\{1,4}:\)\{,5}\x\{1,4}\|\(\x\{1,4}:\)\{,4}\([0-2]\?\d\{1,2}\.\)\{3}[0-2]\?\d\{1,2}\)\>/
|
||||||
|
" 1111:2::[...:]8 1111:2::[...:]127.0.0.1
|
||||||
|
syn match zoneIP6Addr contained /\<\(\x\{1,4}:\)\{2}:\(\(\x\{1,4}:\)\{,4}\x\{1,4}\|\(\x\{1,4}:\)\{,3}\([0-2]\?\d\{1,2}\.\)\{3}[0-2]\?\d\{1,2}\)\>/
|
||||||
|
" 1111:2:3::[...:]8 1111:2:3::[...:]127.0.0.1
|
||||||
|
syn match zoneIP6Addr contained /\<\(\x\{1,4}:\)\{3}:\(\(\x\{1,4}:\)\{,3}\x\{1,4}\|\(\x\{1,4}:\)\{,2}\([0-2]\?\d\{1,2}\.\)\{3}[0-2]\?\d\{1,2}\)\>/
|
||||||
|
" 1111:2:3:4::[...:]8 1111:2:3:4::[...:]127.0.0.1
|
||||||
|
syn match zoneIP6Addr contained /\<\(\x\{1,4}:\)\{4}:\(\(\x\{1,4}:\)\{,2}\x\{1,4}\|\(\x\{1,4}:\)\{,1}\([0-2]\?\d\{1,2}\.\)\{3}[0-2]\?\d\{1,2}\)\>/
|
||||||
|
" 1111:2:3:4:5::[...:]8 1111:2:3:4:5::127.0.0.1
|
||||||
|
syn match zoneIP6Addr contained /\<\(\x\{1,4}:\)\{5}:\(\(\x\{1,4}:\)\{,1}\x\{1,4}\|\([0-2]\?\d\{1,2}\.\)\{3}[0-2]\?\d\{1,2}\)\>/
|
||||||
|
" 1111:2:3:4:5:6::8 -
|
||||||
|
syn match zoneIP6Addr contained /\<\(\x\{1,4}:\)\{6}:\x\{1,4}\>/
|
||||||
|
" 1111[:...]:: -
|
||||||
|
syn match zoneIP6Addr contained /\<\(\x\{1,4}:\)\{1,7}:\(\s\|;\|$\)\@=/
|
||||||
|
|
||||||
" keywords
|
syn match zoneText contained /"\([^"\\]\|\\.\)*"\(\s\|;\|$\)\@=/
|
||||||
syn keyword zoneClass IN CHAOS nextgroup=zoneRRType
|
syn match zoneNumber contained /\<[0-9]\+\(\s\|;\|$\)\@=/
|
||||||
|
syn match zoneSerial contained /\<[0-9]\{9,10}\(\s\|;\|$\)\@=/
|
||||||
|
|
||||||
syn match zoneTTL contained /\<[0-9HhWwDd]\+\s\+/ nextgroup=zoneClass,zoneRRType
|
syn match zoneErrParen /)/
|
||||||
syn match zoneRRType contained /\s*\<\(NS\|HINFO\)\s\+/ nextgroup=zoneSpecial,zoneDomain
|
syn region zoneParen contained start="(" end=")" contains=zoneSerial,zoneNumber,zoneComment
|
||||||
syn match zoneRRType contained /\s*\<CNAME\s\+/ nextgroup=zoneDomain,zoneSpecial
|
syn match zoneComment /;.*/
|
||||||
syn match zoneRRType contained /\s*\<SOA\s\+/ nextgroup=zoneDomain,zoneIllegalDom
|
|
||||||
syn match zoneRRType contained /\s*\<PTR\s\+/ nextgroup=zoneDomain,zoneIllegalDom
|
|
||||||
syn match zoneRRType contained /\s*\<MX\s\+/ nextgroup=zoneMailPrio
|
|
||||||
syn match zoneRRType contained /\s*\<A\s\+/ nextgroup=zoneIPaddr,zoneIllegalDom
|
|
||||||
|
|
||||||
" FIXME: catchup serial number
|
|
||||||
syn match zoneSerial contained /\<[0-9]\{9}\>/
|
|
||||||
|
|
||||||
syn match zoneMailPrio contained /\<[0-9]\+\s*/ nextgroup=zoneDomain,zoneIllegalDom
|
|
||||||
syn match zoneErrParen /)/
|
|
||||||
syn region zoneParen contained start=+(+ end=+)+ contains=zoneSerial,zoneTTL,zoneComment
|
|
||||||
syn match zoneComment ";.*"
|
|
||||||
|
|
||||||
" Define the default highlighting.
|
" Define the default highlighting.
|
||||||
" For version 5.7 and earlier: only when not done already
|
" For version 5.7 and earlier: only when not done already
|
||||||
@ -76,23 +80,31 @@ if version >= 508 || !exists("did_bind_zone_syn_inits")
|
|||||||
command -nargs=+ HiLink hi def link <args>
|
command -nargs=+ HiLink hi def link <args>
|
||||||
endif
|
endif
|
||||||
|
|
||||||
HiLink zoneComment Comment
|
HiLink zoneDirective Macro
|
||||||
HiLink zoneDirective Macro
|
|
||||||
HiLink zoneLHSDomain Statement
|
HiLink zoneUnknown Error
|
||||||
HiLink zoneLHSIP Statement
|
|
||||||
HiLink zoneClass Include
|
HiLink zoneOrigin Statement
|
||||||
HiLink zoneSpecial Special
|
HiLink zoneOwnerName Statement
|
||||||
HiLink zoneRRType Type
|
HiLink zoneDomain Identifier
|
||||||
HiLink zoneError Error
|
|
||||||
HiLink zoneErrParen Error
|
HiLink zoneSpecial Special
|
||||||
HiLink zoneIllegalDom Error
|
HiLink zoneTTL Constant
|
||||||
HiLink zoneSerial Todo
|
HiLink zoneClass Include
|
||||||
HiLink zoneIPaddr Number
|
HiLink zoneRRType Type
|
||||||
HiLink zoneDomain Identifier
|
|
||||||
|
HiLink zoneIPAddr Number
|
||||||
|
HiLink zoneIP6Addr Number
|
||||||
|
HiLink zoneText String
|
||||||
|
HiLink zoneNumber Number
|
||||||
|
HiLink zoneSerial Special
|
||||||
|
|
||||||
|
HiLink zoneErrParen Error
|
||||||
|
HiLink zoneComment Comment
|
||||||
|
|
||||||
delcommand HiLink
|
delcommand HiLink
|
||||||
endif
|
endif
|
||||||
|
|
||||||
let b:current_syntax = "bindzone"
|
let b:current_syntax = "bindzone"
|
||||||
|
|
||||||
" vim: ts=17
|
" vim:sts=2 sw=2
|
||||||
|
@ -1,10 +1,12 @@
|
|||||||
" Vim syntax file
|
" Vim syntax file
|
||||||
" Language: crontab
|
" Language: crontab
|
||||||
" Maintainer: John Hoelzel johnh51@users.sourceforge.net
|
" Maintainer: David Necas (Yeti) <yeti@physics.muni.cz>
|
||||||
" Maintainer: David Necas (Yeti) <yeti@physics.muni.cz>
|
" Original Maintainer: John Hoelzel johnh51@users.sourceforge.net
|
||||||
" Last Change: 2005-04-26
|
" License: This file can be redistribued and/or modified under the same terms
|
||||||
" Filenames: /tmp/crontab.* used by "crontab -e"
|
" as Vim itself.
|
||||||
" URL: http://trific.ath.cx/Ftp/vim/syntax/crontab.vim
|
" Filenames: /tmp/crontab.* used by "crontab -e"
|
||||||
|
" URL: http://trific.ath.cx/Ftp/vim/syntax/crontab.vim
|
||||||
|
" Last Change: 2006-04-20
|
||||||
"
|
"
|
||||||
" crontab line format:
|
" crontab line format:
|
||||||
" Minutes Hours Days Months Days_of_Week Commands # comments
|
" Minutes Hours Days Months Days_of_Week Commands # comments
|
||||||
@ -17,24 +19,23 @@ elseif exists("b:current_syntax")
|
|||||||
finish
|
finish
|
||||||
endif
|
endif
|
||||||
|
|
||||||
syntax match crontabMin "^\s*[-0-9/,.*]\+" nextgroup=crontabHr skipwhite
|
syntax match crontabMin "^\s*[-0-9/,.*]\+" nextgroup=crontabHr skipwhite
|
||||||
syntax match crontabHr "\s[-0-9/,.*]\+" nextgroup=crontabDay skipwhite contained
|
syntax match crontabHr "\s[-0-9/,.*]\+" nextgroup=crontabDay skipwhite contained
|
||||||
syntax match crontabDay "\s[-0-9/,.*]\+" nextgroup=crontabMnth skipwhite contained
|
syntax match crontabDay "\s[-0-9/,.*]\+" nextgroup=crontabMnth skipwhite contained
|
||||||
|
|
||||||
syntax match crontabMnth "\s[-a-z0-9/,.*]\+" nextgroup=crontabDow skipwhite contained
|
syntax match crontabMnth "\s[-a-z0-9/,.*]\+" nextgroup=crontabDow skipwhite contained
|
||||||
syntax keyword crontabMnth12 contained jan feb mar apr may jun jul aug sep oct nov dec
|
syntax keyword crontabMnth12 contained jan feb mar apr may jun jul aug sep oct nov dec
|
||||||
|
|
||||||
syntax match crontabDow "\s[-a-z0-9/,.*]\+" nextgroup=crontabCmd skipwhite contained
|
syntax match crontabDow "\s[-a-z0-9/,.*]\+" nextgroup=crontabCmd skipwhite contained
|
||||||
syntax keyword crontabDow7 contained sun mon tue wed thu fri sat
|
syntax keyword crontabDow7 contained sun mon tue wed thu fri sat
|
||||||
|
|
||||||
" syntax region crontabCmd start="\<[a-z0-9\/\(]" end="$" nextgroup=crontabCmnt skipwhite contained contains=crontabCmnt keepend
|
syntax region crontabCmd start="\S" end="$" skipwhite contained keepend contains=crontabPercent
|
||||||
|
syntax match crontabCmnt "^\s*#.*"
|
||||||
|
syntax match crontabPercent "[^\\]%.*"lc=1 contained
|
||||||
|
|
||||||
syntax region crontabCmd start="\S" end="$" nextgroup=crontabCmnt skipwhite contained keepend
|
syntax match crontabNick "^\s*@\(reboot\|yearly\|annually\|monthly\|weekly\|daily\|midnight\|hourly\)\>" nextgroup=crontabCmd skipwhite
|
||||||
syntax match crontabCmnt "^\s*#.*"
|
|
||||||
|
|
||||||
syntax match crontabNick "^\s*@\(reboot\|yearly\|annually\|monthly\|weekly\|daily\|midnight\|hourly\)\>" nextgroup=crontabCmd skipwhite
|
syntax match crontabVar "^\s*\k\w*\s*="me=e-1
|
||||||
|
|
||||||
syntax match crontabVar "^\s*\k\w*\s*="me=e-1
|
|
||||||
|
|
||||||
" Define the default highlighting.
|
" Define the default highlighting.
|
||||||
" For version 5.7 and earlier: only when not done already
|
" For version 5.7 and earlier: only when not done already
|
||||||
@ -63,9 +64,10 @@ if version >= 508 || !exists("did_crontab_syn_inits")
|
|||||||
|
|
||||||
HiLink crontabNick Special
|
HiLink crontabNick Special
|
||||||
HiLink crontabVar Identifier
|
HiLink crontabVar Identifier
|
||||||
|
HiLink crontabPercent Special
|
||||||
|
|
||||||
" comment out next line for to suppress unix commands coloring.
|
" comment out next line for to suppress unix commands coloring.
|
||||||
HiLink crontabCmd Type
|
HiLink crontabCmd Statement
|
||||||
|
|
||||||
HiLink crontabCmnt Comment
|
HiLink crontabCmnt Comment
|
||||||
|
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
" Vim syntax file
|
" Vim syntax file
|
||||||
" Language: Inform
|
" Language: Inform
|
||||||
" Maintainer: Stephen Thomas (informvim@stephenthomas.uklinux.net)
|
" Maintainer: Stephen Thomas (stephen@gowarthomas.com)
|
||||||
" URL: http://www.stephenthomas.uklinux.net/informvim
|
" URL: http://www.gowarthomas.com/informvim
|
||||||
" Last Change: 2004 May 16
|
" Last Change: 2006 April 20
|
||||||
|
|
||||||
" Quit when a syntax file was already loaded
|
" Quit when a syntax file was already loaded
|
||||||
if version < 600
|
if version < 600
|
||||||
|
@ -1,297 +1,299 @@
|
|||||||
" Vim syntax file
|
" Vim syntax file
|
||||||
" Language: Lua 4.0, Lua 5.0 and Lua 5.1
|
" Language: Lua 4.0, Lua 5.0 and Lua 5.1
|
||||||
" Maintainer: Marcus Aurelius Farias <marcus.cf 'at' bol.com.br>
|
" Maintainer: Marcus Aurelius Farias <marcus.cf 'at' bol com br>
|
||||||
" First Author: Carlos Augusto Teixeira Mendes <cmendes 'at' inf puc-rio br>
|
" First Author: Carlos Augusto Teixeira Mendes <cmendes 'at' inf puc-rio br>
|
||||||
" Last Change: 2006 Apr. 19
|
" Last Change: 2006 Apr 21
|
||||||
" Options: lua_version = 4 or 5
|
" Options: lua_version = 4 or 5
|
||||||
" lua_subversion = 0 (4.0, 5.0) or 1 (5.1)
|
" lua_subversion = 0 (4.0, 5.0) or 1 (5.1)
|
||||||
" default 5.1
|
" default 5.1
|
||||||
|
|
||||||
" For version 5.x: Clear all syntax items
|
" For version 5.x: Clear all syntax items
|
||||||
" For version 6.x: Quit when a syntax file was already loaded
|
" For version 6.x: Quit when a syntax file was already loaded
|
||||||
if version < 600
|
if version < 600
|
||||||
syntax clear
|
syntax clear
|
||||||
elseif exists("b:current_syntax")
|
elseif exists("b:current_syntax")
|
||||||
finish
|
finish
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if !exists("lua_version")
|
if !exists("lua_version")
|
||||||
" Default is lua 5.1
|
" Default is lua 5.1
|
||||||
let lua_version = 5
|
let lua_version = 5
|
||||||
let lua_subversion = 1
|
let lua_subversion = 1
|
||||||
elseif !exists("lua_subversion")
|
elseif !exists("lua_subversion")
|
||||||
" lua_version exists, but lua_subversion doesn't. So, set it to 0
|
" lua_version exists, but lua_subversion doesn't. So, set it to 0
|
||||||
let lua_subversion = 0
|
let lua_subversion = 0
|
||||||
endif
|
endif
|
||||||
|
|
||||||
syn case match
|
syn case match
|
||||||
|
|
||||||
" syncing method
|
" syncing method
|
||||||
syn sync minlines=100
|
syn sync minlines=100
|
||||||
|
|
||||||
" Comments
|
" Comments
|
||||||
syn keyword luaTodo contained TODO FIXME XXX
|
syn keyword luaTodo contained TODO FIXME XXX
|
||||||
syn match luaComment "--.*$" contains=luaTodo
|
syn match luaComment "--.*$" contains=luaTodo
|
||||||
if lua_version == 5 && lua_subversion == 0
|
if lua_version == 5 && lua_subversion == 0
|
||||||
syn region luaComment matchgroup=luaComment start="--\[\[" end="\]\]" contains=luaTodo,luaInnerComment
|
syn region luaComment matchgroup=luaComment start="--\[\[" end="\]\]" contains=luaTodo,luaInnerComment
|
||||||
syn region luaInnerComment contained transparent start="\[\[" end="\]\]"
|
syn region luaInnerComment contained transparent start="\[\[" end="\]\]"
|
||||||
elseif lua_version > 5 || (lua_version == 5 && lua_subversion >= 1)
|
elseif lua_version > 5 || (lua_version == 5 && lua_subversion >= 1)
|
||||||
" Comments in Lua 5.1: [[ ... ]], [=[ ... ]=], [===[ ... ]===], etc.
|
" Comments in Lua 5.1: --[[ ... ]], [=[ ... ]=], [===[ ... ]===], etc.
|
||||||
syn region luaComment matchgroup=luaComment start="--\[\z(=*\)\[" end="\]\z1\]"
|
syn region luaComment matchgroup=luaComment start="--\[\z(=*\)\[" end="\]\z1\]"
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" First line may start with #!
|
" First line may start with #!
|
||||||
syn match luaComment "\%^#!.*"
|
syn match luaComment "\%^#!.*"
|
||||||
|
|
||||||
" catch errors caused by wrong parenthesis and wrong curly brackets or
|
" catch errors caused by wrong parenthesis and wrong curly brackets or
|
||||||
" keywords placed outside their respective blocks
|
" keywords placed outside their respective blocks
|
||||||
|
|
||||||
syn region luaParen transparent start='(' end=')' contains=ALLBUT,luaError,luaTodo,luaSpecial,luaCond,luaCondElseif,luaCondEnd,luaCondStart,luaBlock,luaRepeatBlock,luaRepeat,luaStatement
|
syn region luaParen transparent start='(' end=')' contains=ALLBUT,luaError,luaTodo,luaSpecial,luaCond,luaCondElseif,luaCondEnd,luaCondStart,luaBlock,luaRepeatBlock,luaRepeat,luaStatement
|
||||||
syn match luaError ")"
|
syn match luaError ")"
|
||||||
syn match luaError "}"
|
syn match luaError "}"
|
||||||
syn match luaError "\<\%(end\|else\|elseif\|then\|until\|in\)\>"
|
syn match luaError "\<\%(end\|else\|elseif\|then\|until\|in\)\>"
|
||||||
|
|
||||||
" Function declaration
|
" Function declaration
|
||||||
syn region luaFunctionBlock transparent matchgroup=luaFunction start="\<function\>" end="\<end\>" contains=ALLBUT,luaTodo,luaSpecial,luaCond,luaCondElseif,luaCondEnd,luaRepeat
|
syn region luaFunctionBlock transparent matchgroup=luaFunction start="\<function\>" end="\<end\>" contains=ALLBUT,luaTodo,luaSpecial,luaCond,luaCondElseif,luaCondEnd,luaRepeat
|
||||||
|
|
||||||
" if then else elseif end
|
" if then else elseif end
|
||||||
syn keyword luaCond contained else
|
syn keyword luaCond contained else
|
||||||
|
|
||||||
" then ... end
|
" then ... end
|
||||||
syn region luaCondEnd contained transparent matchgroup=luaCond start="\<then\>" end="\<end\>" contains=ALLBUT,luaTodo,luaSpecial,luaRepeat
|
syn region luaCondEnd contained transparent matchgroup=luaCond start="\<then\>" end="\<end\>" contains=ALLBUT,luaTodo,luaSpecial,luaRepeat
|
||||||
|
|
||||||
" elseif ... then
|
" elseif ... then
|
||||||
syn region luaCondElseif contained transparent matchgroup=luaCond start="\<elseif\>" end="\<then\>" contains=ALLBUT,luaTodo,luaSpecial,luaCond,luaCondElseif,luaCondEnd,luaRepeat
|
syn region luaCondElseif contained transparent matchgroup=luaCond start="\<elseif\>" end="\<then\>" contains=ALLBUT,luaTodo,luaSpecial,luaCond,luaCondElseif,luaCondEnd,luaRepeat
|
||||||
|
|
||||||
" if ... then
|
" if ... then
|
||||||
syn region luaCondStart transparent matchgroup=luaCond start="\<if\>" end="\<then\>"me=e-4 contains=ALLBUT,luaTodo,luaSpecial,luaCond,luaCondElseif,luaCondEnd,luaRepeat nextgroup=luaCondEnd skipwhite skipempty
|
syn region luaCondStart transparent matchgroup=luaCond start="\<if\>" end="\<then\>"me=e-4 contains=ALLBUT,luaTodo,luaSpecial,luaCond,luaCondElseif,luaCondEnd,luaRepeat nextgroup=luaCondEnd skipwhite skipempty
|
||||||
|
|
||||||
" do ... end
|
" do ... end
|
||||||
syn region luaBlock transparent matchgroup=luaStatement start="\<do\>" end="\<end\>" contains=ALLBUT,luaTodo,luaSpecial,luaCond,luaCondElseif,luaCondEnd,luaRepeat
|
syn region luaBlock transparent matchgroup=luaStatement start="\<do\>" end="\<end\>" contains=ALLBUT,luaTodo,luaSpecial,luaCond,luaCondElseif,luaCondEnd,luaRepeat
|
||||||
|
|
||||||
" repeat ... until
|
" repeat ... until
|
||||||
syn region luaRepeatBlock transparent matchgroup=luaRepeat start="\<repeat\>" end="\<until\>" contains=ALLBUT,luaTodo,luaSpecial,luaCond,luaCondElseif,luaCondEnd,luaRepeat
|
syn region luaRepeatBlock transparent matchgroup=luaRepeat start="\<repeat\>" end="\<until\>" contains=ALLBUT,luaTodo,luaSpecial,luaCond,luaCondElseif,luaCondEnd,luaRepeat
|
||||||
|
|
||||||
" while ... do
|
" while ... do
|
||||||
syn region luaRepeatBlock transparent matchgroup=luaRepeat start="\<while\>" end="\<do\>"me=e-2 contains=ALLBUT,luaTodo,luaSpecial,luaCond,luaCondElseif,luaCondEnd,luaRepeat nextgroup=luaBlock skipwhite skipempty
|
syn region luaRepeatBlock transparent matchgroup=luaRepeat start="\<while\>" end="\<do\>"me=e-2 contains=ALLBUT,luaTodo,luaSpecial,luaCond,luaCondElseif,luaCondEnd,luaRepeat nextgroup=luaBlock skipwhite skipempty
|
||||||
|
|
||||||
" for ... do and for ... in ... do
|
" for ... do and for ... in ... do
|
||||||
syn region luaRepeatBlock transparent matchgroup=luaRepeat start="\<for\>" end="\<do\>"me=e-2 contains=ALLBUT,luaTodo,luaSpecial,luaCond,luaCondElseif,luaCondEnd nextgroup=luaBlock skipwhite skipempty
|
syn region luaRepeatBlock transparent matchgroup=luaRepeat start="\<for\>" end="\<do\>"me=e-2 contains=ALLBUT,luaTodo,luaSpecial,luaCond,luaCondElseif,luaCondEnd nextgroup=luaBlock skipwhite skipempty
|
||||||
|
|
||||||
" Following 'else' example. This is another item to those
|
" Following 'else' example. This is another item to those
|
||||||
" contains=ALLBUT,... because only the 'for' luaRepeatBlock contains it.
|
" contains=ALLBUT,... because only the 'for' luaRepeatBlock contains it.
|
||||||
syn keyword luaRepeat contained in
|
syn keyword luaRepeat contained in
|
||||||
|
|
||||||
" other keywords
|
" other keywords
|
||||||
syn keyword luaStatement return local break
|
syn keyword luaStatement return local break
|
||||||
syn keyword luaOperator and or not
|
syn keyword luaOperator and or not
|
||||||
syn keyword luaConstant nil
|
syn keyword luaConstant nil
|
||||||
if lua_version > 4
|
if lua_version > 4
|
||||||
syn keyword luaConstant true false
|
syn keyword luaConstant true false
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" Strings
|
" Strings
|
||||||
syn match luaSpecial contained "\\[\\abfnrtv\'\"[\]]\|\\\d\{,3}"
|
if lua_version < 5
|
||||||
syn region luaString start=+'+ end=+'+ skip=+\\\\\|\\'+ contains=luaSpecial
|
syn match luaSpecial contained "\\[\\abfnrtv\'\"]\|\\\d\{,3}"
|
||||||
syn region luaString start=+"+ end=+"+ skip=+\\\\\|\\"+ contains=luaSpecial
|
elseif lua_version == 5 && lua_subversion == 0
|
||||||
" Nested strings
|
syn match luaSpecial contained "\\[\\abfnrtv\'\"[\]]\|\\\d\{,3}"
|
||||||
if (lua_version == 5 && lua_subversion == 0) || lua_version < 5
|
syn region luaString2 matchgroup=luaString start=+\[\[+ end=+\]\]+ contains=luaString2
|
||||||
syn region luaString2 matchgroup=luaString start=+\[\[+ end=+\]\]+ contains=luaString2
|
elseif lua_version > 5 || (lua_version == 5 && lua_subversion >= 1)
|
||||||
elseif lua_version > 5 || (lua_version == 5 && lua_subversion >= 1)
|
syn match luaSpecial contained "\\[\\abfnrtv\'\"]\|\\\d\{,3}"
|
||||||
syn region luaString2 matchgroup=luaString start="\[\z(=*\)\[" end="\]\z1\]"
|
syn region luaString2 matchgroup=luaString start="\[\z(=*\)\[" end="\]\z1\]"
|
||||||
endif
|
endif
|
||||||
|
syn region luaString start=+'+ end=+'+ skip=+\\\\\|\\'+ contains=luaSpecial
|
||||||
" integer number
|
syn region luaString start=+"+ end=+"+ skip=+\\\\\|\\"+ contains=luaSpecial
|
||||||
syn match luaNumber "\<[0-9]\+\>"
|
|
||||||
" floating point number, with dot, optional exponent
|
" integer number
|
||||||
syn match luaFloat "\<[0-9]\+\.[0-9]*\%(e[-+]\=[0-9]\+\)\=\>"
|
syn match luaNumber "\<[0-9]\+\>"
|
||||||
" floating point number, starting with a dot, optional exponent
|
" floating point number, with dot, optional exponent
|
||||||
syn match luaFloat "\.[0-9]\+\%(e[-+]\=[0-9]\+\)\=\>"
|
syn match luaFloat "\<[0-9]\+\.[0-9]*\%(e[-+]\=[0-9]\+\)\=\>"
|
||||||
" floating point number, without dot, with exponent
|
" floating point number, starting with a dot, optional exponent
|
||||||
syn match luaFloat "\<[0-9]\+e[-+]\=[0-9]\+\>"
|
syn match luaFloat "\.[0-9]\+\%(e[-+]\=[0-9]\+\)\=\>"
|
||||||
|
" floating point number, without dot, with exponent
|
||||||
" tables
|
syn match luaFloat "\<[0-9]\+e[-+]\=[0-9]\+\>"
|
||||||
syn region luaTableBlock transparent matchgroup=luaTable start="{" end="}" contains=ALLBUT,luaTodo,luaSpecial,luaCond,luaCondElseif,luaCondEnd,luaCondStart,luaBlock,luaRepeatBlock,luaRepeat,luaStatement
|
|
||||||
|
" tables
|
||||||
syn keyword luaFunc assert collectgarbage dofile error gcinfo next
|
syn region luaTableBlock transparent matchgroup=luaTable start="{" end="}" contains=ALLBUT,luaTodo,luaSpecial,luaCond,luaCondElseif,luaCondEnd,luaCondStart,luaBlock,luaRepeatBlock,luaRepeat,luaStatement
|
||||||
syn keyword luaFunc print rawget rawset tonumber tostring type _VERSION
|
|
||||||
|
syn keyword luaFunc assert collectgarbage dofile error next
|
||||||
if lua_version == 4
|
syn keyword luaFunc print rawget rawset tonumber tostring type _VERSION
|
||||||
syn keyword luaFunc _ALERT _ERRORMESSAGE
|
|
||||||
syn keyword luaFunc call copytagmethods dostring
|
if lua_version == 4
|
||||||
syn keyword luaFunc foreach foreachi getglobal getn
|
syn keyword luaFunc _ALERT _ERRORMESSAGE gcinfo
|
||||||
syn keyword luaFunc gettagmethod globals newtag
|
syn keyword luaFunc call copytagmethods dostring
|
||||||
syn keyword luaFunc setglobal settag settagmethod sort
|
syn keyword luaFunc foreach foreachi getglobal getn
|
||||||
syn keyword luaFunc tag tinsert tremove
|
syn keyword luaFunc gettagmethod globals newtag
|
||||||
syn keyword luaFunc _INPUT _OUTPUT _STDIN _STDOUT _STDERR
|
syn keyword luaFunc setglobal settag settagmethod sort
|
||||||
syn keyword luaFunc openfile closefile flush seek
|
syn keyword luaFunc tag tinsert tremove
|
||||||
syn keyword luaFunc setlocale execute remove rename tmpname
|
syn keyword luaFunc _INPUT _OUTPUT _STDIN _STDOUT _STDERR
|
||||||
syn keyword luaFunc getenv date clock exit
|
syn keyword luaFunc openfile closefile flush seek
|
||||||
syn keyword luaFunc readfrom writeto appendto read write
|
syn keyword luaFunc setlocale execute remove rename tmpname
|
||||||
syn keyword luaFunc PI abs sin cos tan asin
|
syn keyword luaFunc getenv date clock exit
|
||||||
syn keyword luaFunc acos atan atan2 ceil floor
|
syn keyword luaFunc readfrom writeto appendto read write
|
||||||
syn keyword luaFunc mod frexp ldexp sqrt min max log
|
syn keyword luaFunc PI abs sin cos tan asin
|
||||||
syn keyword luaFunc log10 exp deg rad random
|
syn keyword luaFunc acos atan atan2 ceil floor
|
||||||
syn keyword luaFunc randomseed strlen strsub strlower strupper
|
syn keyword luaFunc mod frexp ldexp sqrt min max log
|
||||||
syn keyword luaFunc strchar strrep ascii strbyte
|
syn keyword luaFunc log10 exp deg rad random
|
||||||
syn keyword luaFunc format strfind gsub
|
syn keyword luaFunc randomseed strlen strsub strlower strupper
|
||||||
syn keyword luaFunc getinfo getlocal setlocal setcallhook setlinehook
|
syn keyword luaFunc strchar strrep ascii strbyte
|
||||||
elseif lua_version == 5
|
syn keyword luaFunc format strfind gsub
|
||||||
" Not sure if all these functions need to be highlighted...
|
syn keyword luaFunc getinfo getlocal setlocal setcallhook setlinehook
|
||||||
syn keyword luaFunc _G getfenv getmetatable ipairs loadfile
|
elseif lua_version == 5
|
||||||
syn keyword luaFunc loadstring pairs pcall rawequal
|
" Not sure if all these functions need to be highlighted...
|
||||||
syn keyword luaFunc require setfenv setmetatable unpack xpcall
|
syn keyword luaFunc _G getfenv getmetatable ipairs loadfile
|
||||||
if lua_subversion == 0
|
syn keyword luaFunc loadstring pairs pcall rawequal
|
||||||
syn keyword luaFunc loadlib LUA_PATH _LOADED _REQUIREDNAME
|
syn keyword luaFunc require setfenv setmetatable unpack xpcall
|
||||||
elseif lua_subversion == 1
|
if lua_subversion == 0
|
||||||
syn keyword luaFunc load module select
|
syn keyword luaFunc gcinfo loadlib LUA_PATH _LOADED _REQUIREDNAME
|
||||||
syn match luaFunc /package\.cpath/
|
elseif lua_subversion == 1
|
||||||
syn match luaFunc /package\.loaded/
|
syn keyword luaFunc load module select
|
||||||
syn match luaFunc /package\.loadlib/
|
syn match luaFunc /package\.cpath/
|
||||||
syn match luaFunc /package\.path/
|
syn match luaFunc /package\.loaded/
|
||||||
syn match luaFunc /package\.preload/
|
syn match luaFunc /package\.loadlib/
|
||||||
syn match luaFunc /package\.seeall/
|
syn match luaFunc /package\.path/
|
||||||
syn match luaFunc /coroutine\.running/
|
syn match luaFunc /package\.preload/
|
||||||
endif
|
syn match luaFunc /package\.seeall/
|
||||||
syn match luaFunc /coroutine\.create/
|
syn match luaFunc /coroutine\.running/
|
||||||
syn match luaFunc /coroutine\.resume/
|
endif
|
||||||
syn match luaFunc /coroutine\.status/
|
syn match luaFunc /coroutine\.create/
|
||||||
syn match luaFunc /coroutine\.wrap/
|
syn match luaFunc /coroutine\.resume/
|
||||||
syn match luaFunc /coroutine\.yield/
|
syn match luaFunc /coroutine\.status/
|
||||||
syn match luaFunc /string\.byte/
|
syn match luaFunc /coroutine\.wrap/
|
||||||
syn match luaFunc /string\.char/
|
syn match luaFunc /coroutine\.yield/
|
||||||
syn match luaFunc /string\.dump/
|
syn match luaFunc /string\.byte/
|
||||||
syn match luaFunc /string\.find/
|
syn match luaFunc /string\.char/
|
||||||
syn match luaFunc /string\.len/
|
syn match luaFunc /string\.dump/
|
||||||
syn match luaFunc /string\.lower/
|
syn match luaFunc /string\.find/
|
||||||
syn match luaFunc /string\.rep/
|
syn match luaFunc /string\.len/
|
||||||
syn match luaFunc /string\.sub/
|
syn match luaFunc /string\.lower/
|
||||||
syn match luaFunc /string\.upper/
|
syn match luaFunc /string\.rep/
|
||||||
syn match luaFunc /string\.format/
|
syn match luaFunc /string\.sub/
|
||||||
syn match luaFunc /string\.gsub/
|
syn match luaFunc /string\.upper/
|
||||||
if lua_subversion == 0
|
syn match luaFunc /string\.format/
|
||||||
syn match luaFunc /string\.gfind/
|
syn match luaFunc /string\.gsub/
|
||||||
elseif lua_subversion == 1
|
if lua_subversion == 0
|
||||||
syn match luaFunc /string\.gmatch/
|
syn match luaFunc /string\.gfind/
|
||||||
syn match luaFunc /string\.match/
|
syn match luaFunc /table\.getn/
|
||||||
syn match luaFunc /string\.reverse/
|
syn match luaFunc /table\.setn/
|
||||||
syn match luaFunc /table\.maxn/
|
syn match luaFunc /table\.foreach/
|
||||||
endif
|
syn match luaFunc /table\.foreachi/
|
||||||
syn match luaFunc /table\.concat/
|
elseif lua_subversion == 1
|
||||||
syn match luaFunc /table\.foreach/
|
syn match luaFunc /string\.gmatch/
|
||||||
syn match luaFunc /table\.foreachi/
|
syn match luaFunc /string\.match/
|
||||||
syn match luaFunc /table\.getn/
|
syn match luaFunc /string\.reverse/
|
||||||
syn match luaFunc /table\.sort/
|
syn match luaFunc /table\.maxn/
|
||||||
syn match luaFunc /table\.insert/
|
endif
|
||||||
syn match luaFunc /table\.remove/
|
syn match luaFunc /table\.concat/
|
||||||
syn match luaFunc /table\.setn/
|
syn match luaFunc /table\.sort/
|
||||||
syn match luaFunc /math\.abs/
|
syn match luaFunc /table\.insert/
|
||||||
syn match luaFunc /math\.acos/
|
syn match luaFunc /table\.remove/
|
||||||
syn match luaFunc /math\.asin/
|
syn match luaFunc /math\.abs/
|
||||||
syn match luaFunc /math\.atan/
|
syn match luaFunc /math\.acos/
|
||||||
syn match luaFunc /math\.atan2/
|
syn match luaFunc /math\.asin/
|
||||||
syn match luaFunc /math\.ceil/
|
syn match luaFunc /math\.atan/
|
||||||
syn match luaFunc /math\.sin/
|
syn match luaFunc /math\.atan2/
|
||||||
syn match luaFunc /math\.cos/
|
syn match luaFunc /math\.ceil/
|
||||||
syn match luaFunc /math\.tan/
|
syn match luaFunc /math\.sin/
|
||||||
syn match luaFunc /math\.deg/
|
syn match luaFunc /math\.cos/
|
||||||
syn match luaFunc /math\.exp/
|
syn match luaFunc /math\.tan/
|
||||||
syn match luaFunc /math\.floor/
|
syn match luaFunc /math\.deg/
|
||||||
syn match luaFunc /math\.log/
|
syn match luaFunc /math\.exp/
|
||||||
syn match luaFunc /math\.log10/
|
syn match luaFunc /math\.floor/
|
||||||
syn match luaFunc /math\.max/
|
syn match luaFunc /math\.log/
|
||||||
syn match luaFunc /math\.min/
|
syn match luaFunc /math\.log10/
|
||||||
if lua_subversion == 0
|
syn match luaFunc /math\.max/
|
||||||
syn match luaFunc /math\.mod/
|
syn match luaFunc /math\.min/
|
||||||
elseif lua_subversion == 1
|
if lua_subversion == 0
|
||||||
syn match luaFunc /math\.fmod/
|
syn match luaFunc /math\.mod/
|
||||||
syn match luaFunc /math\.modf/
|
elseif lua_subversion == 1
|
||||||
syn match luaFunc /math\.cosh/
|
syn match luaFunc /math\.fmod/
|
||||||
syn match luaFunc /math\.sinh/
|
syn match luaFunc /math\.modf/
|
||||||
syn match luaFunc /math\.tanh/
|
syn match luaFunc /math\.cosh/
|
||||||
endif
|
syn match luaFunc /math\.sinh/
|
||||||
syn match luaFunc /math\.pow/
|
syn match luaFunc /math\.tanh/
|
||||||
syn match luaFunc /math\.rad/
|
endif
|
||||||
syn match luaFunc /math\.sqrt/
|
syn match luaFunc /math\.pow/
|
||||||
syn match luaFunc /math\.frexp/
|
syn match luaFunc /math\.rad/
|
||||||
syn match luaFunc /math\.ldexp/
|
syn match luaFunc /math\.sqrt/
|
||||||
syn match luaFunc /math\.random/
|
syn match luaFunc /math\.frexp/
|
||||||
syn match luaFunc /math\.randomseed/
|
syn match luaFunc /math\.ldexp/
|
||||||
syn match luaFunc /math\.pi/
|
syn match luaFunc /math\.random/
|
||||||
syn match luaFunc /io\.stdin/
|
syn match luaFunc /math\.randomseed/
|
||||||
syn match luaFunc /io\.stdout/
|
syn match luaFunc /math\.pi/
|
||||||
syn match luaFunc /io\.stderr/
|
syn match luaFunc /io\.stdin/
|
||||||
syn match luaFunc /io\.close/
|
syn match luaFunc /io\.stdout/
|
||||||
syn match luaFunc /io\.flush/
|
syn match luaFunc /io\.stderr/
|
||||||
syn match luaFunc /io\.input/
|
syn match luaFunc /io\.close/
|
||||||
syn match luaFunc /io\.lines/
|
syn match luaFunc /io\.flush/
|
||||||
syn match luaFunc /io\.open/
|
syn match luaFunc /io\.input/
|
||||||
syn match luaFunc /io\.output/
|
syn match luaFunc /io\.lines/
|
||||||
syn match luaFunc /io\.popen/
|
syn match luaFunc /io\.open/
|
||||||
syn match luaFunc /io\.read/
|
syn match luaFunc /io\.output/
|
||||||
syn match luaFunc /io\.tmpfile/
|
syn match luaFunc /io\.popen/
|
||||||
syn match luaFunc /io\.type/
|
syn match luaFunc /io\.read/
|
||||||
syn match luaFunc /io\.write/
|
syn match luaFunc /io\.tmpfile/
|
||||||
syn match luaFunc /os\.clock/
|
syn match luaFunc /io\.type/
|
||||||
syn match luaFunc /os\.date/
|
syn match luaFunc /io\.write/
|
||||||
syn match luaFunc /os\.difftime/
|
syn match luaFunc /os\.clock/
|
||||||
syn match luaFunc /os\.execute/
|
syn match luaFunc /os\.date/
|
||||||
syn match luaFunc /os\.exit/
|
syn match luaFunc /os\.difftime/
|
||||||
syn match luaFunc /os\.getenv/
|
syn match luaFunc /os\.execute/
|
||||||
syn match luaFunc /os\.remove/
|
syn match luaFunc /os\.exit/
|
||||||
syn match luaFunc /os\.rename/
|
syn match luaFunc /os\.getenv/
|
||||||
syn match luaFunc /os\.setlocale/
|
syn match luaFunc /os\.remove/
|
||||||
syn match luaFunc /os\.time/
|
syn match luaFunc /os\.rename/
|
||||||
syn match luaFunc /os\.tmpname/
|
syn match luaFunc /os\.setlocale/
|
||||||
syn match luaFunc /debug\.debug/
|
syn match luaFunc /os\.time/
|
||||||
syn match luaFunc /debug\.gethook/
|
syn match luaFunc /os\.tmpname/
|
||||||
syn match luaFunc /debug\.getinfo/
|
syn match luaFunc /debug\.debug/
|
||||||
syn match luaFunc /debug\.getlocal/
|
syn match luaFunc /debug\.gethook/
|
||||||
syn match luaFunc /debug\.getupvalue/
|
syn match luaFunc /debug\.getinfo/
|
||||||
syn match luaFunc /debug\.setlocal/
|
syn match luaFunc /debug\.getlocal/
|
||||||
syn match luaFunc /debug\.setupvalue/
|
syn match luaFunc /debug\.getupvalue/
|
||||||
syn match luaFunc /debug\.sethook/
|
syn match luaFunc /debug\.setlocal/
|
||||||
syn match luaFunc /debug\.traceback/
|
syn match luaFunc /debug\.setupvalue/
|
||||||
if lua_subversion == 1
|
syn match luaFunc /debug\.sethook/
|
||||||
syn match luaFunc /debug\.getfenv/
|
syn match luaFunc /debug\.traceback/
|
||||||
syn match luaFunc /debug\.getmetatable/
|
if lua_subversion == 1
|
||||||
syn match luaFunc /debug\.getregistry/
|
syn match luaFunc /debug\.getfenv/
|
||||||
syn match luaFunc /debug\.setfenv/
|
syn match luaFunc /debug\.getmetatable/
|
||||||
syn match luaFunc /debug\.setmetatable/
|
syn match luaFunc /debug\.getregistry/
|
||||||
endif
|
syn match luaFunc /debug\.setfenv/
|
||||||
endif
|
syn match luaFunc /debug\.setmetatable/
|
||||||
|
endif
|
||||||
" Define the default highlighting.
|
endif
|
||||||
" For version 5.7 and earlier: only when not done already
|
|
||||||
" For version 5.8 and later: only when an item doesn't have highlighting yet
|
" Define the default highlighting.
|
||||||
if version >= 508 || !exists("did_lua_syntax_inits")
|
" For version 5.7 and earlier: only when not done already
|
||||||
if version < 508
|
" For version 5.8 and later: only when an item doesn't have highlighting yet
|
||||||
let did_lua_syntax_inits = 1
|
if version >= 508 || !exists("did_lua_syntax_inits")
|
||||||
command -nargs=+ HiLink hi link <args>
|
if version < 508
|
||||||
else
|
let did_lua_syntax_inits = 1
|
||||||
command -nargs=+ HiLink hi def link <args>
|
command -nargs=+ HiLink hi link <args>
|
||||||
endif
|
else
|
||||||
|
command -nargs=+ HiLink hi def link <args>
|
||||||
HiLink luaStatement Statement
|
endif
|
||||||
HiLink luaRepeat Repeat
|
|
||||||
HiLink luaString String
|
HiLink luaStatement Statement
|
||||||
HiLink luaString2 String
|
HiLink luaRepeat Repeat
|
||||||
HiLink luaNumber Number
|
HiLink luaString String
|
||||||
HiLink luaFloat Float
|
HiLink luaString2 String
|
||||||
HiLink luaOperator Operator
|
HiLink luaNumber Number
|
||||||
HiLink luaConstant Constant
|
HiLink luaFloat Float
|
||||||
HiLink luaCond Conditional
|
HiLink luaOperator Operator
|
||||||
HiLink luaFunction Function
|
HiLink luaConstant Constant
|
||||||
HiLink luaComment Comment
|
HiLink luaCond Conditional
|
||||||
HiLink luaTodo Todo
|
HiLink luaFunction Function
|
||||||
HiLink luaTable Structure
|
HiLink luaComment Comment
|
||||||
HiLink luaError Error
|
HiLink luaTodo Todo
|
||||||
HiLink luaSpecial SpecialChar
|
HiLink luaTable Structure
|
||||||
HiLink luaFunc Identifier
|
HiLink luaError Error
|
||||||
|
HiLink luaSpecial SpecialChar
|
||||||
delcommand HiLink
|
HiLink luaFunc Identifier
|
||||||
endif
|
|
||||||
|
delcommand HiLink
|
||||||
let b:current_syntax = "lua"
|
endif
|
||||||
|
|
||||||
" vim: et ts=8
|
let b:current_syntax = "lua"
|
||||||
|
|
||||||
|
" vim: et ts=8
|
||||||
|
@ -143,8 +143,7 @@ is also available through the Platform SDK, |ms-platform-sdk|.
|
|||||||
Visual C++ 2005 Express Edition
|
Visual C++ 2005 Express Edition
|
||||||
-------------------------------
|
-------------------------------
|
||||||
|
|
||||||
Visual C++ 2005 Express Edition can be downloaded for free
|
Visual C++ 2005 Express Edition can be downloaded for free from:
|
||||||
before November 2006 from
|
|
||||||
http://msdn.microsoft.com/vstudio/express/visualC/default.aspx
|
http://msdn.microsoft.com/vstudio/express/visualC/default.aspx
|
||||||
This includes the IDE and the debugger. You will also need
|
This includes the IDE and the debugger. You will also need
|
||||||
|ms-platform-sdk|. You can build Vim with Make_mvc.mak.
|
|ms-platform-sdk|. You can build Vim with Make_mvc.mak.
|
||||||
|
3
src/auto/configure
vendored
3
src/auto/configure
vendored
@ -8986,8 +8986,9 @@ if test -z "$SKIP_MOTIF"; then
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
for ac_header in Xm/Xm.h Xm/XpmP.h Xm/JoinSideT.h Xm/TraitP.h Xm/Manager.h \
|
for ac_header in Xm/Xm.h Xm/XpmP.h Xm/JoinSideT.h Xm/TraitP.h Xm/Manager.h \
|
||||||
Xm/UnhighlightT.h
|
Xm/UnhighlightT.h Xm/Notebook.h
|
||||||
do
|
do
|
||||||
as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
|
as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
|
||||||
if eval "test \"\${$as_ac_Header+set}\" = set"; then
|
if eval "test \"\${$as_ac_Header+set}\" = set"; then
|
||||||
|
@ -239,6 +239,7 @@
|
|||||||
#undef HAVE_XM_MANAGER_H
|
#undef HAVE_XM_MANAGER_H
|
||||||
#undef HAVE_XM_UNHIGHLIGHTT_H
|
#undef HAVE_XM_UNHIGHLIGHTT_H
|
||||||
#undef HAVE_XM_JOINSIDET_H
|
#undef HAVE_XM_JOINSIDET_H
|
||||||
|
#undef HAVE_XM_NOTEBOOK_H
|
||||||
#undef HAVE_X11_XPM_H
|
#undef HAVE_X11_XPM_H
|
||||||
#undef HAVE_X11_XMU_EDITRES_H
|
#undef HAVE_X11_XMU_EDITRES_H
|
||||||
#undef HAVE_X11_SM_SMLIB_H
|
#undef HAVE_X11_SM_SMLIB_H
|
||||||
|
@ -1901,7 +1901,7 @@ if test -z "$SKIP_MOTIF"; then
|
|||||||
cppflags_save=$CPPFLAGS
|
cppflags_save=$CPPFLAGS
|
||||||
CPPFLAGS="$CPPFLAGS $X_CFLAGS"
|
CPPFLAGS="$CPPFLAGS $X_CFLAGS"
|
||||||
AC_CHECK_HEADERS(Xm/Xm.h Xm/XpmP.h Xm/JoinSideT.h Xm/TraitP.h Xm/Manager.h \
|
AC_CHECK_HEADERS(Xm/Xm.h Xm/XpmP.h Xm/JoinSideT.h Xm/TraitP.h Xm/Manager.h \
|
||||||
Xm/UnhighlightT.h)
|
Xm/UnhighlightT.h Xm/Notebook.h)
|
||||||
|
|
||||||
if test $ac_cv_header_Xm_XpmP_h = yes; then
|
if test $ac_cv_header_Xm_XpmP_h = yes; then
|
||||||
dnl Solaris uses XpmAttributes_21, very annoying.
|
dnl Solaris uses XpmAttributes_21, very annoying.
|
||||||
|
@ -8863,7 +8863,6 @@ f_expand(argvars, rettv)
|
|||||||
ExpandInit(&xpc);
|
ExpandInit(&xpc);
|
||||||
xpc.xp_context = EXPAND_FILES;
|
xpc.xp_context = EXPAND_FILES;
|
||||||
rettv->vval.v_string = ExpandOne(&xpc, s, NULL, flags, WILD_ALL);
|
rettv->vval.v_string = ExpandOne(&xpc, s, NULL, flags, WILD_ALL);
|
||||||
ExpandCleanup(&xpc);
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
rettv->vval.v_string = NULL;
|
rettv->vval.v_string = NULL;
|
||||||
@ -10397,7 +10396,6 @@ f_glob(argvars, rettv)
|
|||||||
rettv->v_type = VAR_STRING;
|
rettv->v_type = VAR_STRING;
|
||||||
rettv->vval.v_string = ExpandOne(&xpc, get_tv_string(&argvars[0]),
|
rettv->vval.v_string = ExpandOne(&xpc, get_tv_string(&argvars[0]),
|
||||||
NULL, WILD_USE_NL|WILD_SILENT, WILD_ALL);
|
NULL, WILD_USE_NL|WILD_SILENT, WILD_ALL);
|
||||||
ExpandCleanup(&xpc);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -4371,7 +4371,6 @@ expand_filename(eap, cmdlinep, errormsgp)
|
|||||||
p = ExpandOne(&xpc, eap->arg, NULL,
|
p = ExpandOne(&xpc, eap->arg, NULL,
|
||||||
WILD_LIST_NOTFOUND|WILD_ADD_SLASH,
|
WILD_LIST_NOTFOUND|WILD_ADD_SLASH,
|
||||||
WILD_EXPAND_FREE);
|
WILD_EXPAND_FREE);
|
||||||
ExpandCleanup(&xpc);
|
|
||||||
if (p == NULL)
|
if (p == NULL)
|
||||||
return FAIL;
|
return FAIL;
|
||||||
}
|
}
|
||||||
|
@ -3260,7 +3260,8 @@ nextwild(xp, type, options)
|
|||||||
* Return a pointer to alloced memory containing the new string.
|
* Return a pointer to alloced memory containing the new string.
|
||||||
* Return NULL for failure.
|
* Return NULL for failure.
|
||||||
*
|
*
|
||||||
* Results are cached in xp->xp_files and xp->xp_numfiles.
|
* Results are cached in xp->xp_files and xp->xp_numfiles, except when "mode"
|
||||||
|
* is WILD_EXPAND_FREE or WILD_ALL.
|
||||||
*
|
*
|
||||||
* mode = WILD_FREE: just free previously expanded matches
|
* mode = WILD_FREE: just free previously expanded matches
|
||||||
* mode = WILD_EXPAND_FREE: normal expansion, do not keep matches
|
* mode = WILD_EXPAND_FREE: normal expansion, do not keep matches
|
||||||
|
@ -753,7 +753,8 @@
|
|||||||
/*
|
/*
|
||||||
* GUI tabline
|
* GUI tabline
|
||||||
*/
|
*/
|
||||||
#if defined(FEAT_WINDOWS) && (defined(FEAT_GUI_GTK) || defined(FEAT_GUI_MOTIF)\
|
#if defined(FEAT_WINDOWS) && (defined(FEAT_GUI_GTK) \
|
||||||
|
|| (defined(FEAT_GUI_MOTIF) && defined(HAVE_XM_NOTEBOOK_H)) \
|
||||||
|| (defined(FEAT_GUI_MSWIN) && (!defined(_MSC_VER) || _MSC_VER > 1020)))
|
|| (defined(FEAT_GUI_MSWIN) && (!defined(_MSC_VER) || _MSC_VER > 1020)))
|
||||||
# define FEAT_GUI_TABLINE
|
# define FEAT_GUI_TABLINE
|
||||||
#endif
|
#endif
|
||||||
|
10
src/gui.c
10
src/gui.c
@ -3491,7 +3491,7 @@ get_tabline_label(tp)
|
|||||||
/*
|
/*
|
||||||
* Send the event for clicking to select tab page "nr".
|
* Send the event for clicking to select tab page "nr".
|
||||||
* Returns TRUE if it was done, FALSE when skipped because we are already at
|
* Returns TRUE if it was done, FALSE when skipped because we are already at
|
||||||
* that tab page.
|
* that tab page or the cmdline window is open.
|
||||||
*/
|
*/
|
||||||
int
|
int
|
||||||
send_tabline_event(nr)
|
send_tabline_event(nr)
|
||||||
@ -3501,6 +3501,14 @@ send_tabline_event(nr)
|
|||||||
|
|
||||||
if (nr == tabpage_index(curtab))
|
if (nr == tabpage_index(curtab))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
# ifdef FEAT_CMDWIN
|
||||||
|
if (cmdwin_type != 0)
|
||||||
|
{
|
||||||
|
/* Set it back to the current tab page. */
|
||||||
|
gui_mch_set_curtab(tabpage_index(curtab));
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
# endif
|
||||||
string[0] = CSI;
|
string[0] = CSI;
|
||||||
string[1] = KS_TABLINE;
|
string[1] = KS_TABLINE;
|
||||||
string[2] = KE_FILLER;
|
string[2] = KE_FILLER;
|
||||||
|
@ -48,6 +48,11 @@
|
|||||||
|
|
||||||
/* Vim's Scrap flavor. */
|
/* Vim's Scrap flavor. */
|
||||||
#define VIMSCRAPFLAVOR 'VIM!'
|
#define VIMSCRAPFLAVOR 'VIM!'
|
||||||
|
#ifdef FEAT_MBYTE
|
||||||
|
# define SCRAPTEXTFLAVOR kScrapFlavorTypeUnicode
|
||||||
|
#else
|
||||||
|
# define SCRAPTEXTFLAVOR kScrapFlavorTypeText
|
||||||
|
#endif
|
||||||
|
|
||||||
static EventHandlerUPP mouseWheelHandlerUPP = NULL;
|
static EventHandlerUPP mouseWheelHandlerUPP = NULL;
|
||||||
SInt32 gMacSystemVersion;
|
SInt32 gMacSystemVersion;
|
||||||
@ -4427,69 +4432,65 @@ clip_mch_request_selection(VimClipboard *cbd)
|
|||||||
|
|
||||||
if (flavor == 0)
|
if (flavor == 0)
|
||||||
{
|
{
|
||||||
error = GetScrapFlavorFlags(scrap, kScrapFlavorTypeUnicode, &scrapFlags);
|
error = GetScrapFlavorFlags(scrap, SCRAPTEXTFLAVOR, &scrapFlags);
|
||||||
if (error != noErr)
|
if (error != noErr)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
error = GetScrapFlavorSize(scrap, kScrapFlavorTypeUnicode, &scrapSize);
|
error = GetScrapFlavorSize(scrap, SCRAPTEXTFLAVOR, &scrapSize);
|
||||||
if (error != noErr)
|
if (error != noErr)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
ReserveMem(scrapSize);
|
ReserveMem(scrapSize);
|
||||||
|
|
||||||
{
|
/* In CARBON we don't need a Handle, a pointer is good */
|
||||||
/* In CARBON we don't need a Handle, a pointer is good */
|
textOfClip = NewHandle(scrapSize);
|
||||||
textOfClip = NewHandle(scrapSize);
|
|
||||||
/* tempclip = lalloc(scrapSize+1, TRUE); */
|
|
||||||
HLock(textOfClip);
|
|
||||||
error = GetScrapFlavorData(scrap,
|
|
||||||
flavor ? VIMSCRAPFLAVOR : kScrapFlavorTypeUnicode,
|
|
||||||
&scrapSize, *textOfClip);
|
|
||||||
scrapSize -= flavor;
|
|
||||||
|
|
||||||
if (flavor)
|
/* tempclip = lalloc(scrapSize+1, TRUE); */
|
||||||
type = **textOfClip;
|
HLock(textOfClip);
|
||||||
else
|
error = GetScrapFlavorData(scrap,
|
||||||
type = (strchr(*textOfClip, '\r') != NULL) ? MLINE : MCHAR;
|
flavor ? VIMSCRAPFLAVOR : SCRAPTEXTFLAVOR,
|
||||||
|
&scrapSize, *textOfClip);
|
||||||
|
scrapSize -= flavor;
|
||||||
|
|
||||||
tempclip = lalloc(scrapSize + 1, TRUE);
|
if (flavor)
|
||||||
#if defined(FEAT_MBYTE)
|
type = **textOfClip;
|
||||||
mch_memmove(tempclip, *textOfClip + flavor, scrapSize);
|
else
|
||||||
#else
|
type = (strchr(*textOfClip, '\r') != NULL) ? MLINE : MCHAR;
|
||||||
STRNCPY(tempclip, *textOfClip + flavor, scrapSize);
|
|
||||||
#endif
|
tempclip = lalloc(scrapSize + 1, TRUE);
|
||||||
tempclip[scrapSize] = 0;
|
mch_memmove(tempclip, *textOfClip + flavor, scrapSize);
|
||||||
|
tempclip[scrapSize] = 0;
|
||||||
|
|
||||||
#ifdef MACOS_CONVERT
|
#ifdef MACOS_CONVERT
|
||||||
|
{
|
||||||
/* Convert from utf-16 (clipboard) */
|
/* Convert from utf-16 (clipboard) */
|
||||||
size_t encLen = 0;
|
size_t encLen = 0;
|
||||||
char_u *to = mac_utf16_to_enc((UniChar *)tempclip, scrapSize, &encLen);
|
char_u *to = mac_utf16_to_enc((UniChar *)tempclip, scrapSize, &encLen);
|
||||||
if (to)
|
|
||||||
|
if (to != NULL)
|
||||||
{
|
{
|
||||||
scrapSize = encLen;
|
scrapSize = encLen;
|
||||||
vim_free(tempclip);
|
vim_free(tempclip);
|
||||||
tempclip = to;
|
tempclip = to;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
searchCR = (char *)tempclip;
|
searchCR = (char *)tempclip;
|
||||||
while (searchCR != NULL)
|
while (searchCR != NULL)
|
||||||
{
|
{
|
||||||
searchCR = strchr(searchCR, '\r');
|
searchCR = strchr(searchCR, '\r');
|
||||||
|
if (searchCR != NULL)
|
||||||
if (searchCR != NULL)
|
*searchCR = '\n';
|
||||||
searchCR[0] = '\n';
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
clip_yank_selection(type, tempclip, scrapSize, cbd);
|
|
||||||
|
|
||||||
vim_free(tempclip);
|
|
||||||
HUnlock(textOfClip);
|
|
||||||
|
|
||||||
DisposeHandle(textOfClip);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
clip_yank_selection(type, tempclip, scrapSize, cbd);
|
||||||
|
|
||||||
|
vim_free(tempclip);
|
||||||
|
HUnlock(textOfClip);
|
||||||
|
|
||||||
|
DisposeHandle(textOfClip);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
@ -4527,12 +4528,10 @@ clip_mch_set_selection(VimClipboard *cbd)
|
|||||||
/*
|
/*
|
||||||
* Once we set the clipboard, lose ownership. If another application sets
|
* Once we set the clipboard, lose ownership. If another application sets
|
||||||
* the clipboard, we don't want to think that we still own it.
|
* the clipboard, we don't want to think that we still own it.
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
cbd->owned = FALSE;
|
cbd->owned = FALSE;
|
||||||
|
|
||||||
type = clip_convert_selection(&str, (long_u *) &scrapSize, cbd);
|
type = clip_convert_selection(&str, (long_u *)&scrapSize, cbd);
|
||||||
|
|
||||||
#ifdef MACOS_CONVERT
|
#ifdef MACOS_CONVERT
|
||||||
size_t utf16_len = 0;
|
size_t utf16_len = 0;
|
||||||
@ -4555,7 +4554,7 @@ clip_mch_set_selection(VimClipboard *cbd)
|
|||||||
**textOfClip = type;
|
**textOfClip = type;
|
||||||
mch_memmove(*textOfClip + 1, str, scrapSize);
|
mch_memmove(*textOfClip + 1, str, scrapSize);
|
||||||
GetCurrentScrap(&scrap);
|
GetCurrentScrap(&scrap);
|
||||||
PutScrapFlavor(scrap, kScrapFlavorTypeUnicode, kScrapFlavorMaskNone,
|
PutScrapFlavor(scrap, SCRAPTEXTFLAVOR, kScrapFlavorMaskNone,
|
||||||
scrapSize, *textOfClip + 1);
|
scrapSize, *textOfClip + 1);
|
||||||
PutScrapFlavor(scrap, VIMSCRAPFLAVOR, kScrapFlavorMaskNone,
|
PutScrapFlavor(scrap, VIMSCRAPFLAVOR, kScrapFlavorMaskNone,
|
||||||
scrapSize + 1, *textOfClip);
|
scrapSize + 1, *textOfClip);
|
||||||
|
@ -26,7 +26,6 @@
|
|||||||
#include <Xm/LabelG.h>
|
#include <Xm/LabelG.h>
|
||||||
#include <Xm/ToggleBG.h>
|
#include <Xm/ToggleBG.h>
|
||||||
#include <Xm/SeparatoG.h>
|
#include <Xm/SeparatoG.h>
|
||||||
#include <Xm/Notebook.h>
|
|
||||||
#include <Xm/XmP.h>
|
#include <Xm/XmP.h>
|
||||||
|
|
||||||
#include <X11/keysym.h>
|
#include <X11/keysym.h>
|
||||||
@ -43,6 +42,9 @@
|
|||||||
# include <Xm/XpmP.h>
|
# include <Xm/XpmP.h>
|
||||||
# endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
#ifdef HAVE_XM_NOTEBOOK_H
|
||||||
|
# include <Xm/Notebook.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
#include "gui_xmebw.h" /* for our Enhanced Button Widget */
|
#include "gui_xmebw.h" /* for our Enhanced Button Widget */
|
||||||
|
|
||||||
|
@ -2296,18 +2296,26 @@ gui_mch_update_tabline(void)
|
|||||||
int curtabidx = 0;
|
int curtabidx = 0;
|
||||||
RECT rc;
|
RECT rc;
|
||||||
#ifdef FEAT_MBYTE
|
#ifdef FEAT_MBYTE
|
||||||
|
static int use_unicode = FALSE;
|
||||||
|
int uu;
|
||||||
WCHAR *wstr = NULL;
|
WCHAR *wstr = NULL;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (s_tabhwnd == NULL)
|
if (s_tabhwnd == NULL)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
#if defined(FEAT_MBYTE) && defined(CCM_SETUNICODEFORMAT)
|
#if defined(FEAT_MBYTE)
|
||||||
if (enc_codepage >= 0 && (int)GetACP() != enc_codepage)
|
# ifndef CCM_SETUNICODEFORMAT
|
||||||
/*
|
/* For older compilers. We assume this never changes. */
|
||||||
* Enable unicode support
|
# define CCM_SETUNICODEFORMAT 0x2005
|
||||||
*/
|
# endif
|
||||||
SendMessage(s_tabhwnd, CCM_SETUNICODEFORMAT, (WPARAM)TRUE, (LPARAM)0);
|
uu = (enc_codepage >= 0 && (int)GetACP() != enc_codepage);
|
||||||
|
if (uu != use_unicode)
|
||||||
|
{
|
||||||
|
/* Enable/disable unicode support */
|
||||||
|
SendMessage(s_tabhwnd, CCM_SETUNICODEFORMAT, (WPARAM)uu, (LPARAM)0);
|
||||||
|
use_unicode = uu;
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
tie.mask = TCIF_TEXT;
|
tie.mask = TCIF_TEXT;
|
||||||
@ -2330,7 +2338,7 @@ gui_mch_update_tabline(void)
|
|||||||
tie.pszText = NameBuff;
|
tie.pszText = NameBuff;
|
||||||
#ifdef FEAT_MBYTE
|
#ifdef FEAT_MBYTE
|
||||||
wstr = NULL;
|
wstr = NULL;
|
||||||
if (enc_codepage >= 0 && (int)GetACP() != enc_codepage)
|
if (use_unicode)
|
||||||
{
|
{
|
||||||
/* Need to go through Unicode. */
|
/* Need to go through Unicode. */
|
||||||
wstr = enc_to_ucs2(NameBuff, NULL);
|
wstr = enc_to_ucs2(NameBuff, NULL);
|
||||||
|
@ -1532,7 +1532,7 @@ recover_names(fname, list, nr)
|
|||||||
files[i] = files[i + 1];
|
files[i] = files[i + 1];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (nr)
|
if (nr > 0)
|
||||||
{
|
{
|
||||||
file_count += num_files;
|
file_count += num_files;
|
||||||
if (nr <= file_count)
|
if (nr <= file_count)
|
||||||
@ -1578,7 +1578,8 @@ recover_names(fname, list, nr)
|
|||||||
|
|
||||||
for (i = 0; i < num_names; ++i)
|
for (i = 0; i < num_names; ++i)
|
||||||
vim_free(names[i]);
|
vim_free(names[i]);
|
||||||
FreeWild(num_files, files);
|
if (num_files > 0)
|
||||||
|
FreeWild(num_files, files);
|
||||||
}
|
}
|
||||||
vim_free(dir_name);
|
vim_free(dir_name);
|
||||||
return file_count;
|
return file_count;
|
||||||
|
29
src/menu.c
29
src/menu.c
@ -2336,20 +2336,23 @@ ex_menutranslate(eap)
|
|||||||
{
|
{
|
||||||
tp = (menutrans_T *)menutrans_ga.ga_data;
|
tp = (menutrans_T *)menutrans_ga.ga_data;
|
||||||
from = vim_strsave(from);
|
from = vim_strsave(from);
|
||||||
from_noamp = menu_text(from, NULL, NULL);
|
if (from != NULL)
|
||||||
to = vim_strnsave(to, (int)(arg - to));
|
|
||||||
if (from != NULL && from_noamp != NULL && to != NULL)
|
|
||||||
{
|
{
|
||||||
tp[menutrans_ga.ga_len].from = from;
|
from_noamp = menu_text(from, NULL, NULL);
|
||||||
tp[menutrans_ga.ga_len].from_noamp = from_noamp;
|
to = vim_strnsave(to, (int)(arg - to));
|
||||||
tp[menutrans_ga.ga_len].to = to;
|
if (from_noamp != NULL && to != NULL)
|
||||||
++menutrans_ga.ga_len;
|
{
|
||||||
}
|
tp[menutrans_ga.ga_len].from = from;
|
||||||
else
|
tp[menutrans_ga.ga_len].from_noamp = from_noamp;
|
||||||
{
|
tp[menutrans_ga.ga_len].to = to;
|
||||||
vim_free(from);
|
++menutrans_ga.ga_len;
|
||||||
vim_free(from_noamp);
|
}
|
||||||
vim_free(to);
|
else
|
||||||
|
{
|
||||||
|
vim_free(from);
|
||||||
|
vim_free(from_noamp);
|
||||||
|
vim_free(to);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -3625,7 +3625,6 @@ expand_env_esc(srcp, dst, dstlen, esc, startstr)
|
|||||||
xpc.xp_context = EXPAND_FILES;
|
xpc.xp_context = EXPAND_FILES;
|
||||||
var = ExpandOne(&xpc, dst, NULL,
|
var = ExpandOne(&xpc, dst, NULL,
|
||||||
WILD_ADD_SLASH|WILD_SILENT, WILD_EXPAND_FREE);
|
WILD_ADD_SLASH|WILD_SILENT, WILD_EXPAND_FREE);
|
||||||
ExpandCleanup(&xpc);
|
|
||||||
mustfree = TRUE;
|
mustfree = TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -9363,7 +9362,7 @@ FreeWild(count, files)
|
|||||||
int count;
|
int count;
|
||||||
char_u **files;
|
char_u **files;
|
||||||
{
|
{
|
||||||
if (files == NULL || count <= 0)
|
if (count <= 0 || files == NULL)
|
||||||
return;
|
return;
|
||||||
#if defined(__EMX__) && defined(__ALWAYS_HAS_TRAILING_NULL_POINTER) /* XXX */
|
#if defined(__EMX__) && defined(__ALWAYS_HAS_TRAILING_NULL_POINTER) /* XXX */
|
||||||
/*
|
/*
|
||||||
|
127
src/option.c
127
src/option.c
@ -2996,35 +2996,44 @@ set_init_1()
|
|||||||
* 'maxmemtot' and 'maxmem' may have to be adjusted for available memory
|
* 'maxmemtot' and 'maxmem' may have to be adjusted for available memory
|
||||||
*/
|
*/
|
||||||
opt_idx = findoption((char_u *)"maxmemtot");
|
opt_idx = findoption((char_u *)"maxmemtot");
|
||||||
#if !defined(HAVE_AVAIL_MEM) && !defined(HAVE_TOTAL_MEM)
|
if (opt_idx >= 0)
|
||||||
if (options[opt_idx].def_val[VI_DEFAULT] == (char_u *)0L)
|
|
||||||
#endif
|
|
||||||
{
|
{
|
||||||
|
#if !defined(HAVE_AVAIL_MEM) && !defined(HAVE_TOTAL_MEM)
|
||||||
|
if (options[opt_idx].def_val[VI_DEFAULT] == (char_u *)0L)
|
||||||
|
#endif
|
||||||
|
{
|
||||||
#ifdef HAVE_AVAIL_MEM
|
#ifdef HAVE_AVAIL_MEM
|
||||||
/* Use amount of memory available at this moment. */
|
/* Use amount of memory available at this moment. */
|
||||||
n = (mch_avail_mem(FALSE) >> 11);
|
n = (mch_avail_mem(FALSE) >> 11);
|
||||||
#else
|
#else
|
||||||
# ifdef HAVE_TOTAL_MEM
|
# ifdef HAVE_TOTAL_MEM
|
||||||
/* Use amount of memory available to Vim. */
|
/* Use amount of memory available to Vim. */
|
||||||
n = (mch_total_mem(FALSE) >> 11);
|
n = (mch_total_mem(FALSE) >> 11);
|
||||||
# else
|
# else
|
||||||
n = (0x7fffffff >> 11);
|
n = (0x7fffffff >> 11);
|
||||||
# endif
|
# endif
|
||||||
#endif
|
|
||||||
options[opt_idx].def_val[VI_DEFAULT] = (char_u *)n;
|
|
||||||
opt_idx = findoption((char_u *)"maxmem");
|
|
||||||
#if !defined(HAVE_AVAIL_MEM) && !defined(HAVE_TOTAL_MEM)
|
|
||||||
if ((long)options[opt_idx].def_val[VI_DEFAULT] > n
|
|
||||||
|| (long)options[opt_idx].def_val[VI_DEFAULT] == 0L)
|
|
||||||
#endif
|
#endif
|
||||||
options[opt_idx].def_val[VI_DEFAULT] = (char_u *)n;
|
options[opt_idx].def_val[VI_DEFAULT] = (char_u *)n;
|
||||||
|
opt_idx = findoption((char_u *)"maxmem");
|
||||||
|
if (opt_idx >= 0)
|
||||||
|
{
|
||||||
|
#if !defined(HAVE_AVAIL_MEM) && !defined(HAVE_TOTAL_MEM)
|
||||||
|
if ((long)options[opt_idx].def_val[VI_DEFAULT] > n
|
||||||
|
|| (long)options[opt_idx].def_val[VI_DEFAULT] == 0L)
|
||||||
|
#endif
|
||||||
|
options[opt_idx].def_val[VI_DEFAULT] = (char_u *)n;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef FEAT_GUI_W32
|
#ifdef FEAT_GUI_W32
|
||||||
/* force 'shortname' for Win32s */
|
/* force 'shortname' for Win32s */
|
||||||
if (gui_is_win32s())
|
if (gui_is_win32s())
|
||||||
options[findoption((char_u *)"shortname")].def_val[VI_DEFAULT] =
|
{
|
||||||
(char_u *)TRUE;
|
opt_idx = findoption((char_u *)"shortname");
|
||||||
|
if (opt_idx >= 0)
|
||||||
|
options[opt_idx].def_val[VI_DEFAULT] = (char_u *)TRUE;
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef FEAT_SEARCHPATH
|
#ifdef FEAT_SEARCHPATH
|
||||||
@ -3057,8 +3066,11 @@ set_init_1()
|
|||||||
}
|
}
|
||||||
buf[j] = NUL;
|
buf[j] = NUL;
|
||||||
opt_idx = findoption((char_u *)"cdpath");
|
opt_idx = findoption((char_u *)"cdpath");
|
||||||
options[opt_idx].def_val[VI_DEFAULT] = buf;
|
if (opt_idx >= 0)
|
||||||
options[opt_idx].flags |= P_DEF_ALLOCED;
|
{
|
||||||
|
options[opt_idx].def_val[VI_DEFAULT] = buf;
|
||||||
|
options[opt_idx].flags |= P_DEF_ALLOCED;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (mustfree)
|
if (mustfree)
|
||||||
vim_free(cdpath);
|
vim_free(cdpath);
|
||||||
@ -3259,8 +3271,11 @@ set_init_1()
|
|||||||
if (mb_init() == NULL)
|
if (mb_init() == NULL)
|
||||||
{
|
{
|
||||||
opt_idx = findoption((char_u *)"encoding");
|
opt_idx = findoption((char_u *)"encoding");
|
||||||
options[opt_idx].def_val[VI_DEFAULT] = p_enc;
|
if (opt_idx >= 0)
|
||||||
options[opt_idx].flags |= P_DEF_ALLOCED;
|
{
|
||||||
|
options[opt_idx].def_val[VI_DEFAULT] = p_enc;
|
||||||
|
options[opt_idx].flags |= P_DEF_ALLOCED;
|
||||||
|
}
|
||||||
|
|
||||||
#if defined(MSDOS) || defined(MSWIN) || defined(OS2) || defined(MACOS) \
|
#if defined(MSDOS) || defined(MSWIN) || defined(OS2) || defined(MACOS) \
|
||||||
|| defined(VMS)
|
|| defined(VMS)
|
||||||
@ -3278,9 +3293,11 @@ set_init_1()
|
|||||||
set_string_option_direct((char_u *)"isk", -1,
|
set_string_option_direct((char_u *)"isk", -1,
|
||||||
ISK_LATIN1, OPT_FREE, SID_NONE);
|
ISK_LATIN1, OPT_FREE, SID_NONE);
|
||||||
opt_idx = findoption((char_u *)"isp");
|
opt_idx = findoption((char_u *)"isp");
|
||||||
options[opt_idx].def_val[VIM_DEFAULT] = ISP_LATIN1;
|
if (opt_idx >= 0)
|
||||||
|
options[opt_idx].def_val[VIM_DEFAULT] = ISP_LATIN1;
|
||||||
opt_idx = findoption((char_u *)"isk");
|
opt_idx = findoption((char_u *)"isk");
|
||||||
options[opt_idx].def_val[VIM_DEFAULT] = ISK_LATIN1;
|
if (opt_idx >= 0)
|
||||||
|
options[opt_idx].def_val[VIM_DEFAULT] = ISK_LATIN1;
|
||||||
(void)init_chartab();
|
(void)init_chartab();
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@ -3297,8 +3314,11 @@ set_init_1()
|
|||||||
if (p_tenc != NULL)
|
if (p_tenc != NULL)
|
||||||
{
|
{
|
||||||
opt_idx = findoption((char_u *)"termencoding");
|
opt_idx = findoption((char_u *)"termencoding");
|
||||||
options[opt_idx].def_val[VI_DEFAULT] = p_tenc;
|
if (opt_idx >= 0)
|
||||||
options[opt_idx].flags |= P_DEF_ALLOCED;
|
{
|
||||||
|
options[opt_idx].def_val[VI_DEFAULT] = p_tenc;
|
||||||
|
options[opt_idx].flags |= P_DEF_ALLOCED;
|
||||||
|
}
|
||||||
convert_setup(&input_conv, p_tenc, p_enc);
|
convert_setup(&input_conv, p_tenc, p_enc);
|
||||||
convert_setup(&output_conv, p_enc, p_tenc);
|
convert_setup(&output_conv, p_enc, p_tenc);
|
||||||
}
|
}
|
||||||
@ -3436,10 +3456,13 @@ set_string_default(name, val)
|
|||||||
if (p != NULL) /* we don't want a NULL */
|
if (p != NULL) /* we don't want a NULL */
|
||||||
{
|
{
|
||||||
opt_idx = findoption((char_u *)name);
|
opt_idx = findoption((char_u *)name);
|
||||||
if (options[opt_idx].flags & P_DEF_ALLOCED)
|
if (opt_idx >= 0)
|
||||||
vim_free(options[opt_idx].def_val[VI_DEFAULT]);
|
{
|
||||||
options[opt_idx].def_val[VI_DEFAULT] = p;
|
if (options[opt_idx].flags & P_DEF_ALLOCED)
|
||||||
options[opt_idx].flags |= P_DEF_ALLOCED;
|
vim_free(options[opt_idx].def_val[VI_DEFAULT]);
|
||||||
|
options[opt_idx].def_val[VI_DEFAULT] = p;
|
||||||
|
options[opt_idx].flags |= P_DEF_ALLOCED;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3452,7 +3475,11 @@ set_number_default(name, val)
|
|||||||
char *name;
|
char *name;
|
||||||
long val;
|
long val;
|
||||||
{
|
{
|
||||||
options[findoption((char_u *)name)].def_val[VI_DEFAULT] = (char_u *)val;
|
int opt_idx;
|
||||||
|
|
||||||
|
opt_idx = findoption((char_u *)name);
|
||||||
|
if (opt_idx >= 0)
|
||||||
|
options[opt_idx].def_val[VI_DEFAULT] = (char_u *)val;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(EXITFREE) || defined(PROTO)
|
#if defined(EXITFREE) || defined(PROTO)
|
||||||
@ -3498,7 +3525,7 @@ set_init_2()
|
|||||||
*/
|
*/
|
||||||
set_number_default("scroll", (long)((long_u)Rows >> 1));
|
set_number_default("scroll", (long)((long_u)Rows >> 1));
|
||||||
idx = findoption((char_u *)"scroll");
|
idx = findoption((char_u *)"scroll");
|
||||||
if (!(options[idx].flags & P_WAS_SET))
|
if (idx >= 0 && !(options[idx].flags & P_WAS_SET))
|
||||||
set_option_default(idx, OPT_LOCAL, p_cp);
|
set_option_default(idx, OPT_LOCAL, p_cp);
|
||||||
comp_col();
|
comp_col();
|
||||||
|
|
||||||
@ -3507,7 +3534,7 @@ set_init_2()
|
|||||||
* Default is Rows - 1.
|
* Default is Rows - 1.
|
||||||
*/
|
*/
|
||||||
idx = findoption((char_u *)"wi");
|
idx = findoption((char_u *)"wi");
|
||||||
if (!(options[idx].flags & P_WAS_SET))
|
if (idx >= 0 && !(options[idx].flags & P_WAS_SET))
|
||||||
p_window = Rows - 1;
|
p_window = Rows - 1;
|
||||||
set_number_default("window", Rows - 1);
|
set_number_default("window", Rows - 1);
|
||||||
|
|
||||||
@ -3519,7 +3546,8 @@ set_init_2()
|
|||||||
* with a dark background, that can handle color.
|
* with a dark background, that can handle color.
|
||||||
*/
|
*/
|
||||||
idx = findoption((char_u *)"bg");
|
idx = findoption((char_u *)"bg");
|
||||||
if (!(options[idx].flags & P_WAS_SET) && *term_bg_default() == 'd')
|
if (idx >= 0 && !(options[idx].flags & P_WAS_SET)
|
||||||
|
&& *term_bg_default() == 'd')
|
||||||
{
|
{
|
||||||
set_string_option_direct(NULL, idx, (char_u *)"dark", OPT_FREE, 0);
|
set_string_option_direct(NULL, idx, (char_u *)"dark", OPT_FREE, 0);
|
||||||
/* don't mark it as set, when starting the GUI it may be
|
/* don't mark it as set, when starting the GUI it may be
|
||||||
@ -3594,10 +3622,16 @@ set_init_3()
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
idx_srr = findoption((char_u *)"srr");
|
idx_srr = findoption((char_u *)"srr");
|
||||||
do_srr = !(options[idx_srr].flags & P_WAS_SET);
|
if (idx_srr < 0)
|
||||||
|
do_srr = FALSE;
|
||||||
|
else
|
||||||
|
do_srr = !(options[idx_srr].flags & P_WAS_SET);
|
||||||
#ifdef FEAT_QUICKFIX
|
#ifdef FEAT_QUICKFIX
|
||||||
idx_sp = findoption((char_u *)"sp");
|
idx_sp = findoption((char_u *)"sp");
|
||||||
do_sp = !(options[idx_sp].flags & P_WAS_SET);
|
if (idx_sp < 0)
|
||||||
|
do_sp = FALSE;
|
||||||
|
else
|
||||||
|
do_sp = !(options[idx_sp].flags & P_WAS_SET);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -3692,7 +3726,7 @@ set_init_3()
|
|||||||
int idx3;
|
int idx3;
|
||||||
|
|
||||||
idx3 = findoption((char_u *)"shcf");
|
idx3 = findoption((char_u *)"shcf");
|
||||||
if (!(options[idx3].flags & P_WAS_SET))
|
if (idx3 >= 0 && !(options[idx3].flags & P_WAS_SET))
|
||||||
{
|
{
|
||||||
p_shcf = (char_u *)"-c";
|
p_shcf = (char_u *)"-c";
|
||||||
options[idx3].def_val[VI_DEFAULT] = p_shcf;
|
options[idx3].def_val[VI_DEFAULT] = p_shcf;
|
||||||
@ -3702,14 +3736,14 @@ set_init_3()
|
|||||||
# ifdef WIN3264
|
# ifdef WIN3264
|
||||||
/* Somehow Win32 requires the quotes around the redirection too */
|
/* Somehow Win32 requires the quotes around the redirection too */
|
||||||
idx3 = findoption((char_u *)"sxq");
|
idx3 = findoption((char_u *)"sxq");
|
||||||
if (!(options[idx3].flags & P_WAS_SET))
|
if (idx3 >= 0 && !(options[idx3].flags & P_WAS_SET))
|
||||||
{
|
{
|
||||||
p_sxq = (char_u *)"\"";
|
p_sxq = (char_u *)"\"";
|
||||||
options[idx3].def_val[VI_DEFAULT] = p_sxq;
|
options[idx3].def_val[VI_DEFAULT] = p_sxq;
|
||||||
}
|
}
|
||||||
# else
|
# else
|
||||||
idx3 = findoption((char_u *)"shq");
|
idx3 = findoption((char_u *)"shq");
|
||||||
if (!(options[idx3].flags & P_WAS_SET))
|
if (idx3 >= 0 && !(options[idx3].flags & P_WAS_SET))
|
||||||
{
|
{
|
||||||
p_shq = (char_u *)"\"";
|
p_shq = (char_u *)"\"";
|
||||||
options[idx3].def_val[VI_DEFAULT] = p_shq;
|
options[idx3].def_val[VI_DEFAULT] = p_shq;
|
||||||
@ -3738,7 +3772,7 @@ set_helplang_default(lang)
|
|||||||
if (lang == NULL || STRLEN(lang) < 2) /* safety check */
|
if (lang == NULL || STRLEN(lang) < 2) /* safety check */
|
||||||
return;
|
return;
|
||||||
idx = findoption((char_u *)"hlg");
|
idx = findoption((char_u *)"hlg");
|
||||||
if (!(options[idx].flags & P_WAS_SET))
|
if (idx >= 0 && !(options[idx].flags & P_WAS_SET))
|
||||||
{
|
{
|
||||||
if (options[idx].flags & P_ALLOCED)
|
if (options[idx].flags & P_ALLOCED)
|
||||||
free_string_option(p_hlg);
|
free_string_option(p_hlg);
|
||||||
@ -3807,7 +3841,7 @@ set_title_defaults()
|
|||||||
* not need to be contacted.
|
* not need to be contacted.
|
||||||
*/
|
*/
|
||||||
idx1 = findoption((char_u *)"title");
|
idx1 = findoption((char_u *)"title");
|
||||||
if (!(options[idx1].flags & P_WAS_SET))
|
if (idx1 >= 0 && !(options[idx1].flags & P_WAS_SET))
|
||||||
{
|
{
|
||||||
#ifdef FEAT_GUI
|
#ifdef FEAT_GUI
|
||||||
if (gui.starting || gui.in_use)
|
if (gui.starting || gui.in_use)
|
||||||
@ -3819,7 +3853,7 @@ set_title_defaults()
|
|||||||
p_title = val;
|
p_title = val;
|
||||||
}
|
}
|
||||||
idx1 = findoption((char_u *)"icon");
|
idx1 = findoption((char_u *)"icon");
|
||||||
if (!(options[idx1].flags & P_WAS_SET))
|
if (idx1 >= 0 && !(options[idx1].flags & P_WAS_SET))
|
||||||
{
|
{
|
||||||
#ifdef FEAT_GUI
|
#ifdef FEAT_GUI
|
||||||
if (gui.starting || gui.in_use)
|
if (gui.starting || gui.in_use)
|
||||||
@ -5224,7 +5258,7 @@ set_string_option_direct(name, opt_idx, val, opt_flags, set_sid)
|
|||||||
if (opt_idx == -1) /* use name */
|
if (opt_idx == -1) /* use name */
|
||||||
{
|
{
|
||||||
opt_idx = findoption(name);
|
opt_idx = findoption(name);
|
||||||
if (opt_idx == -1) /* not found (should not happen) */
|
if (opt_idx < 0) /* not found (should not happen) */
|
||||||
{
|
{
|
||||||
EMSG2(_(e_intern2), "set_string_option_direct()");
|
EMSG2(_(e_intern2), "set_string_option_direct()");
|
||||||
return;
|
return;
|
||||||
@ -8127,7 +8161,7 @@ set_option_value(name, number, string, opt_flags)
|
|||||||
long_u flags;
|
long_u flags;
|
||||||
|
|
||||||
opt_idx = findoption(name);
|
opt_idx = findoption(name);
|
||||||
if (opt_idx == -1)
|
if (opt_idx < 0)
|
||||||
EMSG2(_("E355: Unknown option: %s"), name);
|
EMSG2(_("E355: Unknown option: %s"), name);
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -9464,7 +9498,8 @@ reset_modifiable()
|
|||||||
curbuf->b_p_ma = FALSE;
|
curbuf->b_p_ma = FALSE;
|
||||||
p_ma = FALSE;
|
p_ma = FALSE;
|
||||||
opt_idx = findoption((char_u *)"ma");
|
opt_idx = findoption((char_u *)"ma");
|
||||||
options[opt_idx].def_val[VI_DEFAULT] = FALSE;
|
if (opt_idx >= 0)
|
||||||
|
options[opt_idx].def_val[VI_DEFAULT] = FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -10297,12 +10332,16 @@ vimrc_found(fname, envname)
|
|||||||
change_compatible(on)
|
change_compatible(on)
|
||||||
int on;
|
int on;
|
||||||
{
|
{
|
||||||
|
int opt_idx;
|
||||||
|
|
||||||
if (p_cp != on)
|
if (p_cp != on)
|
||||||
{
|
{
|
||||||
p_cp = on;
|
p_cp = on;
|
||||||
compatible_set();
|
compatible_set();
|
||||||
}
|
}
|
||||||
options[findoption((char_u *)"cp")].flags |= P_WAS_SET;
|
opt_idx = findoption((char_u *)"cp");
|
||||||
|
if (opt_idx >= 0)
|
||||||
|
options[opt_idx].flags |= P_WAS_SET;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -4999,8 +4999,8 @@ msgid "E397: Filename required"
|
|||||||
msgstr "E397: Dateiname wird benötigt"
|
msgstr "E397: Dateiname wird benötigt"
|
||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "E747: Missing ']': %s"
|
msgid "E789: Missing ']': %s"
|
||||||
msgstr "E747: Fehlende ']': %s"
|
msgstr "E789: Fehlende ']': %s"
|
||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "E398: Missing '=': %s"
|
msgid "E398: Missing '=': %s"
|
||||||
|
243
src/po/fr.po
243
src/po/fr.po
@ -71,8 +71,15 @@
|
|||||||
# - Hundreds of error messages numbers added (wow)
|
# - Hundreds of error messages numbers added (wow)
|
||||||
# 2006-04-15 DB Vim 7.0 first draft, based on fr.po 7.0c03
|
# 2006-04-15 DB Vim 7.0 first draft, based on fr.po 7.0c03
|
||||||
# - 285 new messages.
|
# - 285 new messages.
|
||||||
|
# 2006-05-17 DB VIM 7.0 second draft, still 7.0c03
|
||||||
|
# - (check.vim) Fixed 2 wrong translated messages.
|
||||||
|
# 2006-05-19 DB VIM 7.0 second draft, 7.0e02
|
||||||
|
# - 15 new messages.
|
||||||
|
# 2006-05-19 DB VIM 7.0, based on 7.0e03
|
||||||
|
# - (check.vim) Fixed wrong messages.
|
||||||
|
# - header comment of this file should be updated.
|
||||||
#
|
#
|
||||||
# Translated: 1677/1677 (100.00%)
|
# Translated: 1692/1692 (100.00%)
|
||||||
#
|
#
|
||||||
# Polishing done on:
|
# Polishing done on:
|
||||||
# buffer.c
|
# buffer.c
|
||||||
@ -94,7 +101,7 @@ msgstr ""
|
|||||||
"Project-Id-Version: Vim(Français)\n"
|
"Project-Id-Version: Vim(Français)\n"
|
||||||
"Report-Msgid-Bugs-To: Adrien Beau <version.francaise@free.fr>\n"
|
"Report-Msgid-Bugs-To: Adrien Beau <version.francaise@free.fr>\n"
|
||||||
"POT-Creation-Date: 2006-04-01 17:09+0200\n"
|
"POT-Creation-Date: 2006-04-01 17:09+0200\n"
|
||||||
"PO-Revision-Date: 2006-04-15 22:53+0200\n"
|
"PO-Revision-Date: 2006-04-21 00:31+0200\n"
|
||||||
"Last-Translator: David Blanchet <david.blanchet@free.fr>\n"
|
"Last-Translator: David Blanchet <david.blanchet@free.fr>\n"
|
||||||
"Language-Team: Adrien Beau <version.francaise@free.fr>\n"
|
"Language-Team: Adrien Beau <version.francaise@free.fr>\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
@ -110,7 +117,7 @@ msgstr "E82: Aucun tampon ne peut
|
|||||||
# explicite.
|
# explicite.
|
||||||
msgid "E83: Cannot allocate buffer, using other one..."
|
msgid "E83: Cannot allocate buffer, using other one..."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"E83: L'allocation du tampon a échoué: arrêtez Vim, libérez de la mémoire"
|
"E83: L'allocation du tampon a échoué : arrêtez Vim, libérez de la mémoire"
|
||||||
|
|
||||||
msgid "E515: No buffers were unloaded"
|
msgid "E515: No buffers were unloaded"
|
||||||
msgstr "E515: Aucun tampon n'a été déchargé"
|
msgstr "E515: Aucun tampon n'a été déchargé"
|
||||||
@ -327,6 +334,9 @@ msgstr "E102: Le tampon %s est introuvable"
|
|||||||
msgid "E103: Buffer \"%s\" is not in diff mode"
|
msgid "E103: Buffer \"%s\" is not in diff mode"
|
||||||
msgstr "E103: Le tampon %s n'est pas en mode diff"
|
msgstr "E103: Le tampon %s n'est pas en mode diff"
|
||||||
|
|
||||||
|
msgid "E787: Buffer changed unexpectedly"
|
||||||
|
msgstr "E787: Le tampon a été modifié inopinément"
|
||||||
|
|
||||||
# AB - Je cherche une traduction plus concise pour "escape".
|
# AB - Je cherche une traduction plus concise pour "escape".
|
||||||
msgid "E104: Escape not allowed in digraph"
|
msgid "E104: Escape not allowed in digraph"
|
||||||
msgstr "E104: Un digraphe ne peut contenir le caractère d'échappement"
|
msgstr "E104: Un digraphe ne peut contenir le caractère d'échappement"
|
||||||
@ -346,8 +356,8 @@ msgstr " Compl
|
|||||||
|
|
||||||
# DB - todo : Faut-il une majuscule à "mode" ?
|
# DB - todo : Faut-il une majuscule à "mode" ?
|
||||||
#. ctrl_x_mode == 0, ^P/^N compl.
|
#. ctrl_x_mode == 0, ^P/^N compl.
|
||||||
msgid " ^X mode (^]^D^E^F^I^K^L^N^O^P^S^U^V^Y)"
|
msgid " ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)"
|
||||||
msgstr " mode ^X (^]^D^E^F^I^K^L^N^O^P^S^U^V^Y)"
|
msgstr " mode ^X (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)"
|
||||||
|
|
||||||
msgid " Whole line completion (^L^N^P)"
|
msgid " Whole line completion (^L^N^P)"
|
||||||
msgstr " Complètement de ligne entière (^L^N^P)"
|
msgstr " Complètement de ligne entière (^L^N^P)"
|
||||||
@ -388,8 +398,8 @@ msgstr " Compl
|
|||||||
msgid " Omni completion (^O^N^P)"
|
msgid " Omni completion (^O^N^P)"
|
||||||
msgstr " Complètement selon le type de fichier (Omni) (^O^N^P)"
|
msgstr " Complètement selon le type de fichier (Omni) (^O^N^P)"
|
||||||
|
|
||||||
msgid " Spelling suggestion (^S^N^P)"
|
msgid " Spelling suggestion (s^N^P)"
|
||||||
msgstr " Suggestion d'orthographe (^S^N^P)"
|
msgstr " Suggestion d'orthographe (s^N^P)"
|
||||||
|
|
||||||
msgid " Keyword Local completion (^N^P)"
|
msgid " Keyword Local completion (^N^P)"
|
||||||
msgstr " Complètement local de mot-clé (^N/^P)"
|
msgstr " Complètement local de mot-clé (^N/^P)"
|
||||||
@ -656,6 +666,22 @@ msgstr "E723: Il manque '}'
|
|||||||
msgid "E724: variable nested too deep for displaying"
|
msgid "E724: variable nested too deep for displaying"
|
||||||
msgstr "E724: variable trop imbriquée pour être afficher"
|
msgstr "E724: variable trop imbriquée pour être afficher"
|
||||||
|
|
||||||
|
#, c-format
|
||||||
|
msgid "E117: Unknown function: %s"
|
||||||
|
msgstr "E117: Fonction inconnue : %s"
|
||||||
|
|
||||||
|
#, c-format
|
||||||
|
msgid "E119: Not enough arguments for function: %s"
|
||||||
|
msgstr "E119: La fonction %s n'a pas reçu assez d'arguments"
|
||||||
|
|
||||||
|
#, c-format
|
||||||
|
msgid "E120: Using <SID> not in a script context: %s"
|
||||||
|
msgstr "E120: <SID> utilisé en dehors d'un script : %s"
|
||||||
|
|
||||||
|
#, c-format
|
||||||
|
msgid "E725: Calling dict function without Dictionary: %s"
|
||||||
|
msgstr "E725: Appel d'une fonction « dict » sans Dictionnaire : %s"
|
||||||
|
|
||||||
msgid "E699: Too many arguments"
|
msgid "E699: Too many arguments"
|
||||||
msgstr "E699: Trop d'arguments"
|
msgstr "E699: Trop d'arguments"
|
||||||
|
|
||||||
@ -696,8 +722,8 @@ msgstr ""
|
|||||||
msgid "called inputrestore() more often than inputsave()"
|
msgid "called inputrestore() more often than inputsave()"
|
||||||
msgstr "inputrestore() a été appelé plus de fois qu'inputsave()"
|
msgstr "inputrestore() a été appelé plus de fois qu'inputsave()"
|
||||||
|
|
||||||
msgid "E745: Range not allowed"
|
msgid "E786: Range not allowed"
|
||||||
msgstr "E745: Les plages ne sont pas autorisés"
|
msgstr "E786: Les plages ne sont pas autorisés"
|
||||||
|
|
||||||
msgid "E701: Invalid type for len()"
|
msgid "E701: Invalid type for len()"
|
||||||
msgstr "E701: Type invalide avec len()"
|
msgstr "E701: Type invalide avec len()"
|
||||||
@ -1200,7 +1226,8 @@ msgstr "E145: Les commandes externes sont indisponibles dans rvim"
|
|||||||
|
|
||||||
msgid "E146: Regular expressions can't be delimited by letters"
|
msgid "E146: Regular expressions can't be delimited by letters"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"E146: Les expressions régulières ne peuvent pas être délimitées par des lettres"
|
"E146: Les expressions régulières ne peuvent pas être délimitées par des "
|
||||||
|
"lettres"
|
||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "replace with %s (y/n/a/q/l/^E/^Y)?"
|
msgid "replace with %s (y/n/a/q/l/^E/^Y)?"
|
||||||
@ -1266,7 +1293,6 @@ msgstr ""
|
|||||||
msgid "E478: Don't panic!"
|
msgid "E478: Don't panic!"
|
||||||
msgstr "E478: Pas de panique !"
|
msgstr "E478: Pas de panique !"
|
||||||
|
|
||||||
# DB - c-format : langue de l'aide puis sujet de l'aide.
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "E661: Sorry, no '%s' help for %s"
|
msgid "E661: Sorry, no '%s' help for %s"
|
||||||
msgstr "E661: Désolé, aucune aide en langue '%s' pour %s"
|
msgstr "E661: Désolé, aucune aide en langue '%s' pour %s"
|
||||||
@ -1304,7 +1330,7 @@ msgstr "E670: Encodages diff
|
|||||||
# DB - Suggestion.
|
# DB - Suggestion.
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "E154: Duplicate tag \"%s\" in file %s/%s"
|
msgid "E154: Duplicate tag \"%s\" in file %s/%s"
|
||||||
msgstr "E154: Marqueur \"%s\" dupliqué fichier %s/%s"
|
msgstr "E154: Marqueur \"%s\" dupliqué dans le fichier %s/%s"
|
||||||
|
|
||||||
# AB - Il faut respecter l'esprit plus que la lettre.
|
# AB - Il faut respecter l'esprit plus que la lettre.
|
||||||
#, c-format
|
#, c-format
|
||||||
@ -1375,9 +1401,8 @@ msgstr "Fin de la fonction"
|
|||||||
msgid "E464: Ambiguous use of user-defined command"
|
msgid "E464: Ambiguous use of user-defined command"
|
||||||
msgstr "E464: Utilisation ambigüe d'une commande définie par l'utilisateur"
|
msgstr "E464: Utilisation ambigüe d'une commande définie par l'utilisateur"
|
||||||
|
|
||||||
# DB - Espace final car Vim peut ajouter ": <informations>" à la suite
|
|
||||||
msgid "E492: Not an editor command"
|
msgid "E492: Not an editor command"
|
||||||
msgstr "E492: Commande inconnue "
|
msgstr "E492: Commande inconnue"
|
||||||
|
|
||||||
msgid "E493: Backwards range given"
|
msgid "E493: Backwards range given"
|
||||||
msgstr "E493: La plage spécifiée est inversée"
|
msgstr "E493: La plage spécifiée est inversée"
|
||||||
@ -1444,8 +1469,7 @@ msgid "E182: Invalid command name"
|
|||||||
msgstr "E182: Nom de commande invalide"
|
msgstr "E182: Nom de commande invalide"
|
||||||
|
|
||||||
msgid "E183: User defined commands must start with an uppercase letter"
|
msgid "E183: User defined commands must start with an uppercase letter"
|
||||||
msgstr ""
|
msgstr "E183: Les commandes utilisateur doivent commencer par une majuscule"
|
||||||
"E183: Les commandes utilisateur doivent commencer par une majuscule"
|
|
||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "E184: No such user-defined command: %s"
|
msgid "E184: No such user-defined command: %s"
|
||||||
@ -1487,11 +1511,10 @@ msgstr "Pas de fichier d'
|
|||||||
msgid "Append File"
|
msgid "Append File"
|
||||||
msgstr "Ajouter fichier"
|
msgstr "Ajouter fichier"
|
||||||
|
|
||||||
# DB - todo : le messages d'aide (":h E747") n'a rien à voir...
|
|
||||||
msgid "E747: Cannot change directory, buffer is modifed (add ! to override)"
|
msgid "E747: Cannot change directory, buffer is modifed (add ! to override)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"E747: Tampon modifié : impossible de changer de répertoire (ajoutez ! "
|
"E747: Tampon modifié : impossible de changer de répertoire (ajoutez ! pour "
|
||||||
"pour passer outre)"
|
"passer outre)"
|
||||||
|
|
||||||
msgid "E186: No previous directory"
|
msgid "E186: No previous directory"
|
||||||
msgstr "E186: Pas de répertoire précédent"
|
msgstr "E186: Pas de répertoire précédent"
|
||||||
@ -1555,8 +1578,7 @@ msgid "E496: no autocommand buffer number to substitute for \"<abuf>\""
|
|||||||
msgstr "E496: Aucun numéro de tampon d'autocommande à substituer à \"<abuf>\""
|
msgstr "E496: Aucun numéro de tampon d'autocommande à substituer à \"<abuf>\""
|
||||||
|
|
||||||
msgid "E497: no autocommand match name to substitute for \"<amatch>\""
|
msgid "E497: no autocommand match name to substitute for \"<amatch>\""
|
||||||
msgstr ""
|
msgstr "E497: Aucune correspondance d'autocommande à substituer à \"<amatch>\""
|
||||||
"E497: Aucune correspondance d'autocommande à substituer à \"<amatch>\""
|
|
||||||
|
|
||||||
msgid "E498: no :source file name to substitute for \"<sfile>\""
|
msgid "E498: no :source file name to substitute for \"<sfile>\""
|
||||||
msgstr "E498: Aucun nom de fichier :source à substituer à \"<sfile>\""
|
msgstr "E498: Aucun nom de fichier :source à substituer à \"<sfile>\""
|
||||||
@ -1664,12 +1686,15 @@ msgstr "E601: Imbrication de :try trop importante"
|
|||||||
msgid "E603: :catch without :try"
|
msgid "E603: :catch without :try"
|
||||||
msgstr "E603: :catch sans :try"
|
msgstr "E603: :catch sans :try"
|
||||||
|
|
||||||
|
#. Give up for a ":catch" after ":finally" and ignore it.
|
||||||
|
#. * Just parse.
|
||||||
msgid "E604: :catch after :finally"
|
msgid "E604: :catch after :finally"
|
||||||
msgstr "E604: :catch après :finally"
|
msgstr "E604: :catch après :finally"
|
||||||
|
|
||||||
msgid "E606: :finally without :try"
|
msgid "E606: :finally without :try"
|
||||||
msgstr "E606: :finally sans :try"
|
msgstr "E606: :finally sans :try"
|
||||||
|
|
||||||
|
#. Give up for a multiple ":finally" and ignore it.
|
||||||
msgid "E607: multiple :finally"
|
msgid "E607: multiple :finally"
|
||||||
msgstr "E607: Il ne peut y avoir qu'un seul :finally"
|
msgstr "E607: Il ne peut y avoir qu'un seul :finally"
|
||||||
|
|
||||||
@ -1679,6 +1704,9 @@ msgstr "E602: :endtry sans :try"
|
|||||||
msgid "E193: :endfunction not inside a function"
|
msgid "E193: :endfunction not inside a function"
|
||||||
msgstr "E193: :endfunction en dehors d'une fonction"
|
msgstr "E193: :endfunction en dehors d'une fonction"
|
||||||
|
|
||||||
|
msgid "E788: Not allowed to edit another buffer now"
|
||||||
|
msgstr "E788: L'édition d'un autre tampon n'est plus permise"
|
||||||
|
|
||||||
# DB - TODO : Pas compris le message ni comment le déclencher malgré une visite
|
# DB - TODO : Pas compris le message ni comment le déclencher malgré une visite
|
||||||
# dans le code.
|
# dans le code.
|
||||||
msgid "tagname"
|
msgid "tagname"
|
||||||
@ -1754,6 +1782,7 @@ msgstr "Vim: Lecture de stdin...\n"
|
|||||||
msgid "Reading from stdin..."
|
msgid "Reading from stdin..."
|
||||||
msgstr "Lecture de stdin..."
|
msgstr "Lecture de stdin..."
|
||||||
|
|
||||||
|
#. Re-opening the original file failed!
|
||||||
msgid "E202: Conversion made file unreadable!"
|
msgid "E202: Conversion made file unreadable!"
|
||||||
msgstr "E202: La conversion a rendu le fichier illisible !"
|
msgstr "E202: La conversion a rendu le fichier illisible !"
|
||||||
|
|
||||||
@ -1831,17 +1860,15 @@ msgid "is read-only (add ! to override)"
|
|||||||
msgstr "est en lecture seule (ajoutez ! pour passer outre)"
|
msgstr "est en lecture seule (ajoutez ! pour passer outre)"
|
||||||
|
|
||||||
msgid "E506: Can't write to backup file (add ! to override)"
|
msgid "E506: Can't write to backup file (add ! to override)"
|
||||||
msgstr ""
|
msgstr "E506: Impossible d'écrire la copie de secours (! pour passer outre)"
|
||||||
"E506: Impossible d'écrire la copie de secours (! pour passer outre)"
|
|
||||||
|
|
||||||
msgid "E507: Close error for backup file (add ! to override)"
|
msgid "E507: Close error for backup file (add ! to override)"
|
||||||
msgstr ""
|
msgstr "E507: Erreur de fermeture de la copie de secours (! pour passer outre)"
|
||||||
"E507: Erreur de fermeture de la copie de secours (! pour passer outre)"
|
|
||||||
|
|
||||||
msgid "E508: Can't read file for backup (add ! to override)"
|
msgid "E508: Can't read file for backup (add ! to override)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"E508: Impossible de lire le fichier pour la copie de secours (ajoutez ! "
|
"E508: Impossible de lire le fichier pour la copie de secours (ajoutez ! pour "
|
||||||
"pour passer outre)"
|
"passer outre)"
|
||||||
|
|
||||||
msgid "E509: Cannot create backup file (add ! to override)"
|
msgid "E509: Cannot create backup file (add ! to override)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -1963,6 +1990,9 @@ msgstr "[noeol]"
|
|||||||
msgid "[Incomplete last line]"
|
msgid "[Incomplete last line]"
|
||||||
msgstr "[Dernière ligne incomplète]"
|
msgstr "[Dernière ligne incomplète]"
|
||||||
|
|
||||||
|
#. don't overwrite messages here
|
||||||
|
#. must give this prompt
|
||||||
|
#. don't use emsg() here, don't want to flush the buffers
|
||||||
msgid "WARNING: The file has been changed since reading it!!!"
|
msgid "WARNING: The file has been changed since reading it!!!"
|
||||||
msgstr "ALERTE: Le fichier a été modifié depuis que Vim l'a lu !"
|
msgstr "ALERTE: Le fichier a été modifié depuis que Vim l'a lu !"
|
||||||
|
|
||||||
@ -2044,6 +2074,7 @@ msgstr "--Effac
|
|||||||
msgid "auto-removing autocommand: %s <buffer=%d>"
|
msgid "auto-removing autocommand: %s <buffer=%d>"
|
||||||
msgstr "Autocommandes marquées pour auto-suppression : %s <tampon=%d>"
|
msgstr "Autocommandes marquées pour auto-suppression : %s <tampon=%d>"
|
||||||
|
|
||||||
|
#. the group doesn't exist
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "E367: No such group: \"%s\""
|
msgid "E367: No such group: \"%s\""
|
||||||
msgstr "E367: Aucun groupe \"%s\""
|
msgstr "E367: Aucun groupe \"%s\""
|
||||||
@ -2356,11 +2387,11 @@ msgstr "Chercher une cha
|
|||||||
msgid "Find & Replace (use '\\\\' to find a '\\')"
|
msgid "Find & Replace (use '\\\\' to find a '\\')"
|
||||||
msgstr "Chercher et remplacer (utilisez '\\\\' pour trouver un '\\')"
|
msgstr "Chercher et remplacer (utilisez '\\\\' pour trouver un '\\')"
|
||||||
|
|
||||||
#. We fake this: Use a filter that doesn't select anything and a default
|
|
||||||
#. * file name that won't be used.
|
|
||||||
# DB - Traduction non indispensable puisque le code indique qu'il s'agit d'un
|
# DB - Traduction non indispensable puisque le code indique qu'il s'agit d'un
|
||||||
# paramétrage bidon afin de sélectionner un répertoire plutôt qu'un
|
# paramétrage bidon afin de sélectionner un répertoire plutôt qu'un
|
||||||
# fichier.
|
# fichier.
|
||||||
|
#. We fake this: Use a filter that doesn't select anything and a default
|
||||||
|
#. * file name that won't be used.
|
||||||
msgid "Not Used"
|
msgid "Not Used"
|
||||||
msgstr "Non utilisé"
|
msgstr "Non utilisé"
|
||||||
|
|
||||||
@ -2434,6 +2465,7 @@ msgstr "Choisir une police - Vim"
|
|||||||
msgid "Name:"
|
msgid "Name:"
|
||||||
msgstr "Nom :"
|
msgstr "Nom :"
|
||||||
|
|
||||||
|
#. create toggle button
|
||||||
msgid "Show size in Points"
|
msgid "Show size in Points"
|
||||||
msgstr "Afficher la taille en Points"
|
msgstr "Afficher la taille en Points"
|
||||||
|
|
||||||
@ -2516,8 +2548,7 @@ msgstr ""
|
|||||||
"E674: 'printmbcharset' ne peut pas être vide avec un encodage multi-octets"
|
"E674: 'printmbcharset' ne peut pas être vide avec un encodage multi-octets"
|
||||||
|
|
||||||
msgid "E675: No default font specified for multi-byte printing."
|
msgid "E675: No default font specified for multi-byte printing."
|
||||||
msgstr ""
|
msgstr "E675: Aucune police par défaut pour l'impression multi-octets"
|
||||||
"E675: Aucune police par défaut pour l'impression multi-octets"
|
|
||||||
|
|
||||||
msgid "E324: Can't open PostScript output file"
|
msgid "E324: Can't open PostScript output file"
|
||||||
msgstr "E324: Impossible d'ouvrir le fichier PostScript de sortie"
|
msgstr "E324: Impossible d'ouvrir le fichier PostScript de sortie"
|
||||||
@ -2627,8 +2658,7 @@ msgstr "E567: Aucune connexion cscope"
|
|||||||
# DB - todo
|
# DB - todo
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "E259: no matches found for cscope query %s of %s"
|
msgid "E259: no matches found for cscope query %s of %s"
|
||||||
msgstr ""
|
msgstr "E259: aucune correspondance trouvée pour la requête cscope %s de %s"
|
||||||
"E259: aucune correspondance trouvée pour la requête cscope %s de %s"
|
|
||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "E469: invalid cscopequickfix flag %c for %c"
|
msgid "E469: invalid cscopequickfix flag %c for %c"
|
||||||
@ -2663,6 +2693,7 @@ msgstr "E261: Connexion cscope %s introuvable"
|
|||||||
msgid "cscope connection %s closed"
|
msgid "cscope connection %s closed"
|
||||||
msgstr "connexion cscope %s fermée"
|
msgstr "connexion cscope %s fermée"
|
||||||
|
|
||||||
|
#. should not reach here
|
||||||
msgid "E570: fatal error in cs_manage_matches"
|
msgid "E570: fatal error in cs_manage_matches"
|
||||||
msgstr "E570: erreur fatale dans cs_manage_matches"
|
msgstr "E570: erreur fatale dans cs_manage_matches"
|
||||||
|
|
||||||
@ -2817,12 +2848,33 @@ msgstr "<fen
|
|||||||
msgid "no such window"
|
msgid "no such window"
|
||||||
msgstr "Cette fenêtre n'existe pas"
|
msgstr "Cette fenêtre n'existe pas"
|
||||||
|
|
||||||
|
msgid "E265: $_ must be an instance of String"
|
||||||
|
msgstr "E265: $_ doit être une instance de chaîne (String)"
|
||||||
|
|
||||||
msgid ""
|
msgid ""
|
||||||
"E266: Sorry, this command is disabled, the Ruby library could not be loaded."
|
"E266: Sorry, this command is disabled, the Ruby library could not be loaded."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"E266: Désolé, commande désactivée : la bibliothèque Ruby n'a pas pu être "
|
"E266: Désolé, commande désactivée : la bibliothèque Ruby n'a pas pu être "
|
||||||
"chargée."
|
"chargée."
|
||||||
|
|
||||||
|
msgid "E267: unexpected return"
|
||||||
|
msgstr "E267: « return » inattendu"
|
||||||
|
|
||||||
|
msgid "E268: unexpected next"
|
||||||
|
msgstr "E268: « next » inattendu"
|
||||||
|
|
||||||
|
msgid "E269: unexpected break"
|
||||||
|
msgstr "E269: « break » inattendu"
|
||||||
|
|
||||||
|
msgid "E270: unexpected redo"
|
||||||
|
msgstr "E270: « redo » inattendu"
|
||||||
|
|
||||||
|
msgid "E271: retry outside of rescue clause"
|
||||||
|
msgstr "E271: « retry » hors d'une clause « rescue »"
|
||||||
|
|
||||||
|
msgid "E272: unhandled exception"
|
||||||
|
msgstr "E272: Exception non prise en charge"
|
||||||
|
|
||||||
# DB - todo
|
# DB - todo
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "E273: unknown longjmp status %d"
|
msgid "E273: unknown longjmp status %d"
|
||||||
@ -3047,6 +3099,7 @@ msgstr "Vim: Alerte: La sortie ne s'effectue pas sur un terminal\n"
|
|||||||
msgid "Vim: Warning: Input is not from a terminal\n"
|
msgid "Vim: Warning: Input is not from a terminal\n"
|
||||||
msgstr "Vim: Alerte: L'entrée ne se fait pas sur un terminal\n"
|
msgstr "Vim: Alerte: L'entrée ne se fait pas sur un terminal\n"
|
||||||
|
|
||||||
|
#. just in case..
|
||||||
msgid "pre-vimrc command line"
|
msgid "pre-vimrc command line"
|
||||||
msgstr "ligne de commande pre-vimrc"
|
msgstr "ligne de commande pre-vimrc"
|
||||||
|
|
||||||
@ -3095,7 +3148,8 @@ msgstr ""
|
|||||||
# DB - todo (VMS uniquement).
|
# DB - todo (VMS uniquement).
|
||||||
msgid "where case is ignored prepend / to make flag upper case"
|
msgid "where case is ignored prepend / to make flag upper case"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"pour lesquels la casse est indifférente (/ pour que le drapeau soit majuscule)"
|
"pour lesquels la casse est indifférente (/ pour que le drapeau soit "
|
||||||
|
"majuscule)"
|
||||||
|
|
||||||
msgid ""
|
msgid ""
|
||||||
"\n"
|
"\n"
|
||||||
@ -3123,7 +3177,8 @@ msgstr "-g\t\tLancer l'interface graphique (comme \"gvim\")"
|
|||||||
|
|
||||||
msgid "-f or --nofork\tForeground: Don't fork when starting GUI"
|
msgid "-f or --nofork\tForeground: Don't fork when starting GUI"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"-f, --nofork\tPremier-plan : ne pas détacher l'interface graphique du terminal"
|
"-f, --nofork\tPremier-plan : ne pas détacher l'interface graphique du "
|
||||||
|
"terminal"
|
||||||
|
|
||||||
msgid "-v\t\t\tVi mode (like \"vi\")"
|
msgid "-v\t\t\tVi mode (like \"vi\")"
|
||||||
msgstr "-v\t\tMode Vi (comme \"vi\")"
|
msgstr "-v\t\tMode Vi (comme \"vi\")"
|
||||||
@ -3278,7 +3333,8 @@ msgstr "--remote-send <tche>\tEnvoyer <touches>
|
|||||||
|
|
||||||
msgid "--remote-expr <expr>\tEvaluate <expr> in a Vim server and print result"
|
msgid "--remote-expr <expr>\tEvaluate <expr> in a Vim server and print result"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"--remote-expr <expr>\tÉvaluer <expr> dans un serveur Vim, afficher le résultat"
|
"--remote-expr <expr>\tÉvaluer <expr> dans un serveur Vim, afficher le "
|
||||||
|
"résultat"
|
||||||
|
|
||||||
msgid "--serverlist\t\tList available Vim server names and exit"
|
msgid "--serverlist\t\tList available Vim server names and exit"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -3312,7 +3368,7 @@ msgstr ""
|
|||||||
|
|
||||||
msgid ""
|
msgid ""
|
||||||
"\n"
|
"\n"
|
||||||
"Arguments recognised by gvim (Athena version) :\n"
|
"Arguments recognised by gvim (Athena version):\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"\n"
|
"\n"
|
||||||
"Arguments reconnus par gvim (version Athena) :\n"
|
"Arguments reconnus par gvim (version Athena) :\n"
|
||||||
@ -3394,8 +3450,7 @@ msgstr ""
|
|||||||
"-display <display>\tLancer Vim sur ce <display>\t(également : --display)"
|
"-display <display>\tLancer Vim sur ce <display>\t(également : --display)"
|
||||||
|
|
||||||
msgid "--role <role>\tSet a unique role to identify the main window"
|
msgid "--role <role>\tSet a unique role to identify the main window"
|
||||||
msgstr ""
|
msgstr "--role <rôle>\tDonner un rôle pour identifier la fenêtre principale"
|
||||||
"--role <rôle>\tDonner un rôle pour identifier la fenêtre principale"
|
|
||||||
|
|
||||||
msgid "--socketid <xid>\tOpen Vim inside another GTK widget"
|
msgid "--socketid <xid>\tOpen Vim inside another GTK widget"
|
||||||
msgstr "--socketid <xid>\tOuvrir Vim dans un autre widget GTK"
|
msgstr "--socketid <xid>\tOuvrir Vim dans un autre widget GTK"
|
||||||
@ -3504,7 +3559,8 @@ msgstr "E288: la m
|
|||||||
|
|
||||||
msgid "E289: input method doesn't support my preedit type"
|
msgid "E289: input method doesn't support my preedit type"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"E289: le type de préédition de Vim n'est pas supporté par la méthode de saisie"
|
"E289: le type de préédition de Vim n'est pas supporté par la méthode de "
|
||||||
|
"saisie"
|
||||||
|
|
||||||
# DB - todo
|
# DB - todo
|
||||||
msgid "E290: over-the-spot style requires fontset"
|
msgid "E290: over-the-spot style requires fontset"
|
||||||
@ -3576,8 +3632,8 @@ msgid ""
|
|||||||
"Maybe no changes were made or Vim did not update the swap file."
|
"Maybe no changes were made or Vim did not update the swap file."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"\n"
|
"\n"
|
||||||
"Il est possible qu'aucune modif. n'a été faite ou que Vim n'a pas mis à jour "
|
"Il est possible qu'aucune modif. n'a été faite ou que Vim n'a pas mis à "
|
||||||
" le fichier d'échange."
|
"jour le fichier d'échange."
|
||||||
|
|
||||||
msgid " cannot be used with this version of Vim.\n"
|
msgid " cannot be used with this version of Vim.\n"
|
||||||
msgstr " ne peut pas être utilisé avec cette version de Vim.\n"
|
msgstr " ne peut pas être utilisé avec cette version de Vim.\n"
|
||||||
@ -3651,7 +3707,8 @@ msgstr "E311: R
|
|||||||
msgid ""
|
msgid ""
|
||||||
"E312: Errors detected while recovering; look for lines starting with ???"
|
"E312: Errors detected while recovering; look for lines starting with ???"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"E312: Erreurs lors de la récupération ; examinez les lignes commençant par ???"
|
"E312: Erreurs lors de la récupération ; examinez les lignes commençant "
|
||||||
|
"par ???"
|
||||||
|
|
||||||
msgid "See \":help E312\" for more information."
|
msgid "See \":help E312\" for more information."
|
||||||
msgstr "Consultez \":help E312\" pour plus d'information."
|
msgstr "Consultez \":help E312\" pour plus d'information."
|
||||||
@ -3954,6 +4011,8 @@ msgstr "E331: Ajout d'
|
|||||||
msgid "E332: Separator cannot be part of a menu path"
|
msgid "E332: Separator cannot be part of a menu path"
|
||||||
msgstr "E332: Un séparateur ne peut faire partie d'un chemin de menu"
|
msgstr "E332: Un séparateur ne peut faire partie d'un chemin de menu"
|
||||||
|
|
||||||
|
#. Now we have found the matching menu, and we list the mappings
|
||||||
|
#. Highlight title
|
||||||
msgid ""
|
msgid ""
|
||||||
"\n"
|
"\n"
|
||||||
"--- Menus ---"
|
"--- Menus ---"
|
||||||
@ -4048,6 +4107,7 @@ msgstr "Enregistrer un fichier"
|
|||||||
msgid "Open File dialog"
|
msgid "Open File dialog"
|
||||||
msgstr "Ouvrir un fichier"
|
msgstr "Ouvrir un fichier"
|
||||||
|
|
||||||
|
#. TODO: non-GUI file selector here
|
||||||
msgid "E338: Sorry, no file browser in console mode"
|
msgid "E338: Sorry, no file browser in console mode"
|
||||||
msgstr "E338: Désolé, pas de sélecteur de fichiers en mode console"
|
msgstr "E338: Désolé, pas de sélecteur de fichiers en mode console"
|
||||||
|
|
||||||
@ -4089,6 +4149,7 @@ msgstr "Bip !"
|
|||||||
msgid "Vim: preserving files...\n"
|
msgid "Vim: preserving files...\n"
|
||||||
msgstr "Vim: préservation des fichiers...\n"
|
msgstr "Vim: préservation des fichiers...\n"
|
||||||
|
|
||||||
|
#. close all memfiles, without deleting
|
||||||
msgid "Vim: Finished.\n"
|
msgid "Vim: Finished.\n"
|
||||||
msgstr "Vim: Fini.\n"
|
msgstr "Vim: Fini.\n"
|
||||||
|
|
||||||
@ -4175,6 +4236,7 @@ msgstr "E346: Plus de r
|
|||||||
msgid "E347: No more file \"%s\" found in path"
|
msgid "E347: No more file \"%s\" found in path"
|
||||||
msgstr "E347: Plus de fichier \"%s\" dans 'path'"
|
msgstr "E347: Plus de fichier \"%s\" dans 'path'"
|
||||||
|
|
||||||
|
#. Get here when the server can't be found.
|
||||||
msgid "Cannot connect to Netbeans #2"
|
msgid "Cannot connect to Netbeans #2"
|
||||||
msgstr "Impossible de se connecter à Netbeans n°2"
|
msgstr "Impossible de se connecter à Netbeans n°2"
|
||||||
|
|
||||||
@ -4184,7 +4246,8 @@ msgstr "Impossible de se connecter
|
|||||||
#, c-format
|
#, c-format
|
||||||
msgid "E668: Wrong access mode for NetBeans connection info file: \"%s\""
|
msgid "E668: Wrong access mode for NetBeans connection info file: \"%s\""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"E668: Mode d'accès incorrect au fichier d'infos de connexion NetBeans : \"%s\""
|
"E668: Mode d'accès incorrect au fichier d'infos de connexion NetBeans : \"%s"
|
||||||
|
"\""
|
||||||
|
|
||||||
# DB : message d'un appel à perror().
|
# DB : message d'un appel à perror().
|
||||||
msgid "read from Netbeans socket"
|
msgid "read from Netbeans socket"
|
||||||
@ -4259,6 +4322,7 @@ msgid "E748: No previously used register"
|
|||||||
msgstr "E748: Aucun registre n'a été précédemment utilisé"
|
msgstr "E748: Aucun registre n'a été précédemment utilisé"
|
||||||
|
|
||||||
# DB - Question O/N.
|
# DB - Question O/N.
|
||||||
|
#. must display the prompt
|
||||||
msgid "cannot yank; delete anyway"
|
msgid "cannot yank; delete anyway"
|
||||||
msgstr "impossible de réaliser une copie ; effacer tout de même"
|
msgstr "impossible de réaliser une copie ; effacer tout de même"
|
||||||
|
|
||||||
@ -4291,6 +4355,7 @@ msgstr "%ld lignes copi
|
|||||||
msgid "E353: Nothing in register %s"
|
msgid "E353: Nothing in register %s"
|
||||||
msgstr "E353: Le registre %s est vide"
|
msgstr "E353: Le registre %s est vide"
|
||||||
|
|
||||||
|
#. Highlight title
|
||||||
msgid ""
|
msgid ""
|
||||||
"\n"
|
"\n"
|
||||||
"--- Registers ---"
|
"--- Registers ---"
|
||||||
@ -4327,8 +4392,8 @@ msgid ""
|
|||||||
"Selected %s%ld of %ld Lines; %ld of %ld Words; %ld of %ld Chars; %ld of %ld "
|
"Selected %s%ld of %ld Lines; %ld of %ld Words; %ld of %ld Chars; %ld of %ld "
|
||||||
"Bytes"
|
"Bytes"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"%s%ld sur %ld Lignes ; %ld sur %ld Mots ; %ld sur %ld Caractères ; "
|
"%s%ld sur %ld Lignes ; %ld sur %ld Mots ; %ld sur %ld Caractères ; %ld sur "
|
||||||
"%ld sur %ld octets sélectionnés"
|
"%ld octets sélectionnés"
|
||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Col %s of %s; Line %ld of %ld; Word %ld of %ld; Byte %ld of %ld"
|
msgid "Col %s of %s; Line %ld of %ld; Word %ld of %ld; Byte %ld of %ld"
|
||||||
@ -4339,8 +4404,9 @@ msgstr ""
|
|||||||
msgid ""
|
msgid ""
|
||||||
"Col %s of %s; Line %ld of %ld; Word %ld of %ld; Char %ld of %ld; Byte %ld of "
|
"Col %s of %s; Line %ld of %ld; Word %ld of %ld; Char %ld of %ld; Byte %ld of "
|
||||||
"%ld"
|
"%ld"
|
||||||
msgstr "Colonne %s sur %s ; Ligne %ld sur %ld ; Mot %ld sur %ld ; "
|
msgstr ""
|
||||||
"Caractère %ld sur %ld ; Octet %ld sur %ld"
|
"Colonne %s sur %s ; Ligne %ld sur %ld ; Mot %ld sur %ld ; Caractère %ld sur "
|
||||||
|
"%ld ; Octet %ld sur %ld"
|
||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "(+%ld for BOM)"
|
msgid "(+%ld for BOM)"
|
||||||
@ -4352,9 +4418,8 @@ msgstr "%<%f%h%m%=Page %N"
|
|||||||
msgid "Thanks for flying Vim"
|
msgid "Thanks for flying Vim"
|
||||||
msgstr "Merci d'avoir choisi Vim"
|
msgstr "Merci d'avoir choisi Vim"
|
||||||
|
|
||||||
# DB - Espace final car Vim peut ajouter ": <informations>" à la suite
|
|
||||||
msgid "E518: Unknown option"
|
msgid "E518: Unknown option"
|
||||||
msgstr "E518: Option inconnue "
|
msgstr "E518: Option inconnue"
|
||||||
|
|
||||||
msgid "E519: Option not supported"
|
msgid "E519: Option not supported"
|
||||||
msgstr "E519: Option non supportée"
|
msgstr "E519: Option non supportée"
|
||||||
@ -4376,8 +4441,7 @@ msgid "E529: Cannot set 'term' to empty string"
|
|||||||
msgstr "E529: 'term' ne doit pas être une chaîne vide"
|
msgstr "E529: 'term' ne doit pas être une chaîne vide"
|
||||||
|
|
||||||
msgid "E530: Cannot change term in GUI"
|
msgid "E530: Cannot change term in GUI"
|
||||||
msgstr ""
|
msgstr "E530: Impossible de modifier term dans l'interface graphique"
|
||||||
"E530: Impossible de modifier term dans l'interface graphique"
|
|
||||||
|
|
||||||
msgid "E531: Use \":gui\" to start the GUI"
|
msgid "E531: Use \":gui\" to start the GUI"
|
||||||
msgstr "E531: Utilisez \":gui\" pour démarrer l'interface graphique"
|
msgstr "E531: Utilisez \":gui\" pour démarrer l'interface graphique"
|
||||||
@ -4553,15 +4617,11 @@ msgstr "ANCHOR_BUF_SIZE trop petit."
|
|||||||
msgid "I/O ERROR"
|
msgid "I/O ERROR"
|
||||||
msgstr "ERREUR d'E/S"
|
msgstr "ERREUR d'E/S"
|
||||||
|
|
||||||
msgid "...(truncated)"
|
|
||||||
msgstr "...(tronqué)"
|
|
||||||
|
|
||||||
msgid "Message"
|
msgid "Message"
|
||||||
msgstr "Message"
|
msgstr "Message"
|
||||||
|
|
||||||
msgid "'columns' is not 80, cannot execute external commands"
|
msgid "'columns' is not 80, cannot execute external commands"
|
||||||
msgstr ""
|
msgstr "'columns' ne vaut pas 80, impossible d'exécuter des commandes externes"
|
||||||
"'columns' ne vaut pas 80, impossible d'exécuter des commandes externes"
|
|
||||||
|
|
||||||
msgid "E237: Printer selection failed"
|
msgid "E237: Printer selection failed"
|
||||||
msgstr "E237: La sélection de l'imprimante a échoué"
|
msgstr "E237: La sélection de l'imprimante a échoué"
|
||||||
@ -5000,6 +5060,16 @@ msgstr "E388: Impossible de trouver la d
|
|||||||
msgid "E389: Couldn't find pattern"
|
msgid "E389: Couldn't find pattern"
|
||||||
msgstr "E389: Impossible de trouver le motif"
|
msgstr "E389: Impossible de trouver le motif"
|
||||||
|
|
||||||
|
#, c-format
|
||||||
|
msgid ""
|
||||||
|
"\n"
|
||||||
|
"# Last %sSearch Pattern:\n"
|
||||||
|
"~"
|
||||||
|
msgstr ""
|
||||||
|
"\n"
|
||||||
|
"# Dernier motif de recherche %s :\n"
|
||||||
|
"~"
|
||||||
|
|
||||||
msgid "E759: Format error in spell file"
|
msgid "E759: Format error in spell file"
|
||||||
msgstr "E759: Erreur de format du fichier orthographique"
|
msgstr "E759: Erreur de format du fichier orthographique"
|
||||||
|
|
||||||
@ -5064,7 +5134,7 @@ msgstr "La conversion dans %s non support
|
|||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Conversion in %s not supported"
|
msgid "Conversion in %s not supported"
|
||||||
msgstr "La conversion dans %s non supportée"
|
msgstr "La conversion dans %s non supportée"
|
||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Invalid value for FLAG in %s line %d: %s"
|
msgid "Invalid value for FLAG in %s line %d: %s"
|
||||||
@ -5074,6 +5144,22 @@ msgstr "Valeur de FLAG invalide dans %s ligne %d : %s"
|
|||||||
msgid "FLAG after using flags in %s line %d: %s"
|
msgid "FLAG after using flags in %s line %d: %s"
|
||||||
msgstr "FLAG trouvé après des drapeaux dans %s ligne %d : %s"
|
msgstr "FLAG trouvé après des drapeaux dans %s ligne %d : %s"
|
||||||
|
|
||||||
|
#, c-format
|
||||||
|
msgid ""
|
||||||
|
"Defining COMPOUNDFORBIDFLAG after PFX item may give wrong results in %s line "
|
||||||
|
"%d"
|
||||||
|
msgstr ""
|
||||||
|
"Définir COMPOUNDFORBIDFLAG après des PFX peut donner des résultats erronés "
|
||||||
|
"dans %s ligne %d"
|
||||||
|
|
||||||
|
#, c-format
|
||||||
|
msgid ""
|
||||||
|
"Defining COMPOUNDPERMITFLAG after PFX item may give wrong results in %s line "
|
||||||
|
"%d"
|
||||||
|
msgstr ""
|
||||||
|
"Définir COMPOUNDPERMITFLAG après des PFX peut donner des résultats erronés "
|
||||||
|
" dans %s ligne %d"
|
||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Wrong COMPOUNDWORDMAX value in %s line %d: %s"
|
msgid "Wrong COMPOUNDWORDMAX value in %s line %d: %s"
|
||||||
msgstr "Valeur de COMPOUNDWORDMAX erronée dans %s ligne %d : %s"
|
msgstr "Valeur de COMPOUNDWORDMAX erronée dans %s ligne %d : %s"
|
||||||
@ -5106,8 +5192,8 @@ msgid ""
|
|||||||
"Affix also used for BAD/RARE/KEEPCASE/NEEDAFFIX/NEEDCOMPOUND/NOSUGGEST in %s "
|
"Affix also used for BAD/RARE/KEEPCASE/NEEDAFFIX/NEEDCOMPOUND/NOSUGGEST in %s "
|
||||||
"line %d: %s"
|
"line %d: %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Affixe aussi utilisée pour BAD/RARE/KEEPCASE/NEEDAFFIX/NEEDCOMPOUND/NOSUGGEST "
|
"Affixe aussi utilisée pour BAD/RARE/KEEPCASE/NEEDAFFIX/NEEDCOMPOUND/"
|
||||||
"dans %s ligne %d : %s"
|
"NOSUGGEST dans %s ligne %d : %s"
|
||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Expected Y or N in %s line %d: %s"
|
msgid "Expected Y or N in %s line %d: %s"
|
||||||
@ -5118,13 +5204,6 @@ msgstr "Y ou N attendu dans %s ligne %d : %s"
|
|||||||
msgid "Broken condition in %s line %d: %s"
|
msgid "Broken condition in %s line %d: %s"
|
||||||
msgstr "Condition non valide dans %s ligne %d : %s"
|
msgstr "Condition non valide dans %s ligne %d : %s"
|
||||||
|
|
||||||
# DB - todo
|
|
||||||
#, c-format
|
|
||||||
msgid "Affix flags ignored when PFXPOSTPONE used in %s line %d: %s"
|
|
||||||
msgstr ""
|
|
||||||
"Drapeaux de l'affixe ignorés quand PFXPOSTPONE est utilisé dans %s ligne %d "
|
|
||||||
": %s"
|
|
||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Expected REP(SAL) count in %s line %d"
|
msgid "Expected REP(SAL) count in %s line %d"
|
||||||
msgstr "Nombre de REP(SAL) attendu dans %s ligne %d"
|
msgstr "Nombre de REP(SAL) attendu dans %s ligne %d"
|
||||||
@ -5248,8 +5327,10 @@ msgstr "%d noeuds compress
|
|||||||
msgid "Reading back spell file..."
|
msgid "Reading back spell file..."
|
||||||
msgstr "Relecture du fichier orthographique"
|
msgstr "Relecture du fichier orthographique"
|
||||||
|
|
||||||
|
#.
|
||||||
#. * Go through the trie of good words, soundfold each word and add it to
|
#. * Go through the trie of good words, soundfold each word and add it to
|
||||||
#. * the soundfold trie.
|
#. * the soundfold trie.
|
||||||
|
#.
|
||||||
msgid "Performing soundfolding..."
|
msgid "Performing soundfolding..."
|
||||||
msgstr "Analyse phonétique en cours..."
|
msgstr "Analyse phonétique en cours..."
|
||||||
|
|
||||||
@ -5313,6 +5394,7 @@ msgstr "D
|
|||||||
msgid "Sorry, only %ld suggestions"
|
msgid "Sorry, only %ld suggestions"
|
||||||
msgstr "Désolé, seulement %ld suggestions"
|
msgstr "Désolé, seulement %ld suggestions"
|
||||||
|
|
||||||
|
#. avoid more prompt
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Change \"%.*s\" to:"
|
msgid "Change \"%.*s\" to:"
|
||||||
msgstr "Remplacer \"%.*s\" par :"
|
msgstr "Remplacer \"%.*s\" par :"
|
||||||
@ -5594,6 +5676,7 @@ msgstr " Utilisation d'un marqueur avec une casse diff
|
|||||||
msgid "E429: File \"%s\" does not exist"
|
msgid "E429: File \"%s\" does not exist"
|
||||||
msgstr "E429: Le fichier \"%s\" n'existe pas"
|
msgstr "E429: Le fichier \"%s\" n'existe pas"
|
||||||
|
|
||||||
|
#. Highlight title
|
||||||
msgid ""
|
msgid ""
|
||||||
"\n"
|
"\n"
|
||||||
" # TO tag FROM line in file/text"
|
" # TO tag FROM line in file/text"
|
||||||
@ -5654,6 +5737,7 @@ msgstr "E436: Aucune entr
|
|||||||
msgid "E437: terminal capability \"cm\" required"
|
msgid "E437: terminal capability \"cm\" required"
|
||||||
msgstr "E437: capacité de terminal \"cm\" requise"
|
msgstr "E437: capacité de terminal \"cm\" requise"
|
||||||
|
|
||||||
|
#. Highlight title
|
||||||
msgid ""
|
msgid ""
|
||||||
"\n"
|
"\n"
|
||||||
"--- Terminal keys ---"
|
"--- Terminal keys ---"
|
||||||
@ -5668,6 +5752,7 @@ msgid "Vim: Error reading input, exiting...\n"
|
|||||||
msgstr "Vim: Erreur lors de la lecture de l'entrée, sortie...\n"
|
msgstr "Vim: Erreur lors de la lecture de l'entrée, sortie...\n"
|
||||||
|
|
||||||
# DB - Question O/N.
|
# DB - Question O/N.
|
||||||
|
#. must display the prompt
|
||||||
msgid "No undo possible; continue anyway"
|
msgid "No undo possible; continue anyway"
|
||||||
msgstr "Annulation impossible ; continuer"
|
msgstr "Annulation impossible ; continuer"
|
||||||
|
|
||||||
@ -5719,6 +5804,10 @@ msgstr "Rien
|
|||||||
msgid "number changes time"
|
msgid "number changes time"
|
||||||
msgstr "numéro modif. instant"
|
msgstr "numéro modif. instant"
|
||||||
|
|
||||||
|
#, c-format
|
||||||
|
msgid "%ld seconds ago"
|
||||||
|
msgstr "il y a %ld secondes"
|
||||||
|
|
||||||
msgid "E439: undo list corrupt"
|
msgid "E439: undo list corrupt"
|
||||||
msgstr "E439: la liste d'annulation est corrompue"
|
msgstr "E439: la liste d'annulation est corrompue"
|
||||||
|
|
||||||
@ -6031,6 +6120,9 @@ msgstr "ALERTE: Windows 95/98/ME d
|
|||||||
msgid "type :help windows95<Enter> for info on this"
|
msgid "type :help windows95<Enter> for info on this"
|
||||||
msgstr "tapez :help windows95<Entrée> pour plus d'information"
|
msgstr "tapez :help windows95<Entrée> pour plus d'information"
|
||||||
|
|
||||||
|
msgid "Already only one window"
|
||||||
|
msgstr "Il n'y a déjà plus qu'une fenêtre"
|
||||||
|
|
||||||
msgid "E441: There is no preview window"
|
msgid "E441: There is no preview window"
|
||||||
msgstr "E441: Il n'y a pas de fenêtre de prévisualisation"
|
msgstr "E441: Il n'y a pas de fenêtre de prévisualisation"
|
||||||
|
|
||||||
@ -6043,9 +6135,6 @@ msgstr "E443: Rotation impossible quand une autre fen
|
|||||||
msgid "E444: Cannot close last window"
|
msgid "E444: Cannot close last window"
|
||||||
msgstr "E444: Impossible de fermer la dernière fenêtre"
|
msgstr "E444: Impossible de fermer la dernière fenêtre"
|
||||||
|
|
||||||
msgid "Already only one window"
|
|
||||||
msgstr "Il n'y a déjà plus qu'une fenêtre"
|
|
||||||
|
|
||||||
msgid "E445: Other window contains changes"
|
msgid "E445: Other window contains changes"
|
||||||
msgstr "E445: Les modifications de l'autre fenêtre n'ont pas été enregistrées"
|
msgstr "E445: Les modifications de l'autre fenêtre n'ont pas été enregistrées"
|
||||||
|
|
||||||
@ -6079,6 +6168,7 @@ msgstr "&Comparer avec Vim"
|
|||||||
msgid "Edit with &Vim"
|
msgid "Edit with &Vim"
|
||||||
msgstr "Éditer dans &Vim"
|
msgstr "Éditer dans &Vim"
|
||||||
|
|
||||||
|
#. Now concatenate
|
||||||
msgid "Edit with existing Vim - "
|
msgid "Edit with existing Vim - "
|
||||||
msgstr "Éditer dans le Vim existant - "
|
msgstr "Éditer dans le Vim existant - "
|
||||||
|
|
||||||
@ -6088,8 +6178,8 @@ msgstr "
|
|||||||
# DB - MessageBox win32, la longueur n'est pas un problème !
|
# DB - MessageBox win32, la longueur n'est pas un problème !
|
||||||
msgid "Error creating process: Check if gvim is in your path!"
|
msgid "Error creating process: Check if gvim is in your path!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Erreur de création du processus : "
|
"Erreur de création du processus : vérifiez que gvim est bien dans votre "
|
||||||
"vérifiez que gvim est bien dans votre chemin !"
|
"chemin !"
|
||||||
|
|
||||||
msgid "gvimext.dll error"
|
msgid "gvimext.dll error"
|
||||||
msgstr "Erreur de gvimext.dll"
|
msgstr "Erreur de gvimext.dll"
|
||||||
@ -6102,6 +6192,10 @@ msgstr "Le chemin est trop long !"
|
|||||||
msgid "--No lines in buffer--"
|
msgid "--No lines in buffer--"
|
||||||
msgstr "--Le tampon est vide--"
|
msgstr "--Le tampon est vide--"
|
||||||
|
|
||||||
|
#.
|
||||||
|
#. * The error messages that can be shared are included here.
|
||||||
|
#. * Excluded are errors that are only used once and debugging messages.
|
||||||
|
#.
|
||||||
msgid "E470: Command aborted"
|
msgid "E470: Command aborted"
|
||||||
msgstr "E470: Commande annulée"
|
msgstr "E470: Commande annulée"
|
||||||
|
|
||||||
@ -6338,7 +6432,8 @@ msgstr "E46: La variable \"%s\" est en lecture seule"
|
|||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "E46: Cannot set variable in the sandbox: \"%s\""
|
msgid "E46: Cannot set variable in the sandbox: \"%s\""
|
||||||
msgstr "E46: Impossible de modifier une variable depuis le bac à sable : \"%s\""
|
msgstr ""
|
||||||
|
"E46: Impossible de modifier une variable depuis le bac à sable : \"%s\""
|
||||||
|
|
||||||
msgid "E47: Error while reading errorfile"
|
msgid "E47: Error while reading errorfile"
|
||||||
msgstr "E47: Erreur lors de la lecture du fichier d'erreurs"
|
msgstr "E47: Erreur lors de la lecture du fichier d'erreurs"
|
||||||
@ -6429,7 +6524,7 @@ msgstr "E682: D
|
|||||||
msgid "E139: File is loaded in another buffer"
|
msgid "E139: File is loaded in another buffer"
|
||||||
msgstr "E139: Le fichier est chargé dans un autre tampon"
|
msgstr "E139: Le fichier est chargé dans un autre tampon"
|
||||||
|
|
||||||
#,c-format
|
#, c-format
|
||||||
msgid "E764: Option '%s' is not set"
|
msgid "E764: Option '%s' is not set"
|
||||||
msgstr "E764: L'option '%s' n'est pas activée"
|
msgstr "E764: L'option '%s' n'est pas activée"
|
||||||
|
|
||||||
|
@ -5096,8 +5096,8 @@ msgid "E397: Filename required"
|
|||||||
msgstr "E397: Nome file necessario"
|
msgstr "E397: Nome file necessario"
|
||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "E747: Missing ']': %s"
|
msgid "E789: Missing ']': %s"
|
||||||
msgstr "E747: Manca ']': %s"
|
msgstr "E789: Manca ']': %s"
|
||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "E398: Missing '=': %s"
|
msgid "E398: Missing '=': %s"
|
||||||
|
@ -5109,8 +5109,8 @@ msgid "E397: Filename required"
|
|||||||
msgstr "E397: ファイル名が必要です"
|
msgstr "E397: ファイル名が必要です"
|
||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "E747: Missing ']': %s"
|
msgid "E789: Missing ']': %s"
|
||||||
msgstr "E747: ']' がありません: %s"
|
msgstr "E789: ']' がありません: %s"
|
||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "E398: Missing '=': %s"
|
msgid "E398: Missing '=': %s"
|
||||||
|
@ -5109,8 +5109,8 @@ msgid "E397: Filename required"
|
|||||||
msgstr "E397: ファイル名が必要です"
|
msgstr "E397: ファイル名が必要です"
|
||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "E747: Missing ']': %s"
|
msgid "E789: Missing ']': %s"
|
||||||
msgstr "E747: ']' がありません: %s"
|
msgstr "E789: ']' がありません: %s"
|
||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "E398: Missing '=': %s"
|
msgid "E398: Missing '=': %s"
|
||||||
|
@ -5101,8 +5101,8 @@ msgid "E397: Filename required"
|
|||||||
msgstr "E397: Wymagana nazwa pliku"
|
msgstr "E397: Wymagana nazwa pliku"
|
||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "E747: Missing ']': %s"
|
msgid "E789: Missing ']': %s"
|
||||||
msgstr "E747: Brak ']': %s"
|
msgstr "E789: Brak ']': %s"
|
||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "E398: Missing '=': %s"
|
msgid "E398: Missing '=': %s"
|
||||||
|
@ -5101,8 +5101,8 @@ msgid "E397: Filename required"
|
|||||||
msgstr "E397: Wymagana nazwa pliku"
|
msgstr "E397: Wymagana nazwa pliku"
|
||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "E747: Missing ']': %s"
|
msgid "E789: Missing ']': %s"
|
||||||
msgstr "E747: Brak ']': %s"
|
msgstr "E789: Brak ']': %s"
|
||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "E398: Missing '=': %s"
|
msgid "E398: Missing '=': %s"
|
||||||
|
@ -5101,8 +5101,8 @@ msgid "E397: Filename required"
|
|||||||
msgstr "E397: Wymagana nazwa pliku"
|
msgstr "E397: Wymagana nazwa pliku"
|
||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "E747: Missing ']': %s"
|
msgid "E789: Missing ']': %s"
|
||||||
msgstr "E747: Brak ']': %s"
|
msgstr "E789: Brak ']': %s"
|
||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "E398: Missing '=': %s"
|
msgid "E398: Missing '=': %s"
|
||||||
|
@ -4871,8 +4871,8 @@ msgid "E397: Filename required"
|
|||||||
msgstr "E397: Vyžadovaný názov súboru"
|
msgstr "E397: Vyžadovaný názov súboru"
|
||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "E747: Missing ']': %s"
|
msgid "E789: Missing ']': %s"
|
||||||
msgstr "E747: Chýba ']': %s"
|
msgstr "E789: Chýba ']': %s"
|
||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "E398: Missing '=': %s"
|
msgid "E398: Missing '=': %s"
|
||||||
|
@ -4871,8 +4871,8 @@ msgid "E397: Filename required"
|
|||||||
msgstr "E397: Vy¾adovaný názov súboru"
|
msgstr "E397: Vy¾adovaný názov súboru"
|
||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "E747: Missing ']': %s"
|
msgid "E789: Missing ']': %s"
|
||||||
msgstr "E747: Chýba ']': %s"
|
msgstr "E789: Chýba ']': %s"
|
||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "E398: Missing '=': %s"
|
msgid "E398: Missing '=': %s"
|
||||||
|
@ -5066,8 +5066,8 @@ msgid "E397: Filename required"
|
|||||||
msgstr "E397: Filnamn krävs"
|
msgstr "E397: Filnamn krävs"
|
||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "E747: Missing ']': %s"
|
msgid "E789: Missing ']': %s"
|
||||||
msgstr "E747: Saknar ']': %s"
|
msgstr "E789: Saknar ']': %s"
|
||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "E398: Missing '=': %s"
|
msgid "E398: Missing '=': %s"
|
||||||
|
@ -5056,8 +5056,8 @@ msgid "E397: Filename required"
|
|||||||
msgstr "E397: 需要文件名称"
|
msgstr "E397: 需要文件名称"
|
||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "E747: Missing ']': %s"
|
msgid "E789: Missing ']': %s"
|
||||||
msgstr "E747: 缺少 ']': %s"
|
msgstr "E789: 缺少 ']': %s"
|
||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "E398: Missing '=': %s"
|
msgid "E398: Missing '=': %s"
|
||||||
|
@ -5056,8 +5056,8 @@ msgid "E397: Filename required"
|
|||||||
msgstr "E397: 需要文件名称"
|
msgstr "E397: 需要文件名称"
|
||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "E747: Missing ']': %s"
|
msgid "E789: Missing ']': %s"
|
||||||
msgstr "E747: ȱÉÙ ']': %s"
|
msgstr "E789: ȱÉÙ ']': %s"
|
||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "E398: Missing '=': %s"
|
msgid "E398: Missing '=': %s"
|
||||||
|
@ -5056,8 +5056,8 @@ msgid "E397: Filename required"
|
|||||||
msgstr "E397: 需要文件名称"
|
msgstr "E397: 需要文件名称"
|
||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "E747: Missing ']': %s"
|
msgid "E789: Missing ']': %s"
|
||||||
msgstr "E747: ȱÉÙ ']': %s"
|
msgstr "E789: ȱÉÙ ']': %s"
|
||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "E398: Missing '=': %s"
|
msgid "E398: Missing '=': %s"
|
||||||
|
@ -30,7 +30,7 @@ static int pum_col; /* left column of pum */
|
|||||||
|
|
||||||
static int pum_do_redraw = FALSE; /* do redraw anyway */
|
static int pum_do_redraw = FALSE; /* do redraw anyway */
|
||||||
|
|
||||||
static int pum_set_selected __ARGS((int n));
|
static int pum_set_selected __ARGS((int n, int repeat));
|
||||||
|
|
||||||
#define PUM_DEF_HEIGHT 10
|
#define PUM_DEF_HEIGHT 10
|
||||||
#define PUM_DEF_WIDTH 15
|
#define PUM_DEF_WIDTH 15
|
||||||
@ -59,6 +59,7 @@ pum_display(array, size, selected)
|
|||||||
int height;
|
int height;
|
||||||
int col;
|
int col;
|
||||||
int above_row = cmdline_row;
|
int above_row = cmdline_row;
|
||||||
|
int redo_count = 0;
|
||||||
|
|
||||||
redo:
|
redo:
|
||||||
def_width = PUM_DEF_WIDTH;
|
def_width = PUM_DEF_WIDTH;
|
||||||
@ -209,8 +210,9 @@ redo:
|
|||||||
pum_size = size;
|
pum_size = size;
|
||||||
|
|
||||||
/* Set selected item and redraw. If the window size changed need to redo
|
/* Set selected item and redraw. If the window size changed need to redo
|
||||||
* the positioning. */
|
* the positioning. Limit this to two times, when there is not much
|
||||||
if (pum_set_selected(selected))
|
* room the window size will keep changing. */
|
||||||
|
if (pum_set_selected(selected, redo_count) && ++redo_count <= 2)
|
||||||
goto redo;
|
goto redo;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -338,12 +340,17 @@ pum_get_selected()
|
|||||||
/*
|
/*
|
||||||
* Set the index of the currently selected item. The menu will scroll when
|
* Set the index of the currently selected item. The menu will scroll when
|
||||||
* necessary. When "n" is out of range don't scroll.
|
* necessary. When "n" is out of range don't scroll.
|
||||||
|
* This may be repeated when the preview window is used:
|
||||||
|
* "repeat" == 0: open preview window normally
|
||||||
|
* "repeat" == 1: open preview window but don't set the size
|
||||||
|
* "repeat" == 2: don't open preview window
|
||||||
* Returns TRUE when the window was resized and the location of the popup menu
|
* Returns TRUE when the window was resized and the location of the popup menu
|
||||||
* must be recomputed.
|
* must be recomputed.
|
||||||
*/
|
*/
|
||||||
static int
|
static int
|
||||||
pum_set_selected(n)
|
pum_set_selected(n, repeat)
|
||||||
int n;
|
int n;
|
||||||
|
int repeat;
|
||||||
{
|
{
|
||||||
int resized = FALSE;
|
int resized = FALSE;
|
||||||
int context = pum_height / 2;
|
int context = pum_height / 2;
|
||||||
@ -404,10 +411,14 @@ pum_set_selected(n)
|
|||||||
/*
|
/*
|
||||||
* Show extra info in the preview window if there is something and
|
* Show extra info in the preview window if there is something and
|
||||||
* 'completeopt' contains "preview".
|
* 'completeopt' contains "preview".
|
||||||
|
* Skip this when tried twice already.
|
||||||
|
* Skip this also when there is not much room.
|
||||||
* NOTE: Be very careful not to sync undo!
|
* NOTE: Be very careful not to sync undo!
|
||||||
*/
|
*/
|
||||||
if (pum_array[pum_selected].pum_info != NULL
|
if (pum_array[pum_selected].pum_info != NULL
|
||||||
&& vim_strchr(p_cot, 'p') != NULL)
|
&& Rows > 10
|
||||||
|
&& repeat <= 1
|
||||||
|
&& vim_strchr(p_cot, 'p') != NULL)
|
||||||
{
|
{
|
||||||
win_T *curwin_save = curwin;
|
win_T *curwin_save = curwin;
|
||||||
int res = OK;
|
int res = OK;
|
||||||
@ -470,12 +481,15 @@ pum_set_selected(n)
|
|||||||
|
|
||||||
/* Increase the height of the preview window to show the
|
/* Increase the height of the preview window to show the
|
||||||
* text, but no more than 'previewheight' lines. */
|
* text, but no more than 'previewheight' lines. */
|
||||||
if (lnum > p_pvh)
|
if (repeat == 0)
|
||||||
lnum = p_pvh;
|
|
||||||
if (curwin->w_height < lnum)
|
|
||||||
{
|
{
|
||||||
win_setheight((int)lnum);
|
if (lnum > p_pvh)
|
||||||
resized = TRUE;
|
lnum = p_pvh;
|
||||||
|
if (curwin->w_height < lnum)
|
||||||
|
{
|
||||||
|
win_setheight((int)lnum);
|
||||||
|
resized = TRUE;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
curbuf->b_changed = 0;
|
curbuf->b_changed = 0;
|
||||||
|
@ -4528,7 +4528,7 @@ syn_cmd_keyword(eap, syncing)
|
|||||||
break;
|
break;
|
||||||
if (p[1] == NUL)
|
if (p[1] == NUL)
|
||||||
{
|
{
|
||||||
EMSG2(_("E747: Missing ']': %s"), kw);
|
EMSG2(_("E789: Missing ']': %s"), kw);
|
||||||
kw = p + 2; /* skip over the NUL */
|
kw = p + 2; /* skip over the NUL */
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -6329,9 +6329,9 @@ init_highlight(both, reset)
|
|||||||
* depend on the number of colors available. */
|
* depend on the number of colors available. */
|
||||||
if (t_colors > 8)
|
if (t_colors > 8)
|
||||||
do_highlight((char_u *)(*p_bg == 'l' ? "Visual ctermbg=LightGrey"
|
do_highlight((char_u *)(*p_bg == 'l' ? "Visual ctermbg=LightGrey"
|
||||||
: "Visual ctermbg=DarkGrey"), reset, TRUE);
|
: "Visual ctermbg=DarkGrey"), FALSE, TRUE);
|
||||||
else
|
else
|
||||||
do_highlight((char_u *)"Visual cterm=reverse", reset, TRUE);
|
do_highlight((char_u *)"Visual cterm=reverse", FALSE, TRUE);
|
||||||
|
|
||||||
#ifdef FEAT_SYN_HL
|
#ifdef FEAT_SYN_HL
|
||||||
/*
|
/*
|
||||||
|
@ -3356,7 +3356,6 @@ expand_tag_fname(fname, tag_fname, expand)
|
|||||||
xpc.xp_context = EXPAND_FILES;
|
xpc.xp_context = EXPAND_FILES;
|
||||||
expanded_fname = ExpandOne(&xpc, (char_u *)fname, NULL,
|
expanded_fname = ExpandOne(&xpc, (char_u *)fname, NULL,
|
||||||
WILD_LIST_NOTFOUND|WILD_SILENT, WILD_EXPAND_FREE);
|
WILD_LIST_NOTFOUND|WILD_SILENT, WILD_EXPAND_FREE);
|
||||||
ExpandCleanup(&xpc);
|
|
||||||
if (expanded_fname != NULL)
|
if (expanded_fname != NULL)
|
||||||
fname = expanded_fname;
|
fname = expanded_fname;
|
||||||
}
|
}
|
||||||
|
@ -35,6 +35,6 @@
|
|||||||
*/
|
*/
|
||||||
#define VIM_VERSION_NODOT "vim70e"
|
#define VIM_VERSION_NODOT "vim70e"
|
||||||
#define VIM_VERSION_SHORT "7.0e"
|
#define VIM_VERSION_SHORT "7.0e"
|
||||||
#define VIM_VERSION_MEDIUM "7.0e03 BETA"
|
#define VIM_VERSION_MEDIUM "7.0e04 BETA"
|
||||||
#define VIM_VERSION_LONG "VIM - Vi IMproved 7.0e03 BETA (2006 Apr 19)"
|
#define VIM_VERSION_LONG "VIM - Vi IMproved 7.0e04 BETA (2006 Apr 20)"
|
||||||
#define VIM_VERSION_LONG_DATE "VIM - Vi IMproved 7.0e03 BETA (2006 Apr 19, compiled "
|
#define VIM_VERSION_LONG_DATE "VIM - Vi IMproved 7.0e04 BETA (2006 Apr 20, compiled "
|
||||||
|
Loading…
x
Reference in New Issue
Block a user