1"------------------------------------------------------------------------------ 2" Description: Vim Ada/Dec Ada compiler file 3" Language: Ada (Dec Ada) 4" $Id: decada.vim 887 2008-07-08 14:29:01Z krischik $ 5" Copyright: Copyright (C) 2006 Martin Krischik 6" Maintainer: Martin Krischik <[email protected]> 7" $Author: krischik $ 8" $Date: 2008-07-08 16:29:01 +0200 (Di, 08 Jul 2008) $ 9" Version: 4.6 10" $Revision: 887 $ 11" $HeadURL: https://gnuada.svn.sourceforge.net/svnroot/gnuada/trunk/tools/vim/autoload/decada.vim $ 12" History: 21.07.2006 MK New Dec Ada 13" 15.10.2006 MK Bram's suggestion for runtime integration 14" 05.11.2006 MK Bram suggested not to use include protection for 15" autoload 16" 05.11.2006 MK Bram suggested to save on spaces 17" Help Page: compiler-decada 18"------------------------------------------------------------------------------ 19 20if version < 700 21 finish 22endif 23 24function decada#Unit_Name () dict " {{{1 25 " Convert filename into acs unit: 26 " 1: remove the file extension. 27 " 2: replace all double '_' or '-' with an dot (which denotes a separate) 28 " 3: remove a trailing '_' (which denotes a specification) 29 return substitute (substitute (expand ("%:t:r"), '__\|-', ".", "g"), '_$', "", '') 30endfunction decada#Unit_Name " }}}1 31 32function decada#Make () dict " {{{1 33 let l:make_prg = substitute (g:self.Make_Command, '%<', self.Unit_Name(), '') 34 let &errorformat = g:self.Error_Format 35 let &makeprg = l:make_prg 36 wall 37 make 38 copen 39 set wrap 40 wincmd W 41endfunction decada#Build " }}}1 42 43function decada#Set_Session (...) dict " {{{1 44 if a:0 > 0 45 call ada#Switch_Session (a:1) 46 elseif argc() == 0 && strlen (v:servername) > 0 47 call ada#Switch_Session ( 48 \ expand('~')[0:-2] . ".vimfiles.session]decada_" . 49 \ v:servername . ".vim") 50 endif 51 return 52endfunction decada#Set_Session " }}}1 53 54function decada#New () " }}}1 55 let Retval = { 56 \ 'Make' : function ('decada#Make'), 57 \ 'Unit_Name' : function ('decada#Unit_Name'), 58 \ 'Set_Session' : function ('decada#Set_Session'), 59 \ 'Project_Dir' : '', 60 \ 'Make_Command' : 'ACS COMPILE /Wait /Log /NoPreLoad /Optimize=Development /Debug %<', 61 \ 'Error_Format' : '%+A%%ADAC-%t-%m,%C %#%m,%Zat line number %l in file %f,' . 62 \ '%+I%%ada-I-%m,%C %#%m,%Zat line number %l in file %f'} 63 64 return Retval 65endfunction decada#New " }}}1 66 67finish " 1}}} 68 69"------------------------------------------------------------------------------ 70" Copyright (C) 2006 Martin Krischik 71" 72" Vim is Charityware - see ":help license" or uganda.txt for licence details. 73"------------------------------------------------------------------------------ 74" vim: textwidth=78 wrap tabstop=8 shiftwidth=3 softtabstop=3 noexpandtab 75" vim: foldmethod=marker 76