From 61ea4665916909853cf74256a6b350a680f08565 Mon Sep 17 00:00:00 2001 From: Christian Clason Date: Tue, 16 Jul 2024 22:23:44 +0200 Subject: vim-patch:9.1.0592: runtime: filetype: Mediawiki files are not recognized Problem: filetype: Mediawiki files are not recognized Solution: detect "*.mw" and "*.wiki" as mediawiki filetype, include basic syntax and filetype plugins. (AvidSeeker) closes: vim/vim#15266 https://github.com/vim/vim/commit/b5844104ab1259e061e023ea6259e4eb002e7170 Co-authored-by: AvidSeeker --- runtime/ftplugin/mediawiki.vim | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 runtime/ftplugin/mediawiki.vim (limited to 'runtime/ftplugin') diff --git a/runtime/ftplugin/mediawiki.vim b/runtime/ftplugin/mediawiki.vim new file mode 100644 index 0000000000..efd2ae5c9b --- /dev/null +++ b/runtime/ftplugin/mediawiki.vim @@ -0,0 +1,42 @@ +" Language: MediaWiki +" Maintainer: Avid Seeker +" Home: http://en.wikipedia.org/wiki/Wikipedia:Text_editor_support#Vim +" Last Change: 2024 Jul 14 +" Credits: chikamichi +" + +if exists("b:did_ftplugin") + finish +endif +let g:did_ftplugin = 1 + +" Many MediaWiki wikis prefer line breaks only at the end of paragraphs +" (like in a text processor), which results in long, wrapping lines. +setlocal wrap linebreak +setlocal textwidth=0 + +setlocal formatoptions-=tc formatoptions+=l formatoptions+=roq +setlocal matchpairs+=<:> + +" Treat lists, indented text and tables as comment lines and continue with the +" same formatting in the next line (i.e. insert the comment leader) when hitting +" or using "o". +setlocal comments=n:#,n:*,n:\:,s:{\|,m:\|,ex:\|},s: +setlocal commentstring= + +" match HTML tags (taken directly from $VIM/ftplugin/html.vim) +if exists("loaded_matchit") + let b:match_ignorecase=0 + let b:match_skip = 's:Comment' + let b:match_words = '<:>,' . + \ '<\@<=[ou]l\>[^>]*\%(>\|$\):<\@<=li\>:<\@<=/[ou]l>,' . + \ '<\@<=dl\>[^>]*\%(>\|$\):<\@<=d[td]\>:<\@<=/dl>,' . + \ '<\@<=\([^/][^ \t>]*\)[^>]*\%(>\|$\):<\@<=/\1>' +endif + +" Enable folding based on ==sections== +setlocal foldexpr=getline(v:lnum)=~'^\\(=\\+\\)[^=]\\+\\1\\(\\s*\\)\\=\\s*$'?\">\".(len(matchstr(getline(v:lnum),'^=\\+'))-1):\"=\" +setlocal foldmethod=expr + +let b:undo_ftplugin = "setl commentstring< comments< formatoptions< foldexpr< foldmethod<" +let b:undo_ftplugin += " matchpairs< linebreak< wrap< textwidth<" -- cgit