mirror of
https://github.com/neovim/neovim.git
synced 2024-12-24 21:25:04 -07:00
91dc04a5e1
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: vim/vim#6796
closes: vim/vim#8115
68a8947069
- Luaify the detection script:
- Split the `(*!m2foo*)` and `(*!m2foo+bar*)` detection into two Lua patterns,
as Lua capture groups cannot be used with `?` and friends (as they only work
on character classes).
- Use `vim.api.nvim_buf_call()` (ew) to call `modula2#SetDialect()` to ensure
`b:modula2` is set for the given bufnr.
- Skip the syntax screendump tests. (A shame as they test some of the detection
from `(*!m2foo+bar*)` tags, but I tested this locally and it seems to work)
- Port the synmenu.vim changes from Vim9 script. (Also tested this locally)
- (And also add the missing comma for `b:browsefilter` from earlier.)
Co-authored-by: Doug Kearns <dougkearns@gmail.com>
27 lines
613 B
VimL
27 lines
613 B
VimL
" Vim compiler file
|
|
" Compiler: GNU Modula-2 Compiler
|
|
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
|
" Last Change: 2024 Jan 04
|
|
|
|
if exists("current_compiler")
|
|
finish
|
|
endif
|
|
let current_compiler = "gm2"
|
|
|
|
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
|
|
command -nargs=* CompilerSet setlocal <args>
|
|
endif
|
|
|
|
let s:cpo_save = &cpo
|
|
set cpo&vim
|
|
|
|
CompilerSet makeprg=gm2
|
|
CompilerSet errorformat=%-G%f:%l:%c:\ error:\ compilation\ failed,
|
|
\%f:%l:%c:\ %trror:\ %m,
|
|
\%f:%l:%c:\ %tarning:\ %m,
|
|
\%f:%l:%c:\ %tote:\ %m,
|
|
\%-G%.%#
|
|
|
|
let &cpo = s:cpo_save
|
|
unlet s:cpo_save
|