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