19964e468SBram Moolenaar"------------------------------------------------------------------------------ 29964e468SBram Moolenaar" Description: Vim Ada/Dec Ada compiler file 39964e468SBram Moolenaar" Language: Ada (Dec Ada) 45c73622aSBram Moolenaar" $Id: decada.vim 887 2008-07-08 14:29:01Z krischik $ 59964e468SBram Moolenaar" Copyright: Copyright (C) 2006 Martin Krischik 6c236c16dSBram Moolenaar" Maintainer: Martin Krischik <[email protected]> 75c73622aSBram Moolenaar" $Author: krischik $ 85c73622aSBram Moolenaar" $Date: 2008-07-08 16:29:01 +0200 (Di, 08 Jul 2008) $ 9c236c16dSBram Moolenaar" Version: 4.6 105c73622aSBram Moolenaar" $Revision: 887 $ 11c236c16dSBram Moolenaar" $HeadURL: https://gnuada.svn.sourceforge.net/svnroot/gnuada/trunk/tools/vim/autoload/decada.vim $ 129964e468SBram Moolenaar" History: 21.07.2006 MK New Dec Ada 139964e468SBram Moolenaar" 15.10.2006 MK Bram's suggestion for runtime integration 149964e468SBram Moolenaar" 05.11.2006 MK Bram suggested not to use include protection for 159964e468SBram Moolenaar" autoload 169964e468SBram Moolenaar" 05.11.2006 MK Bram suggested to save on spaces 179964e468SBram Moolenaar" Help Page: compiler-decada 189964e468SBram Moolenaar"------------------------------------------------------------------------------ 199964e468SBram Moolenaar 209964e468SBram Moolenaarif version < 700 219964e468SBram Moolenaar finish 229964e468SBram Moolenaarendif 239964e468SBram Moolenaar 249964e468SBram Moolenaarfunction decada#Unit_Name () dict " {{{1 259964e468SBram Moolenaar " Convert filename into acs unit: 26*6c391a74SBram Moolenaar " 1: remove the file extension. 279964e468SBram Moolenaar " 2: replace all double '_' or '-' with an dot (which denotes a separate) 282547aa93SBram Moolenaar " 3: remove a trailing '_' (which denotes a specification) 299964e468SBram Moolenaar return substitute (substitute (expand ("%:t:r"), '__\|-', ".", "g"), '_$', "", '') 309964e468SBram Moolenaarendfunction decada#Unit_Name " }}}1 319964e468SBram Moolenaar 329964e468SBram Moolenaarfunction decada#Make () dict " {{{1 339964e468SBram Moolenaar let l:make_prg = substitute (g:self.Make_Command, '%<', self.Unit_Name(), '') 349964e468SBram Moolenaar let &errorformat = g:self.Error_Format 359964e468SBram Moolenaar let &makeprg = l:make_prg 369964e468SBram Moolenaar wall 379964e468SBram Moolenaar make 389964e468SBram Moolenaar copen 399964e468SBram Moolenaar set wrap 409964e468SBram Moolenaar wincmd W 419964e468SBram Moolenaarendfunction decada#Build " }}}1 429964e468SBram Moolenaar 439964e468SBram Moolenaarfunction decada#Set_Session (...) dict " {{{1 449964e468SBram Moolenaar if a:0 > 0 459964e468SBram Moolenaar call ada#Switch_Session (a:1) 469964e468SBram Moolenaar elseif argc() == 0 && strlen (v:servername) > 0 479964e468SBram Moolenaar call ada#Switch_Session ( 48c236c16dSBram Moolenaar \ expand('~')[0:-2] . ".vimfiles.session]decada_" . 499964e468SBram Moolenaar \ v:servername . ".vim") 509964e468SBram Moolenaar endif 519964e468SBram Moolenaar return 529964e468SBram Moolenaarendfunction decada#Set_Session " }}}1 539964e468SBram Moolenaar 549964e468SBram Moolenaarfunction decada#New () " }}}1 559964e468SBram Moolenaar let Retval = { 569964e468SBram Moolenaar \ 'Make' : function ('decada#Make'), 579964e468SBram Moolenaar \ 'Unit_Name' : function ('decada#Unit_Name'), 589964e468SBram Moolenaar \ 'Set_Session' : function ('decada#Set_Session'), 599964e468SBram Moolenaar \ 'Project_Dir' : '', 609964e468SBram Moolenaar \ 'Make_Command' : 'ACS COMPILE /Wait /Log /NoPreLoad /Optimize=Development /Debug %<', 619964e468SBram Moolenaar \ 'Error_Format' : '%+A%%ADAC-%t-%m,%C %#%m,%Zat line number %l in file %f,' . 629964e468SBram Moolenaar \ '%+I%%ada-I-%m,%C %#%m,%Zat line number %l in file %f'} 639964e468SBram Moolenaar 649964e468SBram Moolenaar return Retval 659964e468SBram Moolenaarendfunction decada#New " }}}1 669964e468SBram Moolenaar 679964e468SBram Moolenaarfinish " 1}}} 689964e468SBram Moolenaar 699964e468SBram Moolenaar"------------------------------------------------------------------------------ 709964e468SBram Moolenaar" Copyright (C) 2006 Martin Krischik 719964e468SBram Moolenaar" 729964e468SBram Moolenaar" Vim is Charityware - see ":help license" or uganda.txt for licence details. 739964e468SBram Moolenaar"------------------------------------------------------------------------------ 749964e468SBram Moolenaar" vim: textwidth=78 wrap tabstop=8 shiftwidth=3 softtabstop=3 noexpandtab 759964e468SBram Moolenaar" vim: foldmethod=marker 76