blob: 3529e1e3fdfa97a8e3c70ef7c084969b8c5d5fce [file] [log] [blame]
Bram Moolenaar071d4272004-06-13 20:20:40 +00001" Vim filetype plugin file.
Bram Moolenaar71b6d332022-09-10 13:13:14 +01002" Language: Lua
Bram Moolenaar519cc552021-11-16 19:18:26 +00003" Maintainer: Doug Kearns <dougkearns@gmail.com>
4" Previous Maintainer: Max Ischenko <mfi@ukr.net>
Bram Moolenaar71b6d332022-09-10 13:13:14 +01005" Contributor: Dorai Sitaram <ds26@gte.com>
Bram Moolenaar3c053a12022-10-16 13:11:12 +01006" C.D. MacEachern <craig.daniel.maceachern@gmail.com>
Bram Moolenaar71badf92023-04-22 22:40:14 +01007" Tyler Miller <tmillr@proton.me>
8" Last Change: 2023 Mar 24
Bram Moolenaar071d4272004-06-13 20:20:40 +00009
Bram Moolenaar071d4272004-06-13 20:20:40 +000010if exists("b:did_ftplugin")
11 finish
12endif
Bram Moolenaar071d4272004-06-13 20:20:40 +000013let b:did_ftplugin = 1
14
Bram Moolenaarf1568ec2011-12-14 21:17:39 +010015let s:cpo_save = &cpo
16set cpo&vim
17
Bram Moolenaar71badf92023-04-22 22:40:14 +010018setlocal comments=:---,:--
Bram Moolenaar71b6d332022-09-10 13:13:14 +010019setlocal commentstring=--\ %s
Bram Moolenaar519cc552021-11-16 19:18:26 +000020setlocal formatoptions-=t formatoptions+=croql
Bram Moolenaar071d4272004-06-13 20:20:40 +000021
Bram Moolenaar71b6d332022-09-10 13:13:14 +010022let &l:define = '\<function\|\<local\%(\s\+function\)\='
23
Bram Moolenaar3c053a12022-10-16 13:11:12 +010024" TODO: handle init.lua
Bram Moolenaarb59ae592022-11-23 23:46:31 +000025setlocal includeexpr=tr(v:fname,'.','/')
Bram Moolenaar071d4272004-06-13 20:20:40 +000026setlocal suffixesadd=.lua
27
Bram Moolenaar3c053a12022-10-16 13:11:12 +010028let b:undo_ftplugin = "setlocal cms< com< def< fo< inex< sua<"
Bram Moolenaar071d4272004-06-13 20:20:40 +000029
Bram Moolenaar519cc552021-11-16 19:18:26 +000030if exists("loaded_matchit") && !exists("b:match_words")
Bram Moolenaar071d4272004-06-13 20:20:40 +000031 let b:match_ignorecase = 0
32 let b:match_words =
Bram Moolenaar71b6d332022-09-10 13:13:14 +010033 \ '\<\%(do\|function\|if\)\>:' ..
34 \ '\<\%(return\|else\|elseif\)\>:' ..
35 \ '\<end\>,' ..
36 \ '\<repeat\>:\<until\>,' ..
37 \ '\%(--\)\=\[\(=*\)\[:]\1]'
38 let b:undo_ftplugin ..= " | unlet! b:match_words b:match_ignorecase"
Bram Moolenaar519cc552021-11-16 19:18:26 +000039endif
Bram Moolenaar071d4272004-06-13 20:20:40 +000040
Bram Moolenaar519cc552021-11-16 19:18:26 +000041if (has("gui_win32") || has("gui_gtk")) && !exists("b:browsefilter")
Bram Moolenaar71b6d332022-09-10 13:13:14 +010042 let b:browsefilter = "Lua Source Files (*.lua)\t*.lua\n" ..
43 \ "All Files (*.*)\t*.*\n"
44 let b:undo_ftplugin ..= " | unlet! b:browsefilter"
Bram Moolenaar519cc552021-11-16 19:18:26 +000045endif
Bram Moolenaarf1568ec2011-12-14 21:17:39 +010046
47let &cpo = s:cpo_save
48unlet s:cpo_save
Bram Moolenaar71b6d332022-09-10 13:13:14 +010049
50" vim: nowrap sw=2 sts=2 ts=8 noet: