summaryrefslogtreecommitdiffstats
path: root/.vim
diff options
context:
space:
mode:
authorGravatar Robin Obůrka <r.oburka@gmail.com> 2013-11-28 16:43:46 +0100
committerGravatar Robin Obůrka <r.oburka@gmail.com> 2013-11-28 16:43:46 +0100
commit677b38abb904ba0d080436d6c20a1d60b59f2acc (patch)
tree982ee6866703cb2476b1a816c5ad3ed4a625e967 /.vim
downloadvim_sync-677b38abb904ba0d080436d6c20a1d60b59f2acc.tar.xz
Initial commit
Diffstat (limited to '.vim')
-rw-r--r--.vim/hicursorwords.vim119
-rw-r--r--.vim/spell/cs.utf-8.add3
-rw-r--r--.vim/spell/cs.utf-8.add.splbin0 -> 63 bytes
-rw-r--r--.vim/spell/cs.utf-8.splbin0 -> 1204107 bytes
4 files changed, 122 insertions, 0 deletions
diff --git a/.vim/hicursorwords.vim b/.vim/hicursorwords.vim
new file mode 100644
index 0000000..06a563d
--- /dev/null
+++ b/.vim/hicursorwords.vim
@@ -0,0 +1,119 @@
+" HiCursorWords -- Highlights words under the cursor.
+"
+" Maintainer: Shuhei Kubota <kubota.shuhei+vim@gmail.com>
+" Description:
+" This script highlights words under the cursor like many IDEs.
+"
+" This doesn't provide scope-aware highlighting nor language specific one.
+" You can control highlighting by highlighting group names.
+"
+" Variables:
+"
+" (A right hand side value is a default value.)
+"
+" g:HiCursorWords_delay = 200
+" A delay for highlighting in milliseconds.
+" Smaller value may cause your machine slow down.
+"
+" g:HiCursorWords_hiGroupRegexp = ''
+" If empty, all words are highlighted.
+" If not empty, only the specified highlight group is highlighted.
+" (my memo: 'Identifier\|vimOperParen')
+"
+" To investigate highlight group name, the next variable may help you.
+"
+" g:HiCursorWords_debugEchoHiName = 0
+" If not 0, echoes the highlight group name under the cursor.
+"
+" Hightlight groups:
+"
+" (Do :highlight! as you like.)
+"
+" WordUnderTheCursor
+"
+"
+
+if !exists('g:HiCursorWords_delay')
+ let g:HiCursorWords_delay = 2
+endif
+
+if !exists('g:HiCursorWords_hiGroupRegexp')
+ let g:HiCursorWords_hiGroupRegexp = ''
+endif
+
+if !exists('g:HiCursorWords_debugEchoHiName')
+ let g:HiCursorWords_debugEchoHiName = 0
+endif
+
+
+highlight! link WordUnderTheCursor Underlined
+
+augroup HiCursorWords
+ autocmd!
+ autocmd CursorMoved,CursorMovedI * call s:HiCursorWords__startHilighting()
+augroup END
+
+
+function! s:HiCursorWords__getHiName(linenum, colnum)
+ let hiname = synIDattr(synID(a:linenum, a:colnum, 0), "name")
+ let hiname = s:HiCursorWords__resolveHiName(hiname)
+ return hiname
+endfunction
+
+function! s:HiCursorWords__resolveHiName(hiname)
+ redir => resolved
+ silent execute 'highlight ' . a:hiname
+ redir END
+
+ if stridx(resolved, 'links to') == -1
+ return a:hiname
+ endif
+
+ return substitute(resolved, '\v(.*) links to ([^ ]+).*$', '\2', '')
+endfunction
+
+function! s:HiCursorWords__getWordUnderTheCursor(linestr, linenum, colnum)
+ "let word = substitute(a:linestr, '.*\(\<\k\{-}\%' . a:colnum . 'c\k\{-}\>\).*', '\1', '') "expand('<word>')
+ let word = matchstr(a:linestr, '\k*\%' . a:colnum . 'c\k\+')
+ if word == ''
+ return ''
+ endif
+ return '\V\<' . word . '\>'
+endfunction
+
+function! s:HiCursorWords__execute()
+ if exists("w:HiCursorWords__matchId")
+ call matchdelete(w:HiCursorWords__matchId)
+ unlet w:HiCursorWords__matchId
+ endif
+
+ let linestr = getline('.')
+ let linenum = line('.')
+ let colnum = col('.')
+
+ if g:HiCursorWords_debugEchoHiName
+ echo s:HiCursorWords__getHiName(linenum, colnum)
+ endif
+
+ let word = s:HiCursorWords__getWordUnderTheCursor(linestr, linenum, colnum)
+ if strlen(word) != 0
+ if strlen(g:HiCursorWords_hiGroupRegexp) != 0
+ \ && match(s:HiCursorWords__getHiName(linenum, colnum), g:HiCursorWords_hiGroupRegexp) == -1
+ return
+ endif
+ let w:HiCursorWords__matchId = matchadd('WordUnderTheCursor', word, 0)
+ endif
+endfunction
+
+function! s:HiCursorWords__startHilighting()
+ let b:HiCursorWords__oldUpdatetime = &updatetime
+ let &updatetime = g:HiCursorWords_delay
+ augroup HiCursorWordsUpdate
+ autocmd!
+ autocmd CursorHold,CursorHoldI *
+ \ if exists('b:HiCursorWords__oldUpdatetime') | let &updatetime = b:HiCursorWords__oldUpdatetime | endif
+ \ | call s:HiCursorWords__execute()
+ augroup END
+endfunction
+
+" vim: set et ft=vim sts=4 sw=4 ts=4 tw=78 :
diff --git a/.vim/spell/cs.utf-8.add b/.vim/spell/cs.utf-8.add
new file mode 100644
index 0000000..fee4195
--- /dev/null
+++ b/.vim/spell/cs.utf-8.add
@@ -0,0 +1,3 @@
+teda
+hosting
+turris
diff --git a/.vim/spell/cs.utf-8.add.spl b/.vim/spell/cs.utf-8.add.spl
new file mode 100644
index 0000000..8db063a
--- /dev/null
+++ b/.vim/spell/cs.utf-8.add.spl
Binary files differ
diff --git a/.vim/spell/cs.utf-8.spl b/.vim/spell/cs.utf-8.spl
new file mode 100644
index 0000000..e84cb6b
--- /dev/null
+++ b/.vim/spell/cs.utf-8.spl
Binary files differ