summaryrefslogtreecommitdiff
path: root/src/rc/cpp.kak
diff options
context:
space:
mode:
authorMaxime Coste <frrrwww@gmail.com>2012-02-13 21:43:22 +0000
committerMaxime Coste <frrrwww@gmail.com>2012-02-13 21:43:22 +0000
commit38d921f3d2f45da7cf3a26ad144726dc81e4c6ec (patch)
treee461fb022d8603970865ca7c362f8b1f4bf0b92e /src/rc/cpp.kak
parent32735516658474a2a505d2c524c3175e5f042b88 (diff)
add alt command which alternate between c/cpp and h/hpp file
Diffstat (limited to 'src/rc/cpp.kak')
-rw-r--r--src/rc/cpp.kak13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/rc/cpp.kak b/src/rc/cpp.kak
index 1411c539..140e36af 100644
--- a/src/rc/cpp.kak
+++ b/src/rc/cpp.kak
@@ -14,3 +14,16 @@ hook global WinCreate .*\.(c|cc|cpp|cxx|C|h|hh|hpp|hxx|H) \
hook global BufCreate .*\.(h|hh|hpp|hxx|H) \
exec ggi<c-r>%<ret><esc>ggxs\.<ret>c_<esc><space>A_INCLUDED<esc>xyppI#ifndef<space><esc>jI#define<space><esc>jI#endif<space>//<space><esc>O<esc>
+def alt edit \
+ `case ${kak_bufname} in
+ *.c) echo ${kak_bufname/%c/h} ;;
+ *.cc) echo ${kak_bufname/%cc/hh} ;;
+ *.cpp) echo ${kak_bufname/%cpp/hpp} ;;
+ *.cxx) echo ${kak_bufname/%cxx/hxx} ;;
+ *.C) echo ${kak_bufname/%C/H} ;;
+ *.h) echo ${kak_bufname/%h/c} ;;
+ *.hh) echo ${kak_bufname/%hh/cc} ;;
+ *.hpp) echo ${kak_bufname/%hpp/cpp} ;;
+ *.hxx) echo ${kak_bufname/%hxx/cxx} ;;
+ *.H) echo ${kak_bufname/%H/C} ;;
+ esac` \ No newline at end of file