patch 9.1.0013: Modula2 filetype support lacking
Problem: Modula2 filetype support lacking
Solution: Improve the Modula-2 runtime support, add additional modula2
dialects, add compiler plugin, update syntax highlighting,
include syntax tests, update Makefiles (Doug Kearns)
closes: #6796
closes: #8115
Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Benjamin Kowarsch <trijezdci@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
diff --git a/runtime/autoload/modula2.vim b/runtime/autoload/modula2.vim
new file mode 100644
index 0000000..284dc27
--- /dev/null
+++ b/runtime/autoload/modula2.vim
@@ -0,0 +1,31 @@
+" Vim filetype plugin file
+" Language: Modula-2
+" Maintainer: Doug Kearns <dougkearns@gmail.com>
+" Last Change: 2024 Jan 04
+
+" Dialect can be one of pim, iso, r10
+function modula2#GetDialect() abort
+
+ if exists("b:modula2.dialect")
+ return b:modula2.dialect
+ endif
+
+ if exists("g:modula2_default_dialect")
+ let dialect = g:modula2_default_dialect
+ else
+ let dialect = "pim"
+ endif
+
+ return dialect
+endfunction
+
+function modula2#SetDialect(dialect, extension = "") abort
+ if exists("b:modula2")
+ unlockvar! b:modula2
+ endif
+
+ let b:modula2 = #{ dialect: a:dialect, extension: a:extension }
+ lockvar! b:modula2
+endfunction
+
+" vim: nowrap sw=2 sts=2 ts=8 noet fdm=marker: