xref: /vim-8.2.3635/runtime/syntax/syntax.vim (revision 071d4279)
1*071d4279SBram Moolenaar" Vim syntax support file
2*071d4279SBram Moolenaar" Maintainer:	Bram Moolenaar <[email protected]>
3*071d4279SBram Moolenaar" Last Change:	2001 Sep 04
4*071d4279SBram Moolenaar
5*071d4279SBram Moolenaar" This file is used for ":syntax on".
6*071d4279SBram Moolenaar" It installs the autocommands and starts highlighting for all buffers.
7*071d4279SBram Moolenaar
8*071d4279SBram Moolenaarif !has("syntax")
9*071d4279SBram Moolenaar  finish
10*071d4279SBram Moolenaarendif
11*071d4279SBram Moolenaar
12*071d4279SBram Moolenaar" If Syntax highlighting appears to be on already, turn it off first, so that
13*071d4279SBram Moolenaar" any leftovers are cleared.
14*071d4279SBram Moolenaarif exists("syntax_on") || exists("syntax_manual")
15*071d4279SBram Moolenaar  so <sfile>:p:h/nosyntax.vim
16*071d4279SBram Moolenaarendif
17*071d4279SBram Moolenaar
18*071d4279SBram Moolenaar" Load the Syntax autocommands and set the default methods for highlighting.
19*071d4279SBram Moolenaarruntime syntax/synload.vim
20*071d4279SBram Moolenaar
21*071d4279SBram Moolenaar" Load the FileType autocommands if not done yet.
22*071d4279SBram Moolenaarif exists("did_load_filetypes")
23*071d4279SBram Moolenaar  let s:did_ft = 1
24*071d4279SBram Moolenaarelse
25*071d4279SBram Moolenaar  filetype on
26*071d4279SBram Moolenaar  let s:did_ft = 0
27*071d4279SBram Moolenaarendif
28*071d4279SBram Moolenaar
29*071d4279SBram Moolenaar" Set up the connection between FileType and Syntax autocommands.
30*071d4279SBram Moolenaar" This makes the syntax automatically set when the file type is detected.
31*071d4279SBram Moolenaaraugroup syntaxset
32*071d4279SBram Moolenaar  au! FileType *	exe "set syntax=" . expand("<amatch>")
33*071d4279SBram Moolenaaraugroup END
34*071d4279SBram Moolenaar
35*071d4279SBram Moolenaar
36*071d4279SBram Moolenaar" Execute the syntax autocommands for the each buffer.
37*071d4279SBram Moolenaar" If the filetype wasn't detected yet, do that now.
38*071d4279SBram Moolenaar" Always do the syntaxset autocommands, for buffers where the 'filetype'
39*071d4279SBram Moolenaar" already was set manually (e.g., help buffers).
40*071d4279SBram Moolenaardoautoall syntaxset FileType
41*071d4279SBram Moolenaarif !s:did_ft
42*071d4279SBram Moolenaar  doautoall filetypedetect BufRead
43*071d4279SBram Moolenaarendif
44