summaryrefslogtreecommitdiffstats
path: root/after
diff options
context:
space:
mode:
Diffstat (limited to 'after')
-rw-r--r--after/ftplugin/puppet.vim23
-rw-r--r--after/syntax/c.vim24
2 files changed, 38 insertions, 9 deletions
diff --git a/after/ftplugin/puppet.vim b/after/ftplugin/puppet.vim
index 2bac2dc8..f976a457 100644
--- a/after/ftplugin/puppet.vim
+++ b/after/ftplugin/puppet.vim
@@ -1,11 +1,16 @@
-inoremap <buffer> <silent> > ><Esc>:call <SID>puppetalign()<CR>A
-function! s:puppetalign()
- let p = '^\s*\w+\s*[=+]>.*$'
- let lineContainsHashrocket = getline('.') =~# '^\s*\w+\s*[=+]>'
- let hashrocketOnPrevLine = getline(line('.') - 1) =~# p
- let hashrocketOnNextLine = getline(line('.') + 1) =~# p
- if exists(':Tabularize') " && lineContainsHashrocket && (hashrocketOnPrevLine || hashrocketOnNextLine)
+if !exists('g:puppet_align_hashes')
+ let g:puppet_align_hashes = 1
+endif
+
+if g:puppet_align_hashes && exists(':Tabularize')
+ inoremap <buffer> <silent> > ><Esc>:call <SID>puppetalign()<CR>a
+ function! s:puppetalign()
+ let p = '^\s*\w+\s*[=+]>.*$'
+ let column = strlen(substitute(getline('.')[0:col('.')],'\([^=]\|=[^>]\)','','g'))
+ let position = strlen(matchstr(getline('.')[0:col('.')],'.*=>\s*\zs.*'))
Tabularize /=>/l1
normal! 0
- endif
-endfunction
+ echo repeat('\([^=]\|=[^>]\)*=>',column).'\s\{-\}'.repeat('.',position)
+ call search(repeat('\([^=]\|=[^>]\)*=>',column).'\s\{-\}'.repeat('.',position),'ce',line('.'))
+ endfunction
+endif
diff --git a/after/syntax/c.vim b/after/syntax/c.vim
index 42c9b9db..be34d256 100644
--- a/after/syntax/c.vim
+++ b/after/syntax/c.vim
@@ -1,4 +1,28 @@
" Vim syntax file
+" Language: C Additions
+" Maintainer: Jon Haggblad <jon@haeggblad.com>
+" URL: http://www.haeggblad.com
+" Last Change: 9 Aug 2014
+" Version: 0.1
+" Changelog:
+" 0.1 - initial version.
+"
+" Syntax highlighting for functions in C.
+"
+" Based on:
+" http://stackoverflow.com/questions/736701/class-function-names-highlighting-in-vim
+
+" -----------------------------------------------------------------------------
+" Highlight Class and Function names.
+" -----------------------------------------------------------------------------
+syn match cCustomParen "(" contains=cParen contains=cCppParen
+syn match cCustomFunc "\w\+\s*(\@=" contains=cCustomParen
+syn match cCustomScope "::"
+syn match cCustomClass "\w\+\s*::" contains=cCustomScope
+
+hi def link cCustomFunc Function
+
+" Vim syntax file
" Language: C Additions
" Maintainer: Mikhail Wolfson <mywolfson@gmail.com>
" URL: http://web.mit.edu/wolfsonm