Mercurial > vim
annotate runtime/ftplugin/modula2.vim @ 33825:d515e012d713 v9.0.2128
patch 9.0.2128: runtime(swig): add syntax and filetype plugins
Commit: https://github.com/vim/vim/commit/2e31065a650015892179e520038bf2083a9519b6
Author: Julien Marrec <julien.marrec@gmail.com>
Date: Sat Nov 25 15:30:46 2023 +0100
patch 9.0.2128: runtime(swig): add syntax and filetype plugins
Add syntax and filetype plugins for SWIG (Simplified Wrapper Interface
Generator) description files.
The default syntax for .i files highlights comments in a reverse
color scheme which doesn't look well. This syntax builds
on vim's c++ syntax by adding highlighting for common swig
directives and user defined directives. For an alternative
syntax, see vimscript #1247 (which I found after writing this).
closes: #13562
Co-authored-by: Mat?j Cepl <mcepl@cepl.eu>
Co-authored-by: Julien Marrec <julien.marrec@gmail.com>
Signed-off-by: Julien Marrec <julien.marrec@gmail.com>
Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sat, 25 Nov 2023 15:45:06 +0100 |
parents | 9f41bfdbc6fc |
children | ff27442e7851 |
rev | line source |
---|---|
24468 | 1 " Vim filetype plugin file |
2 " Language: Modula-2 | |
3 " Maintainer: Doug Kearns <dougkearns@gmail.com> | |
4 " Last Change: 2021 Apr 08 | |
5 | |
6 if exists("b:did_ftplugin") | |
7 finish | |
8 endif | |
9 let b:did_ftplugin = 1 | |
10 | |
11 let s:cpo_save = &cpo | |
12 set cpo&vim | |
13 | |
14 setlocal comments=s0:(*,mb:\ ,ex:*) | |
15 setlocal commentstring=(*%s*) | |
16 setlocal formatoptions-=t formatoptions+=croql | |
17 | |
18 if exists("loaded_matchit") && !exists("b:match_words") | |
19 " The second branch of the middle pattern is intended to match CASE labels | |
20 let b:match_words = '\<REPEAT\>:\<UNTIL\>,' .. | |
21 \ '\<\%(BEGIN\|CASE\|FOR\|IF\|LOOP\|WHILE\|WITH\)\>' .. | |
22 \ ':' .. | |
23 \ '\<\%(ELSIF\|ELSE\)\>\|\%(^\s*\)\@<=\w\+\%(\s*\,\s*\w\+\)\=\s*\:=\@!' .. | |
24 \ ':' .. | |
25 \ '\<END\>' | |
26 endif | |
27 | |
28 if (has("gui_win32") || has("gui_gtk")) && !exists("b:browsefilter") | |
29 let b:browsefilter = "Modula-2 Source Files (*.def *.mod)\t*.def;*.mod\n" .. | |
30 \ "All Files (*.*)\t*.*\n" | |
31 endif | |
32 | |
33 let b:undo_ftplugin = "setl com< cms< fo< " .. | |
34 \ "| unlet! b:browsefilter b:match_words" | |
35 | |
36 let &cpo = s:cpo_save | |
37 unlet s:cpo_save | |
38 | |
39 " vim: nowrap sw=2 sts=2 ts=8 noet: |