blob: fda2b76dac333ca6de68b31c2e54bf4d9758e567 [file] [log] [blame]
Bram Moolenaar9964e462007-05-05 17:54:07 +00001"------------------------------------------------------------------------------
2" Description: Vim Ada/Dec Ada compiler file
3" Language: Ada (Dec Ada)
Bram Moolenaar5c736222010-01-06 20:54:52 +01004" $Id: decada.vim 887 2008-07-08 14:29:01Z krischik $
Bram Moolenaar9964e462007-05-05 17:54:07 +00005" Copyright: Copyright (C) 2006 Martin Krischik
Bram Moolenaarc236c162008-07-13 17:41:49 +00006" Maintainer: Martin Krischik <krischik@users.sourceforge.net>
Bram Moolenaar5c736222010-01-06 20:54:52 +01007" $Author: krischik $
8" $Date: 2008-07-08 16:29:01 +0200 (Di, 08 Jul 2008) $
Bram Moolenaarc236c162008-07-13 17:41:49 +00009" Version: 4.6
Bram Moolenaar5c736222010-01-06 20:54:52 +010010" $Revision: 887 $
Bram Moolenaarc236c162008-07-13 17:41:49 +000011" $HeadURL: https://gnuada.svn.sourceforge.net/svnroot/gnuada/trunk/tools/vim/autoload/decada.vim $
Bram Moolenaar9964e462007-05-05 17:54:07 +000012" 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:
Bram Moolenaar6c391a72021-09-09 21:55:11 +020026 " 1: remove the file extension.
Bram Moolenaar9964e462007-05-05 17:54:07 +000027 " 2: replace all double '_' or '-' with an dot (which denotes a separate)
Bram Moolenaar2547aa92020-07-26 17:00:44 +020028 " 3: remove a trailing '_' (which denotes a specification)
Bram Moolenaar9964e462007-05-05 17:54:07 +000029 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 (
Bram Moolenaarc236c162008-07-13 17:41:49 +000048 \ expand('~')[0:-2] . ".vimfiles.session]decada_" .
Bram Moolenaar9964e462007-05-05 17:54:07 +000049 \ 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