From 2eae5db069dc171f74cd863487655f6a88e5384d Mon Sep 17 00:00:00 2001 From: Mehmet Samet Duman Date: Fri, 3 Apr 2026 22:21:25 +0300 Subject: NOISSUE rebrand vim to MNV's not Vim Signed-off-by: Mehmet Samet Duman --- uvim/runtime/ftplugin/freebasic.mnv | 85 +++++++++++++++++++++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100644 uvim/runtime/ftplugin/freebasic.mnv (limited to 'uvim/runtime/ftplugin/freebasic.mnv') diff --git a/uvim/runtime/ftplugin/freebasic.mnv b/uvim/runtime/ftplugin/freebasic.mnv new file mode 100644 index 0000000000..18b14e9b9d --- /dev/null +++ b/uvim/runtime/ftplugin/freebasic.mnv @@ -0,0 +1,85 @@ +" MNV filetype plugin file +" Language: FreeBASIC +" Maintainer: Doug Kearns +" Last Change: 2023 Aug 22 + +" Setup {{{1 +if exists("b:did_ftplugin") + finish +endif + +let s:cpo_save = &cpo +set cpo&mnv + +runtime! ftplugin/basic.mnv + +let s:dialect = freebasic#GetDialect() + +" Comments {{{1 +" add ''comments before 'comments +let &l:comments = "sO:*\ -,mO:*\ \ ,exO:*/,s1:/',mb:',ex:'/,:''," .. &l:comments + +" Match words {{{1 +if exists("loaded_matchit") + let s:line_start = '\%(^\s*\)\@<=' + let s:not_end = '\%(end\s\+\)\@:\,' .. + \ s:not_end .. '\:\,' .. + \ s:not_end .. '\:\,' .. + \ s:not_end .. '\:\,' .. + \ s:not_end .. '\,' + endif + + if s:dialect == 'fb' || s:dialect == 'deprecated' + let b:match_words ..= s:not_end .. '\:\,' + endif + + if s:dialect == 'qb' + let b:match_words ..= s:not_end .. '\<__asm\>:\,' .. + \ s:not_end .. '\<__union\>:\,' .. + \ s:not_end .. '\<__with\>:\,' + else + let b:match_words ..= s:not_end .. '\:\,' .. + \ s:not_end .. '\:\,' .. + \ s:not_end .. '\:\,' .. + \ s:not_end .. '\:\,' + endif + + let b:match_words ..= s:not_end .. '\:\,' .. + \ s:line_start .. '#\s*\%(if\|ifdef\|ifndef\)\>:' .. + \ s:line_start .. '#\s*\%(else\|elseif\)\>:' .. + \ s:line_start .. '#\s*endif\>,' .. + \ s:line_start .. '#\s*macro\>:' .. s:line_start .. '#\s*endmacro\>,' .. + \ "/':'/" + + " skip "function = " and "continue { do | for | while }" + if s:dialect == "qb" + let s:continue = "__continue" + else + let s:continue = "continue" + endif + let b:match_skip ..= ' || strpart(getline("."), col(".") - 1) =~? "^\\