Team Ai
Datasetpublic

codekingpro/portable-devtools

sourceHugging Faceupdated 5mo agoView on Hugging Face
1likes15kdownloads
freebasic.vim86 linesDownload Raw Back to ftplugin
1" Vim filetype plugin file2" Language:	FreeBASIC3" Maintainer:	Doug Kearns <dougkearns@gmail.com>4" Last Change:	2023 Aug 225 6" Setup {{{17if exists("b:did_ftplugin")8  finish9endif10 11let s:cpo_save = &cpo12set cpo&vim13 14runtime! ftplugin/basic.vim15 16let s:dialect = freebasic#GetDialect()17 18" Comments {{{119" add ''comments before 'comments20let &l:comments = "sO:*\ -,mO:*\ \ ,exO:*/,s1:/',mb:',ex:'/,:''," .. &l:comments21 22" Match words {{{123if exists("loaded_matchit")24  let s:line_start = '\%(^\s*\)\@<='25  let s:not_end    = '\%(end\s\+\)\@<!'26 27  let b:match_words ..= ','28 29  if s:dialect == 'fb'30    let b:match_words ..= s:not_end .. '\<constructor\>:\<end\s\+constructor\>,' ..31		  \	  s:not_end .. '\<destructor\>:\<end\s\+destructor\>,' ..32		  \	  s:not_end .. '\<property\>:\<end\s\+property\>,' ..33		  \	  s:not_end .. '\<operator\>:\<end\s\+operator\>,' ..34		  \	  s:not_end .. '\<extern\%(\s\+"\)\@=:\<end\s\+extern\>,'35  endif36 37  if s:dialect == 'fb' || s:dialect == 'deprecated'38    let b:match_words ..= s:not_end .. '\<scope\>:\<end\s\+scope\>,'39  endif40 41  if s:dialect == 'qb'42    let b:match_words ..= s:not_end .. '\<__asm\>:\<end\s\+__asm\>,' ..43		  \	  s:not_end .. '\<__union\>:\<end\s\+__union\>,' ..44		  \	  s:not_end .. '\<__with\>:\<end\s\+__with\>,'45  else46    let b:match_words ..= s:not_end .. '\<asm\>:\<end\s\+asm\>,' ..47		  \	  s:not_end .. '\<namespace\>:\<end\s\+namespace\>,' ..48		  \	  s:not_end .. '\<union\>:\<end\s\+union\>,' ..49		  \	  s:not_end .. '\<with\>:\<end\s\+with\>,'50  endif51 52  let b:match_words ..= s:not_end .. '\<enum\>:\<end\s\+enum\>,' ..53		\     s:line_start .. '#\s*\%(if\|ifdef\|ifndef\)\>:' ..54		\       s:line_start .. '#\s*\%(else\|elseif\)\>:' ..55		\     s:line_start .. '#\s*endif\>,' ..56		\     s:line_start .. '#\s*macro\>:' .. s:line_start .. '#\s*endmacro\>,' ..57		\     "/':'/"58 59  " skip "function = <retval>" and "continue { do | for | while }"60  if s:dialect == "qb"61    let s:continue = "__continue"62  else63    let s:continue = "continue"64  endif65  let b:match_skip ..= ' || strpart(getline("."), col(".") - 1) =~? "^\\<function\\s\\+="' ..66		  \    ' || strpart(getline("."), 0, col(".") ) =~? "\\<' .. s:continue .. '\\s\\+"'67 68  unlet s:not_end s:line_start69endif70 71if (has("gui_win32") || has("gui_gtk")) && exists("b:basic_set_browsefilter")72  let b:browsefilter = "FreeBASIC Source Files (*.bas)\t*.bas\n" ..73		\      "FreeBASIC Header Files (*.bi)\t*.bi\n"74  if has("win32")75    let b:browsefilter ..= "All Files (*.*)\t*\n"76  else77    let b:browsefilter ..= "All Files (*)\t*\n"78  endif79endif80 81" Cleanup {{{182let &cpo = s:cpo_save83unlet s:cpo_save s:dialect84 85" vim: nowrap sw=2 sts=2 ts=8 noet fdm=marker:86 
codekingpro/portable-devtools · Team Ai