"------------------------------------------------------------------------------ " Description: Perform Ada specific completion & tagging. " Language: Ada (2005) " $Id: ada.vim 887 2008-07-08 14:29:01Z krischik $ " Maintainer: Martin Krischik <krischik@users.sourceforge.net> " Taylor Venable <taylor@metasyntax.net> " Neil Bird <neil@fnxweb.com> " $Author: krischik $ " $Date: 2008-07-08 16:29:01 +0200 (Di, 08 Jul 2008) $ " Version: 4.6 with patch from David Bürgin " $Revision: 887 $ " $HeadURL: https://gnuada.svn.sourceforge.net/svnroot/gnuada/trunk/tools/vim/ftplugin/ada.vim $ " History: 24.05.2006 MK Unified Headers " 26.05.2006 MK ' should not be in iskeyword. " 16.07.2006 MK Ada-Mode as vim-ball " 02.10.2006 MK Better folding. " 15.10.2006 MK Bram's suggestion for runtime integration " 05.11.2006 MK Bram suggested not to use include protection for " autoload " 05.11.2006 MK Bram suggested to save on spaces " 08.07.2007 TV fix default compiler problems. " Help Page: ft-ada-plugin "------------------------------------------------------------------------------ " Provides mapping overrides for tag jumping that figure out the current " Ada object and tag jump to that, not the 'simple' vim word. " Similarly allows <Ctrl-N> matching of full-length ada entities from tags. "------------------------------------------------------------------------------ " Only do this when not done yet for this buffer if exists ("b:did_ftplugin") || version < 700 finish endif " Don't load another plugin for this buffer let b:did_ftplugin = 45 " " Temporarily set cpoptions to ensure the script loads OK " let s:cpoptions = &cpoptions set cpoptions-=C " Section: Comments {{{1 " setlocal comments=O:--,:--\ \ setlocal commentstring=--\ \ %s setlocal complete=.,w,b,u,t,i " Section: case {{{1 " setlocal nosmartcase setlocal ignorecase " Section: formatoptions {{{1 " setlocal formatoptions+=ron " Section: Tagging {{{1 " if exists ("g:ada_extended_tagging") " Make local tag mappings for this buffer (if not already set) if g:ada_extended_tagging == 'jump' if mapcheck('<C-]>','n') == '' nnoremap <unique> <buffer> <C-]> :call ada#Jump_Tag ('', 'tjump')<cr> endif if mapcheck('g<C-]>','n') == '' nnoremap <unique> <buffer> g<C-]> :call ada#Jump_Tag ('','stjump')<cr> endif elseif g:ada_extended_tagging == 'list' if mapcheck('<C-]>','n') == '' nnoremap <unique> <buffer> <C-]> :call ada#List_Tag ()<cr> endif if mapcheck('g<C-]>','n') == '' nnoremap <unique> <buffer> g<C-]> :call ada#List_Tag ()<cr> endif endif endif " Section: Completion {{{1 " setlocal completefunc=ada#User_Complete setlocal omnifunc=adacomplete#Complete if exists ("g:ada_extended_completion") if mapcheck ('<C-N>','i') == '' inoremap <unique> <buffer> <C-N> <C-R>=ada#Completion("\<lt>C-N>")<cr> endif if mapcheck ('<C-P>','i') == '' inoremap <unique> <buffer> <C-P> <C-R>=ada#Completion("\<lt>C-P>")<cr> endif if mapcheck ('<C-X><C-]>','i') == '' inoremap <unique> <buffer> <C-X><C-]> <C-R>=<SID>ada#Completion("\<lt>C-X>\<lt>C-]>")<cr> endif if mapcheck ('<bs>','i') == '' inoremap <silent> <unique> <buffer> <bs> <C-R>=ada#Insert_Backspace ()<cr> endif endif " Section: Matchit {{{1 " " Only do this when not done yet for this buffer & matchit is used " if !exists ("b:match_words") && \ exists ("loaded_matchit") " " The following lines enable the macros/matchit.vim plugin for " Ada-specific extended matching with the % key. " let s:notend = '\%(\<end\s\+\)\@<!' let b:match_words = \ s:notend . '\<if\>:\<elsif\>:\<else\>:\<end\>\s\+\<if\>,' . \ s:notend . '\<case\>:\<when\>:\<end\>\s\+\<case\>,' . \ '\%(\<while\>.*\|\<for\>.*\|'.s:notend.'\)\<loop\>:\<end\>\s\+\<loop\>,' . \ '\%(\<do\>\|\<begin\>\):\<exception\>:\<end\>\s*\%($\|[;A-Z]\),' . \ s:notend . '\<record\>:\<end\>\s\+\<record\>' endif " Section: Compiler {{{1 " if ! exists("g:ada_default_compiler") if has("vms") let g:ada_default_compiler = 'decada' else let g:ada_default_compiler = 'gnat' endif endif if ! exists("current_compiler") || \ current_compiler != g:ada_default_compiler execute "compiler " . g:ada_default_compiler endif " Section: Folding {{{1 " if exists("g:ada_folding") if g:ada_folding[0] == 'i' setlocal foldmethod=indent setlocal foldignore=-- setlocal foldnestmax=5 elseif g:ada_folding[0] == 'g' setlocal foldmethod=expr setlocal foldexpr=ada#Pretty_Print_Folding(v:lnum) elseif g:ada_folding[0] == 's' setlocal foldmethod=syntax endif setlocal tabstop=8 setlocal softtabstop=3 setlocal shiftwidth=3 endif " Section: Abbrev {{{1 " if exists("g:ada_abbrev") iabbrev ret return iabbrev proc procedure iabbrev pack package iabbrev func function endif " Section: Commands, Mapping, Menus {{{1 " call ada#Map_Popup ( \ 'Tag.List', \ 'l', \ 'call ada#List_Tag ()') call ada#Map_Popup ( \'Tag.Jump', \'j', \'call ada#Jump_Tag ()') call ada#Map_Menu ( \'Tag.Create File', \':AdaTagFile', \'call ada#Create_Tags (''file'')') call ada#Map_Menu ( \'Tag.Create Dir', \':AdaTagDir', \'call ada#Create_Tags (''dir'')') call ada#Map_Menu ( \'Highlight.Toggle Space Errors', \ ':AdaSpaces', \'call ada#Switch_Syntax_Option (''space_errors'')') call ada#Map_Menu ( \'Highlight.Toggle Lines Errors', \ ':AdaLines', \'call ada#Switch_Syntax_Option (''line_errors'')') call ada#Map_Menu ( \'Highlight.Toggle Rainbow Color', \ ':AdaRainbow', \'call ada#Switch_Syntax_Option (''rainbow_color'')') call ada#Map_Menu ( \'Highlight.Toggle Standard Types', \ ':AdaTypes', \'call ada#Switch_Syntax_Option (''standard_types'')') " 1}}} " Reset cpoptions let &cpoptions = s:cpoptions unlet s:cpoptions finish " 1}}} "------------------------------------------------------------------------------ " Copyright (C) 2006 Martin Krischik " " Vim is Charityware - see ":help license" or uganda.txt for licence details. "------------------------------------------------------------------------------ " vim: textwidth=78 nowrap tabstop=8 shiftwidth=3 softtabstop=3 noexpandtab " vim: foldmethod=marker
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
README.txt | File | 869 B | 0644 |
|
a2ps.vim | File | 458 B | 0644 |
|
aap.vim | File | 716 B | 0644 |
|
abap.vim | File | 800 B | 0644 |
|
abaqus.vim | File | 3.31 KB | 0644 |
|
ada.vim | File | 6.26 KB | 0644 |
|
alsaconf.vim | File | 426 B | 0644 |
|
ant.vim | File | 1.31 KB | 0644 |
|
arch.vim | File | 419 B | 0644 |
|
art.vim | File | 410 B | 0644 |
|
aspvbs.vim | File | 1.87 KB | 0644 |
|
automake.vim | File | 325 B | 0644 |
|
bdf.vim | File | 437 B | 0644 |
|
bst.vim | File | 333 B | 0644 |
|
btm.vim | File | 316 B | 0644 |
|
c.vim | File | 1.92 KB | 0644 |
|
calendar.vim | File | 450 B | 0644 |
|
cdrdaoconf.vim | File | 375 B | 0644 |
|
ch.vim | File | 472 B | 0644 |
|
changelog.vim | File | 8.54 KB | 0644 |
|
clojure.vim | File | 2.78 KB | 0644 |
|
cobol.vim | File | 9.17 KB | 0644 |
|
conf.vim | File | 422 B | 0644 |
|
config.vim | File | 1.24 KB | 0644 |
|
context.vim | File | 955 B | 0644 |
|
cpp.vim | File | 288 B | 0644 |
|
crm.vim | File | 402 B | 0644 |
|
cs.vim | File | 802 B | 0644 |
|
csc.vim | File | 734 B | 0644 |
|
csh.vim | File | 1.59 KB | 0644 |
|
css.vim | File | 516 B | 0644 |
|
cucumber.vim | File | 5.2 KB | 0644 |
|
cvsrc.vim | File | 387 B | 0644 |
|
debchangelog.vim | File | 11.26 KB | 0644 |
|
debcontrol.vim | File | 1.84 KB | 0644 |
|
denyhosts.vim | File | 375 B | 0644 |
|
dictconf.vim | File | 422 B | 0644 |
|
dictdconf.vim | File | 423 B | 0644 |
|
diff.vim | File | 355 B | 0644 |
|
dircolors.vim | File | 419 B | 0644 |
|
docbk.vim | File | 530 B | 0644 |
|
dosbatch.vim | File | 777 B | 0644 |
|
dosini.vim | File | 446 B | 0644 |
|
dtd.vim | File | 1.1 KB | 0644 |
|
dtrace.vim | File | 1.12 KB | 0644 |
|
elinks.vim | File | 424 B | 0644 |
|
erlang.vim | File | 1.77 KB | 0644 |
|
eruby.vim | File | 3.08 KB | 0644 |
|
eterm.vim | File | 458 B | 0644 |
|
falcon.vim | File | 1.31 KB | 0644 |
|
fetchmail.vim | File | 416 B | 0644 |
|
flexwiki.vim | File | 1.83 KB | 0644 |
|
fortran.vim | File | 4.16 KB | 0644 |
|
framescript.vim | File | 768 B | 0644 |
|
fvwm.vim | File | 390 B | 0644 |
|
git.vim | File | 1.19 KB | 0644 |
|
gitcommit.vim | File | 2.16 KB | 0644 |
|
gitconfig.vim | File | 376 B | 0644 |
|
gitrebase.vim | File | 1.4 KB | 0644 |
|
gitsendemail.vim | File | 157 B | 0644 |
|
gpg.vim | File | 421 B | 0644 |
|
gprof.vim | File | 939 B | 0644 |
|
group.vim | File | 413 B | 0644 |
|
grub.vim | File | 422 B | 0644 |
|
haml.vim | File | 1.84 KB | 0644 |
|
hamster.vim | File | 1.88 KB | 0644 |
|
haskell.vim | File | 433 B | 0644 |
|
help.vim | File | 430 B | 0644 |
|
hostconf.vim | File | 375 B | 0644 |
|
hostsaccess.vim | File | 424 B | 0644 |
|
html.vim | File | 2.87 KB | 0644 |
|
htmldjango.vim | File | 331 B | 0644 |
|
indent.vim | File | 442 B | 0644 |
|
initex.vim | File | 1005 B | 0644 |
|
ishd.vim | File | 1.23 KB | 0644 |
|
java.vim | File | 1.65 KB | 0644 |
|
javascript.vim | File | 1.02 KB | 0644 |
|
jsp.vim | File | 1.96 KB | 0644 |
|
kconfig.vim | File | 375 B | 0644 |
|
kwt.vim | File | 851 B | 0644 |
|
ld.vim | File | 458 B | 0644 |
|
lftp.vim | File | 422 B | 0644 |
|
libao.vim | File | 428 B | 0644 |
|
limits.vim | File | 424 B | 0644 |
|
liquid.vim | File | 1.85 KB | 0644 |
|
lisp.vim | File | 911 B | 0644 |
|
logcheck.vim | File | 500 B | 0644 |
|
loginaccess.vim | File | 430 B | 0644 |
|
logindefs.vim | File | 428 B | 0644 |
|
logtalk.dict | File | 1.75 KB | 0644 |
|
logtalk.vim | File | 401 B | 0644 |
|
lprolog.vim | File | 1.25 KB | 0644 |
|
lua.vim | File | 973 B | 0644 |
|
m4.vim | File | 414 B | 0644 |
|
mail.vim | File | 1.08 KB | 0644 |
|
mailaliases.vim | File | 375 B | 0644 |
|
mailcap.vim | File | 422 B | 0644 |
|
make.vim | File | 935 B | 0644 |
|
man.vim | File | 4.6 KB | 0644 |
|
manconf.vim | File | 432 B | 0644 |
|
markdown.vim | File | 572 B | 0644 |
|
matlab.vim | File | 649 B | 0644 |
|
mf.vim | File | 404 B | 0644 |
|
modconf.vim | File | 465 B | 0644 |
|
mp.vim | File | 621 B | 0644 |
|
mplayerconf.vim | File | 460 B | 0644 |
|
mrxvtrc.vim | File | 798 B | 0644 |
|
msmessages.vim | File | 1.11 KB | 0644 |
|
muttrc.vim | File | 455 B | 0644 |
|
nanorc.vim | File | 435 B | 0644 |
|
netrc.vim | File | 416 B | 0644 |
|
nsis.vim | File | 553 B | 0644 |
|
objc.vim | File | 296 B | 0644 |
|
ocaml.vim | File | 22.5 KB | 0644 |
|
occam.vim | File | 1.27 KB | 0644 |
|
pamconf.vim | File | 421 B | 0644 |
|
pascal.vim | File | 667 B | 0644 |
|
passwd.vim | File | 412 B | 0644 |
|
pdf.vim | File | 2.55 KB | 0644 |
|
perl.vim | File | 2.77 KB | 0644 |
|
perl6.vim | File | 2.47 KB | 0644 |
|
php.vim | File | 2.75 KB | 0644 |
|
pinfo.vim | File | 423 B | 0644 |
|
plaintex.vim | File | 1.12 KB | 0644 |
|
postscr.vim | File | 1006 B | 0644 |
|
procmail.vim | File | 467 B | 0644 |
|
prolog.vim | File | 428 B | 0644 |
|
protocols.vim | File | 445 B | 0644 |
|
pyrex.vim | File | 766 B | 0644 |
|
python.vim | File | 1.33 KB | 0644 |
|
qf.vim | File | 459 B | 0644 |
|
quake.vim | File | 427 B | 0644 |
|
racc.vim | File | 437 B | 0644 |
|
readline.vim | File | 426 B | 0644 |
|
reva.vim | File | 709 B | 0644 |
|
rnc.vim | File | 419 B | 0644 |
|
rpl.vim | File | 620 B | 0644 |
|
rst.vim | File | 444 B | 0644 |
|
ruby.vim | File | 15.48 KB | 0644 |
|
sass.vim | File | 580 B | 0644 |
|
scheme.vim | File | 1.71 KB | 0644 |
|
screen.vim | File | 424 B | 0644 |
|
scss.vim | File | 200 B | 0644 |
|
sensors.vim | File | 443 B | 0644 |
|
services.vim | File | 440 B | 0644 |
|
setserial.vim | File | 427 B | 0644 |
|
sgml.vim | File | 1.18 KB | 0644 |
|
sh.vim | File | 1.17 KB | 0644 |
|
sieve.vim | File | 457 B | 0644 |
|
slpconf.vim | File | 465 B | 0644 |
|
slpreg.vim | File | 464 B | 0644 |
|
slpspi.vim | File | 455 B | 0644 |
|
spec.vim | File | 5.21 KB | 0644 |
|
sql.vim | File | 20.08 KB | 0644 |
|
sshconfig.vim | File | 429 B | 0644 |
|
sudoers.vim | File | 426 B | 0644 |
|
svg.vim | File | 1.17 KB | 0644 |
|
sysctl.vim | File | 441 B | 0644 |
|
tcl.vim | File | 1002 B | 0644 |
|
tcsh.vim | File | 1.18 KB | 0644 |
|
terminfo.vim | File | 418 B | 0644 |
|
tex.vim | File | 1.6 KB | 0644 |
|
treetop.vim | File | 404 B | 0644 |
|
tt2html.vim | File | 434 B | 0644 |
|
udevconf.vim | File | 422 B | 0644 |
|
udevperm.vim | File | 420 B | 0644 |
|
udevrules.vim | File | 414 B | 0644 |
|
updatedb.vim | File | 431 B | 0644 |
|
vb.vim | File | 1.86 KB | 0644 |
|
verilog.vim | File | 1.64 KB | 0644 |
|
vhdl.vim | File | 3.42 KB | 0644 |
|
vim.vim | File | 2.88 KB | 0644 |
|
xdefaults.vim | File | 469 B | 0644 |
|
xf86conf.vim | File | 422 B | 0644 |
|
xhtml.vim | File | 1.99 KB | 0644 |
|
xinetd.vim | File | 464 B | 0644 |
|
xml.vim | File | 1.87 KB | 0644 |
|
xmodmap.vim | File | 422 B | 0644 |
|
xs.vim | File | 465 B | 0644 |
|
xsd.vim | File | 1.14 KB | 0644 |
|
xslt.vim | File | 539 B | 0644 |
|
yaml.vim | File | 452 B | 0644 |
|
zimbu.vim | File | 5.2 KB | 0644 |
|
zsh.vim | File | 674 B | 0644 |
|