mirror of
https://github.com/neovim/neovim.git
synced 2024-12-29 14:41:06 -07:00
7afc17dec1
Problem: Startup test fails.
Solution: Avoid an error for verbose expansion. Fix that the "0verbose"
command modifier doesn't work.
60895f3e36
Most code changes has already been ported.
78 lines
1.9 KiB
VimL
78 lines
1.9 KiB
VimL
" Vim syntax support file
|
|
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
|
" Last Change: 2022 Apr 12
|
|
|
|
" This file sets up for syntax highlighting.
|
|
" It is loaded from "syntax.vim" and "manual.vim".
|
|
" 1. Set the default highlight groups.
|
|
" 2. Install Syntax autocommands for all the available syntax files.
|
|
|
|
if !has("syntax")
|
|
finish
|
|
endif
|
|
|
|
" let others know that syntax has been switched on
|
|
let syntax_on = 1
|
|
|
|
" Line continuation is used here, remove 'C' from 'cpoptions'
|
|
let s:cpo_save = &cpo
|
|
set cpo&vim
|
|
|
|
" First remove all old syntax autocommands.
|
|
au! Syntax
|
|
|
|
au Syntax * call s:SynSet()
|
|
|
|
fun! s:SynSet()
|
|
" clear syntax for :set syntax=OFF and any syntax name that doesn't exist
|
|
syn clear
|
|
if exists("b:current_syntax")
|
|
unlet b:current_syntax
|
|
endif
|
|
|
|
0verbose let s = expand("<amatch>")
|
|
if s == "ON"
|
|
" :set syntax=ON
|
|
if &filetype == ""
|
|
echohl ErrorMsg
|
|
echo "filetype unknown"
|
|
echohl None
|
|
endif
|
|
let s = &filetype
|
|
elseif s == "OFF"
|
|
let s = ""
|
|
endif
|
|
|
|
if s != ""
|
|
" Load the syntax file(s). When there are several, separated by dots,
|
|
" load each in sequence. Skip empty entries.
|
|
for name in split(s, '\.')
|
|
if !empty(name)
|
|
exe "runtime! syntax/" . name . ".vim syntax/" . name . "/*.vim"
|
|
exe "runtime! syntax/" . name . ".lua syntax/" . name . "/*.lua"
|
|
endif
|
|
endfor
|
|
endif
|
|
endfun
|
|
|
|
|
|
" Handle adding doxygen to other languages (C, C++, C#, IDL, java, php, DataScript)
|
|
au Syntax c,cpp,cs,idl,java,php,datascript
|
|
\ if (exists('b:load_doxygen_syntax') && b:load_doxygen_syntax)
|
|
\ || (exists('g:load_doxygen_syntax') && g:load_doxygen_syntax)
|
|
\ | runtime! syntax/doxygen.vim
|
|
\ | endif
|
|
|
|
|
|
" Source the user-specified syntax highlighting file
|
|
if exists("mysyntaxfile")
|
|
let s:fname = expand(mysyntaxfile)
|
|
if filereadable(s:fname)
|
|
execute "source " . fnameescape(s:fname)
|
|
endif
|
|
endif
|
|
|
|
" Restore 'cpoptions'
|
|
let &cpo = s:cpo_save
|
|
unlet s:cpo_save
|