From 47cf1c7290ef61a960f904d855f27d0dfd3c8fe0 Mon Sep 17 00:00:00 2001 From: Stefan Liebl Date: Tue, 7 Feb 2017 14:31:01 +0100 Subject: [PATCH] clang-format + help doc --- vimfiles.stefan/after/ftplugin/c.vim | 5 +++ vimfiles.stefan/doc/tags | 2 ++ vimfiles.stefan/doc/vimsuite.txt | 46 ++++++---------------------- vimfiles.stefan/plugin/toptica.vim | 22 +++++++++++-- 4 files changed, 36 insertions(+), 39 deletions(-) diff --git a/vimfiles.stefan/after/ftplugin/c.vim b/vimfiles.stefan/after/ftplugin/c.vim index 2420967..17abb6e 100644 --- a/vimfiles.stefan/after/ftplugin/c.vim +++ b/vimfiles.stefan/after/ftplugin/c.vim @@ -33,6 +33,11 @@ if (g:os == 'linux') endif setlocal suffixesadd=.h +" set clang-format for gq, if exists +if exists('*ClangFormat()') + setlocal formatexpr=ClangFormat() +endif + " commenting " ---------- let b:commentstring = "\/\/" diff --git a/vimfiles.stefan/doc/tags b/vimfiles.stefan/doc/tags index 244cce9..9fa387a 100644 --- a/vimfiles.stefan/doc/tags +++ b/vimfiles.stefan/doc/tags @@ -74,6 +74,7 @@ Synergy/CM ccm.txt /*Synergy\/CM* VimSuite vimsuite.txt /*VimSuite* VimSuiteEinstellungen vimsuite.txt /*VimSuiteEinstellungen* VimSuiteInstallation vimsuite.txt /*VimSuiteInstallation* +VimSuitePlugins vimsuite.txt /*VimSuitePlugins* VimSuiteProject vimsuite.txt /*VimSuiteProject* VimSuiteProjekt vimsuite.txt /*VimSuiteProjekt* VimSuiteTools vimsuite.txt /*VimSuiteTools* @@ -100,4 +101,5 @@ vimsuite.2 vimsuite.txt /*vimsuite.2* vimsuite.3 vimsuite.txt /*vimsuite.3* vimsuite.4 vimsuite.txt /*vimsuite.4* vimsuite.5 vimsuite.txt /*vimsuite.5* +vimsuite.6 vimsuite.txt /*vimsuite.6* vimsuite.txt vimsuite.txt /*vimsuite.txt* diff --git a/vimfiles.stefan/doc/vimsuite.txt b/vimfiles.stefan/doc/vimsuite.txt index ee396a6..14701ed 100644 --- a/vimfiles.stefan/doc/vimsuite.txt +++ b/vimfiles.stefan/doc/vimsuite.txt @@ -4,7 +4,7 @@ |vimsuite.1| Bestandteile |vimsuite.2| Installation |vimsuite.3| Einstellungen -|vimsuite.4| Projekte +|vimsuite.4| Plugins |vimsuite.5| VimSuiteTools ============================================================================== @@ -14,7 +14,6 @@ Die VimSuite besteht aus vimscripts von http://www.vim.org und eigenen Scripten von Stefan Liebl. Folgende wichtige Scripts sind enthalten: |VimSuiteTools|Tools zum Programmieren von Stefan Liebl -|BMSK| Makros zum Arbeiten mit BMS-K/BMS-KP Quellcode |LaTeX| Suite Tools zum bearbeiten von LaTeX Quelltexten |crefvim| Referenz zur Programmiersprache C (Anleitung in|crefvimdoc|) |visincr| Inkrementieren von Nummern in Spalten @@ -52,14 +51,10 @@ Einstellungen f gemacht werden. Alternativ kann dort ein eigenes vimrc-File mit|source|geladen werden. - *g:WA* *Workarea* -Die Variable g:WA sollte auf ein Verzeichnis zeigen, in dem die Projekte der -VimSuite liegen. Standard ist 'C:/wa'. - *b:GrepFiles* *g:GrepFiles* *GrepFiles* Die Variable b:GrepFiles kann z.B. in einem|filetype-plugin|gesetzt werden. g:GrepFiles ist normalerweise *. Für C-Projekte kann die Variable z.B. > - let b:GrepFiles='*.c *.h' + let b:GrepFiles='*.c *.h' gesetzt werden. *b:GrepDir* *g:GrepDir* *GrepDir* @@ -74,23 +69,15 @@ Diese Variable wird verwendet, um Code auszukommentieren. Sie sollte in einem |filetype-plugin|gesetzt werden. ============================================================================== -*vimsuite.4* Projekte *Projekt* *Project* *VimSuiteProjekt* *VimSuiteProject* +*vimsuite.4* Plugins *VimSuitePlugins* -Ein Projekt bezieht sich nicht auf eine VIM-Session, sondern auf ein -Entwicklungsprojekt. Im Menü VimSuite->Project werden alle erkannten Projekte -aufgelistet. Das Projekt kann mit dem Menü oder folgendem Befehl geladen -werden: +Alle Plugins sind als |packages| im Verzeichnis 'pack' installiert. Die +meisten sind als git-submodule integriert. Zum aktualisieren kann der Befehl +> + git submodule update --remote --rebase + git commit - *:SetProject* -:SetProject [file] (Tab-Erweiterung funktioniert) Laden eines Projekts. - -Ein Projekt sollte die Datei project.vim enthalten. Nach dieser Datei sucht -die VimSuite für die Auswahl von Projekten in allen Unterverzeichnissen von -|g:WA|. Eine Beispiel für Projekte, die ihre eigene Konfiguration verändern -können ist in project_example.vim und settings_example.vim zu sehen. Die -zweite Datei wird über den Make-Befehl 'Make vim-config' erzeugt und von der -ersten geladen. Die Datei project.vim kann aber auch beliebig anders aussehen. -Sie wird lediglich bei|SetProject| geladen. +verwendet werden. ============================================================================== *vimsuite.5* VimSuiteTools *VimSuiteTools* @@ -105,7 +92,7 @@ paar Programme, die auf diesem System Anschließend können im Explorer zwei Verzeichnisse markiert und mit |DirDiff|verglichen werden. - *:SessionLoad* + *:SessionLoad* :SessionLoad [Name] Laden der Session mit dem Namen Name. Ruft|:source|Name auf. Falls kein Name angegeben wird, öffnet sich ein @@ -139,19 +126,6 @@ haupts konvertiert. Der Befehl funktioniert aber auch einigermaßen für kgs-Files. Es kann auch eine|range|angebeben werden (auch|visual|). - *CommentInOut* *Comment* *CTRL-k* *CTRL-K* -:CommentInOut Aus- bzw. Ein-Kommentieren von Quellcode - -Die Funktion wird üblicherweise über die Tastenkombination -aufgerufen. Falls der Code auf der aktuellen Zeile nicht auskommentiert wird, -so wird er auskommentiert. Falls er schon auskommentiert ist, so wird der -Kommentar entfernt. Anschließend springt der Cursor in die nächste Zeile, so -dass große Bereiche sehr einfach aus- oder einkommentiert werden können. Als -Kommentarzeichen wird|b:commentstring|verwendet. Um eine Zeile als -auskommentiert zu erkennen muss der Kommentar in der ersten Spalte stehen. -Echte Kommentare können in einer andreren Spalte stehen und werden dann -doppelt auskommentiert. - *:MarkLongLines* :MarkLongLines Hebt zu lange Zeilen hervor Alle Zeilen, die länger als|textwidth|sind, werden rot markiert. diff --git a/vimfiles.stefan/plugin/toptica.vim b/vimfiles.stefan/plugin/toptica.vim index f074603..fc32f34 100644 --- a/vimfiles.stefan/plugin/toptica.vim +++ b/vimfiles.stefan/plugin/toptica.vim @@ -23,7 +23,8 @@ function s:ProjectDlcproSet(project_type) " editor settings set spell spelllang=en,de set expandtab - set cinoptions=:2,=2,l1,g2,h2,N-2,t0,+0,(0,w1,Ws,m1,)100,*100 + set cinoptions=l1,g2,h2,N-2,t0,+0,(0,w1,Ws,m1,)100,*100 + set textwidth=120 " python tags execute "set tags+=" . s:ProjectBaseDir . '/tags' @@ -59,7 +60,10 @@ function s:ProjectDlcproSet(project_type) let g:vc_trunk_url = 'https://svn.toptica.com/svn/DiSiRa/SW/firmware/trunk' " vim-clang - command! ClangFormat pyfile /usr/share/vim/addons/syntax/clang-format.py + command! ClangFormat call ClangFormat() + " hint: formatexpr=ClangFormat() is set in ft/c.vim +" map :pyf /usr/share/vim/addons/syntax/clang-format.py +" imap :pyf /usr/share/vim/addons/syntax/clang-format.py " YouCompleteMe plugin "set completeopt-=preview @@ -95,12 +99,13 @@ function s:Cmake(build_type) call asyncrun#quickfix_toggle(10, 1) let args = "" let args .= " ../".g:ProjectSrcDirRel."/" - let args .= " --graphviz=dependencies.dot" +" let args .= " --graphviz=dependencies.dot" let args .= " -DBUILD_TARGET=target" let args .= " -DCMAKE_TOOLCHAIN_FILE=../".g:ProjectSrcDirRel."/Toolchain-target.cmake" let args .= " -DQT5_INSTALL_PATH=dlcpro-sdk/sysroot-target/usr/local/Qt-5.4.1" let args .= " -DCMAKE_BUILD_TYPE=".build_type let args .= " -DCMAKE_EXPORT_COMPILE_COMMANDS=1" +" let args .= " -DLICENSE_TOOL=1" execute 'AsyncRun -save=1 -cwd='.g:ProjectBuildDir.' @ cmake '.args endfunction @@ -134,3 +139,14 @@ function s:DlcProDebug(program) " execute 'C set sysroot '.g:ProjectBuildDir.'/dlcpro-sdk/sysroot-target' " Ccontinue endfunction + +function ClangFormat() + if (v:count > 0) + let startline = v:lnum + let endline = v:lnum + v:count + let l:lines = startline.':'.endline + else + let l:lines='all' + endif + pyf /usr/share/vim/addons/syntax/clang-format.py +endfunction