76 lines
2.9 KiB
VimL
76 lines
2.9 KiB
VimL
"------------------------------------------------------------------------------
|
|
" Description: Vim Ada/Dec Ada compiler file
|
|
" Language: Ada (Dec Ada)
|
|
" $Id: decada.vim 887 2008-07-08 14:29:01Z krischik $
|
|
" Copyright: Copyright (C) 2006 Martin Krischik
|
|
" Maintainer: Martin Krischik <krischik@users.sourceforge.net>
|
|
" $Author: krischik $
|
|
" $Date: 2008-07-08 16:29:01 +0200 (Di, 08 Jul 2008) $
|
|
" Version: 4.6
|
|
" $Revision: 887 $
|
|
" $HeadURL: https://gnuada.svn.sourceforge.net/svnroot/gnuada/trunk/tools/vim/autoload/decada.vim $
|
|
" History: 21.07.2006 MK New Dec Ada
|
|
" 15.10.2006 MK Bram's suggestion for runtime integration
|
|
" 05.11.2006 MK Bram suggested not to use include protection for
|
|
" autoload
|
|
" 05.11.2006 MK Bram suggested to save on spaces
|
|
" Help Page: compiler-decada
|
|
"------------------------------------------------------------------------------
|
|
|
|
if version < 700
|
|
finish
|
|
endif
|
|
|
|
function decada#Unit_Name () dict " {{{1
|
|
" Convert filename into acs unit:
|
|
" 1: remove the file extenstion.
|
|
" 2: replace all double '_' or '-' with an dot (which denotes a separate)
|
|
" 3: remove a trailing '_' (wich denotes a specification)
|
|
return substitute (substitute (expand ("%:t:r"), '__\|-', ".", "g"), '_$', "", '')
|
|
endfunction decada#Unit_Name " }}}1
|
|
|
|
function decada#Make () dict " {{{1
|
|
let l:make_prg = substitute (g:self.Make_Command, '%<', self.Unit_Name(), '')
|
|
let &errorformat = g:self.Error_Format
|
|
let &makeprg = l:make_prg
|
|
wall
|
|
make
|
|
copen
|
|
set wrap
|
|
wincmd W
|
|
endfunction decada#Build " }}}1
|
|
|
|
function decada#Set_Session (...) dict " {{{1
|
|
if a:0 > 0
|
|
call ada#Switch_Session (a:1)
|
|
elseif argc() == 0 && strlen (v:servername) > 0
|
|
call ada#Switch_Session (
|
|
\ expand('~')[0:-2] . ".vimfiles.session]decada_" .
|
|
\ v:servername . ".vim")
|
|
endif
|
|
return
|
|
endfunction decada#Set_Session " }}}1
|
|
|
|
function decada#New () " }}}1
|
|
let Retval = {
|
|
\ 'Make' : function ('decada#Make'),
|
|
\ 'Unit_Name' : function ('decada#Unit_Name'),
|
|
\ 'Set_Session' : function ('decada#Set_Session'),
|
|
\ 'Project_Dir' : '',
|
|
\ 'Make_Command' : 'ACS COMPILE /Wait /Log /NoPreLoad /Optimize=Development /Debug %<',
|
|
\ 'Error_Format' : '%+A%%ADAC-%t-%m,%C %#%m,%Zat line number %l in file %f,' .
|
|
\ '%+I%%ada-I-%m,%C %#%m,%Zat line number %l in file %f'}
|
|
|
|
return Retval
|
|
endfunction decada#New " }}}1
|
|
|
|
finish " 1}}}
|
|
|
|
"------------------------------------------------------------------------------
|
|
" Copyright (C) 2006 Martin Krischik
|
|
"
|
|
" Vim is Charityware - see ":help license" or uganda.txt for licence details.
|
|
"------------------------------------------------------------------------------
|
|
" vim: textwidth=78 wrap tabstop=8 shiftwidth=3 softtabstop=3 noexpandtab
|
|
" vim: foldmethod=marker
|