Mercurial > vim
view runtime/ftplugin/mojo.vim @ 35792:f4b25cf637e7 v9.1.0616
patch 9.1.0616: filetype: Make syntax highlighting off for MS Makefiles
Commit: https://github.com/vim/vim/commit/eb4b903c9b238ebcc1d14cfcb207129b4931a33d
Author: Ken Takata <kentkt@csc.jp>
Date: Thu Jul 25 21:07:13 2024 +0200
patch 9.1.0616: filetype: Make syntax highlighting off for MS Makefiles
Problem: filetype: Make syntax highlighting off for MS Makefiles
Solution: Try to detect MS Makefiles and adjust syntax rules to it.
(Ken Takata)
Highlighting of variable expansion in Microsoft Makefile can be broken.
E.g.:
https://github.com/vim/vim/blob/2979cfc2627d76a9c09cad46a1647dcd4aa73f5f/src/Make_mvc.mak#L1331
Don't use backslash as escape characters if `make_microsoft` is set.
Also fix that `make_no_comments` was not considered if `make_microsoft`
was set.
Also add description for `make_microsoft` and `make_no_comments` to the
documentation and include a very simple filetype test
closes: #15341
Signed-off-by: Christian Brabandt <cb@256bit.org>
Signed-off-by: Ken Takata <kentkt@csc.jp>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Thu, 25 Jul 2024 21:30:04 +0200 |
parents | bf08e2efcba1 |
children |
line wrap: on
line source
" Vim filetype plugin " Language: Mojo " Maintainer: Riley Bruins <ribru17@gmail.com> " Last Change: 2024 Jul 07 if exists('b:did_ftplugin') finish endif let b:did_ftplugin = 1 setlocal include=^\\s*\\(from\\\|import\\) setlocal define=^\\s*\\(\\(async\\s\\+\\)\\?def\\\|class\\) " For imports with leading .., append / and replace additional .s with ../ let b:grandparent_match = '^\(.\.\)\(\.*\)' let b:grandparent_sub = '\=submatch(1)."/".repeat("../",strlen(submatch(2)))' " For imports with a single leading ., replace it with ./ let b:parent_match = '^\.\(\.\)\@!' let b:parent_sub = './' " Replace any . sandwiched between word characters with / let b:child_match = '\(\w\)\.\(\w\)' let b:child_sub = '\1/\2' setlocal includeexpr=substitute(substitute(substitute( \v:fname, \b:grandparent_match,b:grandparent_sub,''), \b:parent_match,b:parent_sub,''), \b:child_match,b:child_sub,'g') setlocal suffixesadd=.mojo setlocal comments=b:#,fb:- setlocal commentstring=#\ %s let b:undo_ftplugin = 'setlocal include<' \ . '|setlocal define<' \ . '|setlocal includeexpr<' \ . '|setlocal suffixesadd<' \ . '|setlocal comments<' \ . '|setlocal commentstring<'