Bram Moolenaar | 9964e46 | 2007-05-05 17:54:07 +0000 | [diff] [blame] | 1 | "------------------------------------------------------------------------------ |
| 2 | " Description: Vim Ada/Dec Ada compiler file |
| 3 | " Language: Ada (Dec Ada) |
Bram Moolenaar | 5c73622 | 2010-01-06 20:54:52 +0100 | [diff] [blame] | 4 | " $Id: decada.vim 887 2008-07-08 14:29:01Z krischik $ |
Bram Moolenaar | 9964e46 | 2007-05-05 17:54:07 +0000 | [diff] [blame] | 5 | " Copyright: Copyright (C) 2006 Martin Krischik |
Bram Moolenaar | c236c16 | 2008-07-13 17:41:49 +0000 | [diff] [blame] | 6 | " Maintainer: Martin Krischik <krischik@users.sourceforge.net> |
Bram Moolenaar | 5c73622 | 2010-01-06 20:54:52 +0100 | [diff] [blame] | 7 | " $Author: krischik $ |
| 8 | " $Date: 2008-07-08 16:29:01 +0200 (Di, 08 Jul 2008) $ |
Bram Moolenaar | c236c16 | 2008-07-13 17:41:49 +0000 | [diff] [blame] | 9 | " Version: 4.6 |
Bram Moolenaar | 5c73622 | 2010-01-06 20:54:52 +0100 | [diff] [blame] | 10 | " $Revision: 887 $ |
Bram Moolenaar | c236c16 | 2008-07-13 17:41:49 +0000 | [diff] [blame] | 11 | " $HeadURL: https://gnuada.svn.sourceforge.net/svnroot/gnuada/trunk/tools/vim/autoload/decada.vim $ |
Bram Moolenaar | 9964e46 | 2007-05-05 17:54:07 +0000 | [diff] [blame] | 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 | |
| 20 | if version < 700 |
| 21 | finish |
| 22 | endif |
| 23 | |
| 24 | function decada#Unit_Name () dict " {{{1 |
| 25 | " Convert filename into acs unit: |
Bram Moolenaar | 6c391a7 | 2021-09-09 21:55:11 +0200 | [diff] [blame] | 26 | " 1: remove the file extension. |
Bram Moolenaar | 9964e46 | 2007-05-05 17:54:07 +0000 | [diff] [blame] | 27 | " 2: replace all double '_' or '-' with an dot (which denotes a separate) |
Bram Moolenaar | 2547aa9 | 2020-07-26 17:00:44 +0200 | [diff] [blame] | 28 | " 3: remove a trailing '_' (which denotes a specification) |
Bram Moolenaar | 9964e46 | 2007-05-05 17:54:07 +0000 | [diff] [blame] | 29 | return substitute (substitute (expand ("%:t:r"), '__\|-', ".", "g"), '_$', "", '') |
| 30 | endfunction decada#Unit_Name " }}}1 |
| 31 | |
| 32 | function 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 |
| 41 | endfunction decada#Build " }}}1 |
| 42 | |
| 43 | function 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 Moolenaar | c236c16 | 2008-07-13 17:41:49 +0000 | [diff] [blame] | 48 | \ expand('~')[0:-2] . ".vimfiles.session]decada_" . |
Bram Moolenaar | 9964e46 | 2007-05-05 17:54:07 +0000 | [diff] [blame] | 49 | \ v:servername . ".vim") |
| 50 | endif |
| 51 | return |
| 52 | endfunction decada#Set_Session " }}}1 |
| 53 | |
| 54 | function 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 |
| 65 | endfunction decada#New " }}}1 |
| 66 | |
| 67 | finish " 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 |