Add c mode for apple
authorPierre Habouzit <phabouzit@apple.com>
Wed, 29 Aug 2012 00:35:38 +0000 (02:35 +0200)
committerPierre Habouzit <phabouzit@apple.com>
Wed, 29 Aug 2012 00:35:38 +0000 (02:35 +0200)
vim/ftplugin/c.vim [new file with mode: 0644]
vim/ftplugin/cpp.vim [new symlink]
vim/ftplugin/objc.vim [new symlink]

diff --git a/vim/ftplugin/c.vim b/vim/ftplugin/c.vim
new file mode 100644 (file)
index 0000000..a58c2a9
--- /dev/null
@@ -0,0 +1,31 @@
+if exists("b:did_ftplugin")
+  finish
+endif
+let b:did_ftplugin = 1
+
+if findfile("Makefile", ".;/") != ''
+    let &l:makeprg="make -f ".findfile("Makefile", ".;/")
+endif
+
+function! XCodeFold(lnum)
+    let line = getline(a:lnum)
+    if line =~ '^.pragma mark -'
+        return '<1'
+    endif
+    if line =~ '^.pragma mark'
+        return '>1'
+    endif
+    return '='
+endfunction
+
+function! XCodeFoldText()
+    let text = v:folddashes . " [ "
+    let text .= substitute(getline(v:foldstart), '#pragma mark ', '', 'g')
+    let text .= " ] " . string(v:foldend - v:foldstart + 1) . " lines "
+    return text
+endfunction
+
+setl foldexpr=XCodeFold(v:lnum)
+setl foldtext=XCodeFoldText()
+setl foldmethod=expr
+
diff --git a/vim/ftplugin/cpp.vim b/vim/ftplugin/cpp.vim
new file mode 120000 (symlink)
index 0000000..64e3fd4
--- /dev/null
@@ -0,0 +1 @@
+c.vim
\ No newline at end of file
diff --git a/vim/ftplugin/objc.vim b/vim/ftplugin/objc.vim
new file mode 120000 (symlink)
index 0000000..64e3fd4
--- /dev/null
@@ -0,0 +1 @@
+c.vim
\ No newline at end of file