xref: /vim-8.2.3635/runtime/autoload/decada.vim (revision 6c391a74)
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