Mercurial > vim
diff runtime/ftplugin/pascal.vim @ 24569:e3ec2ec8841a
Update runtime files
Commit: https://github.com/vim/vim/commit/4c295027a426986566cd7a76c47a6d3a529727e7
Author: Bram Moolenaar <Bram@vim.org>
Date: Sun May 2 17:19:11 2021 +0200
Update runtime files
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sun, 02 May 2021 17:30:05 +0200 |
parents | 0877b8d6370e |
children | c968191a8557 |
line wrap: on
line diff
--- a/runtime/ftplugin/pascal.vim +++ b/runtime/ftplugin/pascal.vim @@ -1,20 +1,50 @@ " Vim filetype plugin file -" Language: pascal -" Maintainer: Dan Sharp <dwsharp at users dot sourceforge dot net> -" Last Changed: 11 Apr 2011 -" URL: http://dwsharp.users.sourceforge.net/vim/ftplugin +" Language: Pascal +" Maintainer: Doug Kearns <dougkearns@gmail.com> +" Previous Maintainer: Dan Sharp <dwsharp at users dot sourceforge dot net> +" Last Change: 2021 Apr 23 if exists("b:did_ftplugin") | finish | endif let b:did_ftplugin = 1 -if exists("loaded_matchit") - let b:match_ignorecase = 1 " (pascal is case-insensitive) +let s:cpo_save = &cpo +set cpo&vim + +set comments=s:(*,m:\ ,e:*),s:{,m:\ ,e:} +set commentstring={%s} - let b:match_words = '\<\%(begin\|case\|record\|object\|try\)\>' - let b:match_words .= ':\<^\s*\%(except\|finally\)\>:\<end\>' - let b:match_words .= ',\<repeat\>:\<until\>' - let b:match_words .= ',\<if\>:\<else\>' +if exists("pascal_delphi") + set comments+=:/// +endif + +if !exists("pascal_traditional") + set commentstring=//\ %s + set comments+=:// endif -" Undo the stuff we changed. -let b:undo_ftplugin = "unlet! b:match_words" +setlocal formatoptions-=t formatoptions+=croql + +if exists("loaded_matchit") + let b:match_ignorecase = 1 " (Pascal is case-insensitive) + + let b:match_words = '\<\%(asm\|begin\|case\|\%(\%(=\|packed\)\s*\)\@<=\%(class\|object\)\|\%(=\s*\)\@<=interface\|record\|try\)\>' + let b:match_words .= ':\%(^\s*\)\@<=\%(except\|finally\|else\|otherwise\)\>' + let b:match_words .= ':\<end\>\.\@!' + + let b:match_words .= ',\<repeat\>:\<until\>' + " let b:match_words .= ',\<if\>:\<else\>' " FIXME - else clashing with middle else. It seems like a debatable use anyway. + let b:match_words .= ',\<unit\>:\<\%(\%(^\s*\)\@<=interface\|implementation\|initialization\|finalization\)\>:\<end\.' +endif + +if (has("gui_win32") || has("gui_gtk")) && !exists("b:browsefilter") + let b:browsefilter = "Pascal Source Files (*.pas *.pp *.inc)\t*.pas;*.pp;*.inc\n" . + \ "All Files (*.*)\t*.*\n" +endif + +let b:undo_ftplugin = "setl fo< cms< com< " .. + \ "| unlet! b:browsefilter b:match_words b:match_ignorecase" + +let &cpo = s:cpo_save +unlet s:cpo_save + +" vim: nowrap sw=2 sts=2 ts=8 noet: