view runtime/ftplugin/csh.vim @ 18309:2047cb93eb0c v8.1.2149

patch 8.1.2149: crash when running out of memory very early Commit: https://github.com/vim/vim/commit/e3a22cb1ba057381be3e645479a537f8032f119f Author: Bram Moolenaar <Bram@vim.org> Date: Mon Oct 14 22:01:57 2019 +0200 patch 8.1.2149: crash when running out of memory very early Problem: Crash when running out of memory very early. Solution: Do not use IObuff when it's NULL. (closes https://github.com/vim/vim/issues/5052)
author Bram Moolenaar <Bram@vim.org>
date Mon, 14 Oct 2019 22:15:03 +0200
parents 94601b379f38
children 3b34837f4538
line wrap: on
line source

" Vim filetype plugin file
" Language:	csh
" Maintainer:	Dan Sharp <dwsharp at users dot sourceforge dot net>
" Last Changed: 20 Jan 2009
" URL:		http://dwsharp.users.sourceforge.net/vim/ftplugin

if exists("b:did_ftplugin") | finish | endif
let b:did_ftplugin = 1

" Make sure the continuation lines below do not cause problems in
" compatibility mode.
let s:save_cpo = &cpo
set cpo-=C

setlocal commentstring=#%s
setlocal formatoptions-=t
setlocal formatoptions+=crql

" Csh:  thanks to Johannes Zellner
" - Both foreach and end must appear alone on separate lines.
" - The words else and endif must appear at the beginning of input lines;
"   the if must appear alone on its input line or after an else.
" - Each case label and the default label must appear at the start of a
"   line.
" - while and end must appear alone on their input lines.
if exists("loaded_matchit")
    let b:match_words =
      \ '^\s*\<if\>.*(.*).*\<then\>:'.
      \   '^\s*\<else\>\s\+\<if\>.*(.*).*\<then\>:^\s*\<else\>:'.
      \   '^\s*\<endif\>,'.
      \ '\%(^\s*\<foreach\>\s\+\S\+\|^s*\<while\>\).*(.*):'.
      \   '\<break\>:\<continue\>:^\s*\<end\>,'.
      \ '^\s*\<switch\>.*(.*):^\s*\<case\>\s\+:^\s*\<default\>:^\s*\<endsw\>'
endif

" Change the :browse e filter to primarily show csh-related files.
if has("gui_win32")
    let  b:browsefilter="csh Scripts (*.csh)\t*.csh\n" .
		\	"All Files (*.*)\t*.*\n"
endif

" Undo the stuff we changed.
let b:undo_ftplugin = "setlocal commentstring< formatoptions<" .
		\     " | unlet! b:match_words b:browsefilter"

" Restore the saved compatibility options.
let &cpo = s:save_cpo
unlet s:save_cpo