blob: 5525cb6cdef926bf7b07d6d9e969f218a1a2df47 [file] [log] [blame]
Bram Moolenaar071d4272004-06-13 20:20:40 +00001" Vim filetype plugin file
dkearnsf937ab32023-08-29 05:32:27 +10002" Language: InstallShield (ft=ishd)
3" Maintainer: Doug Kearns <dougkearns@gmail.com>
4" Previous Maintainer: Johannes Zellner <johannes@zellner.org>
Riley Bruins736cd182025-06-18 18:43:42 +02005" Last Change: 2025 Jun 18
6" 2025 Jun 18 by Vim Project: set comments and commentstring option (#17490)
Bram Moolenaar071d4272004-06-13 20:20:40 +00007
8if exists("b:did_ftplugin") | finish | endif
9let b:did_ftplugin = 1
10
Bram Moolenaar8e52a592012-05-18 21:49:28 +020011" Using line continuation here.
12let s:cpo_save = &cpo
Bram Moolenaar071d4272004-06-13 20:20:40 +000013set cpo-=C
14
dkearnsf937ab32023-08-29 05:32:27 +100015setlocal foldmethod=syntax
Riley Bruins736cd182025-06-18 18:43:42 +020016setlocal commentstring=//\ %s
17setlocal comments=sO:*\ -,mO:*\ \ ,exO:*/,s1:/*,mb:*,ex:*/,://
dkearnsf937ab32023-08-29 05:32:27 +100018
Riley Bruins736cd182025-06-18 18:43:42 +020019let b:undo_ftplugin = "setl fdm< com< cms"
dkearnsf937ab32023-08-29 05:32:27 +100020
Bram Moolenaar071d4272004-06-13 20:20:40 +000021" matchit support
22if exists("loaded_matchit")
dkearnsf937ab32023-08-29 05:32:27 +100023 let b:match_ignorecase = 0
24 let b:match_words =
Bram Moolenaar071d4272004-06-13 20:20:40 +000025 \ '\%(^\s*\)\@<=\<function\>\s\+[^()]\+\s*(:\%(^\s*\)\@<=\<begin\>\s*$:\%(^\s*\)\@<=\<return\>:\%(^\s*\)\@<=\<end\>\s*;\s*$,' .
26 \ '\%(^\s*\)\@<=\<repeat\>\s*$:\%(^\s*\)\@<=\<until\>\s\+.\{-}\s*;\s*$,' .
27 \ '\%(^\s*\)\@<=\<switch\>\s*(.\{-}):\%(^\s*\)\@<=\<\%(case\|default\)\>:\%(^\s*\)\@<=\<endswitch\>\s*;\s*$,' .
28 \ '\%(^\s*\)\@<=\<while\>\s*(.\{-}):\%(^\s*\)\@<=\<endwhile\>\s*;\s*$,' .
29 \ '\%(^\s*\)\@<=\<for\>.\{-}\<\%(to\|downto\)\>:\%(^\s*\)\@<=\<endfor\>\s*;\s*$,' .
30 \ '\%(^\s*\)\@<=\<if\>\s*(.\{-})\s*then:\%(^\s*\)\@<=\<else\s*if\>\s*([^)]*)\s*then:\%(^\s*\)\@<=\<else\>:\%(^\s*\)\@<=\<endif\>\s*;\s*$'
dkearnsf937ab32023-08-29 05:32:27 +100031 let b:undo_ftplugin .= " | unlet! b:match_ignorecase b:match_words"
Bram Moolenaar071d4272004-06-13 20:20:40 +000032endif
33
dkearnsf937ab32023-08-29 05:32:27 +100034if (has("gui_win32") || has("gui_gtk")) && !exists("b:browsefilter")
Doug Kearns93197fd2024-01-14 20:59:02 +010035 let b:browsefilter = "InstallShield Files (*.rul)\t*.rul\n"
36 if has("win32")
37 let b:browsefilter .= "All Files (*.*)\t*\n"
38 else
39 let b:browsefilter .= "All Files (*)\t*\n"
40 endif
dkearnsf937ab32023-08-29 05:32:27 +100041 let b:undo_ftplugin .= " | unlet! b:browsefilter"
Bram Moolenaar071d4272004-06-13 20:20:40 +000042endif
Bram Moolenaar8e52a592012-05-18 21:49:28 +020043
44let &cpo = s:cpo_save
45unlet s:cpo_save