summaryrefslogtreecommitdiffstats
path: root/ftplugin
diff options
context:
space:
mode:
authorAdam Stankiewicz <sheerun@sher.pl>2014-01-24 18:06:22 +0100
committerAdam Stankiewicz <sheerun@sher.pl>2014-01-24 18:06:22 +0100
commit9a2b4f5cd8bcb03f1344fa9f81b59efb84a91889 (patch)
tree31d8265fcf38ee6f12f3f763acf409fdde03817d /ftplugin
parentf211f02d1e53dbb4eada17e999eba81bccaf1fb2 (diff)
downloadvim-polyglot-1.5.1.tar.gz
vim-polyglot-1.5.1.zip
Updatev1.5.1
Diffstat (limited to 'ftplugin')
-rw-r--r--ftplugin/csv.vim33
-rw-r--r--ftplugin/latex-box/latexmk.vim2
2 files changed, 28 insertions, 7 deletions
diff --git a/ftplugin/csv.vim b/ftplugin/csv.vim
index 20532744..95058edd 100644
--- a/ftplugin/csv.vim
+++ b/ftplugin/csv.vim
@@ -137,6 +137,7 @@ fu! <sid>Init(startline, endline) "{{{3
\ . "| unlet! b:csv_SplitWindow b:csv_headerline"
\ . "| unlet! b:csv_thousands_sep b:csv_decimal_sep"
\. " | unlet! b:browsefilter b:csv_cmt"
+ \. " | unlet! b:csv_arrange_leftalign"
" Delete all functions
" disabled currently, because otherwise when switching ft
@@ -696,7 +697,11 @@ endfu
fu! <sid>UnArrangeCol(match) "{{{3
" Strip leading white space, also trims empty records:
- return substitute(a:match, '^\s\+', '', '')
+ if get(b:, 'csv_arrange_leftalign',0)
+ return substitute(a:match, '\s\+\ze'. b:delimiter. '\?$', '', '')
+ else
+ return substitute(a:match, '^\s\+', '', '')
+ endif
" only strip leading white space, if a non-white space follows:
"return substitute(a:match, '^\s\+\ze\S', '', '')
endfu
@@ -744,9 +749,18 @@ fu! <sid>Columnize(field) "{{{3
let width=get(b:col_width, (s:columnize_count % s:max_cols), 20)
let s:columnize_count += 1
+ let has_delimiter = (a:field =~# b:delimiter.'$')
if v:version > 703 || v:version == 703 && has("patch713")
" printf knows about %S (e.g. can handle char length
- return printf("%*S", width+1 , a:field)
+ if get(b:, 'csv_arrange_leftalign',0)
+ " left-align content
+ return printf("%-*S%s", width+1 ,
+ \ (has_delimiter ?
+ \ matchstr(a:field, '.*\%('.b:delimiter.'\)\@=') : a:field),
+ \ (has_delimiter ? b:delimiter : ''))
+ else
+ return printf("%*S", width+1 , a:field)
+ endif
else
" printf only handles bytes
if !exists("g:csv_no_multibyte") &&
@@ -768,7 +782,14 @@ fu! <sid>Columnize(field) "{{{3
" Column has correct length, don't use printf()
return a:field
else
- return printf("%*s", width , a:field)
+ if get(b:, 'csv_arrange_leftalign',0)
+ " left-align content
+ return printf("%-*s%s", width,
+ \ (has_delimiter ? matchstr(a:field, '.*\%('.b:delimiter.'\)\@=') : a:field),
+ \ (has_delimiter ? b:delimiter : ''))
+ else
+ return printf("%*s", width , a:field)
+ endif
endif
endif
endfun
@@ -1250,8 +1271,8 @@ fu! <sid>SumColumn(list) "{{{3
if empty(item)
continue
endif
- let nr = matchstr(item, '\d\(.*\d\)\?$')
- let format1 = '^\d\+\zs\V' . s:nr_format[0] . '\m\ze\d'
+ let nr = matchstr(item, '-\?\d\(.*\d\)\?$')
+ let format1 = '^-\?\d\+\zs\V' . s:nr_format[0] . '\m\ze\d'
let format2 = '\d\+\zs\V' . s:nr_format[1] . '\m\ze\d'
try
let nr = substitute(nr, format1, '', '')
@@ -2379,7 +2400,7 @@ fu! csv#EvalColumn(nr, func, first, last) range "{{{3
endif
let save = winsaveview()
call <sid>CheckHeaderLine()
- let nr = matchstr(a:nr, '^\d\+')
+ let nr = matchstr(a:nr, '^\-\?\d\+')
let col = (empty(nr) ? <sid>WColumn() : nr)
" don't take the header line into consideration
let start = a:first - 1 + s:csv_fold_headerline
diff --git a/ftplugin/latex-box/latexmk.vim b/ftplugin/latex-box/latexmk.vim
index 2ce16d26..dfa55f0e 100644
--- a/ftplugin/latex-box/latexmk.vim
+++ b/ftplugin/latex-box/latexmk.vim
@@ -325,7 +325,7 @@ function! LatexBox_Latexmk(force)
let g:latexmk_running_pids[basepath] = pid
else
let pid = substitute(system('pgrep -f "perl.*'
- \ . mainfile . '"'),'\D','','')
+ \ . mainfile . '" | head -n 1'),'\D','','')
let g:latexmk_running_pids[basepath] = pid
endif
else