neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

decada.vim (2998B)


      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 <krischik@users.sourceforge.net>
      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 
     20 if version < 700
     21   finish
     22 endif
     23 
     24 function 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"), '_$', "", '')
     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 (
     48  \ expand('~')[0:-2] . ".vimfiles.session]decada_" .
     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