summaryrefslogtreecommitdiffstats
path: root/ftplugin
diff options
context:
space:
mode:
Diffstat (limited to 'ftplugin')
-rw-r--r--ftplugin/csv.vim52
-rw-r--r--ftplugin/go.vim4
-rw-r--r--ftplugin/html.vim7
-rw-r--r--ftplugin/latextoc.vim5
-rw-r--r--ftplugin/mustache.vim16
5 files changed, 52 insertions, 32 deletions
diff --git a/ftplugin/csv.vim b/ftplugin/csv.vim
index 0b3eee19..b6414d9f 100644
--- a/ftplugin/csv.vim
+++ b/ftplugin/csv.vim
@@ -483,7 +483,7 @@ fu! <sid>GetDelimiter(first, last) "{{{3
if !exists("b:csv_fixed_width_cols")
let _cur = getpos('.')
let _s = @/
- let Delim= {0: ';', 1: ',', 2: '|', 3: ' '}
+ let Delim= {0: ';', 1: ',', 2: '|', 3: ' ', 4: '\^'}
let temp = {}
" :silent :s does not work with lazyredraw
let _lz = &lz
@@ -525,12 +525,16 @@ fu! <sid>WColumn(...) "{{{3
let fields=(split(line[0:end],b:col.'\zs'))
let ret=len(fields)
if exists("a:1") && a:1 > 0
- " bang attribute
+ " bang attribute: Try to get the column name
let head = split(getline(1),b:col.'\zs')
" remove preceeding whitespace
- let ret = substitute(head[ret-1], '^\s\+', '', '')
- " remove delimiter
- let ret = substitute(ret, b:delimiter. '$', '', '')
+ if len(head) < ret
+ call <sid>Warn("Header has no field ". ret)
+ else
+ let ret = substitute(head[ret-1], '^\s\+', '', '')
+ " remove delimiter
+ let ret = substitute(ret, b:delimiter. '$', '', '')
+ endif
endif
else
let temp=getpos('.')[2]
@@ -1002,7 +1006,8 @@ fu! <sid>MoveCol(forward, line, ...) "{{{3
elseif a:forward < 0
if colnr > 0 || cpos == spos
call search('.\ze'.pat, 'bWe')
- while getpos('.')[2] == cpos
+ let stime=localtime()
+ while getpos('.')[2] == cpos && <sid>Timeout(stime) " make sure loop terminates
" cursor didn't move, move cursor one cell to the left
norm! h
if colnr > 0
@@ -1208,8 +1213,10 @@ fu! <sid>AddColumn(start, stop, ...) range "{{{3
if exists("a:1")
if a:1 == '$' || a:1 >= max
let pos = max
- elseif a:1 <= 0
+ elseif a:1 < 0
let pos = col
+ else
+ let pos = a:1
endif
else
let pos = col
@@ -1217,7 +1224,7 @@ fu! <sid>AddColumn(start, stop, ...) range "{{{3
let cnt=(exists("a:2") && a:2 > 0 ? a:2 : 1)
" translate 1 based columns into zero based list index
- let pos -= 1
+ "let pos -= 1
let col -= 1
if pos == 0
@@ -1772,7 +1779,7 @@ endfu
fu! <sid>NewRecord(line1, line2, count) "{{{3
if a:count =~ "\D"
- call <sid>WarningMsg("Invalid count specified")
+ call <sid>Warn("Invalid count specified")
return
endif
@@ -1848,20 +1855,13 @@ fu! <sid>CSVMappings() "{{{3
call <sid>Map('noremap', 'E', ':<C-U>call <SID>MoveCol(-1, line("."))<CR>')
call <sid>Map('noremap', '<C-Left>', ':<C-U>call <SID>MoveCol(-1, line("."))<CR>')
call <sid>Map('noremap', 'H', ':<C-U>call <SID>MoveCol(-1, line("."), 1)<CR>')
- call <sid>Map('noremap', 'K', ':<C-U>call <SID>MoveCol(0,
- \ line(".")-v:count1)<CR>')
- call <sid>Map('noremap', '<Up>', ':<C-U>call <SID>MoveCol(0,
- \ line(".")-v:count1)<CR>')
- call <sid>Map('noremap', 'J', ':<C-U>call <SID>MoveCol(0,
- \ line(".")+v:count1)<CR>')
- call <sid>Map('noremap', '<Down>', ':<C-U>call <SID>MoveCol(0,
- \ line(".")+v:count1)<CR>')
- call <sid>Map('nnoremap', '<CR>', ':<C-U>call <SID>PrepareFolding(1,
- \ 1)<CR>')
- call <sid>Map('nnoremap', '<Space>', ':<C-U>call <SID>PrepareFolding(1,
- \ 0)<CR>')
- call <sid>Map('nnoremap', '<BS>', ':<C-U>call <SID>PrepareFolding(0,
- \ 1)<CR>')
+ call <sid>Map('noremap', 'K', ':<C-U>call <SID>MoveCol(0, line(".")-v:count1)<CR>')
+ call <sid>Map('noremap', '<Up>', ':<C-U>call <SID>MoveCol(0, line(".")-v:count1)<CR>')
+ call <sid>Map('noremap', 'J', ':<C-U>call <SID>MoveCol(0, line(".")+v:count1)<CR>')
+ call <sid>Map('noremap', '<Down>', ':<C-U>call <SID>MoveCol(0, line(".")+v:count1)<CR>')
+ call <sid>Map('nnoremap', '<CR>', ':<C-U>call <SID>PrepareFolding(1, 1)<CR>')
+ call <sid>Map('nnoremap', '<Space>', ':<C-U>call <SID>PrepareFolding(1, 0)<CR>')
+ call <sid>Map('nnoremap', '<BS>', ':<C-U>call <SID>PrepareFolding(0, 1)<CR>')
call <sid>Map('imap', '<CR>', '<sid>ColumnMode()', 'expr')
" Text object: Field
call <sid>Map('vnoremap', 'if', ':<C-U>call <sid>MoveOver(0)<CR>')
@@ -1937,9 +1937,6 @@ fu! <sid>CommandDefinitions() "{{{3
\ '-nargs=1 -complete=custom,<sid>CompleteColumnNr')
call <sid>LocalCmd('Transpose', ':call <sid>Transpose(<line1>, <line2>)',
\ '-range=%')
- call <sid>LocalCmd('Tabularize', ':call <sid>Tabularize(<bang>0,<line1>,<line2>)',
- \ '-bang -range=%')
- " Alias for :Tabularize, might be taken by Tabular plugin
call <sid>LocalCmd('CSVTabularize', ':call <sid>Tabularize(<bang>0,<line1>,<line2>)',
\ '-bang -range=%')
call <sid>LocalCmd("AddColumn",
@@ -2391,6 +2388,9 @@ fu! <sid>ColumnMode() "{{{3
return "\<CR>"
endif
endfu
+fu! <sid>Timeout(start) "{{{3
+ return localtime()-a:start < 2
+endfu
" Global functions "{{{2
fu! csv#EvalColumn(nr, func, first, last) range "{{{3
diff --git a/ftplugin/go.vim b/ftplugin/go.vim
index 8066733c..532fb172 100644
--- a/ftplugin/go.vim
+++ b/ftplugin/go.vim
@@ -9,9 +9,11 @@ if exists("b:did_ftplugin")
endif
let b:did_ftplugin = 1
+setlocal formatoptions-=t
+
setlocal comments=s1:/*,mb:*,ex:*/,://
setlocal commentstring=//\ %s
-let b:undo_ftplugin = "setl com< cms<"
+let b:undo_ftplugin = "setl fo< com< cms<"
" vim:ts=4:sw=4:et
diff --git a/ftplugin/html.vim b/ftplugin/html.vim
new file mode 100644
index 00000000..4c0d9d07
--- /dev/null
+++ b/ftplugin/html.vim
@@ -0,0 +1,7 @@
+" Maintainer: othree <othree@gmail.com>
+" URL: http://github.com/othree/html5.vim
+" Last Change: 2014-05-02
+" License: MIT
+" Changes: Add - to keyword
+
+setlocal iskeyword+=-
diff --git a/ftplugin/latextoc.vim b/ftplugin/latextoc.vim
index 01fd9bb0..d5d7e58c 100644
--- a/ftplugin/latextoc.vim
+++ b/ftplugin/latextoc.vim
@@ -97,6 +97,10 @@ endfunction
" {{{2 TOCFindMatch
function! s:TOCFindMatch(strsearch,duplicates,files)
+ if len(a:files) == 0
+ echoerr "Could not find: " . a:strsearch
+ return
+ endif
call s:TOCOpenBuf(a:files[0])
let dups = a:duplicates
@@ -116,7 +120,6 @@ function! s:TOCFindMatch(strsearch,duplicates,files)
endif
call s:TOCFindMatch(a:strsearch,dups,a:files[1:])
-
endfunction
" {{{2 TOCFoldLevel
diff --git a/ftplugin/mustache.vim b/ftplugin/mustache.vim
index 38901654..592ed09d 100644
--- a/ftplugin/mustache.vim
+++ b/ftplugin/mustache.vim
@@ -59,10 +59,18 @@ xnoremap <silent> <buffer> ]] :<C-U>call <SID>sectionmovement('{{','' ,'v',v:cou
" Operator pending mappings
-onoremap <silent> <buffer> ie :<C-U>call <SID>wrap_inside()<CR>
-onoremap <silent> <buffer> ae :<C-U>call <SID>wrap_around()<CR>
-xnoremap <silent> <buffer> ie :<C-U>call <SID>wrap_inside()<CR>
-xnoremap <silent> <buffer> ae :<C-U>call <SID>wrap_around()<CR>
+" Operators are available by default. Set `let g:mustache_operators = 0` in
+" your .vimrc to disable them.
+if ! exists("g:mustache_operators")
+ let g:mustache_operators = 1
+endif
+
+if exists("g:mustache_operators") && g:mustache_operators
+ onoremap <silent> <buffer> ie :<C-U>call <SID>wrap_inside()<CR>
+ onoremap <silent> <buffer> ae :<C-U>call <SID>wrap_around()<CR>
+ xnoremap <silent> <buffer> ie :<C-U>call <SID>wrap_inside()<CR>
+ xnoremap <silent> <buffer> ae :<C-U>call <SID>wrap_around()<CR>
+endif
function! s:wrap_around()
" If the cursor is at the end of the tag element, move back