" ============================================================================ " File: plugin/thematic.vim " Description: script for vim-thematic plugin " Maintainer: preservim " Last Change: December 30, 2013 " License: The MIT License (MIT) " ============================================================================ if exists('g:loaded_thematic') || &cp | finish | endif let g:loaded_thematic = 1 " Save 'cpoptions' and set Vim default to enable line continuations. let s:save_cpo = &cpo set cpo&vim " Preserve original settings let g:thematic#original = {} let g:thematic#original.laststatus = &laststatus let g:thematic#original.ruler = &ruler if has('fullscreen') try call thematic#gui#initFullscreen() catch /E117/ " This is happening during BundleUpdate in Vundle on first load. " Unsure how best to fix. endtry endif " Defaults if !exists('g:thematic#defaults') let g:thematic#defaults = {} endif if !exists('g:thematic#themes') let g:thematic#themes = { \ 'blue' : { 'sign-column-color-fix': 1, \ 'fold-column-color-mute': 1, \ }, \ 'desert' : { 'sign-column-color-fix': 1, \ 'fold-column-color-mute': 1, \ }, \ 'peachpuff' : { \ }, \ 'slate' : { \ }, \ } endif function! chooseTheme(ArgLead, CmdLine, CursorPos) return filter(sort(keys(g:thematic#themes)), \ "stridx(v:val,'".a:ArgLead."') == 0") endfunction " Commands " Thematic {theme_name} command -nargs=1 \ -complete=customlist,chooseTheme \ Thematic \ call thematic#init() command -nargs=0 ThematicFirst call thematic#init('#first') command -nargs=0 ThematicNext call thematic#init('#next') command -nargs=0 ThematicPrevious call thematic#init('#previous') command -nargs=0 ThematicRandom call thematic#init('#random') command -nargs=0 ThematicOriginal call thematic#init('#original') " Plugin mappings " TODO support resizing while in virtual mode noremap ThematicNarrow :ThematicNarrow noremap ThematicWiden :ThematicWiden " Create mappings for the `Thematic` commands noremap ThematicFirst :ThematicFirst noremap ThematicNext :ThematicNext noremap ThematicPrevious :ThematicPrevious noremap ThematicRandom :ThematicRandom noremap ThematicOriginal :ThematicOriginal if exists('g:thematic#theme_name') " support an initial theme when starting Vim augroup thematic_startup autocmd! autocmd VimEnter * call thematic#init(g:thematic#theme_name) augroup END else let g:thematic#theme_name = '' endif if exists('g:leaderf_loaded') if !exists('g:Lf_Extensions') let g:Lf_Extensions = {} endif let g:Lf_Extensions.thematic = { \ 'source': 'leaderf#thematic#source', \ 'accept': 'leaderf#thematic#accept', \ 'highlights_def': { \ 'Lf_hl_thematicTitle': '.*', \ }, \ 'highlights_cmd': [ \ 'hi link Lf_hl_thematicTitle Title', \ ], \ } endif let &cpo = s:save_cpo unlet s:save_cpo " vim:ts=2:sw=2:sts=2