diff --git a/.gitmodules b/.gitmodules index cc33acb..5348e97 100644 --- a/.gitmodules +++ b/.gitmodules @@ -43,3 +43,9 @@ [submodule ".vim/bundle/snipmate"] path = .vim/bundle/snipmate url = git://github.com/msanders/snipmate.vim.git +[submodule ".vim/bundle/syntastic"] + path = .vim/bundle/syntastic + url = https://github.com/scrooloose/syntastic.git +[submodule ".vim/bundle/vim-gitgutter"] + path = .vim/bundle/vim-gitgutter + url = git://github.com/airblade/vim-gitgutter.git diff --git a/.gvimrc b/.gvimrc index 907211f..27f0bed 100644 --- a/.gvimrc +++ b/.gvimrc @@ -1,7 +1,7 @@ winsize 115 45 "set expandtab "set guifont=DejaVu\ Sans\ Mono:h15.00 -set guifont=Inconsolata\ 12 +set guifont=Inconsolata\ 14 set guioptions-=L set guioptions-=r diff --git a/.vim/autoload/pathogen.vim b/.vim/autoload/pathogen.vim index ff7dba3..16c21fe 100644 --- a/.vim/autoload/pathogen.vim +++ b/.vim/autoload/pathogen.vim @@ -1,16 +1,52 @@ " pathogen.vim - path option manipulation -" Maintainer: Tim Pope -" Version: 1.2 +" Maintainer: Tim Pope +" Version: 2.2 " Install in ~/.vim/autoload (or ~\vimfiles\autoload). " -" API is documented below. +" For management of individually installed plugins in ~/.vim/bundle (or +" ~\vimfiles\bundle), adding `call pathogen#infect()` to the top of your +" .vimrc is the only other setup necessary. +" +" The API is documented inline below. For maximum ease of reading, +" :set foldmethod=marker if exists("g:loaded_pathogen") || &cp finish endif let g:loaded_pathogen = 1 +function! s:warn(msg) + if &verbose + echohl WarningMsg + echomsg a:msg + echohl NONE + endif +endfunction + +" Point of entry for basic default usage. Give a relative path to invoke +" pathogen#incubate() (defaults to "bundle/{}"), or an absolute path to invoke +" pathogen#surround(). For backwards compatibility purposes, a full path that +" does not end in {} or * is given to pathogen#runtime_prepend_subdirectories() +" instead. +function! pathogen#infect(...) abort " {{{1 + for path in a:0 ? reverse(copy(a:000)) : ['bundle/{}'] + if path =~# '^[^\\/]\+$' + call s:warn('Change pathogen#infect('.string(path).') to pathogen#infect('.string(path.'/{}').')') + call pathogen#incubate(path . '/{}') + elseif path =~# '^[^\\/]\+[\\/]\%({}\|\*\)$' + call pathogen#incubate(path) + elseif path =~# '[\\/]\%({}\|\*\)$' + call pathogen#surround(path) + else + call s:warn('Change pathogen#infect('.string(path).') to pathogen#infect('.string(path.'/{}').')') + call pathogen#surround(path . '/{}') + endif + endfor + call pathogen#cycle_filetype() + return '' +endfunction " }}}1 + " Split a path into a list. function! pathogen#split(path) abort " {{{1 if type(a:path) == type([]) | return a:path | endif @@ -55,8 +91,11 @@ function! pathogen#uniq(list) abort " {{{1 let i = 0 let seen = {} while i < len(a:list) - if has_key(seen,a:list[i]) + if (a:list[i] ==# '' && exists('empty')) || has_key(seen,a:list[i]) call remove(a:list,i) + elseif a:list[i] ==# '' + let i += 1 + let empty = 1 else let seen[a:list[i]] = 1 let i += 1 @@ -65,18 +104,6 @@ function! pathogen#uniq(list) abort " {{{1 return a:list endfunction " }}}1 -" Returns a hash indicating which filetype features are enabled. -function! pathogen#filetype() abort " {{{1 - redir => output - silent filetype - redir END - let result = {} - let result.detection = match(output,'detection:ON') >= 0 - let result.indent = match(output,'indent:ON') >= 0 - let result.plugin = match(output,'plugin:ON') >= 0 - return result -endfunction " }}}1 - " \ on Windows unless shellslash is set, / everywhere else. function! pathogen#separator() abort " {{{1 return !exists("+shellslash") || &shellslash ? '/' : '\' @@ -93,47 +120,209 @@ function! pathogen#glob_directories(pattern) abort " {{{1 return filter(pathogen#glob(a:pattern),'isdirectory(v:val)') endfunction "}}}1 -" Prepend all subdirectories of path to the rtp, and append all after -" directories in those subdirectories. -function! pathogen#runtime_prepend_subdirectories(path) " {{{1 - let sep = pathogen#separator() - let before = pathogen#glob_directories(a:path.sep."*[^~]") - let after = pathogen#glob_directories(a:path.sep."*[^~]".sep."after") +" Turn filetype detection off and back on again if it was already enabled. +function! pathogen#cycle_filetype() " {{{1 + if exists('g:did_load_filetypes') + filetype off + filetype on + endif +endfunction " }}}1 + +" Check if a bundle is disabled. A bundle is considered disabled if it ends +" in a tilde or its basename or full name is included in the list +" g:pathogen_disabled. +function! pathogen#is_disabled(path) " {{{1 + if a:path =~# '\~$' + return 1 + elseif !exists("g:pathogen_disabled") + return 0 + endif + let sep = pathogen#separator() + let blacklist = g:pathogen_disabled + return index(blacklist, strpart(a:path, strridx(a:path, sep)+1)) != -1 && index(blacklist, a:path) != 1 +endfunction "}}}1 + +" Prepend the given directory to the runtime path and append its corresponding +" after directory. If the directory is already included, move it to the +" outermost position. Wildcards are added as is. Ending a path in /{} causes +" all subdirectories to be added (except those in g:pathogen_disabled). +function! pathogen#surround(path) abort " {{{1 + let sep = pathogen#separator() let rtp = pathogen#split(&rtp) - let path = expand(a:path) - call filter(rtp,'v:val[0:strlen(path)-1] !=# path') - let &rtp = pathogen#join(pathogen#uniq(before + rtp + after)) + if a:path =~# '[\\/]{}$' + let path = fnamemodify(a:path[0:-4], ':p:s?[\\/]\=$??') + let before = filter(pathogen#glob_directories(path.sep.'*'), '!pathogen#is_disabled(v:val)') + let after = filter(reverse(pathogen#glob_directories(path.sep."*".sep."after")), '!pathogen#is_disabled(v:val[0:-7])') + call filter(rtp,'v:val[0:strlen(path)-1] !=# path') + else + let path = fnamemodify(a:path, ':p:s?[\\/]\=$??') + let before = [path] + let after = [path . sep . 'after'] + call filter(rtp, 'index(before + after, v:val) == -1') + endif + let &rtp = pathogen#join(before, rtp, after) return &rtp endfunction " }}}1 -" For each directory in rtp, check for a subdirectory named dir. If it -" exists, add all subdirectories of that subdirectory to the rtp, immediately -" after the original directory. If no argument is given, 'bundle' is used. -" Repeated calls with the same arguments are ignored. -function! pathogen#runtime_append_all_bundles(...) " {{{1 +" Prepend all subdirectories of path to the rtp, and append all 'after' +" directories in those subdirectories. Deprecated. +function! pathogen#runtime_prepend_subdirectories(path) " {{{1 + call s:warn('Change pathogen#runtime_prepend_subdirectories('.string(a:path).') to pathogen#surround('.string(a:path.'/{}').')') + return pathogen#surround(a:path . pathogen#separator() . '{}') +endfunction " }}}1 + +" For each directory in the runtime path, add a second entry with the given +" argument appended. If the argument ends in '/{}', add a separate entry for +" each subdirectory. The default argument is 'bundle/{}', which means that +" .vim/bundle/*, $VIM/vimfiles/bundle/*, $VIMRUNTIME/bundle/*, +" $VIM/vim/files/bundle/*/after, and .vim/bundle/*/after will be added (on +" UNIX). +function! pathogen#incubate(...) abort " {{{1 let sep = pathogen#separator() - let name = a:0 ? a:1 : 'bundle' + let name = a:0 ? a:1 : 'bundle/{}' + if "\n".s:done_bundles =~# "\\M\n".name."\n" + return "" + endif + let s:done_bundles .= name . "\n" let list = [] for dir in pathogen#split(&rtp) if dir =~# '\"),'!isdirectory(v:val)')) && (!filereadable(dir.sep.'doc'.sep.'tags') || filewritable(dir.sep.'doc'.sep.'tags')) + helptags `=dir.'/doc'` + endif + endfor endfor endfunction " }}}1 -" vim:set ft=vim ts=8 sw=2 sts=2: +command! -bar Helptags :call pathogen#helptags() + +" Execute the given command. This is basically a backdoor for --remote-expr. +function! pathogen#execute(...) abort " {{{1 + for command in a:000 + execute command + endfor + return '' +endfunction " }}}1 + +" Like findfile(), but hardcoded to use the runtimepath. +function! pathogen#runtime_findfile(file,count) abort "{{{1 + let rtp = pathogen#join(1,pathogen#split(&rtp)) + let file = findfile(a:file,rtp,a:count) + if file ==# '' + return '' + else + return fnamemodify(file,':p') + endif +endfunction " }}}1 + +" Backport of fnameescape(). +function! pathogen#fnameescape(string) abort " {{{1 + if exists('*fnameescape') + return fnameescape(a:string) + elseif a:string ==# '-' + return '\-' + else + return substitute(escape(a:string," \t\n*?[{`$\\%#'\"|!<"),'^[+>]','\\&','') + endif +endfunction " }}}1 + +if exists(':Vedit') + finish +endif + +let s:vopen_warning = 0 + +function! s:find(count,cmd,file,lcd) " {{{1 + let rtp = pathogen#join(1,pathogen#split(&runtimepath)) + let file = pathogen#runtime_findfile(a:file,a:count) + if file ==# '' + return "echoerr 'E345: Can''t find file \"".a:file."\" in runtimepath'" + endif + if !s:vopen_warning + let s:vopen_warning = 1 + let warning = '|echohl WarningMsg|echo "Install scriptease.vim to continue using :V'.a:cmd.'"|echohl NONE' + else + let warning = '' + endif + if a:lcd + let path = file[0:-strlen(a:file)-2] + execute 'lcd `=path`' + return a:cmd.' '.pathogen#fnameescape(a:file) . warning + else + return a:cmd.' '.pathogen#fnameescape(file) . warning + endif +endfunction " }}}1 + +function! s:Findcomplete(A,L,P) " {{{1 + let sep = pathogen#separator() + let cheats = { + \'a': 'autoload', + \'d': 'doc', + \'f': 'ftplugin', + \'i': 'indent', + \'p': 'plugin', + \'s': 'syntax'} + if a:A =~# '^\w[\\/]' && has_key(cheats,a:A[0]) + let request = cheats[a:A[0]].a:A[1:-1] + else + let request = a:A + endif + let pattern = substitute(request,'/\|\'.sep,'*'.sep,'g').'*' + let found = {} + for path in pathogen#split(&runtimepath) + let path = expand(path, ':p') + let matches = split(glob(path.sep.pattern),"\n") + call map(matches,'isdirectory(v:val) ? v:val.sep : v:val') + call map(matches,'expand(v:val, ":p")[strlen(path)+1:-1]') + for match in matches + let found[match] = 1 + endfor + endfor + return sort(keys(found)) +endfunction " }}}1 + +command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Ve :execute s:find(,'edit',,0) +command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vedit :execute s:find(,'edit',,0) +command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vopen :execute s:find(,'edit',,1) +command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vsplit :execute s:find(,'split',,1) +command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vvsplit :execute s:find(,'vsplit',,1) +command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vtabedit :execute s:find(,'tabedit',,1) +command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vpedit :execute s:find(,'pedit',,1) +command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vread :execute s:find(,'read',,1) + +" vim:set et sw=2: diff --git a/.vim/bundle/syntastic b/.vim/bundle/syntastic new file mode 160000 index 0000000..2519d83 --- /dev/null +++ b/.vim/bundle/syntastic @@ -0,0 +1 @@ +Subproject commit 2519d835694e9aee41b0aa607b9e1d9c5685fd7a diff --git a/.vim/bundle/vim-gitgutter b/.vim/bundle/vim-gitgutter new file mode 160000 index 0000000..e724731 --- /dev/null +++ b/.vim/bundle/vim-gitgutter @@ -0,0 +1 @@ +Subproject commit e7247311f526142de8756043fb995fed0475c9f1 diff --git a/.vim/doc/tags b/.vim/doc/tags index 5832a54..5ee54bc 100644 --- a/.vim/doc/tags +++ b/.vim/doc/tags @@ -55,21 +55,6 @@ :VCSUnlock vcscommand.txt /*:VCSUnlock* :VCSUpdate vcscommand.txt /*:VCSUpdate* :VCSVimDiff vcscommand.txt /*:VCSVimDiff* -ConqueTerm conque_term.txt /*ConqueTerm* -ConqueTerm_CWInsert conque_term.txt /*ConqueTerm_CWInsert* -ConqueTerm_CloseOnEnd conque_term.txt /*ConqueTerm_CloseOnEnd* -ConqueTerm_Color conque_term.txt /*ConqueTerm_Color* -ConqueTerm_EscKey conque_term.txt /*ConqueTerm_EscKey* -ConqueTerm_InsertOnEnter conque_term.txt /*ConqueTerm_InsertOnEnter* -ConqueTerm_PromptRegex conque_term.txt /*ConqueTerm_PromptRegex* -ConqueTerm_PyExe conque_term.txt /*ConqueTerm_PyExe* -ConqueTerm_PyVersion conque_term.txt /*ConqueTerm_PyVersion* -ConqueTerm_ReadUnfocused conque_term.txt /*ConqueTerm_ReadUnfocused* -ConqueTerm_SendFunctionKeys conque_term.txt /*ConqueTerm_SendFunctionKeys* -ConqueTerm_SendVisKey conque_term.txt /*ConqueTerm_SendVisKey* -ConqueTerm_Syntax conque_term.txt /*ConqueTerm_Syntax* -ConqueTerm_TERM conque_term.txt /*ConqueTerm_TERM* -ConqueTerm_ToggleKey conque_term.txt /*ConqueTerm_ToggleKey* ExtractSnips() snipMate.txt /*ExtractSnips()* ExtractSnipsFile() snipMate.txt /*ExtractSnipsFile()* Filename() snipMate.txt /*Filename()* @@ -186,29 +171,6 @@ cocoa-license cocoa.txt /*cocoa-license* cocoa-mappings cocoa.txt /*cocoa-mappings* cocoa-suggested-plugins cocoa.txt /*cocoa-suggested-plugins* cocoa.txt cocoa.txt /*cocoa.txt* -conque-term-Esc conque_term.txt /*conque-term-Esc* -conque-term-F8 conque_term.txt /*conque-term-F8* -conque-term-F9 conque_term.txt /*conque-term-F9* -conque-term-api conque_term.txt /*conque-term-api* -conque-term-bugs conque_term.txt /*conque-term-bugs* -conque-term-close conque_term.txt /*conque-term-close* -conque-term-contribute conque_term.txt /*conque-term-contribute* -conque-term-feedback conque_term.txt /*conque-term-feedback* -conque-term-get-instance conque_term.txt /*conque-term-get-instance* -conque-term-installation conque_term.txt /*conque-term-installation* -conque-term-installation-instructions conque_term.txt /*conque-term-installation-instructions* -conque-term-misc conque_term.txt /*conque-term-misc* -conque-term-open conque_term.txt /*conque-term-open* -conque-term-options conque_term.txt /*conque-term-options* -conque-term-read conque_term.txt /*conque-term-read* -conque-term-requirements conque_term.txt /*conque-term-requirements* -conque-term-set-callback conque_term.txt /*conque-term-set-callback* -conque-term-special-keys conque_term.txt /*conque-term-special-keys* -conque-term-subprocess conque_term.txt /*conque-term-subprocess* -conque-term-usage conque_term.txt /*conque-term-usage* -conque-term-windows conque_term.txt /*conque-term-windows* -conque-term-write conque_term.txt /*conque-term-write* -conque-term-writeln conque_term.txt /*conque-term-writeln* cs surround.txt /*cs* cvscommand-changes vcscommand.txt /*cvscommand-changes* drawit DrawIt.txt /*drawit* diff --git a/.vimrc b/.vimrc index 580a383..6280d1d 100644 --- a/.vimrc +++ b/.vimrc @@ -15,7 +15,8 @@ set expandtab let mapleader = "," filetype off -call pathogen#runtime_append_all_bundles() +"call pathogen#runtime_append_all_bundles() +execute pathogen#infect() filetype plugin indent on " Set 'smart' things in Vim set smartcase diff --git a/.xmonad/xmonad.hs b/.xmonad/xmonad.hs index af5e3cb..bd4e96f 100644 --- a/.xmonad/xmonad.hs +++ b/.xmonad/xmonad.hs @@ -23,15 +23,17 @@ import XMonad.Util.XSelection import qualified XMonad.Util.EZConfig as EZ import qualified Data.Map as M - myManageHook :: [ManageHook] myManageHook = [ resource =? "Synapse" --> doIgnore ] -main = xmonad gnomeConfig { - borderWidth = 4, - focusedBorderColor = "#00BFFF", - manageHook = manageHook gnomeConfig <+> composeAll myManageHook - } +{-myManageHook = -} + {-[ resource =? "Do" --> doFloat ]-} + +main = xmonad gnomeConfig + { manageHook = manageHook gnomeConfig <+> composeAll myManageHook + , borderWidth = 2 + , focusedBorderColor = "#00BFFF" + } {- -- delKeys x = foldr M.delete (keys defaultConfig x) (keysToRemove x) @@ -142,7 +144,7 @@ _emacsKeys conf = {-, ("M-w", goto "flim")-} -- mpd - {-, ("", io $ return . fromRight =<< MPD.withMPD MPD.toggle)-} + {-, ("", io $ return . fromRight =<< MPD.withMPD MPD.toggle)-} {-, ("", io $ return . fromRight =<< MPD.withMPD MPD.stop)-} {-, ("", io $ return . fromRight =<< MPD.withMPD MPD.next)-} {-, ("", io $ return . fromRight =<< MPD.withMPD MPD.previous)-}