From a89ce114bcbbab3bdd1b0fd12cfa4dfdd3fe6612 Mon Sep 17 00:00:00 2001 From: stefan Date: Mon, 31 Mar 2008 09:04:42 +0000 Subject: [PATCH] SVN-Studio verbessert Templates verbessert Anpassung DoxygenToolkit git-svn-id: https://vimsuite.svn.sourceforge.net/svnroot/vimsuite/trunk@152 eb2d0018-73a3-4aeb-bfe9-1def61c9ec69 --- vimfiles.damos/ftdetect/kgs.vim | 1 + vimfiles.stefan/ftdetect/c.vim | 2 + vimfiles.stefan/plugin/svn.vim | 6 +- vimfiles.stefan/plugin/vimsuite.vim | 16 +- vimfiles.stefan/spell/bmsk.add | 267 ++++++++++++++++++++++++- vimfiles.stefan/spell/bmsk.add.spl | Bin 13531 -> 15818 bytes vimfiles.stefan/templates/file_c.tpl | 52 ++--- vimfiles.stefan/templates/file_h.tpl | 57 ++---- vimfiles.stefan/templates/file_kgs.tpl | 43 ++++ vimfiles.stefan/vimrc | 53 +++++ 10 files changed, 403 insertions(+), 94 deletions(-) create mode 100644 vimfiles.stefan/templates/file_kgs.tpl diff --git a/vimfiles.damos/ftdetect/kgs.vim b/vimfiles.damos/ftdetect/kgs.vim index 8fcecf1..5dd412e 100644 --- a/vimfiles.damos/ftdetect/kgs.vim +++ b/vimfiles.damos/ftdetect/kgs.vim @@ -1 +1,2 @@ au BufRead,BufNewFile *.kgs set filetype=kgs +au BufRead,BufNewFile *.kgs.merge* set filetype=kgs diff --git a/vimfiles.stefan/ftdetect/c.vim b/vimfiles.stefan/ftdetect/c.vim index 5dd5e08..d553607 100644 --- a/vimfiles.stefan/ftdetect/c.vim +++ b/vimfiles.stefan/ftdetect/c.vim @@ -2,3 +2,5 @@ autocmd BufRead,BufNewFile /usr/include/*/* set filetype=c autocmd BufRead,BufNewFile *.d set filetype=c autocmd BufRead,BufNewFile *.dat set filetype=c autocmd BufRead,BufNewFile *.i set filetype=c +autocmd BufRead,BufNewFile *.h.merge* set filetype=c +autocmd BufRead,BufNewFile *.c.merge* set filetype=c diff --git a/vimfiles.stefan/plugin/svn.vim b/vimfiles.stefan/plugin/svn.vim index 2c1756a..ca26eb6 100644 --- a/vimfiles.stefan/plugin/svn.vim +++ b/vimfiles.stefan/plugin/svn.vim @@ -132,10 +132,8 @@ function s:SVNdiff(input) endif if filereadable(filename) - " goto upper right window - wincmd k - wincmd l - execute 'edit ' . filename + " open file in new tab + execute 'tabnew ' . filename " store filetype let filetype = &filetype " open headrevision diff --git a/vimfiles.stefan/plugin/vimsuite.vim b/vimfiles.stefan/plugin/vimsuite.vim index 90f7505..cc4bc93 100644 --- a/vimfiles.stefan/plugin/vimsuite.vim +++ b/vimfiles.stefan/plugin/vimsuite.vim @@ -913,23 +913,23 @@ command -nargs=* Python execute(':wa | cd ' . GetBmskDir()) | echo system(g:pyth " --------- command InsertCHeader call Insert_Header('file_c.tpl') command InsertHHeader call Insert_Header('file_h.tpl') +command InsertKGSHeader call Insert_Header('file_kgs.tpl') command InsertFHeader call Insert_Header('funct.tpl') command InsertHTMLHeader call Insert_Header('html.tpl') function Insert_Header(file) let file = g:vimfiles . '/templates/' . a:file execute ':read ' . file + " expand template let l:filename = expand('%:t') execute ':%s/%filename/' . l:filename . '/e' let l:basename = substitute(expand('%:t:r'), '.*', '\U\0', '') execute ':%s/%basename/' . l:basename . '/e' - let l:author = 'IST_LIEBL' - execute ':%s/%author/' . l:author . '/e' - while search('%date', '') > 0 - "execute 'normal /%date' - execute ':d' - execute ':HistoryComment' - execute 'normal jdd' - endwhile + let l:date = strftime("%d.%m.%Y") + execute ':%s/%date/' . l:date . '/e' + if !exists("g:DoxygenToolkit_authorName") + let g:DoxygenToolkit_authorName = input("Enter name of the author (gernarally yours...) : ") + endif + execute ':%s/%author/' . g:DoxygenToolkit_authorName . '/e' endfunction " ------- diff --git a/vimfiles.stefan/spell/bmsk.add b/vimfiles.stefan/spell/bmsk.add index f97eb40..e5146af 100644 --- a/vimfiles.stefan/spell/bmsk.add +++ b/vimfiles.stefan/spell/bmsk.add @@ -14,7 +14,10 @@ Adaptionswerte Adaptionswerten Adaptionswertes Adressierschema +Aenderung Aenderungskommentar +Akustikklappe +Akustikklappenventil Akustikmessung Analyser André @@ -29,9 +32,13 @@ Applikationslabel Applikationsoffset Applikationssystem Arbeitspunktberechnung +Arbeitspunktermittlung +Arraygröße +Arrayzugriff Aufsteuerinkrement Aufsteuerkennfelder Aufsteuerung +Ausblendmuster Ausgabebegrenzung Ausgabeverzeichnis Ausgangsgroessen @@ -43,11 +50,16 @@ BDL BMS BMSK BMSX +BTS +Basistemplate Basiszündwinkel +Batteriespannungskorrektur Bauteileansteuerung Bauteillisten Bedatung Begrenzungsdrehzahl +Berechnungsgründen +Bereichslimitierung Bereichsueberschreitungen Besprechungsdokumente Betragsbildung @@ -55,6 +67,9 @@ Betriebsebene Bitfelder Bitmanipulationsfunktionen Bitwert +Bremslichtschalter +Bremslichtschalters +Bremslichtschalterstatus Brenngrenze Breuerl Budgetverantwortlichen @@ -67,19 +82,30 @@ CB CCP CLEAR CLR +COM CR CS CW CWTEVPOS Castumwandlung +Castversuche ChangeSynergy +Checkers +Circuit Closedinterval Codeausführung Codeschnipsel Codesyntaxen Codingguidelines +Compilierungsfehler Consinus +Containerfunktionen Continuus +Crossaddition +Crosscast +Crossdivision +Crossmultiplikation +Crosssubtraktion DD DDZWLWD DFP @@ -88,9 +114,13 @@ DKINI DONT DREG DSM +DSYS Damos DarWin Datentyps +Debouncefunktionen +Debouncen +Debouncing Debug Deltadrehzahl Deltawert @@ -99,15 +129,19 @@ Descr Diagnosefehlerpfades Diagnoseflag Diagnosezaehler +Dichtekorrekturfaktor +Divisionsfunktionen Doell Dokumentablage Dokumentationsablauf Dokumentationserzeugung Dokumentationsvariable Dokumentenkontrolle +Downcast Doxygen Drehzahlberechnung Drehzahlbreite +Drehzahlübergang Drossel Drosselklappenabschaltung Drosselklappenanschlag @@ -131,28 +165,36 @@ EZA Eingangsgroessen Eingangsgrösse Eingangsvariable +Eingriffspfade Einrechnung Einregelung Einspritzabbruch Einspritzausblendmuster Einspritzausblendung Einspritzkorrektur +Einspritzpfad Einspritzzeitkorrektur Einspritzzähler +Eintragszeit Einzelanforderungen Ellwanger Embedded Enableleitung Entprellfunktion +Entprellfunktionen Entprellklasse +Entprellungswert Entprellzaehler +Entprellzustand Entwicklerdaten Entwicklerdoku +Entwicklername Entwicklerstand Entwicklerstands Entwicklerstände Entwicklerständen Enumerator +Ergebnisgrösse Ergebnisgröße Ersatzdrehzahl Ersatzgröße @@ -165,6 +207,7 @@ FDEF FE FLDZ FRA2ABT +FSW FUE Fahrerwunschmoment Fahrsoftware @@ -182,6 +225,7 @@ Fehlerreaktion Fehlerreaktionen Fehlerschwelle Fehlersimulation +Fehlerspeicherdefinition Fehlerspeichereintrag Fehlerspeichereintrages Fehlerspeichereinträge @@ -197,11 +241,16 @@ Fehlerspeicherzugriffsmethoden Fehlerspeicherübersicht Fehlerzaehler Feinabgleich +Festkennlinie +Festkennlinien +Festkennlinienberechnung +Flankenerkennungsfunktionen Flashpages Folgefunken Folgefunkenladezeit Folgefunkenoffenzeit Folgefunkenzündung +Fuellungspfad Funkenband Funkenbandzuendung Funkenbandzündung @@ -210,6 +259,7 @@ Funktionsdokumentation Funktionsentwickler Funktionsentwicklung Funktionsentwicklungs +Funktionsheader Funktionsidee Funktionsplaner Funktionsplanung @@ -217,31 +267,46 @@ Funktionsrechner Funktionssoftware Funktionssoftwareentwicklung Funktionsueberwachung +Fussbremse Fz Fzg +Füllungspfad G GET GGUBHR GK +GND +Gebergrösse +Gebergröße Gesamtausgang Gesamtfunktionalität Gesamtprojektleitung Gesamtrojektleitung Gradientenabsteuerung Gradientenbegrenzung +Grenzprüfung +Groesse Groessen Group Grundwinkel Grundzündwinkel +Gruppenkennfeldinterpolation +Gruppenkennfeldwert +Gruppenkennlinien Gruppenstützstellen +Gruppenstützstellenwerten HIL HW Hardwareentwicklung +Hardwarefunktionen Headerdatei Headerdateien Headerfile +Heilungsswert +Heißstart Hilfsregler History +Hystereseschwellen I IEC61508 INCA @@ -253,12 +318,20 @@ Init Initialisierungs Initialisierungswert Initialisierungswerte +Initialisierungswerten Inkrementierung Inline Inode +Integratorberechnung +Integratorfunktion +Integratorklasse +Integratorwert Interfaceänderung +Interferenzrohr +Interpolationsberechnung Invertierungsmaske Istgeschwindigkeit +Istzündwinkel K K25 K2x @@ -270,10 +343,19 @@ KFLWDZWOFF KL KL15 KR +Kennfelddaten +Kennfeldgruppenindex Kennfeldinterpolation +Kennfeldwert Kenngroessen Kenngrößengruppe Kenngrößengruppen +Kennlinienausgang +Kennlinienfunktionen +Kennlinieninterpolation +Kennlinienwert +Kennlinienwerte +Kennnfeldfunktionen Kennwertgruppe KgMKwWU16 Klopfgrenzenverschiebung @@ -291,6 +373,8 @@ Komponententreibern Komponententreiberstruktur Konfigurationsschalter Konsistenzgründen +Konstantenangabe +Konstantendefinition Konstantenfunktionen Kraftstoffdruckkorrektur Kraftstoffdruckregler @@ -307,6 +391,7 @@ Labeladdresse Labelanzahl Labelnamen Lambdaregelung +Lambdasondenheizung Lambdawirkungsgrad Lambdaänderung Lastwechseldaempfung @@ -320,9 +405,12 @@ Leerlaufz LeftOpenInterval Leistungsschnittstellenvereinbahrung Liebl +Limitierungsschutz LinkTo Lint Luftdichtekorrektur +MDBEG +MDKO ME172 MF MISRA @@ -343,16 +431,28 @@ Modulanforderungen Modulentwurf Modulgruppe Modulheader +Modulname +Momentenanforderung Momentenaufsteuerung +Momenteneingriff +Momenteneingriffe +Momentenmodell +Momentenmodells Motorschutzzündwinkel Motorsteuerungsfunktionen Motorsteuerungsprojekte Motortemp Motortemperaturschwelle +Multiplikationsfunktionen NG NLP NOW +NPL NV +Nachlaufzeit +Nachstart +Nachstartphase +Namespace Neutralwert Nockenwellenmustervergleich Nockenwellensychronisation @@ -361,6 +461,7 @@ Notlaufpunkt Notlaufstufe Notlaufstufen OBD +OL OPL OT Objektspeicher @@ -381,7 +482,9 @@ Phasenabhaengig Phasengangkorrektur Phasenumschaltung Portierbarkeit +Portierungsbasis Powerfail +Predebouncing ProF Prog Programmiertests @@ -407,6 +510,9 @@ Pruefung Prüfstandsläufe Pwm Q +QX74076 +Quadrierung +Quantisierungskorrektur R RBHead REGISTER1 @@ -425,6 +531,7 @@ Ramgr Ramgrößengruppen Ramwert Rechnerhochlauf +Rechtsschiebeoperation Referenzbordspannung Regelanschlag Regelausgang @@ -436,10 +543,15 @@ Reglerueberwachung Reglerüberwachung Reserveeingangs Ressourcenplanung +Returnwert RightOpenInterval Rohwerte Rückdreherkennung +Rückgabewert +Rückgabewertes SB +SCB +SCG SEED SG SIGNATURE @@ -452,6 +564,7 @@ Saugrohrdruck Schaltassistent Schaltplandaten Schiebefunktionen +Schiebeoperation Schiebeoperationen Schliesszeit Schliesszeitberechnung @@ -466,11 +579,15 @@ Segmentzaehler Segmentzeit Segmentzeiten Sektionsangaben +Sekundärluftventil +Sekundärluftventils +Sekunkärluftventil Sell Serienauslieferung Serienstanderzeugung Servicefunktionen SfpErrorType +Shiftfaktor Sicherheitkonzept SicherheitsReaktion Sicherheitskonzeptanforderung @@ -487,15 +604,26 @@ Sourcen Spannungskorrektur Spezifikationsfehler Spätverstellung +Startadaption Startdrosselklappenwinkel +Starterrelais Startkennfeld +Startmengenadaptionsfaktor Startzündwinkel Statusrueckmeldungen Steigungsüberprüfung Steuergerätelayers Strukturdefinitionen +Stuetzstelle +Stuetzstellen +Stuetzstellenwert +Stützstellendaten Stützstellenindex +Stützstellensuche Stützstellenverteilung +Stützstellenwerte +Stützstellenwerten +Subtraktionsfunktionen Synchro SynchroTask Synchrohäufigkeit @@ -505,6 +633,7 @@ Syncro Syncroereignissen Synergy Systembilder +Systemkonstante Systemtimer TA TDEWDK @@ -514,32 +643,56 @@ TM TPU TSS Tailoring +Tankentlüftungsventil +Tankentlüftungsventils Taskeinheit +Taskliste Taskscheiben +Tasksystems +Tasktabelle +Tasktabellen Teamleitung Teammeetings Template +Templatefunktion Templatefunktionen +Templates Testabsicherung Testbarkeit +Testerausgabe Testerinterface Testhinweise Testlabel Teststanderzeugung +Tiefpassberechnung +Tiefpassfunktion +Tiefpassfunktionen +Tiefpasswert +Tiefpasswertes TimeoutCounter Timerinitialisierung Tricore Typgrenzen +Typumwandlung +Typumwandlungen +Typumwandlungsfunktionen +Typweichen U16 UB +UBAT UMR UW UX +Ueberlauf Ueberwachung Ueberwachungsmodul Ulbricht +Umquantisierter Umquantisierung +Unspezialisiertes +Unterlaufschutz Unternehmensqualität +Upcasts V VDA VVT @@ -547,7 +700,11 @@ Validierungsprozess Validierungsprozesses Variablenbezeichnungen Vergleichsfehler +Verhaeltnis +Verhaeltniswert +Verhältniswert Versionierung +Verstärkungsabhängige Visula Vorabberechung Vorentprellung @@ -562,6 +719,7 @@ WEW WL WORK Wichtungsfaktor +Wiederholkaltstart Wiki WinKFP WinProF @@ -570,6 +728,7 @@ WorkArea Working Wrapper Wrapperstruktur +Wurzelkennlinie X ZL ZWKG @@ -577,6 +736,9 @@ ZWKO ZWWL Zaehler Zahnzeit +Zeitverzögertes +Zeitzverzögertes +Zeitzähler Zif Zuendaussetzer Zuendwinkel @@ -587,10 +749,15 @@ Zuendwinkeloffsetkennfeld Zuendwinkels Zuendwinkelübersteuerungsfaktor Zyklusflag +Zylinderzaehler +Zählervariable +Zündhakenkrümmung Zündpfad Zündungsendstufe +Zündwinkelbegrenzung Zündwinkelberechnung Zündwinkelbrenngrenze +Zündwinkeldelta Zündwinkeleingriffe Zündwinkelgrenze Zündwinkelkennfeld @@ -639,6 +806,7 @@ basic batterieabhängigen batteriespannungsabhängig battery +bbstt bdl be because @@ -646,9 +814,29 @@ bedaten been before begin +below +betaetigt betriebspunktabhängig bgsrm bgtabst +bit0 +bit1 +bit16 +bit17 +bit18 +bit19 +bit2 +bit26 +bit27 +bit28 +bit29 +bit3 +bit30 +bit31 +bit4 +bit5 +bit6 +bit7 bits bms bmskp @@ -680,6 +868,9 @@ castU16 castU32 castU8 casten +casts +castsicher +central change changes changes @@ -712,6 +903,8 @@ coolant coordination copy_FCMTabEntryType correct +correction +counts create cs csXX @@ -749,6 +942,7 @@ description dest details detect +detected determined developer developers @@ -776,12 +970,15 @@ doku dokumentationstaugliche done dot +down doxygen dreg drl +dsm e easerv edit +effects egas eingeschwungen ekp @@ -803,6 +1000,7 @@ err erreichbar error errorTyp +errorflag errors esnst esstt @@ -812,10 +1010,13 @@ esukdk esvw etazwist every +execute expected exported extract +f fak +falling false faq fcmclr @@ -823,6 +1024,7 @@ fegas ffz fho file +filename filled finish finished @@ -867,12 +1069,16 @@ ggfwg ggtfm gk globals +groesser +groessere +ground group gruppenstuetzstellen gsst guide guidelines h +hand handling has header @@ -881,6 +1087,7 @@ heisst here hex hint +hochgezaehlt hoehere html https @@ -894,6 +1101,8 @@ implemented imported include includes +info +ingroup ini ini2 initialisation @@ -902,6 +1111,7 @@ initialization inj injection inline +input insert instances int @@ -917,6 +1127,7 @@ into is it jpg +k kennwert keyword kgs @@ -943,15 +1154,20 @@ li libraries library limit +limits +line lint load local loeschen +logical logistik long longword +lowpass lr lra +m mabfa machine mailto @@ -960,13 +1176,17 @@ mak make manual map +mappen mask math maxp +mdbas +mdbeg memaccess memcmp memcopy memset +message mgr microseconds mid @@ -979,8 +1199,10 @@ module modules mot motor +muessen n naechste +name necessary need needs @@ -1008,9 +1230,14 @@ of offset on only +operator optimized or +osp other +overflow +overload +overtemperature overview p paf @@ -1053,6 +1280,7 @@ q3 qualification quantisation question +r rail ram ram_groesse @@ -1064,6 +1292,7 @@ received reconfigure redeclaration redeclared +redeclared redundantly ref referenced @@ -1081,33 +1310,30 @@ requested reserved reset resolved +resourcenschonend restore result retard return returnless returns -rightU16 -rightU32 -rightU8 +right rights -rk -rka -rka2 -rkakdk -rksrd +rising rkte rl role routine routines run +running s s19 s19boschsig sa schliessen schliesst +schon section sectioninfo sections @@ -1119,17 +1345,21 @@ setSfpErrorZyf several shade shift +shiftenden shifts short should +side sig signal signatur signed +since sint16 sint32 sint8 sk +software softwareadapter soll something @@ -1151,6 +1381,7 @@ static status std step +stopped strong struct structure @@ -1181,18 +1412,20 @@ temperature test testMotor tested +testimpulse testing tev tevfa tez tgmwiki that -that the then there this +threshold timeout +timer tkatm tmot tmotab @@ -1206,6 +1439,7 @@ tmstzyl2 tnst to toel +transition transmission transmitted transmitting @@ -1214,6 +1448,8 @@ true turn typdef typedefs +typsicher +typsicheren u ub udkpa @@ -1221,6 +1457,7 @@ ueber uebergeben uebernehmen uebernommen +ueberschreitet ueberschritten uf uint16 @@ -1230,8 +1467,12 @@ umausc unentprellt ungewichtet unsigned +unterlaufsicher until up +upcast +upcasts +updated use used using @@ -1242,7 +1483,10 @@ val2 value values vehicle +version versions +verstärkungsabhängige +verstärkungsabhängigen verundet verundete verwendbar @@ -1267,9 +1511,11 @@ wdks wdksk we wea +what when while with +without word working written @@ -1304,5 +1550,8 @@ z Änderungsdokument Änderungsdokumentation Änderungsumfang +Überlaufschutz Überwachungsgrenze überarbeitungen +überlaufsicher +überlaufsichere diff --git a/vimfiles.stefan/spell/bmsk.add.spl b/vimfiles.stefan/spell/bmsk.add.spl index f825adcf9ae93c2fdf892c271b7ab58508cc5b2c..bd619a21bdb8110e9c85d23d0520476d95e09f75 100644 GIT binary patch literal 15818 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 literal 13531 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 ao7Y0O>J>A)nE=H-ksDGu_q~?mzyAf5?Vi2> diff --git a/vimfiles.stefan/templates/file_c.tpl b/vimfiles.stefan/templates/file_c.tpl index ad32e44..ae5d14e 100644 --- a/vimfiles.stefan/templates/file_c.tpl +++ b/vimfiles.stefan/templates/file_c.tpl @@ -1,36 +1,28 @@ -/***************************************************************************** - * - * FILENAME: %filename - * - * AUTHOR: %author - * - * DESCRIPTION: - * - * - * - * HISTORY: - * - * %date %author - * created file - * - ****************************************************************************/ +/******************************************************************** +* %filename +*-------------------------------------------------------------------- +* Brief: Kurzbeschreibung +* Author: %author +* Date: %date +* Desc: +********************************************************************/ -/*---------------------------------------------------------------------------- - * includes - *--------------------------------------------------------------------------*/ -#include "std_type.h" /* uint8, ... */ +/**************************** +* Includes +****************************/ +#include "bmsservices.h" -/*---------------------------------------------------------------------------- - * function prototypes - *--------------------------------------------------------------------------*/ +/**************************** +* Konstanten / Variablen +****************************/ -/*---------------------------------------------------------------------------- - * public functions - *--------------------------------------------------------------------------*/ -/*---------------------------------------------------------------------------- - * privat functions - *--------------------------------------------------------------------------*/ -/* end of file: %filename */ +/******************************************************************* +* Funktionsname +* ------------------------------------------------------------------ +* Hier erfolgt lediglich eine Kurzbeschreibung der Funktion. +* Eine dokumentationstaugliche Beschreibung(doxygen) der Funktion +* gehört in den Header. +*******************************************************************/ diff --git a/vimfiles.stefan/templates/file_h.tpl b/vimfiles.stefan/templates/file_h.tpl index c6d52e0..34f67e2 100644 --- a/vimfiles.stefan/templates/file_h.tpl +++ b/vimfiles.stefan/templates/file_h.tpl @@ -1,48 +1,19 @@ -/***************************************************************************** - * - * FILENAME: %filename - * - * AUTHOR: %author - * - * DESCRIPTION: - * - * - * - * HISTORY: - * - * %date %author - * created file - * - ****************************************************************************/ +/****************************************************************//*! +* \file %filename +* \brief Kurzbeschreibung +* \author %author +* \date %date +* +* Beschreibung +********************************************************************/ -#ifndef _%basename_H -#define _%basename_H -/*---------------------------------------------------------------------------- - * includes - *--------------------------------------------------------------------------*/ -#include "std_type.h" /* uint8, ... */ +#ifndef DATEINAME_H +#define DATEINAME_H -/*---------------------------------------------------------------------------- - * defines - *--------------------------------------------------------------------------*/ +/**************************** +* Konstanten / Variablen +****************************/ -/*---------------------------------------------------------------------------- - * typedefs - *--------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------- - * constants - *--------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------- - * variables - *--------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------- - * public functions - *--------------------------------------------------------------------------*/ - -#endif /* _%basename_H */ -/* end of file: %filename */ +#endif diff --git a/vimfiles.stefan/templates/file_kgs.tpl b/vimfiles.stefan/templates/file_kgs.tpl new file mode 100644 index 0000000..7eed8dc --- /dev/null +++ b/vimfiles.stefan/templates/file_kgs.tpl @@ -0,0 +1,43 @@ +/******************************************************************** + * %filename + *------------------------------------------------------------------*/ +/*! \file %filename + * \brief Kurzbeschreibung + * \author %author + * \date %date + ********************************************************************/ +sg_funktion FUNKTIONSNAME +{ + fkt_bezeichner FUNKTIONSNAME + { + deutsch "Eine tolle Funktionsbeschreibung"; + } + + /**************************************************************** + * Referenzen + ****************************************************************/ + + + /**************************************************************** + * RAM-Größen + * --------------------------------------------------------------- + * Info: RaMBit sind mittels Trennzeichen (1) zu trennen. + ****************************************************************/ + + /**************************************************************** + * Kennwerte + ****************************************************************/ + + /**************************************************************** + * Kennlinien + ****************************************************************/ + + /**************************************************************** + * Kennfelder + ****************************************************************/ + +} + + +// (1) /*----------------------------------------------*/ + diff --git a/vimfiles.stefan/vimrc b/vimfiles.stefan/vimrc index 5cea0b2..036c802 100644 --- a/vimfiles.stefan/vimrc +++ b/vimfiles.stefan/vimrc @@ -209,3 +209,56 @@ if exists('g:debug') echo 'loaded vimrc' endif endif + +" -------------- +" DoxygenToolkit +" -------------- +let g:DoxygenToolkit_commandTag = "\\" +"let g:DoxygenToolkit_authorName = "Stefan Liebl" + +let g:DoxygenToolkit_briefTag_pre = g:DoxygenToolkit_commandTag . "brief " +"let g:DoxygenToolkit_briefTag_post = "" +let g:DoxygenToolkit_paramTag_pre = g:DoxygenToolkit_commandTag . "param " +"let g:DoxygenToolkit_paramTag_post = " " +let g:DoxygenToolkit_returnTag = g:DoxygenToolkit_commandTag . "return " +"let g:DoxygenToolkit_blockHeader = "" +"let g:DoxygenToolkit_blockFooter = "" +"let g:DoxygenToolkit_licenseTag = s:licenseTag +let g:DoxygenToolkit_fileTag = g:DoxygenToolkit_commandTag . "file " +let g:DoxygenToolkit_authorTag = g:DoxygenToolkit_commandTag . "author " +let g:DoxygenToolkit_dateTag = g:DoxygenToolkit_commandTag . "date " +let g:DoxygenToolkit_dateFormat = "%d.%m.%Y" +"let g:DoxygenToolkit_undocTag = "DOX_SKIP_BLOCK" +let g:DoxygenToolkit_blockTag = g:DoxygenToolkit_commandTag . "name " +let g:DoxygenToolkit_classTag = g:DoxygenToolkit_commandTag . "class " +"let g:DoxygenToolkit_cinoptions = "c1C1" +let g:DoxygenToolkit_startCommentTag = "/****************************************************************//*!" + +let g:DoxygenToolkit_startCommentBlock = "/*! " +"let g:DoxygenToolkit_interCommentTag = "* " +let g:DoxygenToolkit_endCommentTag = "********************************************************************/" +"let g:DoxygenToolkit_endCommentBlock = " */" +let g:DoxygenToolkit_descriptionTag = "Beschreibung" +let g:DoxygenToolkit_attentionTag = g:DoxygenToolkit_commandTag . "attention " +let g:DoxygenToolkit_saTag = g:DoxygenToolkit_commandTag . "sa " + +"let g:DoxygenToolkit_ignoreForReturn = "inline static virtual void" + +" Maximum number of lines to check for function parameters +"let g:DoxygenToolkit_maxFunctionProtoLines = 10 + +" Add name of function after pre brief tag if you want +"let g:DoxygenToolkit_briefTag_funcName = "no" + +" Add description to DoxAuthor if you want +let g:DoxygenToolkit_author_description = "yes" + +" Add description to Dox if you want +let g:DoxygenToolkit_dox_description = "yes" + +" Add attention to Dox if you want +let g:DoxygenToolkit_dox_attention = "yes" + +" Add sa to Dox if you want +let g:DoxygenToolkit_dox_sa = "yes" +