瀏覽代碼

Remove broken/unused plugins and set tender colorscheme in vim

Taddeus Kroes 8 月之前
父節點
當前提交
3d1efb8f4d
共有 2 個文件被更改,包括 8 次插入 和 888 次删除
  1. 0 878
      vim/plugin/localvimrc.vim
  2. 8 10
      vimrc

+ 0 - 878
vim/plugin/localvimrc.vim

@@ -1,878 +0,0 @@
-" Name:    localvimrc.vim
-" Version: 2.7.0
-" Author:  Markus Braun <markus.braun@krawel.de>
-" Summary: Vim plugin to search local vimrc files and load them.
-" Licence: This program is free software: you can redistribute it and/or modify
-"          it under the terms of the GNU General Public License as published by
-"          the Free Software Foundation, either version 3 of the License, or
-"          (at your option) any later version.
-"
-"          This program is distributed in the hope that it will be useful,
-"          but WITHOUT ANY WARRANTY; without even the implied warranty of
-"          MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-"          GNU General Public License for more details.
-"
-"          You should have received a copy of the GNU General Public License
-"          along with this program.  If not, see <http://www.gnu.org/licenses/>.
-"
-" Section: Plugin header {{{1
-
-" guard against multiple loads {{{2
-if (exists("g:loaded_localvimrc") || &cp)
-  finish
-endif
-let g:loaded_localvimrc = 1
-
-" check for correct vim version {{{2
-if version < 702
-  finish
-endif
-
-" define default "localvimrc_enable" {{{2
-let s:localvimrc_enable = 1
-if (exists("g:localvimrc_enable") && type(g:localvimrc_enable) == type(0))
-  let s:localvimrc_enable = g:localvimrc_enable
-endif
-
-" define default "localvimrc_name" {{{2
-" copy to script local variable to prevent .lvimrc modifying the name option.
-let s:localvimrc_name = [ ".lvimrc" ]
-if (exists("g:localvimrc_name"))
-  if type(g:localvimrc_name) == type("")
-    let s:localvimrc_name = [ g:localvimrc_name ]
-  elseif type(g:localvimrc_name) == type([])
-    let s:localvimrc_name = g:localvimrc_name
-  endif
-endif
-
-" define default "localvimrc_event" {{{2
-" copy to script local variable to prevent .lvimrc modifying the event option.
-let s:localvimrc_event = [ "BufWinEnter" ]
-if (exists("g:localvimrc_event") && type(g:localvimrc_event) == type([]))
-  let s:localvimrc_event = g:localvimrc_event
-endif
-
-" define default "localvimrc_event_pattern" {{{2
-" copy to script local variable to prevent .lvimrc modifying the event pattern
-" option.
-let s:localvimrc_event_pattern = "*"
-if (exists("g:localvimrc_event_pattern") && type(g:localvimrc_event_pattern) == type(""))
-  let s:localvimrc_event_pattern = g:localvimrc_event_pattern
-endif
-
-" define default "localvimrc_reverse" {{{2
-" copy to script local variable to prevent .lvimrc modifying the reverse option.
-let s:localvimrc_reverse = 0
-if (exists("g:localvimrc_reverse") && type(g:localvimrc_reverse) == type(0))
-  let s:localvimrc_reverse = g:localvimrc_reverse
-endif
-
-" define default "localvimrc_count" {{{2
-" copy to script local variable to prevent .lvimrc modifying the count option.
-let s:localvimrc_count = -1
-if (exists("g:localvimrc_count") && type(g:localvimrc_count) == type(0))
-  let s:localvimrc_count = g:localvimrc_count
-endif
-
-" define default "localvimrc_file_directory_only" {{{2
-" copy to script local variable to prevent .lvimrc modifying the file
-" directory only option.
-let s:localvimrc_file_directory_only = 0
-if (exists("g:localvimrc_file_directory_only") && type(g:localvimrc_file_directory_only) == type(0))
-  let s:localvimrc_file_directory_only = g:localvimrc_file_directory_only
-endif
-
-" define default "localvimrc_sandbox" {{{2
-" copy to script local variable to prevent .lvimrc disabling the sandbox again.
-let s:localvimrc_sandbox = 1
-if (exists("g:localvimrc_sandbox") && type(g:localvimrc_sandbox) == type(0))
-  let s:localvimrc_sandbox = g:localvimrc_sandbox
-endif
-
-" define default "localvimrc_ask" {{{2
-" copy to script local variable to prevent .lvimrc modifying the ask option.
-let s:localvimrc_ask = 1
-if (exists("g:localvimrc_ask") && type(g:localvimrc_ask) == type(0))
-  let s:localvimrc_ask = g:localvimrc_ask
-endif
-
-" define default "localvimrc_whitelist" {{{2
-" copy to script local variable to prevent .lvimrc modifying the whitelist.
-let s:localvimrc_whitelist = [ "^$" ] " this never matches a file
-if (exists("g:localvimrc_whitelist"))
-  if type(g:localvimrc_whitelist) == type("")
-    let s:localvimrc_whitelist = [ g:localvimrc_whitelist ]
-  elseif type(g:localvimrc_whitelist) == type([])
-    let s:localvimrc_whitelist = g:localvimrc_whitelist
-  endif
-endif
-
-" define default "localvimrc_blacklist" {{{2
-" copy to script local variable to prevent .lvimrc modifying the blacklist.
-let s:localvimrc_blacklist = [ "^$" ] " this never matches a file
-if (exists("g:localvimrc_blacklist"))
-  if type(g:localvimrc_blacklist) == type("")
-    let s:localvimrc_blacklist = [ g:localvimrc_blacklist ]
-  elseif type(g:localvimrc_blacklist) == type([])
-    let s:localvimrc_blacklist = g:localvimrc_blacklist
-  endif
-endif
-
-" define default "localvimrc_persistent" {{{2
-" copy to script local variable to prevent .lvimrc modifying the persistent
-" option.
-let s:localvimrc_persistent = 0
-if (exists("g:localvimrc_persistent") && type(g:localvimrc_persistent) == type(0))
-  let s:localvimrc_persistent = g:localvimrc_persistent
-endif
-
-" define default "localvimrc_persistence_file" {{{2
-" copy to script local variable to prevent .lvimrc modifying the persistence
-" file.
-if has("win16") || has("win32") || has("win64") || has("win95")
-  let s:localvimrc_persistence_file = expand('$HOME') . "/_localvimrc_persistent"
-else
-  let s:localvimrc_persistence_file = expand('$HOME') . "/.localvimrc_persistent"
-endif
-if (exists("g:localvimrc_persistence_file") && type(g:localvimrc_persistence_file) == type(""))
-  let s:localvimrc_persistence_file = g:localvimrc_persistence_file
-endif
-
-" define default "localvimrc_autocmd" {{{2
-" copy to script local variable to prevent .lvimrc modifying the autocommand
-" option.
-let s:localvimrc_autocmd = 1
-if (exists("g:localvimrc_autocmd") && type(g:localvimrc_autocmd) == type(0))
-  let s:localvimrc_autocmd = g:localvimrc_autocmd
-endif
-
-" define default "localvimrc_debug" {{{2
-if (!exists("g:localvimrc_debug"))
-  let g:localvimrc_debug = 0
-endif
-
-" initialize data dictionary {{{2
-" key: localvimrc file
-" value: [ answer, sandbox_answer, checksum ]
-let s:localvimrc_data = {}
-
-" initialize sourced dictionary {{{2
-" key: localvimrc file
-" value: [ list of files triggered sourcing ]
-let s:localvimrc_sourced = {}
-
-" initialize persistence file checksum {{{2
-let s:localvimrc_persistence_file_checksum = ""
-
-" initialize persistent data {{{2
-let s:localvimrc_persistent_data = {}
-
-" initialize processing finish flag {{{2
-let s:localvimrc_finish = 0
-
-" Section: Autocmd setup {{{1
-
-if has("autocmd")
-  augroup localvimrc
-    autocmd!
-
-    for event in s:localvimrc_event
-      " call s:LocalVimRC() when creating or reading any file
-      exec "autocmd ".event." ".s:localvimrc_event_pattern." call s:LocalVimRC()"
-    endfor
-  augroup END
-endif
-
-" Section: Functions {{{1
-
-" Function: s:LocalVimRC() {{{2
-"
-" search all local vimrc files from current directory up to root directory and
-" source them in reverse order.
-"
-function! s:LocalVimRC()
-  " begin marker
-  call s:LocalVimRCDebug(1, "==================================================")
-
-  " print version
-  call s:LocalVimRCDebug(1, "localvimrc.vim " . g:loaded_localvimrc)
-
-  " finish immediately if localvimrc is disabled
-  if s:localvimrc_enable == 0
-    return
-  endif
-
-  " read persistent information
-  call s:LocalVimRCReadPersistent()
-
-  " only consider normal buffers (skip especially CommandT's GoToFile buffer)
-  " NOTE: in general the buftype is not set for new buffers (BufWinEnter),
-  "       e.g. for help files via plugins (pydoc)
-  if !empty(&buftype)
-    call s:LocalVimRCDebug(1, "not a normal buffer, exiting")
-    return
-  endif
-
-  " directory of current file (correctly escaped)
-  let l:directory = fnameescape(expand("%:p:h"))
-  if empty(l:directory)
-    let l:directory = fnameescape(getcwd())
-  endif
-  call s:LocalVimRCDebug(2, "searching directory \"" . l:directory . "\"")
-
-  " check if the local vimrc file shall be searched just in the files
-  " directory or in the whole tree
-  if s:localvimrc_file_directory_only == 1
-    let l:search_option = ""
-  else
-    let l:search_option = ";"
-  endif
-
-  " generate a list of all local vimrc files with absolute file names along path to root
-  let l:rcfiles = []
-  for l:rcname in s:localvimrc_name
-    for l:rcfile in findfile(l:rcname, l:directory . l:search_option, -1)
-      let l:rcfile_unresolved = fnamemodify(l:rcfile, ":p")
-      let l:rcfile_resolved = resolve(l:rcfile_unresolved)
-      call insert(l:rcfiles, { "resolved": l:rcfile_resolved, "unresolved": l:rcfile_unresolved } )
-    endfor
-  endfor
-  call s:LocalVimRCDebug(1, "found files: " . string(l:rcfiles))
-
-  " shrink list of found files
-  if (s:localvimrc_count >= 0 && s:localvimrc_count < len(l:rcfiles))
-    call remove(l:rcfiles, 0, len(l:rcfiles) - s:localvimrc_count - 1)
-  endif
-
-  " reverse order of found files if reverse loading is requested
-  if (s:localvimrc_reverse != 0)
-    call reverse(l:rcfiles)
-  endif
-
-  call s:LocalVimRCDebug(1, "candidate files: " . string(l:rcfiles))
-
-  " source all found local vimrc files in l:rcfiles variable
-  let s:localvimrc_finish = 0
-  let l:answer = ""
-  let l:sandbox_answer = ""
-  let l:sourced_files = []
-  for l:rcfile_dict in l:rcfiles
-    " get values from dictionary
-    let l:rcfile = l:rcfile_dict["resolved"]
-    let l:rcfile_unresolved = l:rcfile_dict["unresolved"]
-    call s:LocalVimRCDebug(2, "processing \"" . l:rcfile . "\"")
-
-    let l:rcfile_load = "unknown"
-
-    if filereadable(l:rcfile)
-      " extract information
-      if has_key(s:localvimrc_data, l:rcfile)
-        if len(s:localvimrc_data[l:rcfile]) == 2
-          let [ l:stored_answer, l:stored_checksum ] = s:localvimrc_data[l:rcfile]
-          let l:stored_sandbox_answer = ""
-        elseif len(s:localvimrc_data[l:rcfile]) == 3
-          let [ l:stored_answer, l:stored_sandbox_answer, l:stored_checksum ] = s:localvimrc_data[l:rcfile]
-        else
-          let l:stored_answer = ""
-          let l:stored_sandbox_answer = ""
-          let l:stored_checksum = ""
-        endif
-      else
-        let l:stored_answer = ""
-        let l:stored_sandbox_answer = ""
-        let l:stored_checksum = ""
-      endif
-      call s:LocalVimRCDebug(3, "stored information: answer = '" . l:stored_answer . "' sandbox answer = '" . l:stored_sandbox_answer . "' checksum = '" . l:stored_checksum . "'")
-
-      " check if checksum is the same
-      let l:checksum_is_same = s:LocalVimRCCheckChecksum(l:rcfile, l:stored_checksum)
-
-      " reset answers if checksum changed
-      if (!l:checksum_is_same)
-        call s:LocalVimRCDebug(2, "checksum mismatch, not reusing answer")
-        let l:stored_answer = ""
-        let l:stored_sandbox_answer = ""
-      else
-        call s:LocalVimRCDebug(2, "reuse previous answer = '" . l:stored_answer . "' sandbox answer = '" . l:stored_sandbox_answer . "'")
-      endif
-
-      " check if whitelisted
-      if (l:rcfile_load == "unknown")
-        if s:LocalVimRCMatchAny(l:rcfile, s:localvimrc_whitelist)
-          call s:LocalVimRCDebug(2, l:rcfile . " is whitelisted")
-          let l:rcfile_load = "yes"
-        endif
-      endif
-
-      " check if blacklisted
-      if (l:rcfile_load == "unknown")
-        if s:LocalVimRCMatchAny(l:rcfile, s:localvimrc_blacklist)
-          call s:LocalVimRCDebug(2, l:rcfile . " is blacklisted")
-          let l:rcfile_load = "no"
-        endif
-      endif
-
-      " check if an answer has been given for the same file
-      if !empty(l:stored_answer)
-        " check the answer
-        if (l:stored_answer =~? '^y$')
-          let l:rcfile_load = "yes"
-        elseif (l:stored_answer =~? '^n$')
-          let l:rcfile_load = "no"
-        endif
-      endif
-
-      " ask if in interactive mode
-      if (l:rcfile_load == "unknown")
-        if (s:localvimrc_ask == 1)
-          if (l:answer !~? "^a$")
-            call s:LocalVimRCDebug(2, "need to ask")
-            let l:answer = ""
-            let l:message = ""
-            while (l:answer !~? '^[ynaq]$')
-              if (s:localvimrc_persistent == 0)
-                let l:message .= "localvimrc: source " . l:rcfile . "? ([y]es/[n]o/[a]ll/[s]how/[q]uit) "
-              elseif (s:localvimrc_persistent == 1)
-                let l:message .= "localvimrc: source " . l:rcfile . "? ([y]es/[n]o/[a]ll/[s]how/[q]uit ; persistent [Y]es/[N]o/[A]ll) "
-              else
-                let l:message .= "localvimrc: source " . l:rcfile . "? ([y]es/[n]o/[a]ll/[s]how/[q]uit) "
-              endif
-
-              " turn off possible previous :silent command to force this
-              " message to be printed
-              unsilent let l:answer = inputdialog(l:message)
-              call s:LocalVimRCDebug(2, "answer is \"" . l:answer . "\"")
-
-              if empty(l:answer)
-                call s:LocalVimRCDebug(2, "aborting on empty answer")
-                let l:answer = "q"
-              endif
-
-              " add the content of the file for repeating the question
-              let l:message = ""
-              if (l:answer =~? "^s$")
-                let l:message .= "localvimrc: >>>>>>>> start content of " . l:rcfile . "\n"
-                let l:content_max = 10
-                let l:content = readfile(l:rcfile, "", l:content_max + 1)
-                for l:line in l:content
-                  let l:message .= "localvimrc: " . l:line . "\n"
-                endfor
-                if len(l:content) > l:content_max
-                  let l:message .= "localvimrc: ======== TRUNCATED AFTER " . l:content_max . " LINES!\n"
-                endif
-                let l:message .= "localvimrc: <<<<<<<< end  content of " . l:rcfile . "\n"
-              endif
-            endwhile
-          endif
-
-          " make answer upper case if persistence is 2 ("force")
-          if (s:localvimrc_persistent == 2)
-            let l:answer = toupper(l:answer)
-          endif
-
-          " store y/n answers
-          if (l:answer =~? "^y$")
-            let l:stored_answer = l:answer
-          elseif (l:answer =~? "^n$")
-            let l:stored_answer = l:answer
-          elseif (l:answer =~# "^a$")
-            let l:stored_answer = "y"
-          elseif (l:answer =~# "^A$")
-            let l:stored_answer = "Y"
-          endif
-
-          " check the answer
-          if (l:answer =~? '^[ya]$')
-            let l:rcfile_load = "yes"
-          elseif (l:answer =~? "^q$")
-            call s:LocalVimRCDebug(1, "ended processing files")
-            break
-          endif
-        endif
-      endif
-
-      " load unconditionally if in non-interactive mode
-      if (l:rcfile_load == "unknown")
-        if (s:localvimrc_ask == 0)
-          let l:rcfile_load = "yes"
-        endif
-      endif
-
-      " should this rc file be loaded?
-      if (l:rcfile_load == "yes")
-        " store name and directory of file
-        let g:localvimrc_file = resolve(expand("<afile>:p"))
-        let g:localvimrc_file_dir = fnamemodify(g:localvimrc_file, ":h")
-        call s:LocalVimRCDebug(3, "g:localvimrc_file = " . g:localvimrc_file . ", g:localvimrc_file_dir = " . g:localvimrc_file_dir)
-
-        " store name and directory of script
-        let g:localvimrc_script = l:rcfile
-        let g:localvimrc_script_dir = fnamemodify(g:localvimrc_script, ":h")
-        call s:LocalVimRCDebug(3, "g:localvimrc_script = " . g:localvimrc_script . ", g:localvimrc_script_dir = " . g:localvimrc_script_dir)
-
-        " store name and directory of unresolved script
-        let g:localvimrc_script_unresolved = l:rcfile_unresolved
-        let g:localvimrc_script_dir_unresolved = fnamemodify(g:localvimrc_script_unresolved, ":h")
-        call s:LocalVimRCDebug(3, "g:localvimrc_script_unresolved = " . g:localvimrc_script_unresolved . ", g:localvimrc_script_dir_unresolved = " . g:localvimrc_script_dir_unresolved)
-
-        " reset if checksum changed
-        if (!l:checksum_is_same)
-          if has_key(s:localvimrc_sourced, l:rcfile)
-            unlet s:localvimrc_sourced[l:rcfile]
-            call s:LocalVimRCDebug(2, "resetting 'sourced' information")
-          endif
-        endif
-
-        " detect if this local vimrc file had been loaded
-        let g:localvimrc_sourced_once = 0
-        let g:localvimrc_sourced_once_for_file = 0
-        if has_key(s:localvimrc_sourced, l:rcfile)
-          let g:localvimrc_sourced_once = 1
-          if index(s:localvimrc_sourced[l:rcfile], g:localvimrc_file) >= 0
-            let g:localvimrc_sourced_once_for_file = 1
-          else
-            call add(s:localvimrc_sourced[l:rcfile], g:localvimrc_file)
-          endif
-        else
-          let s:localvimrc_sourced[l:rcfile] = [ g:localvimrc_file ]
-        endif
-        call s:LocalVimRCDebug(3, "g:localvimrc_sourced_once = " . g:localvimrc_sourced_once . ", g:localvimrc_sourced_once_for_file = " . g:localvimrc_sourced_once_for_file)
-
-        " generate command
-        let l:command = "source " . fnameescape(l:rcfile)
-
-        " emit an autocommand before sourcing
-        if (s:localvimrc_autocmd == 1)
-          call s:LocalVimRCUserAutocommand('LocalVimRCPre')
-        endif
-
-        " add 'sandbox' if requested
-        if (s:localvimrc_sandbox != 0)
-          call s:LocalVimRCDebug(2, "using sandbox")
-          try
-            " execute the command
-            exec "sandbox " . l:command
-            call s:LocalVimRCDebug(1, "sourced " . l:rcfile)
-          catch ^Vim\%((\a\+)\)\=:E48
-            call s:LocalVimRCDebug(1, "unable to use sandbox on '" . l:rcfile . "'")
-
-            if (s:localvimrc_ask == 1)
-              if (l:sandbox_answer !~? "^a$")
-                if l:stored_sandbox_answer != ""
-                  let l:sandbox_answer = l:stored_sandbox_answer
-                  call s:LocalVimRCDebug(2, "reuse previous sandbox answer \"" . l:stored_sandbox_answer . "\"")
-                else
-                  call s:LocalVimRCDebug(2, "need to ask")
-                  let l:sandbox_answer = ""
-                  while (l:sandbox_answer !~? '^[ynaq]$')
-                    if (s:localvimrc_persistent == 0)
-                      let l:message = "localvimrc: unable to use 'sandbox' for " . l:rcfile . ".\nlocalvimrc: Source it anyway? ([y]es/[n]o/[a]ll/[q]uit) "
-                    elseif (s:localvimrc_persistent == 1)
-                      let l:message = "localvimrc: unable to use 'sandbox' for " . l:rcfile . ".\nlocalvimrc: Source it anyway? ([y]es/[n]o/[a]ll/[q]uit ; persistent [Y]es/[N]o/[A]ll) "
-                    else
-                      let l:message = "localvimrc: unable to use 'sandbox' for " . l:rcfile . ".\nlocalvimrc: Source it anyway? ([y]es/[n]o/[a]ll/[q]uit) "
-                    endif
-
-                    " turn off possible previous :silent command to force this
-                    " message to be printed
-                    unsilent let l:sandbox_answer = inputdialog(l:message)
-                    call s:LocalVimRCDebug(2, "sandbox answer is \"" . l:sandbox_answer . "\"")
-
-                    if empty(l:sandbox_answer)
-                      call s:LocalVimRCDebug(2, "aborting on empty sandbox answer")
-                      let l:sandbox_answer = "q"
-                    endif
-                  endwhile
-                endif
-              endif
-
-              " make sandbox_answer upper case if persistence is 2 ("force")
-              if (s:localvimrc_persistent == 2)
-                let l:sandbox_answer = toupper(l:sandbox_answer)
-              endif
-
-              " store y/n answers
-              if (l:sandbox_answer =~? "^y$")
-                let l:stored_sandbox_answer = l:sandbox_answer
-              elseif (l:sandbox_answer =~? "^n$")
-                let l:stored_sandbox_answer = l:sandbox_answer
-              elseif (l:sandbox_answer =~# "^a$")
-                let l:stored_sandbox_answer = "y"
-              elseif (l:sandbox_answer =~# "^A$")
-                let l:stored_sandbox_answer = "Y"
-              endif
-
-              " check the sandbox_answer
-              if (l:sandbox_answer =~? '^[ya]$')
-                " execute the command
-                exec l:command
-                call s:LocalVimRCDebug(1, "sourced " . l:rcfile)
-              elseif (l:sandbox_answer =~? "^q$")
-                call s:LocalVimRCDebug(1, "ended processing files")
-                break
-              endif
-            endif
-          endtry
-        else
-          " execute the command
-          exec l:command
-          call s:LocalVimRCDebug(1, "sourced " . l:rcfile)
-        endif
-
-        " emit an autocommands after sourcing
-        if (s:localvimrc_autocmd == 1)
-          call s:LocalVimRCUserAutocommand('LocalVimRCPost')
-        endif
-
-        call add(l:sourced_files, l:rcfile)
-
-        " remove global variables again
-        unlet g:localvimrc_file
-        unlet g:localvimrc_file_dir
-        unlet g:localvimrc_script
-        unlet g:localvimrc_script_dir
-        unlet g:localvimrc_script_unresolved
-        unlet g:localvimrc_script_dir_unresolved
-        unlet g:localvimrc_sourced_once
-        unlet g:localvimrc_sourced_once_for_file
-      else
-        call s:LocalVimRCDebug(1, "skipping " . l:rcfile)
-      endif
-
-      " calculate checksum for each processed file
-      let l:stored_checksum = s:LocalVimRCCalcChecksum(l:rcfile)
-
-      " store information again
-      let s:localvimrc_data[l:rcfile] = [ l:stored_answer, l:stored_sandbox_answer, l:stored_checksum ]
-
-      " check if sourcing of files should be ended by variable set by
-      " local vimrc file
-      if (s:localvimrc_finish != 0)
-        break
-      endif
-    endif
-  endfor
-
-  " store information about source local vimrc files in buffer local variable
-  if exists("b:localvimrc_sourced_files")
-    call extend(l:sourced_files, b:localvimrc_sourced_files)
-  endif
-  if exists("*uniq")
-    call uniq(sort(l:sourced_files))
-  else
-    let l:sourced_files_uniq = {}
-    for l:file in l:sourced_files
-      let l:sourced_files_uniq[l:file] = 1
-    endfor
-    let l:sourced_files = sort(keys(l:sourced_files_uniq))
-  endif
-  let b:localvimrc_sourced_files = l:sourced_files
-
-  " make information persistent
-  call s:LocalVimRCWritePersistent()
-
-  " end marker
-  call s:LocalVimRCDebug(1, "==================================================")
-endfunction
-
-
-" Function: s:LocalVimRCUserAutocommand(event) {{{2
-"
-function! s:LocalVimRCUserAutocommand(event)
-  if exists('#User#'.a:event)
-    call s:LocalVimRCDebug(1, 'executing User autocommand '.a:event)
-    if v:version >= 704 || (v:version == 703 && has('patch442'))
-      exec 'doautocmd <nomodeline> User ' . a:event
-    else
-      exec 'doautocmd User ' . a:event
-    endif
-  endif
-endfunction
-
-" Function: s:LocalVimRCMatchAny(str, patterns) {{{2
-"
-" check if any of the regular expressions given in the list patterns matches the
-" string. If there is a match, return value is "1". If there is no match,
-" return value is "0".
-"
-function! s:LocalVimRCMatchAny(str, patterns)
-  for l:pattern in a:patterns
-    if (match(a:str, l:pattern) != -1)
-      return 1
-    endif
-  endfor
-  return 0
-endfunction
-
-" Function: s:LocalVimRCCalcChecksum(filename) {{{2
-"
-" calculate checksum and store it in dictionary
-"
-function! s:LocalVimRCCalcChecksum(file)
-  let l:checksum = getfsize(a:file) . getfperm(a:file) . getftime(a:file)
-
-  call s:LocalVimRCDebug(3, "checksum calc -> " . fnameescape(a:file) . " : " . l:checksum)
-
-  return l:checksum
-endfunction
-
-" Function: s:LocalVimRCCheckChecksum(filename, checksum) {{{2
-"
-" Check checksum in dictionary. Return "0" if it does not exist, "1" otherwise
-"
-function! s:LocalVimRCCheckChecksum(file, checksum)
-  let l:return = 0
-  let l:checksum = s:LocalVimRCCalcChecksum(a:file)
-
-  if (a:checksum == l:checksum)
-    let l:return = 1
-  endif
-
-  return l:return
-endfunction
-
-" Function: s:LocalVimRCReadPersistent() {{{2
-"
-" read decision variables from persistence file
-"
-function! s:LocalVimRCReadPersistent()
-  if (s:localvimrc_persistent >= 1)
-    " check if persistence file is readable
-    if filereadable(s:localvimrc_persistence_file)
-
-      " check if reading is needed
-      let l:checksum = s:LocalVimRCCalcChecksum(s:localvimrc_persistence_file)
-      if l:checksum != s:localvimrc_persistence_file_checksum
-
-        " read persistence file
-        let l:serialized = readfile(s:localvimrc_persistence_file)
-        call s:LocalVimRCDebug(3, "read persistent data: " . string(l:serialized))
-
-        " deserialize stored persistence information
-        for l:line in l:serialized
-          let l:columns = split(l:line, '[^\\]\zs|\|^|', 1)
-          if len(l:columns) != 3 && len(l:columns) != 4
-            call s:LocalVimRCDebug(1, "error in persistence file")
-            call s:LocalVimRCError("error in persistence file")
-          else
-            if len(l:columns) == 3
-              let [ l:key, l:answer, l:checksum ] = l:columns
-              let l:sandbox = ""
-            elseif len(l:columns) == 4
-              let [ l:key, l:answer, l:sandbox, l:checksum ] = l:columns
-            endif
-            let l:key = substitute(l:key, '\\|', '|', "g")
-            let l:answer = substitute(l:answer, '\\|', '|', "g")
-            let l:sandbox = substitute(l:sandbox, '\\|', '|', "g")
-            let l:checksum = substitute(l:checksum, '\\|', '|', "g")
-            let s:localvimrc_data[l:key] = [ l:answer, l:sandbox, l:checksum ]
-          endif
-        endfor
-      else
-        call s:LocalVimRCDebug(3, "persistence file did not change")
-      endif
-    else
-      call s:LocalVimRCDebug(1, "unable to read persistence file '" . s:localvimrc_persistence_file . "'")
-    endif
-  endif
-endfunction
-
-" Function: s:LocalVimRCWritePersistent() {{{2
-"
-" write decision variables to persistence file
-"
-function! s:LocalVimRCWritePersistent()
-  if (s:localvimrc_persistent >= 1)
-    " select only data relevant for persistence
-    let l:persistent_data = filter(copy(s:localvimrc_data), 'v:val[0] =~# "^[YN]$" || v:val[1] =~# "^[YN]$"')
-
-    " if there are answers to store and global variables are enabled for viminfo
-    if (len(l:persistent_data) > 0)
-      if l:persistent_data != s:localvimrc_persistent_data
-        " check if persistence file is writable
-        if filereadable(s:localvimrc_persistence_file) && filewritable(s:localvimrc_persistence_file) ||
-              \ !filereadable(s:localvimrc_persistence_file) && filewritable(fnamemodify(s:localvimrc_persistence_file, ":h"))
-          let l:serialized = [ ]
-          for [ l:key, l:value ] in items(l:persistent_data)
-            if len(l:value) == 2
-              let [ l:answer, l:checksum ] = l:value
-              let l:sandbox = ""
-            elseif len(l:value) == 3
-              let [ l:answer, l:sandbox, l:checksum ] = l:value
-            else
-              let l:answer = ""
-              let l:sandbox = ""
-              let l:checksum = ""
-            endif
-
-            " delete none persisten answers
-            if l:answer !~# "^[YN]$"
-              let l:answer = ""
-            endif
-            if l:sandbox !~# "^[YN]$"
-              let l:sandbox = ""
-            endif
-
-            call add(l:serialized, escape(l:key, '|') . "|" . escape(l:answer, '|') . "|" . escape(l:sandbox, '|') . "|" . escape(l:checksum, '|'))
-          endfor
-
-          call s:LocalVimRCDebug(3, "write persistent data: " . string(l:serialized))
-
-          " check if there is a exising persistence file
-          if filereadable(s:localvimrc_persistence_file)
-            " first write backup file to avoid lost persistence information
-            " on write errors if partition is full. Done this way because
-            " write/rename approach causes permission problems with sudo.
-            let l:backup_name = s:localvimrc_persistence_file . "~"
-            let l:backup_content = readfile(s:localvimrc_persistence_file, "b")
-            if writefile(l:backup_content, l:backup_name, "b") == 0
-              if writefile(l:serialized, s:localvimrc_persistence_file) == 0
-                call delete(l:backup_name)
-              else
-                call s:LocalVimRCError("error while writing persistence file, backup stored in '" . l:backup_name . "'")
-              endif
-            else
-              call s:LocalVimRCError("unable to write persistence file backup '" . l:backup_name . "'")
-            endif
-          else
-            " there is no persistence file to backup, just write new one
-            if writefile(l:serialized, s:localvimrc_persistence_file) != 0
-              call s:LocalVimRCError("unable to write persistence file '" . s:localvimrc_persistence_file . "'")
-            endif
-          endif
-        else
-          call s:LocalVimRCError("unable to write persistence file '" . s:localvimrc_persistence_file . "'")
-        endif
-
-        " store persistence file checksum
-        let s:localvimrc_persistence_file_checksum = s:LocalVimRCCalcChecksum(s:localvimrc_persistence_file)
-      endif
-      let s:localvimrc_persistent_data = l:persistent_data
-    endif
-  else
-    " delete persistence file
-    if filewritable(s:localvimrc_persistence_file)
-      call delete(s:localvimrc_persistence_file)
-    endif
-  endif
-
-  " remove old persistence data
-  if exists("g:LOCALVIMRC_ANSWERS")
-    unlet g:LOCALVIMRC_ANSWERS
-  endif
-  if exists("g:LOCALVIMRC_CHECKSUMS")
-    unlet g:LOCALVIMRC_CHECKSUMS
-  endif
-
-endfunction
-
-" Function: s:LocalVimRCClear() {{{2
-"
-" clear all stored data
-"
-function! s:LocalVimRCClear()
-  let s:localvimrc_data = {}
-  call s:LocalVimRCDebug(3, "cleared local data")
-
-  let s:localvimrc_persistence_file_checksum = ""
-  call s:LocalVimRCDebug(3, "cleared persistence file checksum")
-
-  let s:localvimrc_persistent_data = {}
-  call s:LocalVimRCDebug(3, "cleared persistent data")
-
-  if filewritable(s:localvimrc_persistence_file)
-    call delete(s:localvimrc_persistence_file)
-    call s:LocalVimRCDebug(3, "deleted persistence file")
-  endif
-endfunction
-
-" Function: LocalVimRCEnable() {{{2
-"
-" enable processing of local vimrc files
-"
-function! s:LocalVimRCEnable()
-  " if this call really enables the plugin load the local vimrc files for the
-  " current buffer
-  if s:localvimrc_enable == 0
-    call s:LocalVimRCDebug(1, "enable processing of local vimrc files")
-    let s:localvimrc_enable = 1
-    call s:LocalVimRC()
-  endif
-endfunction
-
-" Function: LocalVimRCDisable() {{{2
-"
-" disable processing of local vimrc files
-"
-function! s:LocalVimRCDisable()
-  call s:LocalVimRCDebug(1, "disable processing of local vimrc files")
-  let s:localvimrc_enable = 0
-endfunction
-
-" Function: LocalVimRCFinish() {{{2
-"
-" finish processing of local vimrc files
-"
-function! LocalVimRCFinish()
-  call s:LocalVimRCDebug(1, "will finish sourcing files after this file")
-  let s:localvimrc_finish = 1
-endfunction
-
-" Function: s:LocalVimRCError(text) {{{2
-"
-" output error message
-"
-function! s:LocalVimRCError(text)
-  echohl ErrorMsg | echom "localvimrc: " . a:text | echohl None
-endfunction
-
-" Function: s:LocalVimRCDebug(level, text) {{{2
-"
-" output debug message, if this message has high enough importance
-"
-function! s:LocalVimRCDebug(level, text)
-  if (g:localvimrc_debug >= a:level)
-    echom "localvimrc: " . a:text
-  endif
-endfunction
-
-" Function: s:LocalVimRCEdit() {{{2
-"
-" open the local vimrc file for the current buffer in an split window for
-" editing. If more than one local vimrc file has been sourced, the user
-" can decide which file to edit.
-"
-function! s:LocalVimRCEdit()
-  if exists("b:localvimrc_sourced_files")
-    let l:items = len(b:localvimrc_sourced_files)
-    if l:items == 0
-      call s:LocalVimRCError("No local vimrc file has been sourced")
-    elseif l:items == 1
-      " edit the only sourced file
-      let l:file = b:localvimrc_sourced_files[0]
-    elseif l:items > 1
-      " build message for asking the user
-      let l:message = [ "Select local vimrc file to edit:" ]
-      call extend(l:message, map(copy(b:localvimrc_sourced_files), 'v:key+1 . " " . v:val'))
-
-      " ask the user which one should be edited
-      let l:answer = inputlist(l:message)
-      if l:answer =~ '^\d\+$' && l:answer > 0 && l:answer <= l:items
-        let l:file = b:localvimrc_sourced_files[l:answer-1]
-      endif
-    endif
-
-    if exists("l:file")
-      execute 'silent! split ' . fnameescape(l:file)
-    endif
-  endif
-endfunction
-
-" Section: Commands {{{1
-command! LocalVimRC        call s:LocalVimRC()
-command! LocalVimRCClear   call s:LocalVimRCClear()
-command! LocalVimRCEdit    call s:LocalVimRCEdit()
-command! LocalVimRCEnable  call s:LocalVimRCEnable()
-command! LocalVimRCDisable call s:LocalVimRCDisable()
-
-" vim600: foldmethod=marker foldlevel=0 :

+ 8 - 10
vimrc

@@ -13,10 +13,7 @@ Plugin 'embear/vim-localvimrc'
 
 Plugin 'rust-lang/rust.vim'
 Plugin 'vim-syntastic/syntastic'
-Plugin 'kongo2002/fsharp-vim'
-Plugin 'amiralies/vim-rescript'
-Plugin 'jordwalke/vim-reasonml'
-"Plugin 'jacoborus/tender.vim'  " tender colorscheme
+Plugin 'jacoborus/tender.vim'  " tender colorscheme
 
 call vundle#end()
 filetype plugin indent on
@@ -30,8 +27,6 @@ let g:syntastic_python_checkers = ['flake8', 'python']
 " General setup
 " -------------
 
-syntax enable
-
 " Automatically remove all trailing whitespace
 "autocmd BufWritePre * :%s/\s\+$//e
 
@@ -54,14 +49,17 @@ if (has("termguicolors"))
  set termguicolors
 endif
 
+" For Neovim 0.1.3 and 0.1.4
+let $NVIM_TUI_ENABLE_TRUE_COLOR=1
+
 " Color scheme
-"set background=dark
+syntax enable
 if &diff
     autocmd VimEnter * colorscheme blue
 else
-    colorscheme darkspectrum
-    runtime! plugin/guicolorscheme.vim
-    autocmd VimEnter * GuiColorScheme darkspectrum
+    colorscheme tender
+    " Transparent background
+    hi Normal guibg=NONE ctermbg=NONE
 endif
 
 set fileformats=unix    " obviously...