blob: 55a2ee6d71a746fd8d9d1809c41fab2ed3dcb365 [file] [log] [blame]
Bram Moolenaar071d4272004-06-13 20:20:40 +00001" Vim syntax support file
2" Maintainer: Bram Moolenaar <Bram@vim.org>
Bram Moolenaar75ab5902022-04-18 15:36:40 +01003" Last Change: 2022 Apr 12
Bram Moolenaar071d4272004-06-13 20:20:40 +00004
5" This file is used for ":syntax on".
6" It installs the autocommands and starts highlighting for all buffers.
7
8if !has("syntax")
9 finish
10endif
11
12" If Syntax highlighting appears to be on already, turn it off first, so that
13" any leftovers are cleared.
14if exists("syntax_on") || exists("syntax_manual")
15 so <sfile>:p:h/nosyntax.vim
16endif
17
18" Load the Syntax autocommands and set the default methods for highlighting.
19runtime syntax/synload.vim
20
21" Load the FileType autocommands if not done yet.
22if exists("did_load_filetypes")
23 let s:did_ft = 1
24else
25 filetype on
26 let s:did_ft = 0
27endif
28
29" Set up the connection between FileType and Syntax autocommands.
30" This makes the syntax automatically set when the file type is detected.
Bram Moolenaar60895f32022-04-12 14:23:19 +010031" Avoid an error when 'verbose' is set and <amatch> expansion fails.
Bram Moolenaar071d4272004-06-13 20:20:40 +000032augroup syntaxset
Bram Moolenaar60895f32022-04-12 14:23:19 +010033 au! FileType * 0verbose exe "set syntax=" . expand("<amatch>")
Bram Moolenaar071d4272004-06-13 20:20:40 +000034augroup END
35
36
37" Execute the syntax autocommands for the each buffer.
38" If the filetype wasn't detected yet, do that now.
39" Always do the syntaxset autocommands, for buffers where the 'filetype'
40" already was set manually (e.g., help buffers).
41doautoall syntaxset FileType
42if !s:did_ft
43 doautoall filetypedetect BufRead
44endif