Commit fa42d243 authored by Murukesh Mohanan's avatar Murukesh Mohanan

Initialized vim

parents
.VimballRecord
.netrwhist
[submodule "bundle/diffchar.vim"]
path = bundle/diffchar.vim
url = https://github.com/vim-scripts/diffchar.vim
[submodule "bundle/eregex.vim"]
path = bundle/eregex.vim
url = https://github.com/othree/eregex.vim.git
[submodule "bundle/nerdtree"]
path = bundle/nerdtree
url = https://github.com/scrooloose/nerdtree.git
[submodule "bundle/supertab"]
path = bundle/supertab
url = git@github.com:ervandew/supertab.git
[submodule "bundle/syntastic"]
path = bundle/syntastic
url = https://github.com/scrooloose/syntastic.git
[submodule "bundle/vim2hs"]
path = bundle/vim2hs
url = https://github.com/dag/vim2hs
[submodule "bundle/vim-surround"]
path = bundle/vim-surround
url = https://github.com/tpope/vim-surround.git
" Vim autoload file for browsing debian package.
" copyright (C) 2007-2008, arno renevier <arenevier@fdn.fr>
" Distributed under the GNU General Public License (version 2 or above)
" Last Change: 2008 april 1
"
" Inspired by autoload/tar.vim by Charles E Campbell
"
" Latest version of that file can be found at
" http://www.fdn.fr/~arenevier/vim/autoload/deb.vim
" It should also be available at
" http://www.vim.org/scripts/script.php?script_id=1970
if &cp || exists("g:loaded_deb") || v:version < 700
finish
endif
let g:loaded_deb= "v1.4"
fun! deb#read(debfile, member)
" checks if ar and tar are installed
if !s:hascmd("ar") || !s:hascmd("tar")
return
endif
let l:target = a:member
let l:archmember = s:dataFileName(a:debfile) " default archive member to extract
if l:archmember == ""
echohl WarningMsg | echo "***error*** (deb#read) no valid data file found in debian archive"
return
elseif l:archmember == "data.tar.gz"
let l:unpcmp = "tar zxfO "
elseif l:archmember == "data.tar.bz2"
let l:unpcmp = "tar jxfO "
elseif l:archmember == "data.tar.lzma"
if !s:hascmd("lzma")
return
endif
let l:unpcmp = "lzma -d | tar xfO "
elseif l:archmember == "data.tar"
let l:unpcmp = "tar xfO "
endif
if a:member =~ '^\* ' " information control file
let l:archmember = "control.tar.gz"
let l:target = substitute(l:target, "^\* ", "", "")
let l:unpcmp = "tar zxfO "
elseif a:member =~ ' -> ' " symbolic link
let l:target = split(a:member,' -> ')[0]
let l:linkname = split(a:member,' -> ')[1]
if l:linkname =~ "^\/" " direct symlink: path is already absolute
let l:target = ".".l:linkname
else
" transform relative path to absolute path
" first, get basename for target
let l:target = substitute(l:target, "\/[^/]*$", "", "")
" while it begins with ../
while l:linkname =~ "^\.\.\/"
" removes one level of ../ in linkname
let l:linkname = substitute(l:linkname, "^\.\.\/", "", "")
" go one directory up in target
let l:target = substitute(l:target, "\/[^/]*$", "", "")
endwhile
let l:target = l:target."/".l:linkname
endif
endif
" we may preprocess some files (such as man pages, or changelogs)
let l:preproccmd = ""
"
" unzip man pages
"
if l:target =~ "\.\/usr\/share\/man\/.*\.gz$"
" try to fail gracefully if a command is not available
if !s:hascmd("gzip")
return
elseif !s:hascmd("nroff")
let l:preproccmd = "| gzip -cd"
elseif !s:hascmd("col")
let l:preproccmd = "| gzip -cd | nroff -mandoc"
else
let l:preproccmd = "| gzip -cd | nroff -mandoc | col -b"
endif
"
" unzip other .gz files
"
elseif l:target =~ '.*\.gz$'
if !s:hascmd("gzip")
return
endif
let l:preproccmd = "| gzip -cd"
endif
" read content
exe "silent r! ar p " . s:QuoteFile(a:debfile) . " " . s:QuoteFile(l:archmember) . " | " . l:unpcmp . " - " . s:QuoteFile(l:target) . l:preproccmd
" error will be treated in calling function
if v:shell_error != 0
return
endif
exe "file deb:".l:target
0d
setlocal nomodifiable nomodified readonly
endfun
fun! deb#browse(file)
" checks if necessary utils are installed
if !s:hascmd("dpkg") || !s:hascmd("ar") || !s:hascmd("tar")
return
endif
" checks if file is readable
if !filereadable(a:file)
return
endif
if a:file =~ "'"
echohl WarningMsg | echo "***error*** (deb#Browse) filename cannot contain quote character (" . a:file . ")"
return
endif
let keepmagic = &magic
set magic
" set filetype to "deb"
set ft=deb
setlocal modifiable noreadonly
" set header
exe "$put ='".'\"'." deb.vim version ".g:loaded_deb."'"
exe "$put ='".'\"'." Browsing debian package ".a:file."'"
$put=''
" package info
"exe "silent read! dpkg -I ".a:file
"$put=''
" display information control files
let l:infopos = line(".")
exe "silent read! ar p " . s:QuoteFile(a:file) . " control.tar.gz | tar zt"
$put=''
" display data files
let l:listpos = line(".")
exe "silent read! dpkg -c ". s:QuoteFile(a:file)
" format information control list
" removes '* ./' line
exe (l:infopos + 1). 'd'
" add a star before each line
exe "silent " . (l:infopos + 1). ',' . (l:listpos - 2) . 's/^/\* /'
" format data list
exe "silent " . l:listpos . ',$s/^.*\s\(\.\/\(\S\|\).*\)$/\1/'
if v:shell_error != 0
echohl WarningMsg | echo "***warning*** (deb#Browse) error when listing content of " . a:file
let &magic = keepmagic
return
endif
0d
setlocal nomodifiable readonly
noremap <silent> <buffer> <cr> :call <SID>DebBrowseSelect()<cr>
let &magic = keepmagic
endfun
fun! s:DebBrowseSelect()
let l:fname= getline(".")
" sanity check
if (l:fname !~ '^\.\/') && (l:fname !~ '^\* \.\/')
return
endif
if l:fname =~ "'"
echohl WarningMsg | echo "***error*** (DebBrowseSelect) filename cannot contain quote character (" . l:fname . ")"
return
endif
" do nothing on directories
" TODO: find a way to detect symlinks to directories, to be able not to
" open them
if (l:fname =~ '\/$')
return
endif
" need to get it now since a new window will open
let l:curfile= expand("%")
" open new window
new
wincmd _
call deb#read(l:curfile, l:fname)
if v:shell_error != 0
echohl WarningMsg | echo "***warning*** (DebBrowseSelect) error when reading " . l:fname
return
endif
filetype detect
" zipped files, are unziped in deb#read, but filetype may not
" automatically work.
if l:fname =~ "\.\/usr\/share\/man\/.*\.gz$"
set filetype=man
elseif l:fname =~ "\.\/usr\/share\/doc\/.*\/changelog.Debian.gz$"
set filetype=debchangelog
endif
endfun
" return data file name for debian package. This can be either data.tar.gz,
" data.tar.bz2 or data.tar.lzma
fun s:dataFileName(deb)
for fn in ["data.tar.gz", "data.tar.bz2", "data.tar.lzma", "data.tar"]
" [0:-2] is to remove trailing null character from command output
if (system("ar t " . "'" . a:deb . "'" . " " . fn))[0:-2] == fn
return fn
endif
endfor
return "" " no debian data format in this archive
endfun
fun s:QuoteFile(file)
" we need to escape %, #, <, and >
" see :help cmdline-specialk
return "'" . substitute(a:file, '\([%#<>]\)', '\\\1', 'g') . "'"
endfun
" return 1 if cmd exists
" display error message and return 0 otherwise
fun s:hascmd(cmd)
if executable(a:cmd)
return 1
else
echohl Error | echo "***error*** " . a:cmd . " not available on your system"
return 0
else
endfu
"
" utility functions for haskellmode plugins
"
" (Claus Reinke; last modified: 22/06/2010)
"
" part of haskell plugins: http://projects.haskell.org/haskellmode-vim
" please send patches to <claus.reinke@talk21.com>
" find start/extent of name/symbol under cursor;
" return start, symbolic flag, qualifier, unqualified id
" (this is used in both haskell_doc.vim and in GHC.vim)
function! haskellmode#GetNameSymbol(line,col,off)
let name = "[a-zA-Z0-9_']"
let symbol = "[-!#$%&\*\+/<=>\?@\\^|~:.]"
"let [line] = getbufline(a:buf,a:lnum)
let line = a:line
" find the beginning of unqualified id or qualified id component
let start = (a:col - 1) + a:off
if line[start] =~ name
let pattern = name
elseif line[start] =~ symbol
let pattern = symbol
else
return []
endif
while start > 0 && line[start - 1] =~ pattern
let start -= 1
endwhile
let id = matchstr(line[start :],pattern.'*')
" call confirm(id)
" expand id to left and right, to get full id
let idPos = id[0] == '.' ? start+2 : start+1
let posA = match(line,'\<\(\([A-Z]'.name.'*\.\)\+\)\%'.idPos.'c')
let start = posA>-1 ? posA+1 : idPos
let posB = matchend(line,'\%'.idPos.'c\(\([A-Z]'.name.'*\.\)*\)\('.name.'\+\|'.symbol.'\+\)')
let end = posB>-1 ? posB : idPos
" special case: symbolic ids starting with .
if id[0]=='.' && posA==-1
let start = idPos-1
let end = posB==-1 ? start : end
endif
" classify full id and split into qualifier and unqualified id
let fullid = line[ (start>1 ? start-1 : 0) : (end-1) ]
let symbolic = fullid[-1:-1] =~ symbol " might also be incomplete qualified id ending in .
let qualPos = matchend(fullid, '\([A-Z]'.name.'*\.\)\+')
let qualifier = qualPos>-1 ? fullid[ 0 : (qualPos-2) ] : ''
let unqualId = qualPos>-1 ? fullid[ qualPos : -1 ] : fullid
" call confirm(start.'/'.end.'['.symbolic.']:'.qualifier.' '.unqualId)
return [start,symbolic,qualifier,unqualId]
endfunction
function! haskellmode#GatherImports()
let imports={0:{},1:{}}
let i=1
while i<=line('$')
let res = haskellmode#GatherImport(i)
if !empty(res)
let [i,import] = res
let prefixPat = '^import\s*\%({-#\s*SOURCE\s*#-}\)\?\(qualified\)\?\s\+'
let modulePat = '\([A-Z][a-zA-Z0-9_''.]*\)'
let asPat = '\(\s\+as\s\+'.modulePat.'\)\?'
let hidingPat = '\(\s\+hiding\s*\((.*)\)\)\?'
let listPat = '\(\s*\((.*)\)\)\?'
let importPat = prefixPat.modulePat.asPat.hidingPat.listPat ".'\s*$'
let ml = matchlist(import,importPat)
if ml!=[]
let [_,qualified,module,_,as,_,hiding,_,explicit;x] = ml
let what = as=='' ? module : as
let hidings = split(hiding[1:-2],',')
let explicits = split(explicit[1:-2],',')
let empty = {'lines':[],'hiding':hidings,'explicit':[],'modules':[]}
let entry = has_key(imports[1],what) ? imports[1][what] : deepcopy(empty)
let imports[1][what] = haskellmode#MergeImport(deepcopy(entry),i,hidings,explicits,module)
if !(qualified=='qualified')
let imports[0][what] = haskellmode#MergeImport(deepcopy(entry),i,hidings,explicits,module)
endif
else
echoerr "haskellmode#GatherImports doesn't understand: ".import
endif
endif
let i+=1
endwhile
if !has_key(imports[1],'Prelude')
let imports[0]['Prelude'] = {'lines':[],'hiding':[],'explicit':[],'modules':[]}
let imports[1]['Prelude'] = {'lines':[],'hiding':[],'explicit':[],'modules':[]}
endif
return imports
endfunction
function! haskellmode#ListElem(list,elem)
for e in a:list | if e==a:elem | return 1 | endif | endfor
return 0
endfunction
function! haskellmode#ListIntersect(list1,list2)
let l = []
for e in a:list1 | if index(a:list2,e)!=-1 | let l += [e] | endif | endfor
return l
endfunction
function! haskellmode#ListUnion(list1,list2)
let l = []
for e in a:list2 | if index(a:list1,e)==-1 | let l += [e] | endif | endfor
return a:list1 + l
endfunction
function! haskellmode#ListWithout(list1,list2)
let l = []
for e in a:list1 | if index(a:list2,e)==-1 | let l += [e] | endif | endfor
return l
endfunction
function! haskellmode#MergeImport(entry,line,hiding,explicit,module)
let lines = a:entry['lines'] + [ a:line ]
let hiding = a:explicit==[] ? haskellmode#ListIntersect(a:entry['hiding'], a:hiding)
\ : haskellmode#ListWithout(a:entry['hiding'],a:explicit)
let explicit = haskellmode#ListUnion(a:entry['explicit'], a:explicit)
let modules = haskellmode#ListUnion(a:entry['modules'], [ a:module ])
return {'lines':lines,'hiding':hiding,'explicit':explicit,'modules':modules}
endfunction
" collect lines belonging to a single import statement;
" return number of last line and collected import statement
" (assume opening parenthesis, if any, is on the first line)
function! haskellmode#GatherImport(lineno)
let lineno = a:lineno
let import = getline(lineno)
if !(import=~'^import\s') | return [] | endif
let open = strlen(substitute(import,'[^(]','','g'))
let close = strlen(substitute(import,'[^)]','','g'))
while open!=close
let lineno += 1
let linecont = getline(lineno)
let open += strlen(substitute(linecont,'[^(]','','g'))
let close += strlen(substitute(linecont,'[^)]','','g'))
let import .= linecont
endwhile
return [lineno,import]
endfunction
function! haskellmode#UrlEncode(string)
let pat = '\([^[:alnum:]]\)'
let code = '\=printf("%%%02X",char2nr(submatch(1)))'
let url = substitute(a:string,pat,code,'g')
return url
endfunction
" TODO: we could have buffer-local settings, at the expense of
" reconfiguring for every new buffer.. do we want to?
function! haskellmode#GHC()
if (!exists("g:ghc") || !executable(g:ghc))
if !executable('ghc')
echoerr s:scriptname.": can't find ghc. please set g:ghc, or extend $PATH"
return 0
else
let g:ghc = 'ghc'
endif
endif
return 1
endfunction
function! haskellmode#GHC_Version()
if !exists("g:ghc_version")
let g:ghc_version = substitute(system(g:ghc . ' --numeric-version'),'\n','','')
endif
return g:ghc_version
endfunction
function! haskellmode#GHC_VersionGE(target)
let current = split(haskellmode#GHC_Version(), '\.' )
let target = a:target
for i in current
if ((target==[]) || (i>target[0]))
return 1
elseif (i==target[0])
let target = target[1:]
else
return 0
endif
endfor
return 1
endfunction
This diff is collapsed.
Subproject commit 8bbc4b17331e0cec40e1c1d7a9b39493ef90a612
Subproject commit 64c2e53af2715311e8d76f548aa3435c26adc76e
Subproject commit 3b98a7fcae8f9fff356907171f0406ff8cd28921
Subproject commit 454c06e25680799b6f408622d6bfbaf920ace825
Subproject commit 7d9aec0bee91be677c38b94ff222d02aa732fe52
Subproject commit fa433e0b7330753688f715f3be5d10dc480f20e5
Subproject commit f2afd55704bfe0a2d66e6b270d247e9b8a7b1664
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
:Align Align.txt /*:Align*
:AlignCtrl Align.txt /*:AlignCtrl*
:AlignMapsClean Align.txt /*:AlignMapsClean*
:DocIndex haskellmode.txt /*:DocIndex*
:DocSettings haskellmode.txt /*:DocSettings*
:ExportDocIndex haskellmode.txt /*:ExportDocIndex*
:FlagReference haskellmode.txt /*:FlagReference*
:GHCReload haskellmode.txt /*:GHCReload*
:GHCStaticOptions haskellmode.txt /*:GHCStaticOptions*
:GHCi haskellmode.txt /*:GHCi*
:HpasteIndex haskellmode.txt /*:HpasteIndex*
:HpastePostNew haskellmode.txt /*:HpastePostNew*
:IDoc haskellmode.txt /*:IDoc*
:MDoc haskellmode.txt /*:MDoc*
Align-copyright Align.txt /*Align-copyright*
_. haskellmode.txt /*_.*
_? haskellmode.txt /*_?*
_?1 haskellmode.txt /*_?1*
_?2 haskellmode.txt /*_?2*
_T haskellmode.txt /*_T*
_ct haskellmode.txt /*_ct*
_i haskellmode.txt /*_i*
_ie haskellmode.txt /*_ie*
_im haskellmode.txt /*_im*
_iq haskellmode.txt /*_iq*
_iqm haskellmode.txt /*_iqm*
_lang haskellmode.txt /*_lang*
_opt haskellmode.txt /*_opt*
_si haskellmode.txt /*_si*
_t haskellmode.txt /*_t*
align Align.txt /*align*
align-align Align.txt /*align-align*
align-codepoint Align.txt /*align-codepoint*
align-command Align.txt /*align-command*
align-commands Align.txt /*align-commands*
align-concept Align.txt /*align-concept*
align-concepts Align.txt /*align-concepts*
align-contents Align.txt /*align-contents*
align-control Align.txt /*align-control*
align-history Align.txt /*align-history*
align-manual Align.txt /*align-manual*
align-maps Align.txt /*align-maps*
align-multibyte Align.txt /*align-multibyte*
align-option Align.txt /*align-option*
align-options Align.txt /*align-options*
align-strlen Align.txt /*align-strlen*
align-usage Align.txt /*align-usage*
align-userguide Align.txt /*align-userguide*
align-utf Align.txt /*align-utf*
align-utf8 Align.txt /*align-utf8*
align-xstrlen Align.txt /*align-xstrlen*
align.txt Align.txt /*align.txt*
alignctrl Align.txt /*alignctrl*
alignctrl- Align.txt /*alignctrl-*
alignctrl-+ Align.txt /*alignctrl-+*
alignctrl-- Align.txt /*alignctrl--*
alignctrl-: Align.txt /*alignctrl-:*
alignctrl-< Align.txt /*alignctrl-<*
alignctrl-= Align.txt /*alignctrl-=*
alignctrl-> Align.txt /*alignctrl->*
alignctrl-C Align.txt /*alignctrl-C*
alignctrl-I Align.txt /*alignctrl-I*
alignctrl-P Align.txt /*alignctrl-P*
alignctrl-W Align.txt /*alignctrl-W*
alignctrl-alignskip Align.txt /*alignctrl-alignskip*
alignctrl-c Align.txt /*alignctrl-c*
alignctrl-g Align.txt /*alignctrl-g*
alignctrl-init Align.txt /*alignctrl-init*
alignctrl-initialization Align.txt /*alignctrl-initialization*
alignctrl-l Align.txt /*alignctrl-l*
alignctrl-m Align.txt /*alignctrl-m*
alignctrl-no-option Align.txt /*alignctrl-no-option*
alignctrl-p Align.txt /*alignctrl-p*
alignctrl-r Align.txt /*alignctrl-r*
alignctrl-separators Align.txt /*alignctrl-separators*
alignctrl-settings Align.txt /*alignctrl-settings*
alignctrl-star Align.txt /*alignctrl-star*
alignctrl-v Align.txt /*alignctrl-v*
alignctrl-w Align.txt /*alignctrl-w*
alignman Align.txt /*alignman*
alignmanual Align.txt /*alignmanual*
alignmap-Htd Align.txt /*alignmap-Htd*
alignmap-T= Align.txt /*alignmap-T=*
alignmap-Tsp Align.txt /*alignmap-Tsp*
alignmap-a( Align.txt /*alignmap-a(*
alignmap-a, Align.txt /*alignmap-a,*
alignmap-a< Align.txt /*alignmap-a<*
alignmap-a= Align.txt /*alignmap-a=*
alignmap-a? Align.txt /*alignmap-a?*
alignmap-abox Align.txt /*alignmap-abox*
alignmap-acom Align.txt /*alignmap-acom*
alignmap-adcom Align.txt /*alignmap-adcom*
alignmap-adec Align.txt /*alignmap-adec*
alignmap-adef Align.txt /*alignmap-adef*
alignmap-afnc Align.txt /*alignmap-afnc*
alignmap-anum Align.txt /*alignmap-anum*
alignmap-aocom Align.txt /*alignmap-aocom*
alignmap-ascom Align.txt /*alignmap-ascom*
alignmap-history Align.txt /*alignmap-history*
alignmap-m= Align.txt /*alignmap-m=*
alignmap-t# Align.txt /*alignmap-t#*
alignmap-t, Align.txt /*alignmap-t,*
alignmap-t: Align.txt /*alignmap-t:*
alignmap-t; Align.txt /*alignmap-t;*
alignmap-t< Align.txt /*alignmap-t<*
alignmap-t= Align.txt /*alignmap-t=*
alignmap-t? Align.txt /*alignmap-t?*
alignmap-tab Align.txt /*alignmap-tab*
alignmap-tml Align.txt /*alignmap-tml*
alignmap-ts, Align.txt /*alignmap-ts,*
alignmap-ts: Align.txt /*alignmap-ts:*
alignmap-ts< Align.txt /*alignmap-ts<*
alignmap-ts= Align.txt /*alignmap-ts=*
alignmap-tsp Align.txt /*alignmap-tsp*
alignmap-tsq Align.txt /*alignmap-tsq*
alignmap-tt Align.txt /*alignmap-tt*
alignmap-t~ Align.txt /*alignmap-t~*
alignmaps Align.txt /*alignmaps*
alignusage Align.txt /*alignusage*
autoalign AutoAlign.txt /*autoalign*
autoalign-contents AutoAlign.txt /*autoalign-contents*
autoalign-copyright AutoAlign.txt /*autoalign-copyright*
autoalign-history AutoAlign.txt /*autoalign-history*
autoalign-install AutoAlign.txt /*autoalign-install*
autoalign-internals AutoAlign.txt /*autoalign-internals*
autoalign-man AutoAlign.txt /*autoalign-man*
autoalign.txt AutoAlign.txt /*autoalign.txt*
compiler-ghc haskellmode.txt /*compiler-ghc*
g:AlignSkip Align.txt /*g:AlignSkip*
g:SuperTabClosePreviewOnPopupClose supertab.txt /*g:SuperTabClosePreviewOnPopupClose*
g:SuperTabCompletionContexts supertab.txt /*g:SuperTabCompletionContexts*
g:SuperTabContextDefaultCompletionType supertab.txt /*g:SuperTabContextDefaultCompletionType*
g:SuperTabCrMapping supertab.txt /*g:SuperTabCrMapping*
g:SuperTabDefaultCompletionType supertab.txt /*g:SuperTabDefaultCompletionType*
g:SuperTabLongestEnhanced supertab.txt /*g:SuperTabLongestEnhanced*
g:SuperTabLongestHighlight supertab.txt /*g:SuperTabLongestHighlight*
g:SuperTabMappingBackward supertab.txt /*g:SuperTabMappingBackward*
g:SuperTabMappingForward supertab.txt /*g:SuperTabMappingForward*
g:SuperTabMappingTabLiteral supertab.txt /*g:SuperTabMappingTabLiteral*
g:SuperTabNoCompleteAfter supertab.txt /*g:SuperTabNoCompleteAfter*
g:SuperTabNoCompleteBefore supertab.txt /*g:SuperTabNoCompleteBefore*
g:SuperTabRetainCompletionDuration supertab.txt /*g:SuperTabRetainCompletionDuration*
g:alignmaps_euronumber Align.txt /*g:alignmaps_euronumber*
g:alignmaps_usanumber Align.txt /*g:alignmaps_usanumber*
g:ghc haskellmode.txt /*g:ghc*
g:haddock_browser haskellmode.txt /*g:haddock_browser*
g:haddock_browser_callformat haskellmode.txt /*g:haddock_browser_callformat*
g:haddock_docdir haskellmode.txt /*g:haddock_docdir*
g:haddock_indexfiledir haskellmode.txt /*g:haddock_indexfiledir*
g:wget haskellmode.txt /*g:wget*
ghc haskellmode.txt /*ghc*
ghc-compiler haskellmode.txt /*ghc-compiler*
haddock haskellmode.txt /*haddock*
haskellmode haskellmode.txt /*haskellmode*
haskellmode-XO haskellmode.txt /*haskellmode-XO*
haskellmode-XU haskellmode.txt /*haskellmode-XU*
haskellmode-compiler haskellmode.txt /*haskellmode-compiler*
haskellmode-editing haskellmode.txt /*haskellmode-editing*
haskellmode-haddock haskellmode.txt /*haskellmode-haddock*
haskellmode-hpaste haskellmode.txt /*haskellmode-hpaste*
haskellmode-indexing haskellmode.txt /*haskellmode-indexing*
haskellmode-lookup haskellmode.txt /*haskellmode-lookup*
haskellmode-omni-completion haskellmode.txt /*haskellmode-omni-completion*
haskellmode-overview haskellmode.txt /*haskellmode-overview*
haskellmode-quickref haskellmode.txt /*haskellmode-quickref*
haskellmode-requirements haskellmode.txt /*haskellmode-requirements*
haskellmode-resources haskellmode.txt /*haskellmode-resources*
haskellmode-settings haskellmode.txt /*haskellmode-settings*
haskellmode-settings-fine haskellmode.txt /*haskellmode-settings-fine*
haskellmode-settings-main haskellmode.txt /*haskellmode-settings-main*
haskellmode-user-completion haskellmode.txt /*haskellmode-user-completion*
haskellmode.txt haskellmode.txt /*haskellmode.txt*
hpaste haskellmode.txt /*hpaste*
supertab supertab.txt /*supertab*
supertab-closepreviewonpopupclose supertab.txt /*supertab-closepreviewonpopupclose*
supertab-completionchaining supertab.txt /*supertab-completionchaining*
supertab-completioncontexts supertab.txt /*supertab-completioncontexts*
supertab-contextdefault supertab.txt /*supertab-contextdefault*
supertab-contextdiscover supertab.txt /*supertab-contextdiscover*
supertab-contextexample supertab.txt /*supertab-contextexample*
supertab-contexttext supertab.txt /*supertab-contexttext*
supertab-crmapping supertab.txt /*supertab-crmapping*
supertab-defaultcompletion supertab.txt /*supertab-defaultcompletion*
supertab-duration supertab.txt /*supertab-duration*
supertab-forwardbackward supertab.txt /*supertab-forwardbackward*
supertab-intro supertab.txt /*supertab-intro*
supertab-longestenhanced supertab.txt /*supertab-longestenhanced*
supertab-longesthighlight supertab.txt /*supertab-longesthighlight*
supertab-mappingtabliteral supertab.txt /*supertab-mappingtabliteral*
supertab-options supertab.txt /*supertab-options*
supertab-preventcomplete supertab.txt /*supertab-preventcomplete*
supertab-usage supertab.txt /*supertab-usage*
supertab.txt supertab.txt /*supertab.txt*
"
" general Haskell source settings
" (shared functions are in autoload/haskellmode.vim)
"
" (Claus Reinke, last modified: 28/04/2009)
"
" part of haskell plugins: http://projects.haskell.org/haskellmode-vim
" please send patches to <claus.reinke@talk21.com>
" try gf on import line, or ctrl-x ctrl-i, or [I, [i, ..
setlocal include=^import\\s*\\(qualified\\)\\?\\s*
setlocal includeexpr=substitute(v:fname,'\\.','/','g').'.'
setlocal suffixesadd=hs,lhs,hsc
" Haskell Cuteness for Vim.
" Inspired by emacs-haskell-cuteness.
" Based on unilatex.vim by Jos van den Oever <oever@fenk.wau.nl>
"
" Changelog
" 0.1.3 - added more mappings and fixed bug in HaskellSrcToUTF8, thanks
" to edwardkmett at Reddit
" 0.1.2 - added syntax highlighting as suggested by sfvisser at Reddit
" 0.1.1 - fixed stupid bug with haskell lambda expression
" 0.1 - initial release
"
" Version: 0.1.2
" Last Changed: 7 April 2009
" Maintainer: Andrey Popp <andrey.popp@braintrace.ru>
" Map to unicode symbols
imap <buffer> \ λ
imap <buffer> <-
imap <buffer> ->
imap <buffer> <=
imap <buffer> >=
imap <buffer> ==
imap <buffer> /=
imap <buffer> =>
imap <buffer> >> »
imap <buffer> .<space><space>
imap <buffer> forall<space>
" Turn syntax highlight on for new symbols
syn match hsVarSym "(\|λ\|←\|→\|≲\|≳\|≡\|≠\| )"
if exists("s:loaded_unihaskell")
finish
endif
let s:loaded_unihaskell = 1
augroup HaskellC
autocmd BufReadPost *.hs cal s:HaskellSrcToUTF8()
autocmd BufWritePre *.hs cal s:UTF8ToHaskellSrc()