diff --git a/vimfiles.stefan/after/ftplugin/c.vim b/vimfiles.stefan/after/ftplugin/c.vim index ab24302..8ff3ecc 100644 --- a/vimfiles.stefan/after/ftplugin/c.vim +++ b/vimfiles.stefan/after/ftplugin/c.vim @@ -1,4 +1,4 @@ -" Stefans c-file plugin for bmsk +" Stefans c-file plugin " abbreviations "iabbrev if if () diff --git a/vimfiles.stefan/after/ftplugin/pascal.vim b/vimfiles.stefan/after/ftplugin/pascal.vim index 61710d7..6e85cea 100644 --- a/vimfiles.stefan/after/ftplugin/pascal.vim +++ b/vimfiles.stefan/after/ftplugin/pascal.vim @@ -1,4 +1,4 @@ -" Stefans c-file plugin for bmsk +" Stefans pascal-file plugin " set syntax highlighting setlocal syntax=pascal diff --git a/vimfiles.stefan/compiler/lint.vim b/vimfiles.stefan/compiler/lint.vim deleted file mode 100644 index 68f4dcf..0000000 --- a/vimfiles.stefan/compiler/lint.vim +++ /dev/null @@ -1,41 +0,0 @@ -" Vim compiler file -" Compiler: lint -" Maintainer: Stefan Liebl -" Last Change: 13.06.2002 - -"if exists('current_compiler') -" finish -"endif -"let current_compiler = 'bcc' - - -let &makeprg = PathJoin(GetBmskDir() . ', lint_bmsk.bat') . ' ' . GetDfilesDir() . ' $*' -"set shellpipe=> -"let &shellpipe = '| e:\\tools\\gnu\\shutils\\bin\\tee.exe' -"let &shellpipe = '| e:\\tools\\gnu\\shutils\\bin\\tee.exe ' . make_log . ' | e:\\tools\\gnu\\shutils\\bin\\tee.exe' -set shellpipe= -let &makeef = PathJoin(GetBmskDir() . ', lint_bmsk.txt') - -set errorformat= -set errorformat+=%f\ %l:\ %trror\ %n\ %m -set errorformat+=%f\ %l:\ %tarning\ %n\ %m -set errorformat+=%f\ %l:\ %tnfo\ %n\ %m -set errorformat+=%f\ %l:\ %tote\ %n\ %m - -let biosdirs = '' -let biosdirs = biosdirs . ' ' . PathJoin(bmsk_bios . ', adc') -let biosdirs = biosdirs . ' ' . PathJoin(bmsk_bios . ', dio') -"let biosdirs = biosdirs . ' ' . PathJoin(bmsk_bios . ', edc16lib') -let biosdirs = biosdirs . ' ' . PathJoin(bmsk_bios . ', pm') -"let biosdirs = biosdirs . ' ' . PathJoin(bmsk_bios . ', stflprg') -let biosdirs = biosdirs . ' ' . PathJoin(bmsk_bios . ', target') -let biosdirs = biosdirs . ' ' . PathJoin(bmsk_bios . ', tio') -"let biosdirs = biosdirs . ' ' . PathJoin(bmsk_bios . ', tpu_bms') -let biosdirs = biosdirs . ' ' . PathJoin(bmsk_bios . ', tpu_lib_export') -let biosdirs = biosdirs . ' ' . PathJoin(bmsk_bios . ', uhwe') -" user functions -"command! -nargs=* Compile execute ':wa | cd ' . GetBmskDir() . ' | make! %:p' -command! -nargs=* Compile wa | execute('cd ' . GetBmskDir()) | make! %:p -command! -nargs=* Make wa | execute('cd ' . GetBmskDir()) | make! %:p:h -command! -nargs=* MakeBios execute ':wa | cd ' . GetBmskDir() . ' | make! ' . biosdirs - diff --git a/vimfiles.stefan/compiler/turbo_c.vim b/vimfiles.stefan/compiler/turbo_c.vim deleted file mode 100644 index eece0e1..0000000 --- a/vimfiles.stefan/compiler/turbo_c.vim +++ /dev/null @@ -1,24 +0,0 @@ -" Vim compiler file -" Compiler: borland turbo C compiler -" Maintainer: Stefan Liebl -" Last Change: 08.07.2003 - -"if exists('current_compiler') -" finish -"endif -"let current_compiler = 'tc' - - -let &l:makeprg = 'u:\daten\priv\c_files\tcc.bat $*' -setlocal shellpipe=> -"let &makeef = bmskdir . '\lint_bmsk.txt' - -setlocal errorformat= -setlocal errorformat+=%trror\ %f\ %l:\ %m -setlocal errorformat+=%tarning\ %f\ %l:\ %m - -" user functions -"command! -nargs=0 Compile execute ':wa | make! %:p' -command! -nargs=0 Make execute 'wa | make %:p' -command! -nargs=0 Run execute '!c:\temp\turbo-c\' . expand('%:t:r') . '.exe' - diff --git a/vimfiles.stefan/doc/bmsk.txt b/vimfiles.stefan/doc/bmsk.txt deleted file mode 100644 index 2e394eb..0000000 --- a/vimfiles.stefan/doc/bmsk.txt +++ /dev/null @@ -1,216 +0,0 @@ -*bmsk.txt* Funktinen fuer das Arbeiten mit BMSK-Projekten - - -|BMSK.1| Auswählen des Projektes -|BMSK.2| Einstellungen -|BMSK.3| Compilieren -|BMSK.4| Arbeiten mit Files -|BMSK.5| Tags -|BMSK.6| Grep -|BMSK.7| DAMOS-Tools - -============================================================================== -*BMSK.1* Auswählen des Projektes *BMSK* - -Ein BMSK-Projekt bezieht sich nicht auf eine VIM-Session, sondern nur auf den -Build-Prozess des BMSK-Projektes. Mit dem Auswählen eines Projektes werden nur -die Pfade für|:Bmsk|,|:checkpath|,|:find|,|gf|... gesetzt. -Das Verwenden von Sessions empfielt sich zusätzlich (siehe|VimSuite|). - - *:SetBmskProject* -:SetBmskProject [Pfad] Setzen der Einstellungen für ein BMSK-Projekt - -Dieser Befehl sollte nur noch für alte Projekte verwendet werden, die noch -keine project.vim Datei enthalten. - -Mit dem Befehl|:SetBmskProject|können alle Einstellungen für ein -BMSK-Projekt vorgenommen werden. Es wird in das Verzeichnis .../bmsk -gewechselt und alle Tools werden mit dem neuen Pfad ausgeführt. Ausserdem wird -das passende Tag-File und die richtige|cscope|-Datenbasis verwendet. - -Als Pfad muss das Verzeichnis angegeben werden, in dem das make_fsw.bat liegt. -Wenn der Pfad weggelassen wird, so kommt ein Datei-Auswahl-Dialog. - -Mit der Tab-Erweiterung (siehe|cmdline-completion|) werden alle Projekte im -aktuellen|bmskWA|-Pfad angezeigt, sowie alle Projekte, die in|projects.txt| -angegeben sind. - - *projects.txt* -In der Datei|projects.txt|im Verzeichnis .../vim können die Pfade von -Projekten angegeben werden, die bei dem Befehl|:SetBmskProject|mit der -Tab-Erweiterung oder im Menü ausgewählt werden können. Dabei ist in jeder -Zeile der Datei das Verzeichnis des Makefiles anzugeben. - - *:SetBmskWA* *bmskWA* -:SetBmskWA {Pfad} Setzen des Pfades, in dem die BMSK-Projekte liegen - -Mit dem Befehl|:SetBmskWA|wird der Pfad gesetzt, in dem die -Tab-Erweiterung des Befehls|:SetBmskProject|nach Projekten sucht. - -============================================================================== -*BMSK.2* Einstellungen - *:SetMuster* -:SetMuster [Muster] Einstellen des Hardware-Standes - -Für Muster können alle Mustervarianten angegeben werden - - *:SetEgas* -:SetEgas [Variante] Einstellen der Egas-Variante - -Für Variante können alle Egas-Varianten angegeben werden - - *:SetMotorvariante* -:SetMotorvariante [Variante] Einstellen der Motorvariante - -Für Variante kann K25, K40, K46 oder K71 angegeben werden - - *:SetSWStand* -:SetSWStand [Stand] Einstellen des Software-Stands - -Für Stand kann Test, Entwickler oder Serie angegeben werden. - - *:SetXlint* -:SetXlint [Hexwert] Einstellen der Bmsk-Lint-Options - -Für Hexwert kann z.B. 0x115 angegeben werden. Siehe dazu die -HTML-Dokumentation - -============================================================================== -*BMSK.3* Compilieren - *:Make* -:Make Compilieren des BMSK-Projektes - -Alle gängigen Optionen können über die Tab-Erweiterung ausgewählt werden. - - *:Lint* -:Lint Überprüfen der Software mit FlexLint - -Dieser Befehl kann auch über 'Bmsk lint file=%:p' erreicht werden - - *:MakeDoku* -:MakeDoku Erzeugen einer Doku im BMSK-Projekt - -Es wird|Bmsk|ein der Fehlerparser aus der|LaTeX-Suite|verwendet. Dadurch sind -auch normale LaTeX-Warnings zu sehen. Diese müssen jedoch nicht alle beseitigt -werden. -Alle gängigen Optionen können über die Tab-Erweiterung ausgewählt werden. -Wird der Befehl ohne Parameter aufgerufen, so wird die Funktion interaktiv -abgefragt. - -============================================================================== -*BMSK.4* Arbeiten mit Files - -Um Files schnell zu finden sind alle relevanten Pfade in die Variable|'path'| -eingetragen. Dadurch kann mit: - - |:find|{filename} - -ein File geöffnet werden, ohne den Pfad anzugeben. - -Wenn sich der Cursor auf einem Filenamen befindet (z.B. #include "module.c") -so kann man mit - - |gf| - -direkt in das File springen. - -Jedes File, das schon einmal geladen war ist in der|buffer-list|enthalten. -Es kann über das Menü oder mit - - |:b|{filename} - -geöffnet werden. Dabei ist ausserdem die Tab-Erweiterung aktiv. - - - *:BuffersUpdate* *Buffers* -:BuffersUpdate Aktualisieren aller Dateien eines BMSK-Projekts - -Mit dem Befehl|:BuffersUpdate|werden alle Dateien eines BMSK-Projekts als -Buffer in Vim geladen. Diese können dann z.B. mit einer Session gespeichert -werden. - -Mit dem integrierten File-Explorer kann auch gearbeitet werden:|:Explore| - - *:COPYoutput* -:COPYoutput Product-Files auf Austauschlaufwerk kopieren - -Mit diesem Befehl werden die Files im Product-Verzeichnis auf das -Austauschlaufwerk kopiert. Das Ziel ist in der Variablen Austausch und -myAustausch gespeichert. Diese müssen im File _vimrc richtig gesetzt werden. - - *:RENAMEoutput* -:RENAMEoutput Product-Files umbenennen - -Mit diesem Befehl werden die Files im Product-Verzeichnis umbenannt. Die als -Argument übergebene Erweiterung wird nach dem Programmstandsnamen vor dem -Punkt eingefügt. -Beispiel: > - - :RENAMEoutput _test01 - -Dadurch werden die Files folgendermassen umbenannt: -115BXXXX.daf -> 115BXXXX_test01.daf -770115XE.a2l -> 770115XE_test01.a2l -770115XE.dcm -> 770115XE_test01.dcm -770115XE.elf -> 770115XE_test01.elf -770115XE.map -> 770115XE_test01.map -770115XE.paf -> 770115XE_test01.paf -770115XE.s19 -> 770115XE_test01.s19 - - *:CopyProgrammstand* -:CopyProgrammstand alle Product-Files auf Server ausliefern - -Mit diesem Befehl werden die Files in allen Product-Verzeichnissen in die -Auslieferstrucktur in einem Verzeichnis kopiert, das über einen -File-Open-Dialog gewählt werden kann. - -============================================================================== -*BMSK.5* Tags - -Die BMS-K arbeitet mit zwei unterschiedlichen Datenbanken: -|ctags| und |cscope|. - - *:BMSK-ctags* -Die Datenbank von ctags erfasst alle Tags in DAMOS und Python-Files. Sie -werden mit > - - Bmsk ctags - -und > - - Bmsk ptags - -erzeugt. Zu einem Tag kann mit der Taste gesprungen werden. Zurück kommt -man mit . Zu den DAMOS-Files gehören kgs- und osp-Files, d.h. es kann auch -zu Umrechnungsformeln, Codesyntaxen, usw. gesprungen werden. - - *:BMSK-cscope* -Die Datenbank von cscope erfasst alle Tags in c-, h- und d-Files. Sie werden -mit > - - Bmsk cscope - -erzeugt. Zu einem Tag kann mit der Taste gesprungen werden. Zurück kommt -man mit .|Cscope|bietet viele weitere Möglichkeiten. - -============================================================================== -*BMSK.6* Grep - -Die Funktion zur Suche mit einem externen|grepprg|wird zugunsten der internen -Variante|:vimgrep|nicht unterstützt. In der Regel kann der einfache Befehl - *:GrepBmsk* -:GrepBmsk [pattern] - -verwendet werden. Es unterstützt Regular expressions und findet mehrere -Treffer in einer Zeile, die mit durchlaufen werden können. Gesucht -wird in allen c-, h- und kgs-Files unterhalb von bmsk/sw - -Alternativ gibt es den Befehl|:Grep|aus der|VimSuite|. - -============================================================================== -*BMSK.7* DAMOS-Tools - -Siehe eigene Dokumentation zu|damos| - -============================================================================== -vim:tw=78:ts=8:ft=help:norl: diff --git a/vimfiles.stefan/doc/ccm.txt b/vimfiles.stefan/doc/ccm.txt deleted file mode 100644 index e2d4099..0000000 --- a/vimfiles.stefan/doc/ccm.txt +++ /dev/null @@ -1,28 +0,0 @@ -*ccm.txt* Funktinen fuer das Arbeiten mit Synergy/CM - - -Um mit dem Konfigurations-Management-Tool Synergy/CM (CCM) zu arbeiten muss -das Tool gestartet und die richtige Default-Task ausgewählt sein. Dann können -die folgenden Befehle aus einem Buffer heraus ausgeführt werden: - -============================================================================== - *ccm* *CCM* *Synergy* *Synergy/CM* *CM/Synergy* - - *:CCMcheckout* -:CCMcheckout [comment] Auschecken eines Files in CCM - - *:CCMcheckpoint* -:CCMcheckpoint [comment] Einchecken eines Files als checkpoint - - *:CCMchangeable* -:CCMchangeable Zeigt an, ob der user ein working objekt vom aktuellen File hat - - *:CCMdiff* -:CCMdiff Zeigt die Änderungen gegenüber der Vorgänger-Version - - *:CCMobject* -:CCMobject Gibt den kompletten objectname aus - - *:CCMhistory* -:CCMhistory Öffnet den History-View für das aktuelle File - diff --git a/vimfiles.stefan/plugin/dos.vim b/vimfiles.stefan/plugin/dos.vim deleted file mode 100644 index c9d584a..0000000 --- a/vimfiles.stefan/plugin/dos.vim +++ /dev/null @@ -1,11 +0,0 @@ -" =========================================================================== -" File: dos.vim -" Author: Stefan Liebl (S.Liebl@gmx.de) -" Description: sources mswin.vim if the os is mswin -" =========================================================================== - -if (g:os == 'dos') - runtime mswin.vim - behave mswin -endif - diff --git a/vimfiles.stefan/plugin/vimsuite.vim b/vimfiles.stefan/plugin/vimsuite.vim index fd92a0a..b65fff3 100644 --- a/vimfiles.stefan/plugin/vimsuite.vim +++ b/vimfiles.stefan/plugin/vimsuite.vim @@ -315,26 +315,6 @@ function ConvertUTF8() silent! %s/€/€/ " € endfunction -" find all non-extern functions in h-files -function FindDeclaration() - let bmsk_sw = g:bmsk_sw - let bmsk_header = g:bmsk_header - let bios_header = g:bios_header - let id = '(\\ *[a-zA-Z0-9_]+\\ *)' - let not_extern = '([^x]*\\ +)' - let start = not_extern . '*' - let type = '(' . id . '\\ +)' - let declarator = '(' . id . ')' - let parameter = '(' . id . ')(\\ +' . id .',?\\ *)?' - let parlist = '(' . parameter . '+)' - let bracket = '(\\(' . parlist . '\\))' - let definition = '(\\ *({.*)?)' - let declaration = '(\\ *;.*)' - let end = definition - "let end = definition . declaration . '?' - execute ':Hgrep -x '' . start . type . declarator . bracket . end . ''' -endfunction - " indent a wordNum to position command -range -nargs=+ IndentWordNum call IndentWords(, , ) " handle range diff --git a/vimfiles.stefan/projects_example.txt b/vimfiles.stefan/projects_example.txt deleted file mode 100644 index 531cadc..0000000 --- a/vimfiles.stefan/projects_example.txt +++ /dev/null @@ -1,3 +0,0 @@ -e:\wa\bmsk-qx13468 -e:\wa\bmsk-k25 -e:\wa\bmsk-k40 diff --git a/vimfiles.stefan/tools/bmsk.vim b/vimfiles.stefan/tools/bmsk.vim deleted file mode 100644 index 59a8ad6..0000000 --- a/vimfiles.stefan/tools/bmsk.vim +++ /dev/null @@ -1,1209 +0,0 @@ -if exists('nobmsk') - finish -endif - -if !exists('g:Austausch') - let g:Austausch = fnamemodify('//smuc1805/ee-org/Austausch/ea-92', ':p') -endif -if !exists('g:myAustausch') - let g:myAustausch = fnamemodify(g:Austausch . '/Liebl', ':p') -endif - -" ---- -" Menu -" ---- -let s:BmskMenuLocation = 90 -let s:BMSKmenuname = '&BMSK.' - -" ----------- -" Set Project -" ----------- -command -complete=dir -nargs=1 SetBmskWA let g:bmskWA = '' -command! -complete=custom,GetAllBmskProjects -nargs=? SetBmskProject - \ call s:SetBmskProject('') - -function s:SetBmskProject(basedir) - if ((a:basedir == '') && has('browse')) - " Browse for makefile - if exists('g:bmskWA') - let l:bmskWA = g:bmskWA - else - let l:bmskWA = '' - endif - - if exists('b:browsefilter') - let l:browsefilter = b:browsefilter - endif - let b:browsefilter = - \ 'Makefiles (make_fsw.bat)\tmake_fsw.bat\n' . - \ 'Makefiles (makefile*)\tmakefile*\n' . - \ 'All Files (*.*)\t*.*' - let makefile = browse(0, 'Select makefile', l:bmskWA, '') - if exists('l:browsefilter') - let b:browsefilter = l:browsefilter - endif - let basedir = fnamemodify(makefile, ':p:h') - let makefile = fnamemodify(makefile, ':t') - if ((makefile == 'make_fsw.bat') || (makefile == 'makefile.mak') || (makefile == 'makefile')) - call s:SetBmskDirs(basedir) - else - echo 'No makefile:' makefile - endif - else - " set Workarea and basedir - if (isdirectory(a:basedir)) - let basedir = a:basedir - let makefile = fnamemodify(a:basedir . '/make_fsw.bat', ':p') - if !filereadable(makefile) - let makefile = glob(a:basedir . '/*/make_fsw.bat') - let basedir = fnamemodify(makefile, ':p:h') - endif - if (filereadable(makefile)) - call s:SetBmskDirs(basedir) - else - echo 'No makefile' makefile - endif - else - echo 'No directory:' a:basedir - endif - endif -endfunction - -function GetAllBmskProjects(ArgLead, CmdLine, CursorPos) - let projects_txt = fnamemodify($VIMRUNTIME . '/../projects.txt', ':p') - let projects = '' -" if exists('g:bmskWA') -" let projects = projects . GlobLong(g:bmskWA . '/bmsk*') -" endif - if filereadable(projects_txt) - let projects = projects . system('more ' . projects_txt) - endif -" if (a:CursorPos > strlen('SetBmskProject e:')) -" let path = substitute(a:CmdLine, '.*SetBmskProject\s\+\(\f*\)', '\1', '') -" let projects = projects . GlobLong(path) -" endif - return projects -endfunction - -function s:AddAllKnownProjectsToMenu() - let projREGEX = '\(\f\+\)' . "\n" . '\(.*\)' - let projects = GetAllBmskProjects(0, '', 0) - while strlen(projects) > 0 - let project = substitute(projects, projREGEX, '\1', '') - call s:AddBmskProjectToMenu(project) - let projects = substitute(projects, projREGEX, '\2', '') - endwhile -endfunction - -function s:AddBmskProjectToMenu(projectPath) - if isdirectory(a:projectPath) - let projectName = fnamemodify(a:projectPath, ':p:h:t') - exec 'anoremenu ..30 '.s:BMSKmenuname.'&Project.' - \ . escape(projectName, '.') . '' - \ . ' :SetBmskProject ' . a:projectPath . '' - endif -endfunction - -function s:DelBmskProjects() - exec 'silent! aunmenu '.s:BMSKmenuname.'&Project' - exec 'anoremenu '.s:BmskMenuLocation.'.10.10 '.s:BMSKmenuname. - \'&Project.&Browse\ for\ makefile:SetBmskProject'. - \' :SetBmskProject' - exec 'anoremenu ..25 '. s:BMSKmenuname. - \'&Project.-sep1- :' -endfunction - -function s:BmskRedrawProjectMenu() - call s:DelBmskProjects() - call s:AddAllKnownProjectsToMenu() -endfunction - -function s:BmskRedrawMenu() -" exec 'anoremenu '.s:BmskMenuLocation.'.25 '. s:BMSKmenuname.'-sepsuite0- :' - " Project - call s:BmskRedrawProjectMenu() - if exists('g:bmskdir') - exec 'anoremenu ..20 '.s:BMSKmenuname. - \'&Project.&Update\ Buffers:BuffersUpdate'. - \' :BuffersUpdate' - " Settings - exec 'anoremenu .20.10 '.s:BMSKmenuname. - \'&Settings.&Motorvariante:SetMotorvariante'. - \' :SetMotorvariante' - exec 'anoremenu ..20 '.s:BMSKmenuname. - \'&Settings.Hardware-&Muster:SetMuster'. - \' :SetMuster' - exec 'anoremenu ..30 '.s:BMSKmenuname. - \'&Settings.&Egas:SetEgas'. - \' :SetEgas' - exec 'anoremenu ..40 '.s:BMSKmenuname. - \'&Settings.Software-&Stand:SetSWStand'. - \' :SetSWStand' - " Compile - exec 'anoremenu .30.10 '.s:BMSKmenuname. - \'&Compile.&Build:Make'. - \' :Make' - exec 'anoremenu ..20 '.s:BMSKmenuname. - \'&Compile.&Alle\ Teststände:MakeAll\ Test'. - \' :MakeAll Test' - exec 'anoremenu ..30 '.s:BMSKmenuname. - \'&Compile.&Lint:Lint'. - \' :Lint' - exec 'anoremenu ..35 '.s:BMSKmenuname. - \'&Compile.&Doku\ erstellen:Make\ doku'. - \' :Make doku' - exec 'anoremenu ..36 '.s:BMSKmenuname. - \'&Compile.&Einzeldoku\ erstellen:MakeDoku\ doku\ funktionen="\.\.\."'. - \' :MakeDoku' - exec 'anoremenu ..40 '.s:BMSKmenuname. - \'&Compile.&Clean:Make\ clean'. - \' :Make clean' - exec 'anoremenu ..45 '.s:BMSKmenuname. - \'&Compile.&Clean\ all:Make\ distclean'. - \' :Make distclean' - exec 'anoremenu ..50 '. s:BMSKmenuname. - \'&Compile.-sep- :' - exec 'anoremenu ..60 '.s:BMSKmenuname. - \'&Compile.&Show\ Errors:cl'. - \' :cl' - exec 'anoremenu ..70 '.s:BMSKmenuname. - \'&Compile.&Open\ Error\ Window:copen'. - \' :copen' - exec 'anoremenu ..75 '.s:BMSKmenuname. - \'&Compile.&Parse\ make\.log:cfile\ out/make\.log'. - \' :cfile out/make.log' - exec 'anoremenu ..80 '.s:BMSKmenuname. - \'&Compile.Goto\ &Error:cc'. - \' :cc' - exec 'anoremenu ..90 '.s:BMSKmenuname. - \'&Compile.Goto\ &next\ Error:cn'. - \' :cn' - exec 'anoremenu ..100 '. s:BMSKmenuname. - \'&Compile.-sep1- :' - exec 'anoremenu ..110 '.s:BMSKmenuname. - \'&Compile.&A2L-Patch:A2L'. - \' :A2L' - exec 'anoremenu ..120 '.s:BMSKmenuname. - \'&Compile.Copy\ output\ to\ &Austausch:COPYoutput'. - \' :COPYoutput' - exec 'anoremenu ..130 '.s:BMSKmenuname. - \'&Compile.&Rename\ output:RENAMEoutput'. - \' :RENAMEoutput' - " Tools - exec 'anoremenu .40.10 '.s:BMSKmenuname. - \'&Tools.&A2L-Patch:A2L'. - \' :A2L' - exec 'anoremenu ..20 '.s:BMSKmenuname. - \'&Tools.Copy\ output\ to\ &Austausch:COPYoutput'. - \' :COPYoutput' - exec 'anoremenu ..30 '.s:BMSKmenuname. - \'&Tools.&Rename\ output:RENAMEoutput'. - \' :RENAMEoutput' - exec 'anoremenu ..40 '. s:BMSKmenuname. - \'&Tools.-sep1- :' - exec 'anoremenu ..50 '.s:BMSKmenuname. - \'&Tools.&Check\ A2L\ Types:BmskCheckA2l'. - \' :BmskCheckA2l' - " Search - exec 'anoremenu .50.10 '.s:BMSKmenuname. - \'&Search.&Grep:GrepBmsk'. - \' :GrepBmsk' - exec 'anoremenu ..20 '.s:BMSKmenuname. - \'&Search.Goto\ &Cscope-Tag:cscope'. - \' :cscope find i ' - exec 'anoremenu ..30 '.s:BMSKmenuname. - \'&Search.Goto\ &CTag:tag'. - \' :tag ' - exec 'anoremenu ..40 '.s:BMSKmenuname. - \'&Search.List\ &CTags:tselect'. - \' :tselect /' - exec 'anoremenu ..50 '.s:BMSKmenuname. - \'&Search.Update\ c&tags:Make\ ctags'. - \' :Make ctags' - exec 'anoremenu ..60 '.s:BMSKmenuname. - \'&Search.Update\ C&scope:Make\ cscope'. - \' :Make cscope' - exec 'anoremenu ..70 '.s:BMSKmenuname. - \'&Search.Disconnect\ C&scope:cscope\ kill\ -1'. - \' :cscope kill -1' - " BuildManager - exec 'anoremenu .60.10 '.s:BMSKmenuname. - \'&BuildManager.&Entwicklerstand:MakeAll\ Entwickler'. - \' :MakeAll Entwickler' - exec 'anoremenu ..20 '.s:BMSKmenuname. - \'&BuildManager.&Serienstand:MakeAll\ Serie'. - \' :MakeAll Serie' - exec 'anoremenu ..30 '.s:BMSKmenuname. - \'&BuildManager.&Deliver\ Products:CopyProgrammstand'. - \' :CopyProgrammstand' - exec 'anoremenu ..40 '.s:BMSKmenuname. - \'&BuildManager.&Task\ Report:TaskReport'. - \' :TaskReport' - endif -endfunction - -" ----------------- -" Menü BMSK anlegen -" ----------------- -if !exists('nobmskmenu') - call s:BmskRedrawMenu() - exec 'anoremenu .42 Hilfe.-BMSK- :' - exec 'anoremenu .43 Hilfe.BMSK :help bmsk' -endif - -" ----------------------- -" Alle Buffer neu anlegen -" ----------------------- -command BuffersUpdate call BuffersUpdate() -function BuffersUpdate() - " alle Buffer löschen - let last_buffer = bufnr('$') - execute '1,' . last_buffer . 'bdelete' - - " load all bmsk-files as buffers - try -python <') -function SetMuster(Muster) - if (a:Muster == '') - let l:Muster = confirm('Muster:', "&default\nC&0\nC&1\nC&2\nC&5", 1, 'Question') - if l:Muster == 1 - let g:Muster = '' - elseif l:Muster == 2 - let g:Muster = 'C0' - elseif l:Muster == 3 - let g:Muster = 'C1' - elseif l:Muster == 4 - let g:Muster = 'C2' - elseif l:Muster == 5 - let g:Muster = 'C5' - else - echo 'Abbruch' - return - endif - else - let g:Muster = a:Muster - endif - call s:SetBmskDirs(g:bmskdir) -endfunction - -" ----------- -" bmsk Egas -" ----------- -command -nargs=? SetEgas call SetEgas('') -function SetEgas(Egas) - if (a:Egas == '') - let l:Egas = confirm('Egas:', "&default\n&0\n&1\n&2", 1, 'Question') - if l:Egas == 1 - let g:Egas = '' - elseif l:Egas == 2 - let g:Egas = '0' - elseif l:Egas == 3 - let g:Egas = '1' - elseif l:Egas == 4 - let g:Egas = '2' - else - echo 'Abbruch' - return - endif - else - let g:Egas = a:Egas - endif - call s:SetBmskDirs(g:bmskdir) -endfunction - -" ------------- -" bmsk Baureihe -" ------------- -command -nargs=? SetMotorvariante call s:SetMotorvariante('') -function s:SetMotorvariante(Motor) - if a:Motor == '' - let l:Motor = confirm('Motor:', "&default\nK&25\nK&40\nK&46\nK&71", 1, 'Question') - if l:Motor == 1 - let g:Motor = '' - elseif l:Motor == 2 - let g:Motor = 'K25' - elseif l:Motor == 3 - let g:Motor = 'K40' - elseif l:Motor == 4 - let g:Motor = 'K46' - let g:Egas = '1' - elseif l:Motor == 5 - let g:Motor = 'K71' - else - echo 'Abbruch' - return - endif - else - let g:Motor = a:Motor - endif - call s:SetBmskDirs(g:bmskdir) -endfunction - -" ------------- -" bmsk SW_Stand -" ------------- -command -nargs=? SetSWStand call SetSWStand('') -function SetSWStand(SW_Stand) - if (a:SW_Stand == '') - let l:SW_Stand = confirm('SW_Stand:', "&default\n&Test\n&Entwickler\n&Serie", 1, 'Question') - if l:SW_Stand == 1 - let g:SW_Stand = '' - elseif l:SW_Stand == 2 - let g:SW_Stand = 'Test' - elseif l:SW_Stand == 3 - let g:SW_Stand = 'Entwickler' - elseif l:SW_Stand == 4 - let g:SW_Stand = 'Serie' - else - echo 'Abbruch' - return - endif - else - let g:SW_Stand = a:SW_Stand - endif - call s:SetBmskDirs(g:bmskdir) -endfunction - -" ---------- -" bmsk Xlint -" ---------- -command -nargs=? SetXlint call SetXlint('') -function SetXlint(Xlint) - if (a:Xlint == '') - let l:Xlint = inputdialog('Xlint:', g:Xlint, 'cancel') - if l:Xlint == 'cancel' - return - else - g:Xlint = l:Xlint - endif - else - let g:Xlint = a:Xlint - endif - call s:SetBmskDirs(g:bmskdir) -endfunction - - -" ----------- -" Directories -" ----------- - -function s:SetBmskDirs(bmskdir) - " Rücksetzen der Make-Variablen - unlet! g:OutDir - unlet! g:ProductDir - unlet! g:DfilesDir - unlet! g:CscopeFile - unlet! g:CTagsFile - unlet! g:PTagsFile - unlet! g:Goals - unlet! g:Programname - unlet! g:OutDirVariante - unlet! g:bmsk_stand - - " Variablen erzeugen, damit s:GetMakeVar funktioniert - if !exists('g:Muster') - let g:Muster = '' - endif - if !exists('g:Egas') - let g:Egas = '' - endif - if !exists('g:Motor') - let g:Motor = '' - endif - if !exists('g:SW_Stand') - let g:SW_Stand = '' - endif - if !exists('g:Xlint') - let g:Xlint = '' - endif - - " bmsk dirs - let g:bmskdir = substitute(fnamemodify(a:bmskdir, ':p'), '\\', '/', 'g') - - " cd to bmskdir - execute 'cd ' . g:bmskdir - - " Make - call s:SetBmskCompiler() - - " Default-Werte aus Make übernehmen - call GetAllMakeVars() - - if g:Muster == '' - let g:Muster = s:GetMakeVar('Muster') - endif - if g:Egas == '' - let g:Egas = s:GetMakeVar('Egas') - endif - if g:Motor == '' - let g:Motor = s:GetMakeVar('Motor') - endif - if g:SW_Stand == '' - let g:SW_Stand = s:GetMakeVar('Stand') - endif - if g:Xlint == '' - let g:Xlint = s:GetMakeVar('DIAB_LINT_OPTION') - endif - - " bmsk dirs - let g:bmskWA = fnamemodify(g:bmskdir, ':h:h') - let g:bmskProject = fnamemodify(g:bmskdir, ':h:h:t') - let g:bmsk_sw = fnamemodify(g:bmskdir . '/sw', ':p') - let g:bmsk_bios = fnamemodify(g:bmskdir . '/sw/bios', ':p') - let g:bmsk_d = GetDfilesDir() - let g:bmsk_stand = GetStandDir() - let g:OutDir = GetOutDir() - let g:OutDirVariante = GetOutDirVariante() - let g:bmsk_ext = '*.c *.h *.kgs *.d *.dat *.mak *.inv' - - " cd path - let &cdpath = g:bmskdir - " browse-dir - set browsedir=buffer - " search path - set path& - let &path = &path . ',' . g:bmskdir.'' - let &path = &path . ',' . g:bmskdir.'config/**' - let &path = &path . ',' . g:bmskdir.'diagnose/**' - let &path = &path . ',' . g:bmskdir.'doku/**' - let &path = &path . ',' . g:bmskdir.'fremd/**' - let &path = &path . ',' . g:bmskdir.'make/**' - let &path = &path . ',' . g:OutDir - let &path = &path . ',' . g:OutDir.'defndep/**' - let &path = &path . ',' . g:OutDir.'doku/**' - let &path = &path . ',' . g:OutDirVariante.'**' - let &path = &path . ',' . g:bmskdir.'product/**' - let &path = &path . ',' . g:bmskdir.'sw/**' - let &path = &path . ',' . g:bmskdir.'tools/**' - let &path = substitute(&path, '\\', '/', 'g') - " files for tags (may not start with './', since . is the path of the - " current file - let &tags = substitute(GetCTagsFile(), '^\..', '', '') . ',' . substitute(GetPTagsFile() , '^\..', '', '') - - " Grep Dir and Extentions - let g:GrepDir = g:bmsk_sw - let g:GrepFiles = '*.c *.h *.kgs' - - " cscope - let &cscopeprg = GetCscopePrg() - cscope kill -1 - let reffile = GetCscopeFile() - if (filereadable(reffile)) - execute 'cscope add' reffile - endif - - call s:BmskRedrawMenu() - call GetGoals() - - " Python - let g:python = fnamemodify(g:bmskdir . '/tools/python/v2.1a2/python.exe', ':p') - - " Titel-Leiste - set titlelen=100 - let &titlestring = '%t - (%-F) - %=BMSK: %{g:bmskProject}' - \ . ' Motor: %{g:Motor} Muster: %{g:Muster} Egas: %{g:Egas} SW-Stand: %{g:SW_Stand}' - -endfunction - -function s:SetBmskCompiler() - set errorformat= - " tex-errorformat laden - let b:forceRedoTexCompiler = 'yes' - let g:Tex_ShowallLines = 1 - "execute 'source ' . expand(g:vimfiles . '/compiler/tex.vim') - - let g:makeCommand = g:bmskdir . 'make_fsw.bat' - let &makeprg = g:makeCommand . ' $*' - let &shellpipe = '| ' . g:tee - set makeef= - - " ------------------------------------- - " Diab-Data-Compiler, Assembler, Linker - " ------------------------------------- - " dcc_info, dcc_warning, dcc_error, dcc_fatal - setlocal errorformat+=\"%f\"\\,\ line\ %l:\ %t%.%#\ \(dcc:%n\):%m - " dcc_fatal - setlocal errorformat+=\"%f\"\\,\ line\ %l:\ %tatal\ error\ \(dcc:%n\):%m - setlocal errorformat+=%tatal\ error\ \(dcc:%n\):%m - " das_error - setlocal errorformat+=\"%f\"\\,\ line\ %l:\ %t[a-z]:%m - " dld_error - setlocal errorformat+=d%td:%m - setlocal errorformat+=d%td.EXE:%m - " ------- - " PC-Lint - " ------- - setlocal errorformat+=\"%f\"\\,\ line\ %l:\ %t%.%#\ \(pclint:%n\):%m - setlocal errorformat+=%t%.%#\ \(pclint:%n\):%m - " ------- - " SP-Lint - " ------- - "setlocal errorformat+=%f\(%l,%c\):\ %m - setlocal errorformat+=%A%f\(%l\):\ %m - setlocal errorformat+=%A%f\(%l\): - setlocal errorformat+=%A%f\(%l\\,%c\):\ %m - setlocal errorformat+=%A%f\(%l\\,%c\): - setlocal errorformat+=%C\ \ \ \ %m - " -------- - " GNU-Make - " -------- - setlocal errorformat+=%f:%l:\ %m - setlocal errorformat+=%f:%l:%t%.%#:\ %m - setlocal errorformat+=%+G%.%#make.exe:\ %m - setlocal errorformat+=%+G%.%#make%.%#.sh:\ %m - setlocal errorformat+=%+G%.%#mkdir.exe:\ %m - setlocal errorformat+=%+G%.%#cp.exe:\ %m - setlocal errorformat+=%+G%.%#rm.exe:\ %m - " --------- - " BMSK make - " --------- - setlocal errorformat+=bmsk:\ %m - " ------------ - " python error - " ------------ - setlocal errorformat+=%+G%.%#python.exe:\ %m - "setlocal errorformat+=%C\ %.%#,%A\ \ File\ \"%f\"\\,\ line\ %l%.%#,%Z%[%^\ ]%\\@=%m - " ----- - " DAMOS - " ----- - " Damos error - setlocal errorformat +=%PDAM-S-INPUTFILEOPENED\ %f%*\\s - setlocal errorformat +=%PDAM-S-OUTPUTFILEOPENED\ %f%*\\s - setlocal errorformat +=%QDAM-S-FILECLOSED\ %f%*\\s - "setlocal errorformat +=%PDAM-S-OSP-OPENING-SEQ-OSP\ %f%*\\s - setlocal errorformat +=%QDAM-S-OSP-CLOSE\ %f%*\\s - " ignore 'DAM-W-KONS-SW-IGNORED' - setlocal errorformat+=%-O%.%#DAM-W-KONS-SW-IGNORED - " Damos Info-Feld - "setlocal errorformat +=%-I\|\ DAM-I-%m, - " \%-Z+-%# - " Damos Warning- oder Error-Feld - " DAM-W-... - setlocal errorformat +=%A\ %#\|\ DAM-%t-%m, - \%C\ %#\|\%*\\sZeile\ %l%m, - \%C\ %#\|\%*\\sZeile\ %f:\ %l%m, - \%C\ %#\|\ %#%m, - \%-Z\ %#+-%# - " Damos: Kenngrößen, die in mehr als einer SG-Funktion definiert sind: - " Kgs: ... Fkt: ... - setlocal errorformat +=%+WKenngrößen%m - setlocal errorformat +=%+WKgs:%m - " Damos: Ram-Größen, die in einer SG-Funktion enthalten sind, - " aber nicht im OSp existieren: - " Ram: ... Fkt: ... - setlocal errorformat +=%+WRam-Größen%m, - \%+Zaber%m - " Damos: Lokale Ram-Größen, die referenziert werden: - " Ram: ... Fkt: ... - setlocal errorformat +=%+WLokale\ Ram-Größen%m - setlocal errorformat +=%+WRam:%m - " - setlocal errorformat +=%W%\\%#%#DAM-S-KGR-PLS-EXCEEDED%m:%*\\s, - \%CDAM-S-KGR-PLS-EXCEEDED%m, - \%-Z+-%# - " ignore uninterresting lines - " --------------------------- - " ignore 'ignoring option ...' - setlocal errorformat+=%-Oignoring\ option%.%# - " ignore 'file: 123: #error ...' - setlocal errorformat+=%-O%*\\S\ %*\\d:\ #%.%# -endfunction - -" make backups -set backup " keep a backup file -set backupext=~ - -" Get values for a list of variables as dictionary -function s:GetMakeVars(varNameList) - let varlist = {} - try - let vars = join(a:varNameList, ' ') - let command = g:makeCommand . ' ' . s:GetMakeOptions() . ' getvar name="' . vars . '"' - "echomsg command - let output = system(command) - let lines = split(output, "\n") - if len(lines) == 1 && len(a:varNameList) == 1 && match(lines[0], '=') < 0 - " make output: value - let RE = '\(.*\)' - let SU = "let varlist['" . vars . "']='\\1'" - else - " make output: var=value - let RE = '^\(\w\+\)=\(.*\)\s*' - let SU = "let varlist['\\1']='\\2'" - endif - "echomsg 'getvars:' - for line in lines - "echomsg line - if match(line, RE) >= 0 - let command = substitute(line, RE, SU, '') - "echomsg command - execute command - endif - endfor - "echomsg '' - catch - echomsg 'Could not read make variables' - endtry - - if varlist == {} - echomsg 'Could not read any variables from makefile' - echo 'Command:' command - echo 'Make output is:' - for line in lines - echo line - endfor - echo '---' - endif - return varlist -endfunction - -function s:GetMakeVar(varName) - let var = s:GetMakeVars([a:varName]) - try - let varValue = var[a:varName] - catch - let varValue = '' - echomsg 'Could not read make-variable "' . a:varName . '"' - endtry - return varValue -endfunction - -"------------------------- -function GetAllMakeVars() -"------------------------- - let varnames = {} - let varnames['Muster'] = 'Muster' - let varnames['Egas'] = 'Egas' - let varnames['Motor'] = 'Motor' - let varnames['SW_Stand'] = 'Stand' - let varnames['Xlint'] = 'DIAB_LINT_OPTION' - let varnames['OutDir'] = 'OUTDIR' - let varnames['ProductDir'] = 'OUTDIR_PRODUCTS' - let varnames['DfilesDir'] = 'OUTDIR_D_FILES' - let varnames['bmsk_stand'] = 'OUTDIR_STAND' - let varnames['OutDirVariante'] = 'OUTDIR_VARIANTE' - let varnames['CscopePrg'] = 'CSCOPE' - let varnames['CscopeFile'] = 'CSCOPEFILE' - let varnames['CTagsFile'] = 'CTAGFILE' - let varnames['PTagsFile'] = 'PTAGFILE' - let varnames['Goals'] = 'GOALS' - let varnames['Programname'] = 'PROGRAMNAME' - let varlist = s:GetMakeVars(values(varnames)) - for var in items(varnames) - if has_key(varlist, var[1]) - let g:{var[0]} = varlist[var[1]] - endif - endfor -endfunction - -" ------------------- -function GetBmskDir() -" ------------------- - if !exists('g:bmskdir') - echo 'Bitte erst Projekt wählen' - SetBmskProject - endif - return g:bmskdir -endfunction - -" --------------------- -function GetBmskSwDir() -" --------------------- - if !exists('g:bmskdir') - echo 'Bitte erst Projekt wählen' - SetBmskProject - endif - return g:bmsk_sw -endfunction - -" ------------------ -function GetOutDir() -" ------------------ - if !exists('g:OutDir') - let g:OutDir = s:GetMakeVar('OUTDIR') - endif - if (g:OutDir != '') - let g:OutDir = fnamemodify(g:OutDir, ':p') - endif - return g:OutDir -endfunction - -" ---------------------- -function GetProductDir() -" ---------------------- - if !exists('g:ProductDir') - let g:ProductDir = s:GetMakeVar('DELIVERY_PATH') - if (g:ProductDir == '') - let g:ProductDir = s:GetMakeVar('OUTDIR_PRODUCTS') - endif - endif - if (g:ProductDir != '') - let g:ProductDir = fnamemodify(g:ProductDir, ':p') - endif - return g:ProductDir -endfunction - -" --------------------- -function GetDfilesDir() -" --------------------- - if !exists('g:DfilesDir') - let g:DfilesDir = s:GetMakeVar('D_FILES_DIR') - if (g:DfilesDir == '') - let g:DfilesDir = s:GetMakeVar('OUTDIR_D_FILES') - endif - if (g:DfilesDir != '') - let g:DfilesDir = fnamemodify(g:DfilesDir, ':p') - endif - endif - return g:DfilesDir -endfunction - -" -------------------- -function GetStandDir() -" -------------------- - if !exists('g:bmsk_stand') - let g:bmsk_stand = s:GetMakeVar('OUTDIR_STAND') - endif - if (g:bmsk_stand != '') - let g:bmsk_stand = fnamemodify(g:bmsk_stand, ':p') - endif - return g:bmsk_stand -endfunction - -" -------------------------- -function GetOutDirVariante() -" -------------------------- - if !exists('g:OutDirVariante') - let g:OutDirVariante = s:GetMakeVar('OUTDIR_VARIANTE') - endif - if (g:OutDirVariante != '') - let g:OutDirVariante = fnamemodify(g:OutDirVariante, ':p') - endif - return g:OutDirVariante -endfunction - -" ---------------------- -function GetCscopePrg() -" ---------------------- - if !exists('g:CscopePrg') - let g:CscopePrg = s:GetMakeVar('CSCOPE') - endif - if (g:CscopePrg != '') - let g:CscopePrg = fnamemodify(g:CscopePrg, ':p') - endif - return g:CscopePrg -endfunction - -" ---------------------- -function GetCscopeFile() -" ---------------------- - if !exists('g:CscopeFile') - let g:CscopeFile = s:GetMakeVar('CSCOPEFILE') - endif - if (g:CscopeFile != '') - let g:CscopeFile = fnamemodify(g:CscopeFile, ':p') - endif - return g:CscopeFile -endfunction - -" --------------------- -function GetCTagsFile() -" --------------------- - if !exists('g:CTagsFile') - let g:CTagsFile = s:GetMakeVar('CTAGFILE') - endif - if (g:CTagsFile != '') - let g:CTagsFile = fnamemodify(g:CTagsFile, ':p') - endif - return g:CTagsFile -endfunction - -" --------------------- -function GetPTagsFile() -" --------------------- - if !exists('g:PTagsFile') - let g:PTagsFile = s:GetMakeVar('PTAGFILE') - endif - if (g:PTagsFile != '') - let g:PTagsFile = fnamemodify(g:PTagsFile, ':p') - endif - return g:PTagsFile -endfunction - -" ----------------- -function GetGoals() -" ----------------- - if !exists('g:Goals') - let g:Goals = s:GetMakeVar('GOALS') - endif - return g:Goals -endfunction - -" ----------------------- -function GetProgramname() -" ----------------------- - if !exists('g:Programname') - let g:Programname = s:GetMakeVar('PROGRAMNAME') - endif - return g:Programname -endfunction - -" define and include -"set define=^#\s*define -"set include=^#\s*include -"set includeexpr='' - -"command CleanSRCfile %s/\.L\d{3,4\}/.L0000/ce -"command CleanSRCfile %s/^#\tr\d\{1,2\}\t\t\$\$\d\{2,3\}\n//ce -command CleanSRCfile %s/^#\t\(\(r\d\{1,2\}\t\)\|\(not allocated\)\)\t\(\(\$\$\d\{1,3\}\)\|\([xyz]\)\)\n//ce - -"function s:GetA2Lfile() -" let a2lfile = glob(GetProductDir() . '/*.a2l') -" return a2lfile -"endfunction - -" ---- -" tags -" ---- - -command CscopeConnect call s:CscopeConnect() -function s:CscopeConnect() - let reffile = GetCscopeFile() - if (filereadable(reffile)) - execute 'cscope add' reffile - endif -endfunction - -" significant characters in tags -set taglength=0 -set notagrelative - -" ------------ -" grep program -" ------------ -command -nargs=? GrepBmsk call GrepFull(GetBmskSwDir(), '*.c *.h *.kgs', '') - -" ---------------- -" Make and compile -" ---------------- -command -complete=custom,GetAllBmskTargets -nargs=* Make call s:Make('') -command -complete=custom,GetAllBmskTargets -nargs=* MakeDoku call s:MakeDoku('') -command -nargs=* Lint Make %:t:r.lint -command -complete=customlist,GetAllBmskSWStand -nargs=1 MakeAll call s:MakeAll('') - -" Programmstand compilieren -function s:Make(args) - echo a:args - cscope kill -1 - call s:SetBmskCompiler() - execute 'make! ' . a:args .' '. s:GetMakeOptions() - CscopeConnect - clist -endfunction - -function s:GetMakeOptions() - let makeopts = '' - if (g:Motor != '') - let makeopts = makeopts . ' Motor=' . g:Motor - endif - if (g:Muster != '') - let makeopts = makeopts . ' Muster=' . g:Muster - endif - if (g:Egas != '') - let makeopts = makeopts . ' Egas=' . g:Egas - endif - if (g:Xlint != '') - let makeopts = makeopts . ' DIAB_LINT_OPTION=' . g:Xlint - endif - if (g:SW_Stand != '') - let makeopts = makeopts . ' Stand=' . g:SW_Stand - endif - return makeopts -endfunction - -" Dokumentation erzeugen (Verwenden des LaTeX errorparsers) -function s:MakeDoku(args) - echo a:args - let command = 'Make ' . a:args . ' ' - if match(a:args, '\(^\|\s\)\w\+\($\|\s\+\)') < 0 - " kein Target angegeben, doku verwenden - let command = command . 'doku ' - endif - if match(a:args, '\') < 0 - " keine Funktionen angegeben - if &filetype == 'tex' - let funktionen = expand('%:t:r') - else - let funktionen = '' - endif - let funktionen = inputdialog('funktionen:', funktionen, 'cancel') - if funktionen == 'cancel' - return - endif - let command = command . 'funktionen="' . funktionen . '"' - endif - - cscope kill -1 - compiler tex - let &makeprg = g:makeCommand . ' $*' - let latexflags = '-interaction=nonstopmode' - execute command . ' LATEXFLAGS=' . latexflags - CscopeConnect - clist -endfunction - -" Erzeugen aller Programmstände -function s:MakeAll(Stand) - " Software Stand gegebenenfalls einstellen - if (a:Stand != '') && (g:SW_Stand != a:Stand) - call SetSWStand(a:Stand) - endif - execute 'Make all' . g:SW_Stand -endfunction - -" Alle Software-Stände als VimList -function GetAllBmskSWStand(ArgLead, CmdLine, CursorPos) - let StandList = ['Test', 'Entwickler', 'Serie'] - return StandList -endfunction - -" Alle Make-Targets als Text Liste -function GetAllBmskTargets(ArgLead, CmdLine, CursorPos) - let goals = GetGoals() - if goals == '' - let targets = 'Programmstand' - let targets = targets . "\n" . 'clean' - let targets = targets . "\n" . 'cleanall' - let targets = targets . "\n" . 'cleanProducts' - let targets = targets . "\n" . 'allTest' - let targets = targets . "\n" . 'allEntwickler' - let targets = targets . "\n" . 'allSerie' - let targets = targets . "\n" . 'patch_a2l' - let targets = targets . "\n" . 'check_memory' - let targets = targets . "\n" . 'create_csv' - let targets = targets . "\n" . 'create_arcus_csv' - let targets = targets . "\n" . 'import_arcus_csv' - let targets = targets . "\n" . 'boschsig' - let targets = targets . "\n" . 'archivate' - let targets = targets . "\n" . 'lint file=' . expand('%:p') - let targets = targets . "\n" . 'tags' - let targets = targets . "\n" . 'ctags' - let targets = targets . "\n" . 'ptags' - let targets = targets . "\n" . 'cscope' - let targets = targets . "\n" . 'ccm_products_checkout CCM=' . g:ccm - let targets = targets . "\n" . 'help' - else - let targets = substitute(goals, '\s\+', '\n', 'g') - let targets = targets . "\n" . expand('%:t:r') . '.obj' - let targets = targets . "\n" . expand('%:t:r') . '.i' - let targets = targets . "\n" . expand('%:t:r') . '.src' - let targets = targets . "\n" . expand('%:t:r') . '.lint' - let targets = targets . "\n" . 'FORCE_PROGID=no' - let targets = targets . "\n" . 'MAKE_DBG=2' - let targets = targets . "\n" . 'EXTRA_C_FLAGS=' - let targets = targets . "\n" . 'DIAB_OPTIMIZE=' - let targets = targets . "\n" . 'MAIN_MAKEFILES=' - let targets = targets . "\n" . 'ALL_EXIT=' - endif - return targets -endfunction - -" ----------------------------------- -" include extra-variables to a2l-file -" ----------------------------------- -command PatchA2L call s:A2L_EXTENTION() -function s:A2L_EXTENTION() - call s:SetBmskCompiler() - execute '!start make_fsw.bat patch_a2l ' . s:GetMakeOptions() . ' & pause' -endfunction - -" ------------------------------------- -" Compilierte Files auf Server copieren -" ------------------------------------- -command COPYoutput call s:CopyOutputFilesToAustausch() -function s:CopyOutputFilesToAustausch() - let destination = fnamemodify(g:myAustausch . '/' . g:Motor . g:Muster . g:Egas, ':p') - echo destination - if isdirectory(g:myAustausch)==0 - echo 'mkdir Liebl' - call system(g:mkdir . g:myAustausch) - endif - if isdirectory(destination)==0 - echo 'mkdir' destination - call system(g:mkdir . destination) - endif - call system(g:rm_f . destination . '\*.*') - let sourceDir = GetProductDir() - call s:CopyOutputFiles(sourceDir, destination) -endfunction - -command CopyProgrammstand call s:CopyProgrammstand() -function s:CopyProgrammstand() - let pstDir = browsedir('Verzeichnis des Programmstands', 'c:') - let Variants = s:GetOutputVariants() - for variante in Variants - let varianteOrig = fnamemodify(GetOutDirVariante(), ':h:t') - let sourceDir = substitute(GetProductDir(), varianteOrig, variante, '') - let destDir = expand(pstDir . '/' . strpart(variante, 0, 2) . 'x' . '/' . variante) - if !isdirectory(destDir) - echo destDir . ' is not a directory' - else - call system(g:cp . sourceDir . '\\*.* ' . destDir) - endif - endfor -endfunction - -function! s:GetOutputVariants() - let Variants = split(system('dir /B out\\K*'), "\n") - return Variants -endfunction - -function s:CopyOutputFiles(sourceDir, destination) - let destination = fnamemodify(a:destination, ':p') - let ProgID = GetProgramname() - let files = fnamemodify(a:sourceDir . '/' . ProgID, ':p') . '*.*' - let command = g:cp . files . ' ' . destination - echo command - call system(command) - let files = fnamemodify(a:sourceDir . '/' . strpart(ProgID, 3, 3) . '*.daf', ':p') - let command = g:cp . files . ' ' . destination - echo command - call system(command) -endfunction - -" ---------------------------- -" Compilierte Files umbenennen -" ---------------------------- -command -nargs=? RENAMEoutput call s:RENAMEoutput('') -function s:RENAMEoutput(pattern) - if (a:pattern == '') - let l:pattern = inputdialog('pattern:', '_test01', '') - else - let l:pattern = a:pattern - endif - let product_path = GetProductDir() - let ProgID = GetProgramname() - call s:RenameFile(fnamemodify(product_path . '/' . ProgID . '.DCM', ':p'), l:pattern) - call s:RenameFile(fnamemodify(product_path . '/' . ProgID . '.ELF', ':p'), l:pattern) - call s:RenameFile(fnamemodify(product_path . '/' . ProgID . '.a2l', ':p'), l:pattern) - call s:RenameFile(fnamemodify(product_path . '/' . ProgID . '_patch.a2l', ':p'), l:pattern) - call s:RenameFile(fnamemodify(product_path . '/' . ProgID . '.map', ':p'), l:pattern) - call s:RenameFile(fnamemodify(product_path . '/' . ProgID . '.paf', ':p'), l:pattern) - call s:RenameFile(fnamemodify(product_path . '/' . ProgID . '.s19', ':p'), l:pattern) - call s:RenameFile(fnamemodify(product_path . '/' . ProgID . '_BOSCH.s19', ':p'), l:pattern) - call s:RenameFile(fnamemodify(product_path . '/' . strpart(ProgID, 3, 3) . 'BXXXX.daf', ':p'), l:pattern) -endfunction - -function s:RenameFile(File, Pattern) - if (filereadable(a:File)) - let newfile = fnamemodify(a:File, ':p:r') . a:Pattern . '.' - \ . fnamemodify(a:File, ':e') - call rename(a:File, newfile) - endif -endfunction - -"--------------------- -" Task Report erzeugen -"--------------------- -command TaskReport call s:TaskReport() -function s:TaskReport() - let b:browsefilter = 'Textfiles \t*.txt\n' - let file = browse(1, 'Select File for Task Report', 'c:', g:bmskProject . '.txt') - execute 'Make ccm_task_report file=' . fnamemodify(file, ':p') -endfunction - -" ------------------------------------------ -" Überprüfen der File-Inodes der EEEmulation -" ------------------------------------------ -command FindEEEmuFile call s:FindEEEmuFile() -function s:FindEEEmuFile() - - let typeFile = '0000F1DE' - let address = 'S325\x\{8}' - let linebreak = '\(\x\{2}\n' . address . '\)\?' - let longword = '\x\{8}' - let stateValid = 'BABABABA' - let fileNames = '\(000005FB\|000000FC\|000000E5\|000000BB\|00000B55\|00005B55\|00000CCB\|00EEEF15\)' - - let fileNameValid = typeFile - \ . linebreak - \ . fileNames - let fileName = typeFile - \ . linebreak - \ . longword - let fileStateValid = typeFile - \ . linebreak - \ . longword - \ . linebreak - \ . longword - \ . linebreak - \ . stateValid - let fileState = typeFile - \ . linebreak - \ . longword - \ . linebreak - \ . longword - \ . linebreak - \ . longword - let fileInode = typeFile - \ . linebreak - \ . longword - \ . linebreak - \ . longword - \ . linebreak - \ . longword - - execute 'syntax match fileInode "' . fileInode - \.'" contains=address,fileState,fileStateValid' - execute 'syntax match fileState "' . fileState - \.'"hs=e-7 contained contains=address,fileName,fileNameValid' - execute 'syntax match fileStateValid "' . fileStateValid - \.'"hs=e-7 contained contains=address,fileName,fileNameValid' - execute 'syntax match fileName "' . fileName - \.'"hs=e-7 contained contains=address' - execute 'syntax match fileNameValid "' . fileNameValid - \.'"hs=e-7 contained contains=address' - execute 'syntax match address "' . address - \.'" contained contains=fileName,fileNameValid' - - hi def link fileInode Constant - hi def link fileState PreCondit - hi def link fileStateValid Label - hi def link fileName PreCondit - hi def link fileNameValid Identifier - hi def link address Constant - - " damit mit n weitergesprungen werden kann - let @/ = typeFile - setlocal nohlsearch -endfunction diff --git a/vimfiles.stefan/tools/gvimmerge.vim b/vimfiles.stefan/tools/gvimmerge.vim index b91cb4d..9e05960 100644 --- a/vimfiles.stefan/tools/gvimmerge.vim +++ b/vimfiles.stefan/tools/gvimmerge.vim @@ -6,14 +6,6 @@ function s:OpenDiffTab(left, right) diffthis endfunction -function s:FixLineendings() - if !exists('b:reload_dos') && !&binary && &ff=='unix' && (0 < search('\r$', 'nc')) - edit ++ff=dos - echom 'fixed lineendings' - let b:reload_dos = 1 - endif -endfunction - function s:OpenMergeTabs() set columns=200 call s:OpenDiffTab(2, 4) diff --git a/vimfiles.stefan/tools/project.tmpl b/vimfiles.stefan/tools/project.tmpl deleted file mode 100644 index ac1563e..0000000 --- a/vimfiles.stefan/tools/project.tmpl +++ /dev/null @@ -1,63 +0,0 @@ -" vim: filetype=vim - -" ======== -" Settings -" ======== -compiler $VIM_COMPILER -set path=$VIM_PATH -set tags=$VIM_TAGS -set cscopeprg=$VIM_CSCOPEPRG -let s:cscopefile = $VIM_CSCOPEFILE -let s:makegoals = $VIM_MAKEGOALS -let s:makeopts = $VIM_MAKEOPTS - -if exists('s:did_projectplugin') - finish -endif -let s:did_projectplugin='bmsk' - -" ==== -" Make -" ==== -function s:GetMakeOptions() - return '' -endfunction - -function GetAllMakeCompletions(...) - return join(s:makegoals + s:makeopts, "\n") -endfunction - -command -complete=custom,GetAllMakeCompletions -nargs=* Make call s:Make('') -function s:Make(args) - echo a:args - CscopeDisconnect - execute 'make ' . a:args .' '. s:GetMakeOptions() - CscopeConnect - clist -endfunction - -" ----------------- -" CSCOPE-Connection -" ----------------- -command CscopeConnect call s:CscopeConnect(s:cscopefile) -function s:CscopeConnect(cscopefile) - if filereadable(a:cscopefile) - execute 'cscope add ' . a:cscopefile - else - echomsg 'cscope: Could not connect: File ' . a:cscopefile . ' does not exist' - endif -endfunction - -command CscopeDisconnect call s:CscopeDisconnect() -function s:CscopeDisconnect() - cscope kill -1 -endfunction - -" ================ -" Start of session -" ================ -function s:ProjectOnStart() - CscopeConnect -endfunction - -call s:ProjectOnStart() diff --git a/vimfiles.stefan/vimrc b/vimfiles.stefan/vimrc index cd77d0b..0908085 100644 --- a/vimfiles.stefan/vimrc +++ b/vimfiles.stefan/vimrc @@ -19,19 +19,6 @@ let &runtimepath = &runtimepath . ',' . g:vimsuite . '/vimfiles.stefan/after' " packages liegen unter vimsuite/pack execute "set packpath+=".g:vimsuite -" Laden weiterer Einstellungen: -if (has("win32") || has("win64")) - let g:os ='dos' - execute 'source ' . expand(g:vimfiles . '/vimrc.dos') -else - let g:os = 'linux' - execute 'source ' . expand(g:vimfiles . '/vimrc.linux') -endif - -if !exists('nobmsk') - execute 'source ' . expand(g:vimfiles . '/vimrc.bmsk') -endif - " ------------------ " packages / plugins " ------------------ @@ -91,10 +78,23 @@ filetype plugin indent on "syntax on syntax enable +if has('gui') + set guifont=Liberation\ Mono\ 9 + "set guifontwide= + set guioptions=arL + set guioptions+=m + "set tearoff-feature + set guioptions+=t + " add toolbar +" set guioptions+=T +endif + +colorscheme Stefan + " no syntax highlighting when printing set printoptions+=syntax:n -# truecolor for console +" truecolor for console set termguicolors "highlight search @@ -186,7 +186,7 @@ endfunction " options for DirDiff let g:DirDiffCommand = expand($VIMRUNTIME . '/diff') -let g:DirDiffExcludes = '*.log,*.pyc,.svn,.git*,.asc,_ccmwaid.inf,.static_wa,out,Build,build,tags,cscope.out,.directory' +let g:DirDiffExcludes = '*.log,*.pyc,.svn,.git*,.asc,.static_wa,out,Build,build,tags,cscope.out,.directory' "let g:DirDiffDynamicDiffText = 1 diff --git a/vimfiles.stefan/vimrc.bmsk b/vimfiles.stefan/vimrc.bmsk deleted file mode 100644 index b2b16de..0000000 --- a/vimfiles.stefan/vimrc.bmsk +++ /dev/null @@ -1,13 +0,0 @@ -if !exists('g:Austausch') - let g:Austausch = expand('//easerv.muc/Organisation/ea-41/Austausch') -endif -if !exists('g:myAustausch') - let g:myAustausch = expand(g:Austausch . '/Liebl') -endif -if !exists('g:bmskWA') - let g:bmskWA = expand('c:/wa') -endif -if !exists('g:WA') - let g:WA = expand('c:/wa') -endif - diff --git a/vimfiles.stefan/vimrc.dos b/vimfiles.stefan/vimrc.dos deleted file mode 100644 index 6de653b..0000000 --- a/vimfiles.stefan/vimrc.dos +++ /dev/null @@ -1,50 +0,0 @@ - -"let g:debug = 1 - -let g:backupdir = expand($TEMP . '/vi') -let g:swapdir = expand($TEMP . '/vi') - -let g:gvim = expand($VIMRUNTIME . '/gvim.exe ') -"let g:pythonPath = expand('c:/wa/tools/python/2.7.1') -let g:diff = expand($VIMRUNTIME . '/diff ') -let g:svn = expand('svn ') -let g:cvs = expand('cvs ') -let g:cp = expand('copy ') -let g:cat = expand('type ') -let g:mv = expand('move ') -let g:rm = expand('del ') -let g:rm_f = expand('del ') . '/Q ' -let g:mkdir = expand('mkdir ') - -" unix-tools -let g:vimtools = expand(g:vimfiles . '/tools') -let g:patch = expand(g:vimtools . '/patch.exe ') -let g:ctags = expand(g:vimtools . '/ctags.exe ') -let g:cscope = expand(g:vimtools . '/cscope.exe ') -let g:tee = expand(g:vimtools . '/tee.exe ') -let g:untee = expand(g:vimtools . '/untee.bat ') -let g:wget = expand(g:vimtools . '/wget.exe') - -"let g:nobmsk = 1 -"let g:nobmskmenu = 1 -"let g:noccm = 1 -"let g:noccmmenu = 1 - -if has('gui') - - " set Font - set guifont=Lucida_Console:h8 -" set guifont=Terminal:h6 - "set guifontwide= - - " Set standards for GUI - set guioptions=arL - "set menu - set guioptions+=m - "set tearoff-feature - set guioptions+=t - " add toolbar -" set guioptions+=T - -endif -colorscheme Stefan diff --git a/vimfiles.stefan/vimrc.linux b/vimfiles.stefan/vimrc.linux deleted file mode 100644 index aea1e80..0000000 --- a/vimfiles.stefan/vimrc.linux +++ /dev/null @@ -1,45 +0,0 @@ -"let g:debug = 1 - -let g:backupdir = expand('/tmp') -let g:swapdir = expand('/tmp') - -let g:gvim = expand('gvim ') -let g:python = expand('python ') -let g:diff = expand('diff ') -let g:svn = expand('svn ') -let g:cvs = expand('cvs ') -let g:cp = expand('cp ') -let g:mv = expand('mv ') -let g:rm = expand('rm ') -let g:rm_f = expand('rm -rf ') -let g:mkdir = expand('mkdir ') -let g:wget = expand('wget') - -" unix-tools -let g:patch = expand('patch ') -let g:cscope = expand('cscope ') - -set printexpr=system('kprinter\ '.v:fname_in).delete(v:fname_in)+v:shell_error - -let g:nobmsk = 1 -let g:nobmskmenu = 1 -let g:noccm = 1 -let g:noccmmenu = 1 - -if has('gui') - - " set Font - set guifont=Liberation\ Mono\ 9 - "set guifontwide= - - " Set standards for GUI - set guioptions=arL - "set menu - set guioptions+=m - "set tearoff-feature - set guioptions+=t - " add toolbar -" set guioptions+=T - -endif -colorscheme Stefan