Mercurial > vim
annotate runtime/syntax/synload.vim @ 10757:6c3d42d18366 v8.0.0268
patch 8.0.0268: may get ml_get error when :luado deletes lines
commit https://github.com/vim/vim/commit/d58f03b1c21b5b0242718f89da53ddd67b1eff6b
Author: Bram Moolenaar <Bram@vim.org>
Date: Sun Jan 29 22:48:45 2017 +0100
patch 8.0.0268: may get ml_get error when :luado deletes lines
Problem: May get ml_get error when :luado deletes lines or switches to
another buffer. (Nikolai Pavlov, issue https://github.com/vim/vim/issues/1421)
Solution: Check the buffer and line every time.
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sun, 29 Jan 2017 23:00:04 +0100 |
parents | c78513465e6e |
children | bd021eb62e73 |
rev | line source |
---|---|
7 | 1 " Vim syntax support file |
2 " Maintainer: Bram Moolenaar <Bram@vim.org> | |
10348
c78513465e6e
commit https://github.com/vim/vim/commit/25de4c232d580583feadae11ab34e3cc6333c350
Christian Brabandt <cb@256bit.org>
parents:
7013
diff
changeset
|
3 " Last Change: 2016 Nov 04 |
7 | 4 |
5 " This file sets up for syntax highlighting. | |
6 " It is loaded from "syntax.vim" and "manual.vim". | |
7 " 1. Set the default highlight groups. | |
8 " 2. Install Syntax autocommands for all the available syntax files. | |
9 | |
10 if !has("syntax") | |
11 finish | |
12 endif | |
13 | |
14 " let others know that syntax has been switched on | |
15 let syntax_on = 1 | |
16 | |
17 " Set the default highlighting colors. Use a color scheme if specified. | |
18 if exists("colors_name") | |
19 exe "colors " . colors_name | |
20 else | |
21 runtime! syntax/syncolor.vim | |
22 endif | |
23 | |
24 " Line continuation is used here, remove 'C' from 'cpoptions' | |
25 let s:cpo_save = &cpo | |
26 set cpo&vim | |
27 | |
28 " First remove all old syntax autocommands. | |
29 au! Syntax | |
30 | |
31 au Syntax * call s:SynSet() | |
32 | |
33 fun! s:SynSet() | |
34 " clear syntax for :set syntax=OFF and any syntax name that doesn't exist | |
35 syn clear | |
36 if exists("b:current_syntax") | |
37 unlet b:current_syntax | |
38 endif | |
39 | |
40 let s = expand("<amatch>") | |
41 if s == "ON" | |
42 " :set syntax=ON | |
43 if &filetype == "" | |
44 echohl ErrorMsg | |
45 echo "filetype unknown" | |
46 echohl None | |
47 endif | |
48 let s = &filetype | |
3847 | 49 elseif s == "OFF" |
50 let s = "" | |
7 | 51 endif |
52 | |
53 if s != "" | |
782 | 54 " Load the syntax file(s). When there are several, separated by dots, |
55 " load each in sequence. | |
56 for name in split(s, '\.') | |
57 exe "runtime! syntax/" . name . ".vim syntax/" . name . "/*.vim" | |
58 endfor | |
7 | 59 endif |
60 endfun | |
61 | |
62 | |
7013 | 63 " Handle adding doxygen to other languages (C, C++, C#, IDL, java, php, DataScript) |
64 au Syntax c,cpp,cs,idl,java,php,datascript | |
22 | 65 \ if (exists('b:load_doxygen_syntax') && b:load_doxygen_syntax) |
66 \ || (exists('g:load_doxygen_syntax') && g:load_doxygen_syntax) | |
856 | 67 \ | runtime! syntax/doxygen.vim |
22 | 68 \ | endif |
69 | |
70 | |
7 | 71 " Source the user-specified syntax highlighting file |
10348
c78513465e6e
commit https://github.com/vim/vim/commit/25de4c232d580583feadae11ab34e3cc6333c350
Christian Brabandt <cb@256bit.org>
parents:
7013
diff
changeset
|
72 if exists("mysyntaxfile") |
c78513465e6e
commit https://github.com/vim/vim/commit/25de4c232d580583feadae11ab34e3cc6333c350
Christian Brabandt <cb@256bit.org>
parents:
7013
diff
changeset
|
73 let s:fname = expand(mysyntaxfile) |
c78513465e6e
commit https://github.com/vim/vim/commit/25de4c232d580583feadae11ab34e3cc6333c350
Christian Brabandt <cb@256bit.org>
parents:
7013
diff
changeset
|
74 if filereadable(s:fname) |
c78513465e6e
commit https://github.com/vim/vim/commit/25de4c232d580583feadae11ab34e3cc6333c350
Christian Brabandt <cb@256bit.org>
parents:
7013
diff
changeset
|
75 execute "source " . fnameescape(s:fname) |
c78513465e6e
commit https://github.com/vim/vim/commit/25de4c232d580583feadae11ab34e3cc6333c350
Christian Brabandt <cb@256bit.org>
parents:
7013
diff
changeset
|
76 endif |
7 | 77 endif |
78 | |
79 " Restore 'cpoptions' | |
80 let &cpo = s:cpo_save | |
81 unlet s:cpo_save |