-
Notifications
You must be signed in to change notification settings - Fork 0
tczengming/headerGatesAdd.vim
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
script type
utility
description
C/C++ header files should be guarded against multiple inclusions using preprocessor directives, e.g.:
let g:HeaderGatesAdd_suffix="_H" is default
1.
foo_n.h or FooN.h or foo n.h ...
#ifndef FOO_N_H
#define FOO_N_H
#endif /*FOO_N_H*/
if you set let g:HeaderGatesAdd_suffix="__"
it could be FOO_N__
2.
if add let g:insert_extern_c_flag=1 in .vimrc or _vimrc
when you create a new file name foo_h.h it look like this:
#ifndef FOO_N_H
#define FOO_N_H
#ifdef __cplusplus
extern "C" {
#endif
#ifdef __cplusplus
}
#endif
#endif /*FOO_N_H*/
3.
:HeaderGatesAdd
this command will change
/**
* @file foo_n.h
* @version 0.1.00
*/
void test();
to:
/**
* @file foo_n.h
* @version 0.1.00
*/
#ifndef FOO_N_H
#define FOO_N_H
#ifdef __cplusplus
extern "C" {
#endif
void test();
#ifdef __cplusplus
}
#endif
#endif /*FOO_N_H*/
4.
let g:HeaderGatesAdd_prefix="__"
foo_n.h ---------> __FOO_N
5.
let g:HeaderGatesAdd_suffix="_SUFFIX"
foo_n.h ---------> FOO_N_SUFFIX
6.
in case of suffix and prefix both null:
let g:HeaderGatesAdd_gate_type=0 is default
aTestFile.h ---------> A_TEST_FILE
let g:HeaderGatesAdd_gate_type=1
aTestFile.h ---------> ATESTFILE
let g:HeaderGatesAdd_gate_type=2
aTestFile.h --------->aTestFile
may be you have other style, u can send email to me.
install details
1.Using [Vundle.vim](Recommend):~
https://github.com/gmarik/vundle
After installed vundle and git. Add this line to your vimrc
Bundle `'tczengming/headerGatesAdd.vim'`
Run `:BundleInstall` to install.
And update them easily by `:BundleInstall!`
2.
Copy the script file into to the plugin directory of Vimfiles, such as ~/.vim/plugin/
version 1.4 do not require python support
the end please forgive my poor english
About
automatic inser C/C++ header gates
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published